var pakket = false;
var korting = 0;
window.addEvent('domready', function(){
	/* Tips 1 */
	var Tips1 = new Tips($$('.Tips1'));
});

var flashvars = {};
var params = {
  menu: "false",
  wmode: "transparent"
};
var attributes = {};
function initflash(){
  swfobject.embedSWF("http://www.kerstboomopkantoor.nl/Images/header.swf", "flash", "828", "312", "8.0.0", "src/expressInstall.swf", flashvars, params, attributes);
}
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);
if ((browser=="Microsoft Internet Explorer") && (version<7)) window.attachEvent('onload', initflash);
else initflash();

function nawsubmit(fc){
  var form = document.getElementById('nawform');
  //form.submitbtn.disabled = true;
  //parent.document.getElementById('submitbtn').value = "Validating";
  remclass("formerr", form);
  var report = "";
  if(form.bedrijfsnaam.value == ""){report+="\n- Bedrijfsnaam"; form.bedrijfsnaam.className += " formerr"};
  //if(form.kvk.value == ""){report+="\n- KVK"; form.kvk.className += " formerr"};
  if(form.voornaam.value == ""){report+="\n- Voornaam"; form.voornaam.className += " formerr"};
  if(form.achternaam.value == ""){report+="\n- Achternaam"; form.achternaam.className += " formerr"};
  //if(form.gender[0].checked != 1 && form.gender[1].checked != 1) {report+="\n- Gender";form.gender[0].className += " formerr";form.gender[1].className += " formerr"};
  if(form.adres.value == "" ){report+="\n- Adres"; form.adres.className += " formerr"};
  if(form.huisnr.value == ""){report+="\n- Huisnummer";form.huisnr.className += " formerr"};
  if(form.postcodenr.value == "" || isNaN(form.postcodenr.value) || (form.postcodenr.value+"").length != 4){report+="\n- Postcode (numeriek)"; form.postcodenr.className += " formerr"};
  if(form.postcodechr.value == "" || (form.postcodechr.value+"").length != 2){report+="\n- Postcode (letters)"; form.postcodechr.className += " formerr"};
  if(form.plaats.value == ""){report+="\n- Plaatsnaam"; form.plaats.className += " formerr"};
  //
  if(document.getElementById("is_bezorgadres").checked == false){
	  if(form.naamcontact.value == "" ){report+="\n- Naam geadresseerde"; form.naamcontact.className += " formerr"};
	  if(form.telefooncontact.value == "" ){report+="\n- Telefoonnummer geadresseerde"; form.telefooncontact.className += " formerr"};
	  if(form.adres2.value == "" ){report+="\n- Aflever Adres"; form.adres2.className += " formerr"};
	  if(form.huisnr2.value == ""){report+="\n- Aflever Huisnummer";form.huisnr2.className += " formerr"};
	 // if(form.postcodenr2.value == "" || isNaN(form.postcodenr2.value) || (form.postcodenr2.value+"").length != 4){report+="\n- Aflever Postcode (numeriek)"; form.postcodenr2.className += " formerr"};
	  //if(form.postcodechr2.value == "" || (form.postcodechr2.value+"").length != 2){report+="\n- Aflever Postcode (letters)"; form.postcodechr2.className += " formerr"};
	  if(form.plaats2.value == ""){report+="\n- Aflever Plaatsnaam"; form.plaats2.className += " formerr"};
  }
  //
  if(form.telefoonnr.value == ""){report+="\n- Telefoonnummer"; form.telefoonnr.className += " formerr"};
  if(form.email.value == "" || form.email.value.indexOf('@') == -1 || form.email.value.indexOf('.') == -1 || form.email.value.substring(form.email.value.indexOf('@')).indexOf('.') == -1){report+="\n- E-mail adres"; form.email.className += " formerr"};
  //check complete
  if(report!="") alert("De volgende punten zijn incorrect of missen nog:\n"+report+"\n\nDeze items zijn gemarkeert; gelieve deze te corrigeren danwel in te vullen.");
  if(fc) if(report=="") {return true;} else {return false;}
  if(report=="") form.submit();
}
function nbsubmit(){
  var form = document.getElementById('brief-form');
  remclass("formerr", "brief-form");
  var report = "";
  if(form.nbemail.value == "" || form.nbemail.value.indexOf('@') == -1 || form.nbemail.value.indexOf('.') == -1 || form.nbemail.value.substring(form.nbemail.value.indexOf('@')).indexOf('.') == -1){report+="\n- E-mail adres"; form.nbemail.className += " formerr"};
  //check complete
  if(report!="") alert("Gelieve een correct e-mail adres in te geven");
  else form.submit();
}

