var shiftKey = false;
var intCodes = "";
var skipit = false;
//document.onkeydown = shiftEnter;


/**
 * Change shop_search form action and post to search page.
 */
function submitSearch () {
	popUpAndWait();
	document.getElementById ("searchquery").value = document.getElementById ("searchquery").value.replace (/[^a-zA-Z0-9\s]/g, "");
	
	var soort = new Array ("W", "R", "M", "S", "O");
	var terms = document.getElementById ("searchquery").value
	var url = "/" + terms + "." + terms + " ;l:1;|";
	
	for (var i = 0; i < 5; i ++) {
        if (document.getElementById ("search_soort" + i).checked == true) {
            url += "soort:" + soort[i] + " ";
            followLink = false;
        }
    }
    
    if (url.indexOf ("|") != url.length - 1)
        url = url.substring (0, url.length - 1) + ".0.0.0.26.sr.html";
    else
        url += ".0.0.0.16.sr.html";

	url = url.replace (/\|/g, "%7C");

	document.getElementById ("searchform").action = url;
	document.getElementById ("searchform").submit ();
}


/**
 * De content div ophalen en in een nieuw popup plaatsen.
 */
function printContentDiv () {
	var content;
	
	content  = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
	content += "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">";
	content += "<html>";
	content += "<head>";
	content += "<link href=\"http://cmssites.paradesk.nl/sites/12/style.css\" type=\"text/css\" rel=\"stylesheet\"></link>";
	content += elementsToString ("LINK");
	content += elementsToString ("META");
	content += "</head>";
	content += "<body onload=\"window.print ()\"><div class=\"printContainer\">";
	content += document.getElementById ("content").innerHTML;
	content += "</div></body>";
	content += "</html>";
	
	var printWindow = window.open ("", "", "");
	printWindow.document.title = document.title;
	printWindow.document.write (content);
	printWindow.document.close ();
}


/**
 * Copy the order data to a new window and call a print function.
 */ 
function printOrder () {  
    var win = window.open("", "", "width=750"); // a window object
    var content = document.getElementById ("scrollvak").innerHTML
    
    content = content.replace (/h1\>/g, 'h4>');
    
    with (win.document) {
        open("text/html", "replace");
        write ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
        write ("<html lang=\"nl-nl\" xml:lang=\"nl-nl\" xmlns=\"http://www.w3.org/1999/xhtml\">");
        write ("<head>");
        write ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></meta>");
        write ("<meta http-equiv=\"Content-Language\" content=\"nl\"></meta>");
        write ("<meta http-equiv=\"imagetoolbar\" content=\"no\"></meta>");
        write ("<link rel=\"stylesheet\" type=\"text/css\" href=\"/sites/_sitetemplate/6/ws_style_all.css\"></link>");
        write ("</head>");
        write ("<body class=\"kleur1bg\">");
        write ("<div>" + content + "</div>");
        write ("</body>");
        write ("</html>");
        close();
    } 

  //printWindow.document.writeln (windowContent);
  win.document.getElementById ("afdrukknop").innerHTML = "";
  win.print ();
}


function catSearchFilter (element) {
    var followLink = true;
    var url = "/" + element.innerHTML + ".";
    
    if (element.href.indexOf (".artgrp:") != -1) {
        url += "artgrp:" + element.href.split ("artgrp:")[1].split (".")[0] + " ";
    }

	url = url.substring (0, url.length - 1) + ".";
    var urlParams = element.href.split (".");
    
    url += urlParams[urlParams.length - 7] + "|";
    
    var soort = new Array ("W", "R", "M", "S", "O");

    for (var i = 0; i < 5; i ++) {
        if (document.getElementById ("search_soort" + i).checked == true) {
            url += "soort:" + soort[i] + " ";
        }
    }
    
    if (element.href.indexOf (".artgrp:") != -1) {
       url += "0.0.0";
    } else {
		for (var i = 6; i > 0; i --) {
			url += "." + urlParams[urlParams.length - i];
		}
    }

    window.location = url;
    
    return false;
}


