window.onload = function()
{
	var imgs, i;
	imgs = document.getElementsByTagName("img");
	for (i = 0; i < imgs.length; i++)
	{
		if (imgs[i].src.search("inactive") > -1)
		{
			imgs[i].onmouseover = function() {this.src = this.src.replace(/inactive/g, "hover");}
			imgs[i].onmouseout = function() {this.src = this.src.replace(/hover/g, "inactive");}
		}
	}
	
	winkelwagenLaden();
	
	if (document.getElementById("checkbox_autofilter"))
		document.getElementById("checkbox_autofilter").onclick = function()
		{
			setCookie("autofilter_aan", (this.checked ? "1" : "0"), 365);
			myReload(true);
		}
	
	if (document.getElementById("select_merk"))
		document.getElementById("select_merk").onchange = function()
		{
			deleteCookie("autofilter_merk");
			deleteCookie("autofilter_model");
			deleteCookie("autofilter_uitvoering");
			deleteCookie("autofilter_jaar");
			if (this.options[this.selectedIndex].text != "(geen voorkeur)")
				setCookie("autofilter_merk", this.options[this.selectedIndex].text, 365);
			myReload(true);
		}
	
	if (document.getElementById("select_model"))
		document.getElementById("select_model").onchange = function()
		{
			deleteCookie("autofilter_model");
			deleteCookie("autofilter_uitvoering");
			deleteCookie("autofilter_jaar");
			if (this.options[this.selectedIndex].text != "(geen voorkeur)")
				setCookie("autofilter_model", this.options[this.selectedIndex].text, 365);
			myReload(true);
		}
	
	if (document.getElementById("select_uitvoering"))
		document.getElementById("select_uitvoering").onchange = function()
		{
			deleteCookie("autofilter_uitvoering");
			deleteCookie("autofilter_jaar");
			if (this.options[this.selectedIndex].text != "(geen voorkeur)")
				setCookie("autofilter_uitvoering", this.options[this.selectedIndex].text, 365);
			myReload(true);
		}

	if (document.getElementById("select_jaar"))
		document.getElementById("select_jaar").onchange = function()
		{
			deleteCookie("autofilter_jaar");
			if (this.options[this.selectedIndex].text != "(geen voorkeur)")
				setCookie("autofilter_jaar", this.options[this.selectedIndex].text, 365);
			myReload(true);
		}
	
	if (document.getElementById("zoekvak"))
	{
		document.getElementById("zoekvak").onclick = function()
		{
			if (this.value == "Typ hier uw zoekterm")
			{
				this.value = "";
				this.style.fontStyle = "normal";
				this.style.color = "#282828";
			}
		}
		document.getElementById("zoekvak").onkeyup = function(e)
		{
			var evt = window.event ? window.event : e;
			var keyCode = evt.keyCode;
			if (keyCode == 13)
				document.location.href = "producten.php?zoek=" + escape(this.value);
		}
	}
}

document.onkeyup = function(e)
{
	if (document.getElementById("lightbox_content"))
	{
		var evt = window.event ? window.event : e;
		var keyCode = evt.keyCode;
		if (keyCode == 27)
		{
			if (document.getElementById("lightbox_content").style.display == "inline")
				document.location.replace(document.location.href);
			if (document.getElementById("divImageViewer").style.display == "inline")
			{
				document.getElementById("lightbox_overlay").style.display = "none";
				document.getElementById("divImageViewer").style.display = "none";
			}
		}
	}
}

document.onclick = function(e)
{
	if (document.getElementById("divLangList"))
	{
		var pt = getMousePos(e);
		var rc = getElementRect(document.getElementById("tableLangList"));
		if (!ptInRect(pt, rc))
			document.getElementById("divLangList").style.display = "none";
	}
}

var ie6 = false;
var winkelwagenProducten = new Array();

function winkelwagenLaden()
{
	winkelwagenProducten = new Array();
	if (getCookie("winkelwagen_producten"))
	{
		var rows = getCookie("winkelwagen_producten").split("\r\n");
		for (var i = 0; i < rows.length - 1; i++)
			winkelwagenProducten.push(rows[i].split(";"));
	}
}

function winkelwagenOpslaan()
{
	var cookie = new String();
	for (var i = 0; i < winkelwagenProducten.length; i++)
		cookie += winkelwagenProducten[i].join(";") + "\r\n";
	setCookie("winkelwagen_producten", cookie);
}