function updatevote() {
kiesboom = getCheckedValue(document.forms['stel'].elements['kiesboom']);
// document.getElementById('voetcheck').checked=true;document.getElementById('voetcheck').disabled=true;
//if (kiesboom=="xxl") {document.getElementById('voetcheck').checked=true;document.getElementById('voetcheck').disabled=true;}
if (kiesboom=="xl") {document.getElementById('voetcheck').checked=false;document.getElementById('voetcheck').disabled=false;}
if (kiesboom=="l") {document.getElementById('voetcheck').checked=false;document.getElementById('voetcheck').disabled=false;}
updateShopCart();
}

var ballnames = new Array();
var ballprices = new Array();
function updateShopCart(boom) {
  var htmlText;
  var htmlTextPart="";
  var totalpreis=0;

  // 1 aantal
  var aantal;
  aantal=document.getElementById('aantal').value;
  if (IsNumeric(aantal) && parseInt(aantal)>0) {aantal=aantal+"x";} else {aantal="";}

  if(pakket !== true){

    // 2 kies
    var kiesboom;
    htmlTextPart="";
    kiesboom = getCheckedValue(document.forms['stel'].elements['kiesboom']);
    // document.getElementById('voetcheck').checked=true;document.getElementById('voetcheck').disabled=true;
    // if (kiesboom=="xxl") {kiesboom="Nordmann XL+";totalpreis+=boomprices[0];}
    if (kiesboom=="xl") {kiesboom="Nordmann XL";totalpreis+=boomprices[1];}
    if (kiesboom=="l") {kiesboom="Nordmann L";totalpreis+=boomprices[2];}
    if (kiesboom!="") {htmlTextPart='<li class="item">'+kiesboom+'</li><li class="quantity">'+aantal+"</li>";}
    htmlText=htmlTextPart;

    // 3 ballen!
    htmlTextPart="";
    for (var i=0; i<ballamount; i++) {
    	name = "ball" + i;
    	var akarmi = document.getElementsByName(name);
    	totalpreis+= ((akarmi[0].value/12)*ballprices[i]);
    	if (akarmi[0].value!=0) {
    		htmlTextPart=htmlTextPart+'<li class="item">'+akarmi[0].value+"x Kerstbal "+ballnames[i]+'</li><li class="quantity">'+aantal+"</li>";
    	}
    }
    htmlText=htmlText+htmlTextPart;

    // 4 lichtjes
    var lightjes;
    htmlTextPart="";
    lightjes = getCheckedValue(document.forms['stel'].elements['lightjes']);
    if (lightjes=="50") {lightjes="50 lichtjes";totalpreis+=lichtjesprice;}
    if (lightjes=="100") {lightjes="100 lichtjes";totalpreis+=lichtjesprice;}
    if (lightjes=="200") {lightjes="200 lichtjes";totalpreis+=2*lichtjesprice;}

    if (lightjes!="" && lightjes!="0") {htmlTextPart='<li class="item">'+lightjes+'</li><li class="quantity">'+aantal+"</li>";}
    htmlText=htmlText+htmlTextPart;

    // 5 extras
    htmlTextPart="";

    if (document.getElementById("voetcheck").checked) {htmlTextPart=htmlTextPart+'<li class="item">Voet</li><li class="quantity">'+aantal+"</li>";if (kiesboom=="Nordmann XL+") {} else {totalpreis+=voetprice;}}
    //if (document.getElementById("opbouwcheck").checked) {htmlTextPart=htmlTextPart+'<li class="item">Opbouw</li><li class="quantity">'+aantal+"</li>";totalpreis+=opbouwprice;}
    //if (document.getElementById("impregnerencheck").checked) {htmlTextPart=htmlTextPart+'<li class="item">Impregneren</li><li class="quantity">'+aantal+"</li>";totalpreis+=impregnerenprice;}
    if (document.getElementById("kerstkaartcheck").checked) {htmlTextPart=htmlTextPart+'<li class="item">Kerstkaart</li><li class="quantity">'+aantal+"</li>";totalpreis+=kerstkaartprice;}

    htmlText=htmlText+htmlTextPart;

  } else {
    // 2 kies
    htmlTextPart="";
    if(korting==0){
      totalpreis+=pakketprijs;
    } else {
      totalpreis+=pakketprijs_k
    }
    htmlTextPart='<li class="item">'+pakketboom+'</li><li class="quantity">'+aantal+"</li>";
    htmlText=htmlTextPart;
  }

  if(htmlText != ''){
    totalpreis = totalpreis * 1;
    htmlText+='<li class="item">Bezorgkosten</li><li class="quantity">'+aantal+"</li>";
    totalpreis+=bezorgkosten;
    //update
    if (IsNumeric(document.getElementById('aantal').value)) {
      if(pakket !== true) {
        //totalpreis+= bezorgkosten;
        //htmlText+= '<li class="item">Bezorgkosten</li><li class="quantity">&nbsp;</li>';
      }
      totalpreis=totalpreis*document.getElementById('aantal').value;
    }
    totalpreis=totalpreis.toFixed(2);
    htmlText='<ul class="items">'+htmlText+"</ul>"+'<img src="http://www.kerstboomopkantoor.nl/Images/dots.gif" alt="summary" /><br /><ul class="items"><li class="item"><strong>Totaalbedrag:</strong></li><li class="quantity"><strong>';
    if(korting==0) htmlText+= '&#8364; '+totalpreis;
    else htmlText+= '<span style="color:#C10000">&#8364; '+totalpreis+'</span>';
    htmlText+='</strong></li></ul><img src="http://www.kerstboomopkantoor.nl/Images/spacer.gif" width="100px" height="1px" alt="summary" />';
  } else {
    htmlText = '<ul class="items"><li class="item">Uw winkelmandje is nog leeg</li></ul><img src="http://www.kerstboomopkantoor.nl/Images/spacer.gif" width="100" height="12" alt="summary" />';
  }
  document.getElementById('shopcontent').innerHTML = htmlText;
  //
}

function IsNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   }
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function checkbox(fc) {
  var balls = 0;
  var msgTEXT;
  msgTEXT=""
  aantal=document.getElementById('aantal').value;
  if (aantal=="") {msgTEXT= msgTEXT + "Vul het aantal bomen\r\n";}
  else if (aantal*1 < 1) {msgTEXT= msgTEXT + "Vul een correct aantal bomen\r\n";}

  if(pakket !== true){
    kiesboom = getCheckedValue(document.forms['stel'].elements['kiesboom']);
    if (kiesboom=="") {msgTEXT= msgTEXT + 'Selecteer een boom\r\n';}
/*
    lightjes = getCheckedValue(document.forms['stel'].elements['lightjes']);
    if (lightjes=="") {msgTEXT= msgTEXT + 'Selecteer het aantal lichtjes\r\n';}
    balls=0;
    for (var i=0; i<ballamount; i++) {
    	name = "ball" + i;
    	var akarmi = document.getElementsByName(name);
    	balls=balls+parseInt(akarmi[0].value);
    }
    if (balls>=12 && balls<=48) {} else {msgTEXT=msgTEXT+'Kies minimaal 12 ballen en maximaal 48 ballen\r\n';}
*/
	var CheckBal1 = document.getElementById('bal1').value*1;
	var CheckBal2 = document.getElementById('bal2').value*1;
	var CheckBal3 = document.getElementById('bal3').value*1;
	var CheckBal4 = document.getElementById('bal4').value*1;
	var CheckBal5 = document.getElementById('bal5').value*1;
	var CheckBal6 = document.getElementById('bal6').value*1;
	var CheckBal7 = document.getElementById('bal7').value*1;
	var CheckBal8 = document.getElementById('bal8').value*1;
	var CheckBal9 = document.getElementById('bal9').value*1;
	var CheckBal10 = document.getElementById('bal10').value*1;
	var CheckBal11 = document.getElementById('bal11').value*1;
	var CheckBal12 = document.getElementById('bal12').value*1;
	var TotaalBallen = CheckBal1 + CheckBal2 + CheckBal3 + CheckBal4 + CheckBal5 + CheckBal6 + CheckBal7 + CheckBal8 + CheckBal9 + CheckBal10 + CheckBal11 + CheckBal12;
    if (TotaalBallen<=48) {} else {msgTEXT=msgTEXT+'Er kunnen maximaal 48 ballen in een boom\r\n';}
  }
  if (msgTEXT!="") alert(msgTEXT);
  if (fc) if (msgTEXT==""){return true;} else {return false};
  if (msgTEXT=="") {document.getElementById('stel').submit();}
}

function isNumberKey(evt) {
 var charCode = (evt.which) ? evt.which : event.keyCode
 if (charCode > 31 && (charCode < 48 || charCode > 57))
	return false;
 return true;
}

function orderinit(){
  updateShopCart();
}

function  autofeedpc(){
  var browser=navigator.appName;
  var form = document.getElementById('nawform');
  if ((browser=="Microsoft Internet Explorer" && (form.postcodenr.value+"").length >= 4) || (browser!="Microsoft Internet Explorer" && (form.postcodenr.value+"").length >= 3)){
    form.postcodechr.select();
} }

/********************************************************************************\
 * actiecode checker
\********************************************************************************/

