﻿var $j = jQuery.noConflict();

$j(document).ready(function() {
  // Activeren accordion (winkelnavigatie)
  $j("#winkelnav_inner").accordion({
    header: "a.item",
    active: ".active",
    autoHeight: false
  });

  // Als er niets actief is, dan laminaat uitklappen.  
  if ($j("#winkelnav_inner .active").length == 0) {
    $j("#winkelnav_inner").accordion("activate", 0);
  }

  // Activeren carousel (home uitgelicht)
  $j('#home_uitgelicht_inhoud').jcarousel({
    auto: 5,
    wrap: "both",
    scroll: 1,
    easing: "swing",
    animation: 650,
    buttonNextHTML: null,
    buttonPrevHTML: null,
    initCallback: mycarousel_initCallback,
    itemVisibleInCallback: {onBeforeAnimation: itemVisibleIn, onAfterAnimation: null}
  });
  
  // Zoeken pagina, controleren of de extra opties getoond moeten worden.
  if ($j('#zoekvelden_secundair :selected').length > 0) {
//    var selected = $j('#zoekvelden_secundair :selected'); 
//    alert(selected.text() + " : " + selected.val()); 
    // Door alle selectboxen in #zoekvelden_secundair lopen en controleren of de waarde groter is dan 1.
    var show = false;
    $j('#zoekvelden_secundair select').each(
      function(i, selected){
        if (selected.selectedIndex > 0)
        {
          // Er is een waarde gevonden, dus de toggle functie aanroepen.
          show = true;
        }
      }
    );
    if (show) {
      toggleExtraSearchFields($j('#btn_criteria'));
    }
  }
});

function numbersonly(e)
{
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;
  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;
  else
    return false;
}

// Na initialisatie Carousel
function mycarousel_initCallback(carousel) {

  // Knop Vorige activeren
  jQuery('#btn_uitgelicht_vorige').bind('click', function() {
    carousel.prev();
    return false;
  });

  // Knop Volgende activeren
  jQuery('#btn_uitgelicht_volgende').bind('click', function() {
    carousel.next();
    return false;
  });

  // Totaal aantal slides als nummer weergeven
  $j("#slides_totaal").html(carousel.options.size);
};

// Huidige slide als nummer weergeven
function itemVisibleIn(carousel, li, index, state) {
  $j("#slide_huidig").html(index);
}

// Tonen van volledige tekst op verschillende pagina's
function toonTekstVolledig(el1, el2) {
  $j("#" + el1).hide();
  $j("#" + el2).show();
}

// Tonen van korte tekst op verschillende pagina's
function toonTekstKort(el1, el2) {
  $j("#" + el1).show();
  $j("#" + el2).hide();
}

// Ajax functies ism jquery.
function rndrWinkelwagenHeader(strinhoud,aantal)
{
  if(document.getElementById("mijn_offerte"))
  {
    $j("#mijn_offerte").html(strinhoud);
  }
}
function rndrCurrentProduct(productid,xml)
{
  document.getElementById("aantal_" + productid).innerHTML = $j("shoppingbasket", xml).find("oppervlakte").text() + ' ' +  $j("shoppingbasket", xml).find("eenheid").text();
}

function rndrVerwijderUitOverzicht(productId, xml)
{
  document.getElementById("product_" + productId).style.display = "none";
  $j("product_" + productId).html = "";
  if ($j("shoppingbasket", xml).find("melding").text().indexOf('een producten in uw') > -1)  {
    $j("#ctl00_cph_Content_c_hrlOfferteAanvragen").hide();
    $j("#offerte_overzicht").hide();
    $j(".licht").hide();
    $j("#ctl00_cph_Content_c_divMelding").show();
  }
  
  //ctl00_cph_Content_c_hrlOfferteAanvragen
}
function rndrLeegOverzicht()
{
  //$j("offerte_overzicht").html = "";
}

function ajaxError(type)
{
  alert('Error loading XML document');
}