function winkelwagenUpdate()
{
	if (document.getElementById("verzendkosten"))
	{
		var i, j, prijs, aantal, aantal2, subtotaal, totaal, verzendkosten;
		
		verzendkosten = document.getElementById("verzendkosten").innerHTML;
		verzendkosten = verzendkosten.substr(verzendkosten.search(" ") + 1);
		verzendkosten = verzendkosten.replace(/,/g, ".");
		verzendkosten = parseFloat(verzendkosten);
		totaal = verzendkosten;
		
		// Als we op de winkelwagen.php pagina zijn update pagina adhv invoervelden
		
		for (i = 0; document.getElementById("prijs" + i); i++)
		{
			prijs = document.getElementById("prijs" + i).innerHTML;
			prijs = prijs.substr(prijs.search(" ") + 1);
			prijs = prijs.replace(/,/g, ".");
			prijs = parseFloat(prijs);
			aantal = document.getElementById("aantal" + i).value;
			aantal2 = "";
			for (j = 0; j < aantal.length; j++)
				if (aantal[j] >= '0' && aantal[j] <= '9')
					aantal2 += aantal[j]
			if (aantal != aantal2)
				document.getElementById("aantal" + i).value = aantal2;
			winkelwagenProducten[i][1] = aantal2;
			subtotaal = (aantal2 * prijs);
			totaal += subtotaal;
			document.getElementById("subtotaal" + i).innerHTML = "&euro; " + subtotaal.toFixed(2).replace(/\./g, ",");
		}
		
		if (i)
			document.getElementById("totaal").innerHTML = "&euro; " + totaal.toFixed(2).replace(/\./g, ",");
		
		// Update de header winkelwagen	
		
		if (i == 1)
			document.getElementById("headerWinkelwagenItems").innerHTML = document.getElementById("naam0").innerHTML;
		else
			document.getElementById("headerWinkelwagenItems").innerHTML = i + " items";
			
		document.getElementById("headerWinkelwagenSubtotaal").innerHTML = "&euro; " + (totaal - verzendkosten).toFixed(2).replace(/\./g, ",");
		document.getElementById("headerWinkelwagenTotaal").innerHTML = "&euro; " + totaal.toFixed(2).replace(/\./g, ",");
		
		// Wijzigingen opslaan in cookie
		
		winkelwagenOpslaan();
	}
}

function winkelwagenToevoegen(artikelnr, aantal)
{
	for (var i = 0; i < winkelwagenProducten.length; i++)
	{
		if (winkelwagenProducten[i][0] == artikelnr)
		{
			winkelwagenProducten[i][1] = parseInt(winkelwagenProducten[i][1]) + parseInt(aantal);
			winkelwagenOpslaan();
			return;
		}
	}
	winkelwagenProducten.push(new Array(artikelnr, aantal));
	winkelwagenOpslaan();
}

function winkelwagenVerwijderen(artikelnr)
{
	for (var i = 0; i < winkelwagenProducten.length; i++)
	{
		if (winkelwagenProducten[i][0] == artikelnr)
			{winkelwagenProducten.splice(i, 1); break;}
	}
	winkelwagenOpslaan();
}

