// Main page

function toggleAdv(controller, item, style) {  
  if (document.getElementById(item).style.display == "none") {   
    switch (style) {
      case "fade":
        $(document.getElementById(item)).fadeIn(200);
        break;
      case "show":
        $(document.getElementById(item)).show(200);
        break;
    }
    
    try {
      switch (document.getElementById(controller).innerHTML) {
        case "Meer >>":
          document.getElementById(controller).innerHTML = "<< Minder";
          break;
        case "toon volledig":
          document.getElementById(controller).innerHTML = "verberg";
          break;
      }
    } catch (e) {}
  } else {    
    switch (style) {
      case "fade":
        $(document.getElementById(item)).fadeOut(200);
        break;
      case "show":
        $(document.getElementById(item)).hide(200);
        break;
    }
    
    try {
      switch (document.getElementById(controller).innerHTML) {
        case "<< Minder":
          document.getElementById(controller).innerHTML = "Meer >>";
          break;
        case "verberg":
          document.getElementById(controller).innerHTML = "toon volledig";
          break;
      }
    } catch (e) {}
  }
}

function toggleOther(open) {
  if (open) {
    $(document.getElementById("brandOther")).show("slow");
    document.getElementById("expandOther").innerHTML = "<a href='javascript:toggleOther(false)'><< Minder</a>";
  } else {
    $(document.getElementById("brandOther")).hide("slow");
    document.getElementById("expandOther").innerHTML = "<a href='javascript:toggleOther(true)'>Meer >></a>";
  }
}

// Search and brand page
function toggleAllBrands(form) {
  try {
    if (document.getElementById("c_all").checked) {
      for (var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].type == "checkbox" && form.elements[i].name == "brand_nr[]") {
          form.elements[i].checked = true;
        }
      }
      
      $(document.getElementById("allBrands")).hide("slow");
      
      form.onsubmit();
    } else {
      for (var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].type == "checkbox" && form.elements[i].name == "brand_nr[]") {
          form.elements[i].checked = false;
          
          if (form.elements[i].checked) document.getElementById("s" + form.elements[i].id).className = "styled cOn";      
          else document.getElementById("s" + form.elements[i].id).className = "styled cOff";
        }
      }
      
      $(document.getElementById("allBrands")).show("slow");
    }
  }
  catch(e) {}
}

function DeSelectAll(form) {
  var allOn = true;
	  
  for (var i = 0; i < form.elements.length; i++) {
    if (form.elements[i].type == "checkbox" && form.elements[i].name == "brand_nr[]") {
      if (!form.elements[i].checked) {
        allOn = false;
        break;
      }
    }
  }
  
  for (var i = 0; i < form.elements.length; i++) {
    if (form.elements[i].type == "checkbox" && form.elements[i].name == "brand_nr[]") {
      form.elements[i].checked = !allOn;
      
      if (form.elements[i].checked) document.getElementById("s" + form.elements[i].id).className = "styled cOn";      
      else document.getElementById("s" + form.elements[i].id).className = "styled cOff";
    }
  }
  
  form.onsubmit();
  
  return false;
}

function UnFoldSub(Nr, CountryCode, StandardValue) {
  try {
    if (document.getElementById("e" + Nr).checked) {
      getSearchPlus(Nr, "divPlus_" + Nr, CountryCode, StandardValue);  //ajax the search plus options
      
      document.getElementById("divPlus_" + Nr).className = "divOn";
      document.getElementById("divDetails_" + Nr).className = "divOn";
    } else {
      document.getElementById("divPlus_" + Nr).className = "divOff";
      document.getElementById("divDetails_" + Nr).className = "divOff";
      
      document.getElementById("divPlus_" + Nr).innerHTML = "";
    }
  }
  catch(e) {}
}