function webuserSubmit () {
    var err = "";

    if (document.getElementsByName ("security_name")[0].value == "") {
        err += "* U heeft uw naam niet ingevuld.\n";
    }
    
    if (document.getElementsByName ("security_familyname")[0].value == "") {
        err += "* U heeft uw achternaam niet ingevuld.\n";
    }

    if (document.getElementsByName ("security_address")[0].value == "") {
        err += "* U heeft uw adres niet ingevuld.\n";
       } else if (document.getElementsByName("security_address")[0].value.search(/\d/) < 0) {
        err += "* Het adres dat u heeft ingevuld is ongeldig.\n";
    }

    if (document.getElementsByName ("security_phonenumber")[0].value == "") {
        err += "* U heeft uw telefoonnummer niet ingevuld.\n";
    }
    //else if (!/^((\+)?(\d{2})[-])?(([\(])?((\d){3,5})([\)])?[-])$|^(\d{3,5})\-?(\d{5,8}){1}?$/.test(document.getElementsByName("security_phonenumber")[0].value)) {
    else if (!/^(\(?((00)|\+)\d{2}\)?(\s|\-)?)?\(?\d{1,5}\)?(\s|\-)?\d{5,8}$/.test(document.getElementsByName("security_phonenumber")[0].value)) {
		err += "* Ongeldig telefoonnummer ingevuld.\n";
    }
    
    if (document.getElementsByName ("security_postcode")[0].value == "") {
        err += "* U heeft uw postcode niet ingevuld.\n";
    //} else if (!isPostCode ("security_postcode")) {
    //    err += "* De postcode die u heeft ingevuld is ongeldig.\n";
    }
    
    if (document.getElementsByName ("security_city")[0].value == "") {
        err += "* U heeft uw woonplaats niet ingevuld.\n";
    }
    
    if (document.getElementById ("email").value == "") {
        err += "* U heeft uw e-mail adres niet ingevuld.\n";
    } else if (/^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/.test (document.getElementById ("email").value) == false) {
        err += "* Het door u ingevulde e-mail adres is ongeldig.\n";
    }
    

    if (document.getElementById ("password1").value != document.getElementById ("password2").value) {
        err += "* Het door  ingevulde wachtwoord is niet gelijk aan het controle wachtwoord.\n";
    }
    
    if (err.length > 0) {
        alert ("U kunt niet verder gaan, omdat niet alle vereiste velden correct zijn ingevuld.\n\n" + err + "\nHeeft u hierover verdere vragen, neemt u dan contact met ons op onder nummer 0475-491348 op maandag t/m zaterdag tijdens de openingstijden.");
        return false;
    }
    
    return true;
}


/**
 * HTML elementen uit het document met een bepaalde naam zoeken en 
 * converteren naar een string.
 */
function elementsToString (tagName) {
	var out = "";
	
	var elms = document.getElementsByTagName(tagName.toUpperCase ()) ;
	
	for (var i = 0; i < elms.length ; i ++) {
	    out = out + "<" + elms.item (i).tagName;
	    var attr = elms.item (i).attributes;
	
	    for (var j = 0; j < attr.length; j ++) {
	        out = out + " " + attr.item (j).name + "=\"" + attr.item (j).value + "\"" ;
	    }
		out += "/>";
	}
	
	return out;
}


/**
 * Klantgegevens controleren voor versturen.
 */