function winkelwagenBevestigStap2()
{
	// Invoer controleren
	
	if (document.getElementsByName("naam")[0].value.length == 0 ||
		document.getElementsByName("straat")[0].value.length == 0 ||
		document.getElementsByName("huisnr")[0].value.length == 0 ||
		document.getElementsByName("postcode")[0].value.length == 0 ||
		document.getElementsByName("plaats")[0].value.length == 0 ||
		document.getElementsByName("email")[0].value.length == 0 ||
		document.getElementsByName("email")[0].value.indexOf("@") == -1 ||
		document.getElementsByName("email")[0].value.indexOf(".") == -1)
	{
		alert("U heeft niet alle verplichte velden (correct) ingevuld."); 
		return;
	}
	
	if (document.getElementsByName("afleveradres_hetzelfde")[1].checked)
	{
		if (document.getElementsByName("afleveradres_naam")[0].value.length == 0 ||
			document.getElementsByName("afleveradres_straat")[0].value.length == 0 ||
			document.getElementsByName("afleveradres_huisnr")[0].value.length == 0 ||
			document.getElementsByName("afleveradres_postcode")[0].value.length == 0 ||
			document.getElementsByName("afleveradres_plaats")[0].value.length == 0)
		{
			alert("U heeft niet alle verplichte velden (correct) ingevuld."); 
			return;
		}
	}
	
	if (!document.getElementsByName("akkoordav")[0].checked)
		{alert("U dient aan te geven dat u akkoord gaat met de Algemene Voorwaarden."); return;}
	
	// Waarden in cookie opslaan
	
	var expires = (document.getElementsByName("bewaargegevens")[0].checked ? 365 : "");

	if (document.getElementsByName("aanhef")[0].checked)
		setCookie("winkelwagen_aanhef", "Dhr.", expires);
	else if (document.getElementsByName("aanhef")[1].checked)
		setCookie("winkelwagen_aanhef", "Mw.", expires);
	else
		setCookie("winkelwagen_aanhef", "", expires);
	setCookie("winkelwagen_naam", document.getElementsByName("naam")[0].value, expires);
	setCookie("winkelwagen_straat", document.getElementsByName("straat")[0].value, expires);
	setCookie("winkelwagen_huisnr", document.getElementsByName("huisnr")[0].value, expires);
	setCookie("winkelwagen_postcode", document.getElementsByName("postcode")[0].value.toUpperCase().replace(/ /g, ""), expires);
	setCookie("winkelwagen_plaats", document.getElementsByName("plaats")[0].value, expires);
	var optionLand = document.getElementsByName("land")[0];
	setCookie("winkelwagen_land", optionLand.options[optionLand.selectedIndex].text, expires);
	setCookie("winkelwagen_email", document.getElementsByName("email")[0].value, expires);
	if (document.getElementsByName("telefoon")[0].value.length > 0)
		setCookie("winkelwagen_telefoon", document.getElementsByName("telefoon")[0].value, expires);
	setCookie("winkelwagen_afleveradres_hetzelfde", document.getElementsByName("afleveradres_hetzelfde")[0].checked ? "Ja" : "Nee", expires);

	if (document.getElementsByName("afleveradres_hetzelfde")[1].checked)
	{
		if (document.getElementsByName("afleveradres_aanhef")[0].checked)
			setCookie("winkelwagen_afleveradres_aanhef", "Dhr.", expires);
		else if (document.getElementsByName("afleveradres_aanhef")[1].checked)
			setCookie("winkelwagen_afleveradres_aanhef", "Mw.", expires);
		else
			setCookie("winkelwagen_afleveradres_aanhef", "", expires);
		setCookie("winkelwagen_afleveradres_naam", document.getElementsByName("afleveradres_naam")[0].value, expires);
		setCookie("winkelwagen_afleveradres_straat", document.getElementsByName("afleveradres_straat")[0].value, expires);
		setCookie("winkelwagen_afleveradres_huisnr", document.getElementsByName("afleveradres_huisnr")[0].value, expires);
		setCookie("winkelwagen_afleveradres_postcode", document.getElementsByName("afleveradres_postcode")[0].value.toUpperCase().replace(/ /g, ""), expires);
		setCookie("winkelwagen_afleveradres_plaats", document.getElementsByName("afleveradres_plaats")[0].value, expires);
		var optionAfleveradresLand = document.getElementsByName("land")[0];
		setCookie("winkelwagen_afleveradres_land", optionAfleveradresLand.options[optionAfleveradresLand.selectedIndex].text, expires);
	}
	else
	{
		deleteCookie("winkelwagen_afleveradres_aanhef");
		deleteCookie("winkelwagen_afleveradres_naam");
		deleteCookie("winkelwagen_afleveradres_straat");
		deleteCookie("winkelwagen_afleveradres_huisnr");
		deleteCookie("winkelwagen_afleveradres_postcode");
		deleteCookie("winkelwagen_afleveradres_plaats");
		deleteCookie("winkelwagen_afleveradres_land");
	}
	
	setCookie("winkelwagen_akkoordav", document.getElementsByName("akkoordav")[0].checked ? "Ja" : "Nee");
	setCookie("winkelwagen_nieuwsbrief", document.getElementsByName("nieuwsbrief")[0].checked ? "Ja" : "Nee", expires);
	setCookie("winkelwagen_bewaargegevens", document.getElementsByName("bewaargegevens")[0].checked ? "Ja" : "Nee");
	
	window.location.href = "winkelwagen.php?stap=3";
}

function winkelwagenBevestigStap3()
{
	if (!document.getElementsByName("betaalwijze")[0].checked &&
		!document.getElementsByName("betaalwijze")[1].checked &&
		!document.getElementsByName("betaalwijze")[2].checked)
	{
		alert("U dient een betaalwijze te selecteren.");
		return;
	}
	
	if (document.getElementsByName("betaalwijze")[0].checked) setCookie("winkelwagen_betaalwijze",  "iDEAL");
	if (document.getElementsByName("betaalwijze")[1].checked) setCookie("winkelwagen_betaalwijze",  "PayPal/Creditcard");
	if (document.getElementsByName("betaalwijze")[2].checked) setCookie("winkelwagen_betaalwijze",  "Zelf overmaken");
	
	window.location.href = "winkelwagen.php?stap=4";
}

//
// Algemene functies
//