function toggle(e, countrycode) {
  // referentie naar form control
  objRef = document.getElementById(e.id.substr(1));
  
  if (objRef.type == "checkbox") {
    objRef.checked = !(objRef.checked);
    
    if (document.getElementById("cNotF_" + objRef.value) && e.id.substr(0, 3) == "scF") { // drie-fase checkbox
      if (objRef.checked) {
        if (document.getElementById("cNotF_" + objRef.value).checked) {   // Van Exclude > Off
          document.getElementById("cNotF_" + objRef.value).checked = false;
          document.getElementById("lF_" +  + objRef.value).style.textDecoration = "";
          objRef.checked = false;
          e.className = "styled cOff";
          
          try { pageTracker._trackPageview("/searchfunction/" + objRef.value + "-off"); } catch (err) {}   // Google analytics
        } else {    // Van Off > On
          e.className="styled cOn";
          
          try { pageTracker._trackPageview("/searchfunction/" + objRef.value + "-include"); } catch (err) {}   // Google analytics
        }
      } else {      // Van On > Exclude
        document.getElementById("cNotF_" + objRef.value).checked = true;
        document.getElementById("lF_" +  + objRef.value).style.textDecoration = "line-through";
        e.className = "styled cSemi";
        
        try { pageTracker._trackPageview("/searchfunction/" + objRef.value + "-exclude"); } catch (err) {}   // Google analytics        
      }
    } else {  // twee-fase checkbox
      if (objRef.checked) e.className = "styled cOn"; 
      else e.className = "styled cOff";
    }
    
    // ajax pluswaarden uitzonderingen (13=camera)
    if (objRef.value == 13) {
      if (objRef.checked) {
        getSearchPlus(objRef.value, "p_" + objRef.value, countrycode, '');
      }
      else {
        $(document.getElementById("p_" + objRef.value)).hide("slow");
        document.getElementById("p_" + objRef.value).innerHTML = "";
      }
    }         
  } else if (objRef.type == "radio" && !objRef.checked) {
    objRef.checked = true;
    
    // alle radiobuttons doorlopen en status bij langs
    for (var i = 0; i < document.frmBM.elements.length; i++) {
      if (document.frmBM.elements[i].type == "radio") {
        if (document.frmBM.elements[i].checked) document.getElementById("s" + document.frmBM.elements[i].id).className = "styled rOn";
        else document.getElementById("s" + document.frmBM.elements[i].id).className = "styled rOff";
      }
    }
  }
  
  // formulier onsubmitten voor ajax call
  objRef.form.onsubmit();
}

// Detailed search page
function AllBrands(form) {
  ChangeDetails("divAllBrands");
  
  if (document.getElementById("chkAllBrands").checked) {
    for (var i = 0; i < document.FrmSearch.elements.length; i++) {
      if(document.FrmSearch.elements[i].type == 'checkbox' && document.FrmSearch.elements[i].name == 'brand_nr[]'){
        document.FrmSearch.elements[i].checked = true;
      }
    }
  } else {
    for (var i = 0; i < document.FrmSearch.elements.length; i++) {
      if(document.FrmSearch.elements[i].type == 'checkbox' && document.FrmSearch.elements[i].name == 'brand_nr[]'){
        document.FrmSearch.elements[i].checked = false;
      }
    }
  }
}

function DeSelectAllBrands() {
  var allOn = true;
  
  for (var i = 0; i < document.FrmSearch.elements.length; i++) {
    if(document.FrmSearch.elements[i].type == 'checkbox' && document.FrmSearch.elements[i].name == 'brand_nr[]'){
      if (!document.FrmSearch.elements[i].checked) {
        allOn = false;
        break;
      }
    }
  }
  
  for (var i = 0; i < document.FrmSearch.elements.length; i++) {
    if(document.FrmSearch.elements[i].type == 'checkbox' && document.FrmSearch.elements[i].name == 'brand_nr[]'){
      document.FrmSearch.elements[i].checked = !allOn;
    }
  }
}

function ResetAll() {
  for (var i = 0; i < document.FrmSearch.elements.length; i++) {
    switch (document.FrmSearch.elements[i].name) {
      case "mode":
        break;
      case "brand_nr[]":
        document.FrmSearch.elements[i].checked = true;
        break;
      default:
        if ((document.FrmSearch.elements[i].name == "feature_nr[]" || document.FrmSearch.elements[i].name.match("featureR_")) 
         && document.FrmSearch.elements[i].checked == true)
          ChangeDetails("divDetails_" + document.FrmSearch.elements[i].value);
        
        document.FrmSearch.elements[i].checked = false;
        break;
    }
    
    if (document.FrmSearch.elements[i].type == "select-one") document.FrmSearch.elements[i].selectedIndex = 0;
  }
}

