var root				= "http://www.kimeggens.nl/";
var preloadImgs			= new Array();

window.onload			= setOnLoad;

function setOnLoad()
{
	setFocus();
	preloadImages();
	setLinksTarget();
	initItemImgNav();
}

function setFocus()
{
	var el = document.getElementById("cart_name");
	
	if (el)
	{
		el.focus();
	}
}

function preloadImages()
{
	for (var i = 0; i < document.images.length; i++)
	{
		if ((document.images[i].parentNode.tagName == "A" || document.images[i].parentNode.tagName == "SPAN") && document.images[i].src.indexOf("_off") != -1)
		{
			preloadImgs[i]		= new Image();
			preloadImgs[i].src	= document.images[i].src.replace("_off", "_on");
		}
	}
}

function swapImage(imageId)
{
	if (document.getElementById(imageId).src.indexOf("_off") != -1)
	{
		document.getElementById(imageId).src = document.getElementById(imageId).src.replace("_off", "_on");
	}
	
	else
	{
		document.getElementById(imageId).src = document.getElementById(imageId).src.replace("_on", "_off");
	}
}

function setLinksTarget()
{
	for (var i = 0; i < document.links.length; i++)
	{
		if (document.links[i].href.indexOf(root.substr(0, root.length - 1)) == -1)
		{
			document.links[i].target = "_blank";
		}
		
		else
		{
			document.links[i].removeAttribute("target");
		}
	}
}

function initItemImgNav()
{
	var totalImgs = document.getElementsByClassName("itemImg").length;
	
	if (totalImgs < 2)
	{
		var prevLink = "prevLink0";
		var nextLink = "nextLink0";
		
		if (document.getElementById(prevLink))
		{
			document.getElementById("itemImg0").removeChild(document.getElementById(prevLink));
		}
		
		if (document.getElementById(nextLink))
		{
			document.getElementById("itemImg0").removeChild(document.getElementById(nextLink));
		}
	}
}

function showHidePrevNextLabel(linkId)
{
	var label;
	
	if (linkId.substr(0, 4) == "prev")
	{
		label = "prevLabel" + linkId.substr(8, linkId.length);
	}
	
	else
	{
		label = "nextLabel" + linkId.substr(8, linkId.length);
	}
	
	if (document.getElementById(label))
	{
		if (document.getElementById(label).style.visibility == "hidden")
		{
			document.getElementById(label).style.visibility = "visible";
		}
		
		else
		{
			document.getElementById(label).style.visibility = "hidden";
		}
	}
}

function showPrevNextImg(linkId)
{
	var thisImg = parseInt(linkId.substr(8, linkId.length));
	var totalImgs = document.getElementsByClassName("itemImg").length;
	
	if (linkId.substr(0, 4) == "prev")
	{
		if (thisImg == 0)
		{
			nextImg	= "itemImg" + (totalImgs - 1);
		}
		
		else
		{
			nextImg	= "itemImg" + (thisImg - 1);
		}
	}
	
	else
	{
		if (thisImg == (totalImgs - 1))
		{
			nextImg	= "itemImg" + 0;
		}
		
		else
		{
			nextImg	= "itemImg" + (thisImg + 1);
		}
	}
	
	thisImg = "itemImg" + thisImg;
	
	if (document.getElementById(thisImg))
	{
		document.getElementById(thisImg).style.visibility = "hidden";
	}
	
	if (document.getElementById(nextImg))
	{
		document.getElementById(nextImg).style.visibility = "visible";
	}
}

function addFilter()
{
	$(".noShop").fadeTo(300, 0.15, function() {});
	$("#seeAll").removeClass("light");
	$("#forSale").addClass("light");
}

function removeFilter()
{
	$(".noShop").fadeTo(200, 1, function() {});
	$("#seeAll").addClass("light");
	$("#forSale").removeClass("light");
}

function updateCart(obj, item_id, price, lang, total_id)
{
	// update price total
	var qty = obj.options[obj.selectedIndex].value;
	var price = formatCurrency((price * qty), lang);
	
	document.getElementById(total_id).innerHTML = "&euro; " + price;
	
	// update cart subtotal
	var ajaxRequest;
	
	try
	{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	}
	
	catch(e)
	{
		// Internet Explorer Browsers
		try
		{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		
		catch(e)
		{
			// something went wrong
			//alert ("Your browser broke!");
			return false;
		}
	}
	
	// request data function
	ajaxRequest.onreadystatechange = function()
	{
		if (ajaxRequest.readyState == 4)
		{
			// get id from div to show results in
			var ajaxDisplay = document.getElementById("subtotal");
			
			// put results into the div
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	
	var query = "?id=" + item_id + "&q=" + qty + "&ln=" + lang;
	
	ajaxRequest.open("GET", root + "db/update_cart.php" + query, true);
	ajaxRequest.send(null);
}

function setShippingInfo(checked)
{
	with (window.document.frmWrite)
	{
		if (checked)
		{
			cart_shipping_name.value			= cart_name.value;
			cart_shipping_address1.value		= cart_billing_address1.value;
			cart_shipping_address2.value		= cart_billing_address2.value;
			cart_shipping_postal.value			= cart_billing_postal.value;
			cart_shipping_city.value			= cart_billing_city.value;
			cart_shipping_state.value			= cart_billing_state.value;
			cart_shipping_country_id.value		= cart_billing_country_id.value;
			
			cart_shipping_name.readOnly			= true;
			cart_shipping_address1.readOnly		= true;
			cart_shipping_address2.readOnly		= true;
			cart_shipping_postal.readOnly		= true;
			cart_shipping_city.readOnly			= true;
			cart_shipping_state.readOnly		= true;
			cart_shipping_country_id.readOnly	= true;
		}
		
		else
		{
			cart_shipping_name.readOnly			= false;
			cart_shipping_address1.readOnly		= false;
			cart_shipping_address2.readOnly		= false;
			cart_shipping_postal.readOnly		= false;
			cart_shipping_city.readOnly			= false;
			cart_shipping_state.readOnly		= false;
			cart_shipping_country_id.readOnly	= false;
		}
	}
}

function formatCurrency(num, lang)
{
	var num = isNaN(num) || num === "" || num === null ? 0.00 : num;
	
	num = parseFloat(num).toFixed(2);
	
	if (lang == "nl")
	{
		num = num.replace (/\./g, ",");
	}
	
	return num;
}

document.getElementsByClassName = function (c)
{
	var r = new Array()
	var j = 0
	var o = document.getElementsByTagName("*");
	
	for(i = 0; i < o.length;i++)
	{
		if (o[i].className == c)
		{
			r[j] = o[i]; j++;
		}
	}
	
	return r;
}