function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24; // expires is given in days
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

// Sample Usage:
//var obj1 = document.getElementById('element1');
//var obj2 = document.getElementById('element2');
//function alertElements() {
//  var i;
//  var elements = $('a','b','c',obj1,obj2,'d','e');
//  for ( i=0;i

function myGetElementsByClassName(className)
{
	if (document.getElementsByClassName)
		return document.getElementsByClassName(className);
	
	var classNames = className.split(" ");
	var elements = document.getElementsByTagName("*");
	var returnElements = [];
	var i, j, k;
	var elementClassNames;
	for (i = 0; i < elements.length; i++)
	{
		elementClassNames = elements[i].className.split(" ");
		for (j = 0; j < elementClassNames.length; j++)
			for (k = 0; k < classNames.length; k++)
				if (elementClassNames[j] == classNames[k])
					returnElements.push(elements[i]);
	}
	return returnElements;
}

function myGetElementsByName(name)
{
	var names = name.split(" ");
	var elements = document.getElementsByTagName("*");
	var returnElements = [];
	for (var i = 0; i < elements.length; i++)
		for (var j = 0; j < names.length; j++)
			if (elements[i].getAttribute("name") == names[j])
				returnElements.push(elements[i]);
	return returnElements;
}

function getElementRect(element)
{
	var rc = {left : 0, top : 0, right : 0, bottom : 0};
	rc.right = element.offsetWidth;
	rc.bottom = element.offsetHeight;
	while (element)
	{
		rc.left += element.offsetLeft;
		rc.top += element.offsetTop;
		element = element.offsetParent;
	}
	rc.right += rc.left;
	rc.bottom += rc.top;
	return rc;
}

function moveElement(element, x, y, cx, cy)
{
	element.style.pixelLeft = x;
	element.style.left = x + "px";
	element.style.pixelTop = y;
	element.style.top = y + "px";
	if (cx && cx != "")
	{
		element.style.pixelWidth = cx;
		element.style.width = cx + "px";
	}
	if (cy && cy != "")
	{
		element.style.pixelHeight = cy;
		element.style.height = cy + "px";
	}
}

function getMousePos(e)
{
	var evt = window.event ? window.event : e;
	var pt = {x : 0, y : 0};
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
		pt.x = evt.clientX + document.documentElement.scrollLeft;
		pt.y = evt.clientY + document.documentElement.scrollTop;
	}
	else
	{
		pt.x = evt.pageX;
		pt.y = evt.pageY;
	}
	return pt;
}

function ptInRect(pt, rc)
{
	return (pt.x >= rc.left && pt.x < rc.right && pt.y >= rc.top && pt.y < rc.bottom);
}

function myReload(full)
{
	if (full)
		document.location.href = document.location.href;
	else
		document.location.replace(document.location.href);
}

function setInputHint(input, hint)
{
	if (!input)
		return;
	
	if (hint)
	{
		input.onclick = function()
		{
			var hint = this.getAttribute("data-hint");
			if (this.value == hint)
				this.value = "";
				
			this.style.color = "#282828";
			this.style.fontStyle = "normal";
		}
		
		input.onblur = function()
		{
			var hint = this.getAttribute("data-hint");
			if (this.value == "")
			{
				this.value = hint;
				this.style.color = "#808080";
				this.style.fontStyle = "italic";
			}
		}
		
		input.onfocus = function() {this.onclick();}
		input.onchange = function() {this.onclick();}
		
		input.setAttribute("data-hint", hint);
		input.onclick();
		input.onblur();
	}
	else
	{
		if (input.onclick)
			input.onclick();
		input.setAttribute("data-hint", "");
		input.onclick = function() {}
		input.onblur = function() {}
		input.onfocus = function() {}
		input.onchange = function() {}
	}
}
		
function getStylePropertyValue(element, styleProperty)
{
	if (window.getComputedStyle)
		return document.defaultView.getComputedStyle(element).getPropertyValue(styleProperty); 
	return element.currentStyle[styleProperty];
}

function htmlentities(str)
{
	str = String(str);
	str = str.replace(/&/g, "&amp;");
	str = str.replace(/</g, "&lt;");
	str = str.replace(/>/g, "&gt;");
	str = str.replace(/"/g, "&quot;");
	str = str.replace(/'/g, "&#39;");
	return str;
}

function html_entity_decode(str)
{
	str = String(str);
	str = str.replace(/&#39;/g, "'");
	str = str.replace(/&quot;/g, '"');
	str = str.replace(/&gt;/g, ">");
	str = str.replace(/&lt;/g, "<");
	str = str.replace(/&amp;/g, "&");
	return str;
}