function kassa1Check () { 
    document.getElementById ("security_name").value        = document.getElementsByName ("ordufirstname")[0].value;
	document.getElementById ("security_familyname").value  = document.getElementsByName ("ordulastname")[0].value;
	document.getElementById ("security_address").value     = document.getElementsByName ("ordustreet")[0].value + " " + document.getElementsByName ("ordunumber")[0].value;;
	document.getElementById ("security_postcode").value    = document.getElementsByName ("ordupostcode")[0].value.replace (/\s/g, "");
	document.getElementById ("security_city").value        = document.getElementsByName ("orducity")[0].value;
	document.getElementById ("security_country").value     = document.getElementsByName ("orducountry")[0].value;
	document.getElementById ("security_phonenumber").value = document.getElementsByName ("ordutel")[0].value;

	var err = "";

	if (!hasValue ("ordufirstname"))
		err += "* U heeft geen voornaam ingevuld.\n";

	if (!hasValue ("ordulastname"))
		err += "* U heeft geen achternaam ingevuld.\n";
	
	if (!hasValue ("ordustreet"))
		err += "* U heeft geen straatnaam ingevuld.\n"
	
	document.getElementsByName ("ordunumber")[0].value = document.getElementsByName ("ordunumber")[0].value.replace (/[^A-Za-z0-9\-]/g, "");
	if (!hasValue ("ordunumber"))
		err += "* U heeft geen huisnummer ingevuld.\n"
	
	if (!hasValue ("ordupostcode")) {
		err += "* U heeft geen postcode ingevuld.\n";
 	} else {
 	    switch (document.getElementsByName("orducountry")[0].selectedIndex) {
 	        case 0:
              	if (!/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/.test(document.getElementsByName("ordupostcode")[0].value)) {
              	    err += "* U heeft een ongeldige Nederlandse postcode ingevuld.\n";
              	}
 	            break;
 	        case 1:
 	            if (!/^[1-9]{1}[0-9]{3}$/.test(document.getElementsByName("ordupostcode")[0].value)) {
 	            	err += "* U heeft een ongeldige Belgische postcode ingevuld.\n";
			  	}
 	            break;
 	        case 2:
 	        	if (!/^(d|D)?( |-)?[1-9]{5}$/.test(document.getElementsByName("ordupostcode")[0].value)) {
 	            	err += "* U heeft een ongeldige Duitse postcode ingevuld.\n";
				}
 	            break;
		}
		
		document.getElementsByName("ordupostcode")[0].value = document.getElementsByName("ordupostcode")[0].value.replace (/\s/g, ""); 
	}
	
	if (!hasValue ("orducity"))
		err += "* U heeft geen plaatsnaam ingevuld.\n";


	if (!hasValue("ordutel")) {
		err += "* U heeft geen telefoonnummer ingevuld.\n";
	}
	else if (!/^(\(?((00)|\+)\d{2}\)?(\s|\-)?)?\(?\d{1,5}\)?(\s|\-)?\d{5,8}$/.test(document.getElementsByName("ordutel")[0].value)) {
		err += "* Ongeldig telefoonnummer ingevuld.\n";
	}

	
	if (!hasValue ("orduemail") || !isEmail ("orduemail"))
		err += "* U heeft geen of een ongeldig e-mailadres ingevuld.\n";
		
	if (document.getElementById ("delivery").checked == true) {
		if (!hasValue ("orddfirstname"))
			err += "* U heeft geen voornaam ingevuld bij het afleveradres.\n";

		if (!hasValue ("orddlastname"))
			err += "* U heeft geen achternaam ingevuld bij het afleveradres.\n";

		if (!hasValue ("orddstreet"))
			err += "* U heeft geen straatnaam ingevuld bij het afleveradres.\n"

		document.getElementsByName ("orddnumber")[0].value = document.getElementsByName ("orddnumber")[0].value.replace (/[^A-Za-z0-9\-]/g, "");
		if (!hasValue ("orddnumber"))
			err += "* U heeft geen huisnummer ingevuld bij het afleveradres.\n"

		if (!hasValue ("orddpostcode")) {
			err += "* U heeft geen postcode ingevuld bij het afleveradres.\n";
		} else {
		    switch (document.getElementsByName("orddcountry")[0].selectedIndex) {
	 	        case 0:
	              	if (!/^[1-9]{1}[0-9]{3}\s?[a-zA-Z]{2}$/.test(document.getElementsByName("orddpostcode")[0].value)) {
	              	    err += "* U heeft een ongeldige Nederlandse postcode ingevuld bij het afleveradres.\n";
	              	}
	 	            break;
	 	        case 1:
	 	            if (!/^[1-9]{1}[0-9]{3}$/.test(document.getElementsByName("orddpostcode")[0].value)) {
	 	            	err += "* U heeft een ongeldige Belgische postcode ingevuld bij het afleveradres.\n";
				  	}
	 	            break;
	 	        case 2:
	 	            if (!/^(d|D)?( |-)?[1-9]{5}$/.test(document.getElementsByName("orddpostcode")[0].value)) {
	 	            	err += "* U heeft een ongeldige Duitse postcode ingevuld bij het afleveradres.\n";
					}
	 	            break;
			}
			
			document.getElementsByName("orddpostcode")[0].value = document.getElementsByName("orddpostcode")[0].value.replace (/\s/g, "");
		}
			
		if (!hasValue ("orddcity"))
		    err += "* U heeft geen plaatsnaam ingevuld bij het afleveradres.\n";
 	}
		
	if (err.length > 0) {
		alert ("U kunt niet verder gaan met bestellen, omdat de gegevens die u heeft ingevuld niet compleet zijn en / of niet kloppen. De volgende fouten zijn gevonden:\n\n" + err + "\nHeeft u hierover verdere vragen, neemt u dan contact met ons op onder nummer 0475-491348 op maandag t/m zaterdag tijdens de openingstijden.")
		return false;
	}
	
	return true;
}