// Compare page
function trackCompare(control, parent, preString) {
  var trackString = preString;
  trackString += parent.options[parent.selectedIndex].innerHTML + "-";  // brand
  trackString += control.options[control.selectedIndex].innerHTML;  // type
  trackString = trackString.replace(" ", "-");
  
  try { pageTracker._trackPageview(trackString); } catch (err) {}
}

// Product page
function getEditionShopLinks(edition_id, edition, prod_id) {
  var newHTML = "<a href=\"javascript:toggleAdv(this, 'editionWrapper', 'fade')\">" + 
   "<img src=\"/images/icons/editions/edition" + edition_id + ".gif\" alt=\"\"> " + edition +
   "</a>";
  
  document.getElementById("editionSelected").innerHTML = newHTML;
  
  $("#editionWrapper").fadeOut(200);
  getShopLinks(prod_id, edition, "shoplinks");
}

// Mini images control
function showOtherImages(e) {
  // reset borders
  $(".imgWrapper").css("border", "1px solid #DCDCDC");
  $(".imgCont").css("border", "0px"); 
  
  // (dis)able the next or back button
  if (imgIndex < 1) { 
    document.getElementById("imgBack").disabled = true;
    document.getElementById("imgBack").style.color = "#999999";
  } else if (imgIndex >= (Math.ceil(prodImg.length / 4) - 1)) {
    document.getElementById("imgNext").disabled = true;
    document.getElementById("imgNext").style.color = "#999999";
  }
  
  if (e != undefined) {
    if (e.id == "imgNext") {
      document.getElementById("imgBack").disabled = false;
      document.getElementById("imgBack").style.color = "#000000";
    }
        
    if (e.id == "imgBack") {
      document.getElementById("imgNext").disabled = false;
      document.getElementById("imgNext").style.color = "#000000";
    }
  }
  
  // load mini images    
  for (var i = 0; i < 4; i++) {
    if (i + (imgIndex * 4) < prodImg.length) {        
      document.getElementById("otherImgWrapper" + i).style.backgroundColor = "transparent";        
      document.getElementById("otherImg" + i).style.visibility = "visible";   
      
      document.getElementById("otherImg" + i).src = "/images/icons/spinner.gif";
      document.getElementById("otherImg" + i).src = prodImg[i + (imgIndex * 4)];
      
      // ie workaround
      if (document.getElementById("otherImg" + i).height > 40) document.getElementById("otherImg" + i).height = 37;
      if (document.getElementById("otherImg" + i).width > 55) document.getElementById("otherImg" + i).width = 53;      
    } else {
      document.getElementById("otherImgWrapper" + i).style.backgroundColor = "#F0F0F0";        
      document.getElementById("otherImg" + i).style.visibility = "hidden";
      
      document.getElementById("otherImg" + i).src = "/images/icons/spinner.gif";
    }
  }
}

function hoverImage(e) {  
  var initiator = document.getElementById("otherImg" + e);
  
  if (initiator.style.visibility == "visible") {
    // reset borders
    $(".imgWrapper").css("border", "1px solid #DCDCDC");
    $(".imgCont").css("border", "0px");
    
    $("#otherImgWrapper" + e).css("border", "1px solid #53AF28");
    $("#otherImgCont" + e).css("border", "1px solid #53AF28");
    
    $("#imgProd").css("background", "url(/images/icons/spinner.gif) no-repeat center center");
    $("#imgProd").css("background", "url('" + initiator.src.replace("_mini", "_tbn") + "') no-repeat center center");
    
    if (parseInt(e) + (imgIndex * 4) > 0) { 
      $("#imgProd").bind("mouseover", function(e) { $("#imgProd").css("cursor", "url('/images/icons/magnify.png')"); });
      $("#imgProd").unbind("click");
      $("#imgProd").bind("click", function(e) { window.open("/forms/photoviewer.php?url=" + initiator.src.replace("_mini", ""), "photoviewer", "fullscreen=0,location=0,menubar=0,resizable=1,scrollbars=1,status=1,toolbar=0,left=50,top=33,width=350,height=270"); });
    } else {
      $("#imgProd").unbind("mouseover"); $("#imgProd").unbind("click");
      $("#imgProd").css("cursor", "");
    }
  }
}