var setcode = {};
setcode.onAHAHParse = function(h){
  if(h.responseText == 0) {
    alert('Deze actiecode is (hier) niet geldig.')
    korting = 0;
    updateShopCart();
  } else {
    korting = h.responseText;
    updateShopCart();
} }
function checkcode(){
  var code = document.getElementById('actiecode').value;
  if(code != '') bgProcess('checkcode.php', setcode, 'code='+code);
  else updateShopCart();
}



/********************************************************************************\
RemClass - © 2007 mediafabriek.eu / Chris Volwerk
  Description : Automatically removes a css class from all objects on a page
  Version     : 1.2 alpha
  Copyright   : Any dissemination, copying, implementation, distribution or use
                of (parts of) the following code without clear written and signed
                permission from abovementioned copyright holder is forbidden.
  Requires    :
  Additional  :
  Reserved    :
  Usage       : remclass(classname)
  Parameters  : - classname (the name of the class to remove)
                - node (only process the elements within this element (can be a
                        string marking an id as well)
  Dependency  : <
                >
  Notes       :
\********************************************************************************/
function remclass(classname, node){
  if(!node) node = document.getElementsByTagName("body")[0];
  else if (typeof node == 'string') node = document.getElementById(node);
  var e = node.getElementsByTagName("*");
  for(var i=0; i<e.length; i++){
    if(e[i].className.indexOf(classname) != -1){
  		var ca = e[i].className.split(' ');
  		for(var j=0; j<ca.length; j++) if(ca[j]==classname) ca[j] = "";
  		nc = ca.join(' '); nc = nc.replace(/  /g, ' ');
  		if(nc.substring(nc.length-1,nc.length)) nc = nc.substring(0,nc.length-1);
  		e[i].className = nc;
} } }

/******************************************************************************\
AHAH Based Background Processing
                - Basic standalone implementation
                © 2008 Boe!end VOF (boe-end.nl) / Chris Volwerk

  Description : Loads a page in the background and puts it up for processing
  Usage       : bgProcess(url, target, arguments);
  Arguments   : url       - the url that will be loaded
                target    - an object in which to call onAHAHParse
                arguments - an argument string that will be posted to the url
  Requires    : - onAHAHParse      - Function triggered after the parsing
                                     of a succesfully loaded url (see notes!)
                - getNewHttpObject - returns a new XML-HTTP-Request Object
                - alertHttpErr     - alerts the given HTTP-Request error-code
                                     in understandable English
  Notes       : - Use the onAHAHParse function to trigger additional functions
                  once the object has been loaded it is parsed as the only
                  argument of this function which is triggered within 'target'
                  you can use .responseText to get the parsed data.
\******************************************************************************/

var getNewHttpObject = function() {
  var o = false;
  try {
    o = new ActiveXObject('Msxml2.XMLHTTP');
  } catch(e) {
    try {
      o = new ActiveXObject('Microsoft.XMLHTTP');
    } catch(e) {
      o = new XMLHttpRequest();
  } }
  if (!o) alert ("Unsupported Browser:/nBrowser does not support HTTP Request");
  return o;
};

var alertHttpErr = function(httpRequest) {
  var a = "Processing Error:\n";
  switch (httpRequest.status) {
    case 204: a+="No content"                  ; break;
    case 400: a+="Bad Request"                 ; break;
    case 401: a+="Unauthorized"                ; break;
    case 403: a+="Forbidden"                   ; break;
    case 404: a+="Not Found"                   ; break;
    case 408: a+="Request Timeout"             ; break;
    case 409: a+="Conflict with Resource State"; break;
    case 413: a+="Request Entity too large"    ; break;
    case 414: a+="Request URI too large"       ; break;
    case 500: a+="Internal Server Error"       ; break;
    case 501: a+="Not Implemented"             ; break;
    case 502: a+="Bad Gateway"                 ; break;
    case 503: a+="Service Unavailable"         ; break;
    case 504: a+="Gateway Timeout"             ; break;
  }
  alert(a+";\n"+httpRequest.statusText);
};

var bgProcess = function(url, t, a) {
  var h = getNewHttpObject();
  a = typeof(a) == 'undefined' ? '' : a;
  root = typeof(root) == "undefined" ? '' : root;
  function processAHAH(t) {
    if (h.readyState == 4) {
      if (h.status == 200) {
        t.onAHAHParse(h);
      } else {
        alertHttpErr(h);
  } } }
  h.onreadystatechange = function() {processAHAH(t);};
  h.open("POST", root+url, true);
  h.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  h.send(a);
};

function toggle(element){
	if (document.getElementById(element).style.display == "none"){
		document.getElementById(element).style.display = "";
	} else {
		document.getElementById(element).style.display = "none";
	}
}