function kassa2Check () {
	var err = "";
	
	var inputs = document.getElementsByTagName ("input");
	
	// Controleer verzending...
	var shiId = 0;
	for (var i = 0; i < inputs.length; i ++) {
		if (inputs[i].name == "ordshiid" && inputs[i].checked == true) {
			shiId = inputs[i].value;
			break;
		}
	}
	
	if (shiId == 0) {
		err += "* U dient een verzendmethode te selecteren.\n";
	}
    
    // Controleer betaling...
    var payId = 0;
    for (var i = 0; i < inputs.length; i ++) {
        if (inputs[i].name == "ordpayid" && inputs[i].checked == true) {
            payId = inputs[i].value;
            break;
        }
    }
    
    if (payId == 0) {
        err += "* U dient een betaalmethode te selecteren.\n";
    } else {
        if (document.getElementById ("paydatahider_" + payId).getElementsByTagName ("table")[0].rows.length > 0) {
			var inputs = document.getElementById ("paydatahider_" + payId).getElementsByTagName ("input");
			
            for (var i = 0; i < inputs.length; i ++) {
                if (inputs[i].name == "Rekening") {
					if (!hasValue (inputs[i].name) || !isElfProef (inputs[i].name)) {
					    err += "* U heeft geen of een ongeldig bank/giro nummer ingevuld.\n";
					}
				} else if (inputs[i].name == "Rekeninghouder") {
					if (!hasValue (inputs[i].name)) {
					    err += "* U heeft geen rekeninghouder ingevuld.\n";
					}
				}
			}
		}
	}
		
	if (err.length > 0) {
		alert ("U kunt niet verder gaan met bestellen, omdat de gegevens die u heeft ingevuld niet compleet zijn en / of niet kloppen. De volgende fouten zijn gevonden:\n\n" + err + "\nHeeft u hierover verdere vragen, neemt u dan contact met ons op onder nummer 0475-491348 op maandag t/m zaterdag tijdens de openingstijden.")
		return false;
	}
	
	// Security IDs betaling en verzending instellen.
	document.getElementById ("ordpaysid").value = document.getElementById ("paymentsid" + payId).value;
	document.getElementById ("ordshisid").value = document.getElementById ("shipmentsid" + shiId).value;
	
	return true;
}


/**
 * Deze functie controleert aan de hand van het id van een input element of er een waarde
 * is ingevuld.
 */ 