// Generic functions 
function ChangeDetails (getDetailBlock) {
  try {
    if (document.getElementById(getDetailBlock).style.visibility == "hidden") { 
      document.getElementById(getDetailBlock).style.visibility = "visible";
      document.getElementById(getDetailBlock).style.position = "static";
    } else {
      document.getElementById(getDetailBlock).style.visibility = "hidden";
      document.getElementById(getDetailBlock).style.position = "absolute";
    }
  }
  catch(e) {}
}

function meetclickout (shop, type) {
  var d = new Date();
  var t = d.getTime();
  var x = parseInt(Math.random() * 1000);

  if (type == 0) { amount = "0.1577"; desc = "cpc"; }
  if (type == 1) { amount = "0.2138"; desc = "cpl"; }
   
  try {
    pageTracker._addTrans(t+x, shop, amount, "0", "0", "", "", "");
    pageTracker._addItem(t+x, desc, location.pathname, shop, amount, "1");
    pageTracker._trackTrans();
  } catch (err) {}
}

// Validation fuctions
function checkFormMail (form) {
	var Email = form.Email.value;		
  var lstr = Email.length;
  var lat = Email.indexOf("@");
  var ldot = Email.indexOf(".");
  
  if ((Email.indexOf("@") == -1) ||
   (Email.indexOf("@") == -1 || Email.indexOf("@") == 0 || Email.indexOf("@") == lstr) ||
   (Email.indexOf(".") == -1 || Email.indexOf(".") == 0 || Email.indexOf(".") == lstr) ||
   (Email.indexOf("@", (lat + 1)) != -1) ||
   (Email.substring(lat - 1, lat) == "." || Email.substring(lat + 1, lat + 2) == ".") ||
   (Email.indexOf(".", (lat + 2)) == -1) ||
   (Email.indexOf(" ") != -1)) {
    alert("Ongeldig e-mail adres opgegeven");
    return false;
  }

  return true;
}

// AJAX functions
function getPhonesOutOfBrand(brand_id, target) {
  $.getScript("/ajax/getPhonesOutOfBrand_nl.php?brand_id=" + brand_id + "&target=" + target);
}

function getSearchPlus(feature_id, target, countrycode, standardvalue) {
  var strPost = "feature_id=" + feature_id + "&target=" + target + "&countrycode=" + countrycode + "&standardvalue=" + standardvalue
  
  $.post("/ajax/getSearchPlus.php", strPost, function(data){eval(data)});
}

function getBrandMatrix(form, countrycode, environment_id) {
  document.getElementById("spinner").style.visibility = "visible";
  
  var strPost = "countrycode=" + countrycode + "&environment_id=" + environment_id;
  
  for (i = 0; i < form.elements.length; i++) {
    if (form.elements[i].type == "checkbox" || form.elements[i].type == "radio") {
      if (form.elements[i].checked) strPost = strPost + "&" + form.elements[i].name + "=" + form.elements[i].value;
    } else if (form.elements[i].type == "select-one" || form.elements[i].type == "hidden") { 
      strPost = strPost + "&" + form.elements[i].name + "=" + form.elements[i].value;
    }
  }
  
  $.post("/ajax/getBrandMatrix.php", strPost, function(data){eval(data);document.getElementById("spinner").style.visibility="hidden"});

  return false;
}

function getShopLinks(phone_id, edition, target) {
  var strPost = "phone_id=" + phone_id + "&edition=" + edition + "&target=" + target;
  
  $.post("/ajax/getShopLinks.php", strPost, function(data){eval(data)});
}

// Onload settings
document.getElementById("fsText").setAttribute("autocomplete", "off");

$(".rounded").corner();