function addProduct(productid)
{
  $j.ajax({
    url: 'ajaxOfferte.aspx?action=add&product='+productid,
    type: 'GET',
    dataType: 'xml',
    timeout: 9000,
    error: function(){
        ajaxError();
    },
    success: function(xml){
      rndrWinkelwagenHeader($j("shoppingbasket", xml).find("header").text(),$j("shoppingbasket", xml).find("aantal").text());
      rndrWinkelwagenTotaal($j("shoppingbasket", xml).find("totaalexcl").text());
    }
  });
}

// extra parameter meegeven om caching tegen te gaan.
var i = 0;
function removeProduct(el,productid)
{
    i = i + 1;
    $j.ajax({
    url: 'ajaxOfferte.aspx?action=remove&product='+productid + '&extra=' + i,
    type: 'GET',
    dataType: 'xml',
    timeout: 9000,
    error: function(){
        ajaxError();
    },
    success: function(xml){
      rndrWinkelwagenHeader($j("shoppingbasket", xml).find("header").text(),$j("shoppingbasket", xml).find("aantal").text());
      rndrVerwijderUitOverzicht(productid, xml);
    }
  });
}
function updateProduct(el,productid,aantal)
{
  i = i + 1;
  if (aantal.length > 0) {
    if((aantal < 0) || (aantal > 99999))
    {
      return;
    }
    $j.ajax({
    url: 'ajaxOfferte.aspx?action=update&aantal=' + aantal + '&product='+productid + '&extra=' + i,
    type: 'GET',
    dataType: 'xml',
    timeout: 9000,
    error: function(){
        ajaxError();
    },
    success: function(xml){
      rndrWinkelwagenHeader($j("shoppingbasket", xml).find("header").text(),$j("shoppingbasket", xml).find("aantal").text());
      rndrCurrentProduct(productid,xml);
    }
    });
  }
}
function emptyShoppingbasket()
{
    $j.ajax({
    url: 'ajaxOfferte.aspx?action=empty',
    type: 'GET',
    dataType: 'xml',
    timeout: 9000,
    error: function(){
        ajaxError();
    },
    success: function(xml){
      rndrWinkelwagenHeader($j("shoppingbasket", xml).find("header").text(),$j("shoppingbasket", xml).find("aantal").text());
      rndrLeegOverzicht();
    }
  });
}

function toggleExtraSearchFields(btn) {
  /* 
    - Extra zoekvelden tonen/verbergen (div '#zoekvelden_secundair')
    - De knop (meegegeven via this als parameter btn) voorzien van de klasse 'btn_criteria_verbergen'
  */
  var classname = "btn_criteria_verbergen"
  if ($j(btn).hasClass(classname)){
    $j(btn).removeClass(classname);
    $j("#zoekvelden_secundair").hide();
  }
  else
  {
    $j(btn).addClass(classname);
    $j("#zoekvelden_secundair").show();
  }
}

function zoekenPagina(){
  var href = "";
  // Href pakken van zoekknop
  href = $j('#uitgebreid_zoeken').attr('href');
  // Input pakken van zoekinput
  href += $j('#tbxTrefwoord').attr('value');
  // Waarden van verschillende dropdownboxen aan de query toevoegen.
  //ddlMerk
  href += '&m=' + $j("#ddlMerk option:selected").val();
  //ddlPrijs
  href += '&p=' + $j("#ddlPrijs option:selected").val();
  
  // Extra opties alleen uitvoeren als de uitgebreid zoekknop de klasse 'btn_criteria_verbergen' bevat.
  var classname = "btn_criteria_verbergen"
  if ($j('#btn_criteria').hasClass(classname)){
    //ddlVloerverwarming
    href += '&v=' + $j("#ddlVloerverwarming option:selected").val();
    //ddlMatlook
    href += '&mat=' + $j("#ddlMatlook option:selected").val();
    //ddlStructuur
    href += '&s=' + $j("#ddlStructuur option:selected").val();
    //ddlGroeven
    href += '&g=' + $j("#ddlGroeven option:selected").val();
    
  }
  // Href instellen.
  $j('#uitgebreid_zoeken').attr('href', href);
}