function hasValue (element) {
	trim (element);
	
	if (document.getElementsByName (element)[0].value.length > 0)
		return true;
	else
		return false;
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * alleen uit getallen bestaat.
 */
function isNumberOnly (element) {
	trim (element);
	return !/\D/.test (document.getElementsByName (element)[0].value);
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * alleen uit letters bestaat.
 */
function isTextOnly (element) {
	trim (element);
	return !/[^a-zA-Z]/.test (document.getElementsByName (element)[0].value);
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * een geldige naam is die bestaat uit letters, spaties, een - of een ' (voor het
 * geval iemand 's-Hertogenbosch wil invoeren bijvoorbeeld).
 */
function isName (element) {
	trim (element);
	return !/[^a-zA-Z\'\-\s]/.test (document.getElementsByName (element)[0].value); //'
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * een geldig huisnummer is.
 */
function isHouseNumber (element) {
	trim (element);
	return /^\d{1,5}[a-zA-Z]?$/.test (document.getElementsByName (element)[0].value);
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * een geldig telefoonnummer is.
 */
function isPhoneNumber (element) {
	trim (element);
	return /^\d{10}$/.test (document.getElementsByName (element)[0].value);
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * een geldige postcode is.
 */
function isPostCode (element) {
	trim (element);

	//if (document.getElementsByName (element)[0].value.length != 6) return false;

	return /(^\d{4}\s?[a-zA-z]{2}$)|(^[Dd][\-\s]?\d{5}$)|(^\d{5}$)/.test (document.getElementsByName (element)[0].value);
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * een geldig emailadres is.
 */
function isEmail (element) {
	trim (element);
	
	return /^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/.test (document.getElementsByName (element)[0].value);
}


/**
 * Deze functie controleert aan de hand van het id van een input element of de waarde
 * voldoet aan de elf proef, bijvoorbeeld in het geval van een bankrekening nummer.
 */
function isElfProef (element) {
	trim (element);
	
	var value = document.getElementsByName (element)[0].value;
	var totaal = 0;
	
	if (value.length == 7 || value.length == 6) return true; // Giro nummer
	if (value.length < 9) return false;
	
	for (var i = 0; i < value.length; i ++)
		totaal += value.charAt (i) * (value.length - i);
	
	if (totaal % 11 != 0)
		return false;
	else
		return true;
}


/**
 * Deze functie verwijdert de spaties aan het begin en het eind van de waarde van een
 * input element en slaat de waarde terug op in het element.
 */
function trim (element) {
	var value = document.getElementsByName (element)[0].value 
	
	value = value.replace(/^\s+/,'');
 	value = value.replace(/\s+$/,'');

	document.getElementsByName (element)[0].value = value;
}


/**
 * Schrijf een cookie met daarin de huidige status van de filter velden
 */
function writeFilterCookie () {
	var value= "";
	var soorten = new Array ("W", "R", "M", "S", "O");
	
	for (var i = 0; i < 5; i ++) {
		if (document.getElementById ("search_soort" + i).checked) {
			if (value.length > 0) value += ",";
			value += soorten[i];
		}
	}
	
	document.cookie = "stormsFilter=" + value + ";;";
	updateProductView ();
}


/**
 * Verander de product weergave aan de hand van de ingestelde filters.
 */
function updateProductView () {
    return;
	var cookies = document.cookie.split (";");
	var cookieValue = "";
	
	for (var i = 0; i < cookies.length; i ++) {
		if (cookies[i].indexOf ("stormsFilter=") == 1) {
			cookieValue = cookies[i].split("=")[1];
			break;
		}
	}
	
	var rows = document.getElementsByTagName ("tr");
	cookieValue = cookieValue.split (",");

	for (var i = 0; i < rows.length; i ++) {
		if (rows[i].id) {
			if (rows[i].id.indexOf ("product_") == 0) {
				var display = "none";
				var border  = "none";
				
				if (cookieValue[0] != "") {
					for (var j = 0; j < cookieValue.length; j ++) {
						if (rows[i].getElementsByTagName ("td")[0].getElementsByTagName ("input")[0].value.indexOf ("soort:" + cookieValue[j]) != -1) {
							display = "block";
							border  = "solid 1px #000000";
							break;
						}
					}
				} else {
					display = "block";
					border  = "solid 1px #000000";
				}
				
				var cols = rows[i].getElementsByTagName ("td");
				for (var j = 0; j < cols.length; j ++) {
					if (cols[j].getElementsByTagName ("div").length > 0) {
						cols[j].getElementsByTagName ("div")[0].style.display = display;
						cols[j].style.borderTop = border;
					}
				}
				
				var cols = rows[i + 4].getElementsByTagName ("td");
				for (var j = 0; j < cols.length; j ++) {
					if (cols[j].getElementsByTagName ("div").length > 0) {
						cols[j].getElementsByTagName ("div")[0].style.display = display;
					}
				}
			}
		}
	}
}


/**
 * De checkboxes aanvinken aan de hand van de cookie.
 */
function setFilters () {
	var cookies = document.cookie.split (";");
	var cookieValue = "";
	
	for (var i = 0; i < cookies.length; i ++) {
		if (cookies[i].indexOf ("stormsFilter=") == 1) {
			cookieValue = cookies[i].split("=")[1];
			break;
		}
	}
	
	cookieValue = cookieValue.split (",");
	
	for (var i = 0; i < cookieValue.length; i ++) {
		if (cookieValue[i] == "W") document.getElementById ("search_soort0").checked = true;
		if (cookieValue[i] == "R") document.getElementById ("search_soort1").checked = true;
		if (cookieValue[i] == "M") document.getElementById ("search_soort2").checked = true;
		if (cookieValue[i] == "S") document.getElementById ("search_soort3").checked = true;
		if (cookieValue[i] == "O") document.getElementById ("search_soort4").checked = true;
	}
}


function enableDeliveryInput () {
	if (document.getElementById ("delivery").checked == true) {
		document.getElementById ("deliveryData").style.display = "block";
	} else {
		document.getElementById ("deliveryData").style.display = "none";
	}
}


function openBestellijst () {
	document.body.lastChild.style.display = "block";
	document.getElementById ("verberger").style.display = "block";
	
	var x = document.body.clientWidth / 2 - document.body.lastChild.clientWidth / 2
	document.body.lastChild.style.left = x + "px";
}


function closeBestellijst () {
	document.body.lastChild.style.display = "none";
	document.getElementById ("verberger").style.display = "none";
}


function showLogin () {
	document.getElementById ("klantlogin").style.display = "block";
	
}


function hideLogin () {
	document.getElementById ("klantlogin").style.display = "none";
}


function showHideLogin () {
    if (document.getElementById ("newcustomer").checked == true) {
        document.getElementById ("klantlogin").style.display = "none";    
        document.getElementById ("klantregisterform").style.display = "block";
    } else {
        document.getElementById ("klantlogin").style.display = "block";
        document.getElementById ("klantregisterform").style.display = "none";
    }
}


var obj = null;
var batch = new Array ();
var batchId = 0;
var batchAantal = 0;
var req = null;

function orderBatch (element) {
    var rootNode = element;
    var amount = 0;
    var codes = "";
    var artData = "";
    
    while (rootNode.tagName != "DIV") {
        rootNode = rootNode.parentNode;
    }
    
	var nodes = rootNode.getElementsByTagName ("input");
	for (var i = 0; i < nodes.length; i ++) {
	   if (nodes[i].type = "text") {
	       amount = nodes[i].value;
	       break;
       }
    }
    
    if (amount == "") {
        alert ("U dient een bestel aantal in te voeren.");
        return;
    }
    
    obj = cart;
    var nodes = rootNode.getElementsByTagName ("p");
    for (var i = 0; i < nodes.length; i ++) {
        if (nodes[i].className == "artikelnummer") {
            codes = nodes[i].innerHTML;
            break;
        }
    }
    
    if (codes == "") return;
    obj = cart;

	alert ("Het product is toegevoegd aan de bestellijst.");

    codes = codes.split (";");
    for (var i = 0; i < codes.length; i ++) {
    
        if (codes[i] != "") {
        	if (codes[i].indexOf (":") != -1) {
            	//cart.addBatch (codes[i].split (":")[0], codes[i].split (":")[1] * amount);
            	setTimeout ("slowBatch ('" + codes[i].split (":")[0] + "', " + codes[i].split (":")[1] * amount + ");", i * 1000 + 500);	
            } else {
            	//cart.addBatch (codes[i].split (":")[0], amount);
            	setTimeout ("slowBatch ('" + cdoes[i].split (":")[0] + "', " + amount + ");", i * 1000 + 500);
            }
		}
    }
}


function slowBatch (code, aantal) {
	obj.addBatch (code, aantal);
}

function processBatch () {
	var req = null;
		
	try {
		req = new ActiveXObject ("Msxml2.XMLHttp");
	} catch (e) {
    	try {
			req = new ActiveXObject ("Microsoft.XMLHttp");
		} catch(e2) {
			try {
				if (typeof XMLHttpRequest != 'undefined') req = new XMLHttpRequest ();
			} catch (e3) {
				alert ("The HTTP request object could not be created for your browser.");
				return null;
			}
		}
	}
			
	req.open ("POST", cart.url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState == 4 && req.status == 200) {
			document.getElementById ("shop_cart_placeholder").innerHTML = req.responseText;

			var totalPrice = 0;
			var counter = 1;

			while (document.getElementById ("cartprice" + counter)) {
				totalPrice += parseFloat (document.getElementById ("cartprice" + counter).innerHTML.substring (2));
				document.getElementById ("cartprice" + counter).innerHTML = document.getElementById ("cartprice" + counter).innerHTML.replace (".", ","); 
				counter ++;
			}

			var groteLijst = document.getElementById ("shop_cart_placeholder").getElementsByTagName ("div")[0];
			document.getElementById ("shop_cart_placeholder").removeChild (groteLijst);
			var blaat = String (document.body.lastChild.id);
			if (blaat.indexOf ("shop_cart") == 0) {
				document.body.removeChild (document.body.lastChild);		
			} 

			document.body.appendChild (groteLijst);
		}
	};
	
	var text = "";
	req.send ("wmaction=addline&wmproid=0&wmprosid=0&wmamount=0&wmvariation=0&wmintcode=" + intCodes + "&wmpersonalize=" + text);
}


/**
 * Submit the form with the given id to altUrl
 */
function checkoutPrevious () {
    if (document.getElementById ("statusid"))
		document.getElementById ("statusid").value = "0";
		
	if (document.getElementById ("checkout").cartaction)
		document.getElementById ("checkout").cartaction.value = "";
		
	document.getElementById ("checkout").checkoutstep.value = document.getElementById ("previousstep").value;
	document.getElementById ("checkout").submit ();
}


function showPayData (paymentId) {
    var divs = document.getElementsByTagName ("div");
    
    for (var i = 0; i < divs.length; i ++) {
        if (/^paydata/.test (divs[i].id)) {
            if (divs[i].id.split ("paydata")[1] == paymentId) {
                divs[i].className = "";
            } else {
                divs[i].className = "verberger";
            }
        }
    }
}

function openVoorwaarden () {
    document.getElementById ("voorwaarden").style.display = "block";
    document.getElementById ("voorwaarden").style.position = "absolute";
    
    document.getElementById ("voorwaarden").style.border = "solid 1px #000000";
    document.getElementById ("voorwaarden").style.backgroundColor = "#FEFFDE";
    document.getElementById ("voorwaardencontent").style.overflow = "auto";
    //document.getElementById ("verberger").style.display = "block";
	
	var x = document.body.clientWidth / 2 - 300;
	document.getElementById ("voorwaarden").style.left = x + "px";
	document.getElementById ("voorwaarden").style.top = "100px";
	document.getElementById ("voorwaarden").style.width = "400px";
	document.getElementById ("voorwaarden").style.height = "500px";
}


function closeVoorwaarden () {
    document.getElementById ("voorwaarden").style.display = "none";
    document.getElementById ("verberger").style.display = "none";
}


function checkCapsLock (e) {
	var keyCode = 0;
	var shiftKey = false;

	if (!e) var e = window.event;

	// Internet Explorer 4+
    if (document.all) {
        keyCode  = e.keyCode;
        shiftKey = e.shiftKey;

    // Netscape 4
    } else if ( document.layers ) {
        keyCode  = e.which;
        shiftKey = (keyCode == 16) ? true : false;

    // Netscape 6
    } else if (document.getElementById) {
        keyCode  = e.which;
        shiftKey = (keyCode == 16) ? true : false;
    }

    if ((keyCode >= 65 && keyCode <= 90) && !shiftKey) {
        if (document.getElementById ("capsmelding2")) {
            document.getElementById ("capsmelding2").innerHTML = "Let op! Uw caps-lock toets is ingeschakeld.";
		}
		document.getElementById ("capsmelding").innerHTML = "Let op! Uw caps-lock toets is ingeschakeld.";
	} else if ((keyCode >= 97 && keyCode <= 122) && shiftKey) {
	    if (document.getElementById ("capsmelding2")) {
            document.getElementById ("capsmelding2").innerHTML = "Let op! Uw caps-lock toets is ingeschakeld.";
		}
		document.getElementById ("capsmelding").innerHTML = "Let op! Uw caps-lock toets is ingeschakeld.";
   } else {
        if (document.getElementById ("capsmelding2")) {
            document.getElementById ("capsmelding2").innerHTML = "";
		}
		document.getElementById ("capsmelding").innerHTML = "";
	}
}


function menuFilter (elm) {
    var baseUrl = elm.href.split ("/");
    baseUrl = baseUrl[baseUrl.length - 1];
    
    var hrefAttrib = baseUrl.split (".");
    var url = "/" + hrefAttrib[0] + "." + hrefAttrib[1];
    var soorten = new Array ("W", "R", "M", "S", "O");
    
    url += "|"
    
	for (var i = 0; i < 5; i ++) {
	   if (document.getElementById ("search_soort" + i).checked) {
            url += "soort:" + soorten[i] + "; ";
		}
	}
	
	for (var i = 2; i < hrefAttrib.length; i ++) {
	   url += "." + hrefAttrib[i];
    }

	popUpAndWait ();
    window.location = url;
}

var vergeten = false;

function loginDataControle (elm) {
    removeLoginCookie ();
}


function changeSubmit(deze) {
    var arr;

    if (deze.id == "chk2") {
        arr = document.getElementById("klantlogin").getElementsByTagName("input");
    } else {
        arr = document.getElementById("loginding").getElementsByTagName("input");
    }
    
    if (deze.checked) {
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].name == "security_login") arr[i].value = "Verzenden";
        }
    } else {
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].name == "security_login") arr[i].value = "Inloggen";
        }
    }
}

function changeDataHider (baseName, id) {
	var divs = document.getElementsByTagName ("div");

	for (var i = 0; i < divs.length; i ++) {
	    if (divs[i].id.indexOf (baseName + "_") == 0) {
			if (divs[i].id == baseName + "_" + id) {
			    divs[i].style.display="block";
			} else {
			    divs[i].style.display="none";
			}
		}
	}
}


// Login en schrijf een cookie indien user onthouden moet worden...
function submitLogin() {
    // Wachtwoord vergeten ni rechter login panel?
    if (document.getElementById("chk1").checked) {
        if (document.getElementById("security_email").value != "") {
            var inp = document.createElement("input")
            inp.type = "hidden";
            inp.name = "security_forgotpassword";
            inp.value = "true";

            document.getElementById("security_email").parentNode.appendChild(inp);
        } else {
            alert("Vul aub uw e-mail adres in.");
            return false;
        }
    }

    // Wachtwoord vergeten op checkout pagina?
    if (document.getElementById("chk2") && document.getElementById("chk2").checked) {
        if (document.getElementById("security_email2").value != "") {
            var inp = document.createElement("input")
            inp.type = "hidden";
            inp.name = "security_forgotpassword";
            inp.value = "true";

            document.getElementById("security_email2").parentNode.appendChild(inp);
        } else {
            alert("vul aub uw e-mail adres in.");
            return false;
        }
    }

    // Login onthouden cookie schrijven?
	if ((document.getElementById ("loginonthouden").checked || (document.getElementById ("loginonthouden2") && document.getElementById ("loginonthouden2").checked)) && document.getElementById ("security_email").value != "" && document.getElementById ("security_password").value != "") {
	
	    var date = new Date ();
	    date.setTime (date.getTime () + (365 * 24 * 3600 * 1000));
	    
	    document.cookie = "stormslogin=" + document.getElementById ("security_email").value + "," + document.getElementById ("security_password").value + "; expires=" + date.toGMTString () + "; path=/";
	}
	
	return true;
}


// Automatische login indien logien cookie bestaat...
function autoLogin () {
	var cookies = document.cookie.split (";");
	
	for (var i = 0; i < cookies.length; i ++) {
	    if (cookies[i].indexOf ("stormslogin=") != -1) {
	        if (!document.getElementById ("uitlogknop") && document.getElementById ("security_information").value == "no password") {
	            var email = cookies[i].substring (cookies[i].indexOf ("=") + 1, cookies[i].indexOf (","));
	            var pass =  cookies[i].substring (cookies[i].indexOf (",") + 1, cookies[i].length);
	            
	            document.getElementById ("security_email").value = email;
	            document.getElementById ("security_password").value = pass;
	            document.getElementById ("loginonthouden").checked = true;
	            document.getElementById ("loginform").submit ();
			}
			
	        break;
		}
	}
}


// Verwijder het login cookie bij afmelden...
function removeLoginCookie () {
	var date = new Date ();
	date.setTime (date.getTime () + (-1 * 24 * 3600 * 1000));

	document.cookie = "stormslogin=; expires=" + date + "; path=/";
}


function openGoogleMaps () {
	var selects = document.getElementsByTagName ("select");
	
	for (var i = 0; i < selects.length; i ++) {
		if (selects[i].name == "Vestiging") {
			var adres = selects[i].value;		
			openMapPopup (adres);
			break; 
		}
	}
}

function openMapPopup (adres) {
	if (adres.indexOf ("Heythuysen") > -1) {
		var win = window.open("", "", "width=425, height=400"); // a window object
	
	    with (win.document) {
	        open("text/html", "replace");
	        write ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
	        write ("<html lang=\"nl-nl\" xml:lang=\"nl-nl\" xmlns=\"http://www.w3.org/1999/xhtml\">");
	        write ("<head>");
	        write ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></meta>");
	        write ("<meta http-equiv=\"Content-Language\" content=\"nl\"></meta>");
	        write ("<meta http-equiv=\"imagetoolbar\" content=\"no\"></meta>");
	        write ("<link rel=\"stylesheet\" type=\"text/css\" href=\"/sites/_sitetemplate/6/ws_style_all.css\"></link>");
	        write ("</head>");
	        write ("<body class=\"kleur1bg\">");
	        write ("<iframe width=\"425\" height=\"350\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" src=\"http://maps.google.nl/maps?f=q&amp;source=s_q&amp;hl=nl&amp;geocode=&amp;q=dorpstraat+108+heythuysen&amp;ie=UTF8&amp;hq=&amp;hnear=Dorpstraat+108,+6093+Heythuysen,+Leudal,+Limburg&amp;ll=51.250033,5.899118&amp;spn=0.007306,0.022724&amp;z=16&amp;output=embed\"></iframe><br /><small><a href=\"http://maps.google.nl/maps?f=q&amp;source=embed&amp;hl=nl&amp;geocode=&amp;q=dorpstraat+108+heythuysen&amp;ie=UTF8&amp;hq=&amp;hnear=Dorpstraat+108,+6093+Heythuysen,+Leudal,+Limburg&amp;ll=51.250033,5.899118&amp;spn=0.007306,0.022724&amp;z=16\" style=\"color:#0000FF;text-align:left\">Grotere kaart weergeven</a></small>");
	        write ("</body>");
	        write ("</html>");
	        close();
	    }
	} else if (adres.indexOf ("Nederweert") > -1) {
		var win = window.open("", "", "width=425,height=400"); // a window object
	
	    with (win.document) {
	        open("text/html", "replace");
	        write ("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
	        write ("<html lang=\"nl-nl\" xml:lang=\"nl-nl\" xmlns=\"http://www.w3.org/1999/xhtml\">");
	        write ("<head>");
	        write ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></meta>");
	        write ("<meta http-equiv=\"Content-Language\" content=\"nl\"></meta>");
	        write ("<meta http-equiv=\"imagetoolbar\" content=\"no\"></meta>");
	        write ("<link rel=\"stylesheet\" type=\"text/css\" href=\"/sites/_sitetemplate/6/ws_style_all.css\"></link>");
	        write ("</head>");
	        write ("<body class=\"kleur1bg\">");
	        write ("<iframe width=\"425\" height=\"350\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" src=\"http://maps.google.nl/maps?f=q&amp;source=s_q&amp;hl=nl&amp;geocode=&amp;q=lindanusstraat+1+nederweert&amp;sll=51.249842,5.899122&amp;sspn=0.007669,0.022724&amp;ie=UTF8&amp;hq=&amp;hnear=Lindanusstraat+1,+6031+Nederweert,+Limburg&amp;z=16&amp;ll=51.284229,5.749838&amp;output=embed\"></iframe><br /><small><a href=\"http://maps.google.nl/maps?f=q&amp;source=embed&amp;hl=nl&amp;geocode=&amp;q=lindanusstraat+1+nederweert&amp;sll=51.249842,5.899122&amp;sspn=0.007669,0.022724&amp;ie=UTF8&amp;hq=&amp;hnear=Lindanusstraat+1,+6031+Nederweert,+Limburg&amp;z=16&amp;ll=51.284229,5.749838\" style=\"color:#0000FF;text-align:left\">Grotere kaart weergeven</a></small>");
	        write ("</body>");
	        write ("</html>");
	        close();
	    } 
	}
}

