var arrCurrentCart = strCurrentCart.split("|");

var intCurrentTotalDifferentProductsInCart = 0;

var dec1 = 0;
var dec2 = 0;
var dec3 = 0;
var fadePriceInterval;
var intTotalPriceInCartOpacity;
var blnCartCookieExists = (!(readCookie("cartID") == null));
function clickProduct(strProductName) {
	loadProduct(strProductName);
	return false;
}
function sendCurrentPageMail() {
	var strSubject = "Her er en side der kunne have din interesse.";
	var strBodyMessage = "Hej!%0A%0AJeg mener at denne side kan have din interesse:%0A" + strHrefLink + strHrefLinkAdd + "%0A%0AMed venlig hilsen,%0AHM Faldsikring%0Ahttp://www.hmfaldsikring.dk";
	win = window.open("mailto:?subject=" + strSubject + "&body=" + strBodyMessage, "emailWindow");
	if (win && win.open &&!win.closed) win.close();
}
function addProductToCart() {
	var strProductID = document.getElementById("productID").value;
	var strProductNumber = document.getElementById("productNumber").value;
	var strProductPrice = document.getElementById("productPrice").value;
	if (IsInteger(strProductNumber) && IsNumeric(strProductPrice)) {
		var intProductNumber = parseFloat(strProductNumber);
		var intProductPrice = parseFloat(strProductPrice);
		productCartGo("add", strProductID, strProductNumber);
		document.getElementById("antalSpan").innerHTML = "Ligger produkt i kurv..";
		intTotalPriceInCart += intProductPrice * intProductNumber;
		intTotalProductsInCart += intProductNumber;
		var strVarerText = "varer";
		if (intTotalProductsInCart == 1) strVarerText = "vare";
		setTotalPriceInCart(intTotalProductsInCart + " " + strVarerText + " - " + number_format(intTotalPriceInCart, 2, ",", ".") + " kr");
	} else {
		alert("Antallet du har indtastet er ikke et nummer.");
	}
	return false;
}
function IsInteger(intNumber) {
	return parseInt(intNumber) == intNumber;
}
function IsNumeric(intNumber) {
	return parseFloat(intNumber) == intNumber;
}
function loadProduct(strProductID) {
	strHrefLinkAdd = "%26productid=" + strProductID;
	document.getElementById("productTab").innerHTML = "Henter produkt..";
	var req;
	try { req = new XMLHttpRequest(); }
	catch (e){ 
		try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
		 catch (e){
			try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e){ 
				alert("Din browser supporter ikke AJAX!");
				return false;
			}
		}
	}
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.status == 200) {
				document.getElementById("productTab").innerHTML = req.responseText;
			}
		}
	};
	req.open("GET","./ajax/getproduct.php?id=" + strProductID, true);
	req.send("");
}
function openSubFolder(strSubFolder, strDoBr) {
	var strDisplay = document.getElementById(strSubFolder).style.display;
	var strImgPath;
	var strBr;
	if (strDisplay == "block") {
		strDisplay = "none";
		strImgPath = "./img/icons/resultset_next.png";
		strBr = "<br />";
	} else {
		strDisplay = "block";
		strImgPath = "./img/icons/resultset_down.png";
		strBr = "";
	}
	if (strDoBr == "true") document.getElementById(strSubFolder + "_br").innerHTML = strBr;
	document.getElementById(strSubFolder + "_img").src = strImgPath;
	document.getElementById(strSubFolder).style.display = strDisplay;
	return false;
}
function productCartGo(strAction, strProductID, strProductNumber) { 
	var strURL = "";
	if (strAction == "add") {
		setTextUponCart("Tilf&oslash;jer produkt..");
		strURL = "./ajax/cart_actions.php?action=add&id=" + strProductID + "&number=" + strProductNumber;
	}
	if (strAction == "update") {
		setTextUponCart("Opdaterer produkter..");
		strURL = "./ajax/cart_actions.php?action=update&id=0&newcart=" + strProductID;
	}
	if (strAction == "delete") {
		setTextUponCart("Sletter produkter..");
		strURL = "./ajax/cart_actions.php?action=delete&id=" + strProductID;
	}
	var req;
	try { req = new XMLHttpRequest(); }
	catch (e){ 
		try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
		 catch (e){
			try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e){ 
				alert("Din browser supporter ikke AJAX!");
				return false;
			}
		}
	}
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.status == 200) {
				if (!blnCartCookieExists) {
					createCookie("cartID", req.responseText);
					blnCartCookieExists = true;
				}
				if (strAction == "add") {
					document.getElementById("antalSpan").innerHTML = "Produktet er lagt i kurven.";
					setTextUponCart("Produktet er lagt i kurven.");
				}
				if (strAction == "update") setTextUponCart("Produkterne er opdateret.");
				if (strAction == "delete") setTextUponCart("Produktet er slettet.");
			}
		}
	};
	req.open("GET", strURL , true);
	req.send("");
	return false;
}
function setTextUponCart(strNewText) {
	document.getElementById("floatCartNotifierText").innerHTML = strNewText;
}
function setTotalPriceInCart(strNewPrice) {
	document.getElementById("totalPriceInCart").innerHTML = strNewPrice;
	var obj = document.getElementById("floatCartNotifierOuter");
	intTotalPriceInCartOpacity = 2;
	obj.style.opacity = 1;
	obj.style.filter = "alpha(opacity=100)";
	clearInterval(fadePriceInterval);
	
	fadePriceInterval = setInterval(fadeOutTotalPriceInCart, 50);
}
function fadeOutTotalPriceInCart() {
	var obj = document.getElementById("floatCartNotifierOuter");
	intTotalPriceInCartOpacity -= 0.05;
	if (intTotalPriceInCartOpacity < 1) {
		obj.style.opacity = intTotalPriceInCartOpacity;
		obj.style.filter = "alpha(opacity=" + intTotalPriceInCartOpacity * 100 + ")";
		if (intTotalPriceInCartOpacity <= 0) {
			obj.style.opacity = 0;
			obj.style.filter = "alpha(opacity=0)";
			clearInterval(fadePriceInterval);
		}
	}
}
function createCookie(name, value) {
	document.cookie = name + "=" + value;
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(";");
	for(var i=0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == " ") c = c.substring(1, c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name, "", -1);  
}
function makeCartFromArray() {
	//strCurrentCart = arrCurrentCart.join("|");
	//createCookie("productCart", strCurrentCart);
}
function deleteProduct(strProductID) {
	var getElemCartTable = document.getElementById("cartTable");
	getElemCartTable.deleteRow(document.getElementById("trCartNo" + strProductID).rowIndex);
	if (intCurrentTotalDifferentProductsInCart == 0) intCurrentTotalDifferentProductsInCart = Math.round(document.getElementById("differentProductsInCart").value);
	intCurrentTotalDifferentProductsInCart -= 1;
	if (intCurrentTotalDifferentProductsInCart == 0) {
		document.getElementById("cartOuterContainer").innerHTML = "Der er ingen varer i din kurv endnu! Du kan tilf&oslash;je nogle under <a href=\"?page=program\">Standard program</a>.";
		setTotalPriceInCart("")
	} else {
		updateCartPrices();
	} 
	productCartGo("delete", strProductID, 0);
	return false;
}
function updateCart() {
	var dPIC = Math.round(document.getElementById("differentProductsInCart").value);
	var intAmount, strHiddenID;
	var intCurrentProductTotalPrice = 0;
	var intTotalPrice = 0;
	var myNewCartArray = new Array();
	for (var i = 0; i < dPIC; i++) {
		if (document.getElementById("inputCartNo" + i) != null) {
			intAmount = parseInt(document.getElementById("inputCartNo" + i).value);
			strHiddenID = document.getElementById("inputHiddenCartNo" + i + "Amount").value;
			if (intAmount <= 0) {
				deleteProduct(strHiddenID);
			} else {
				myNewCartArray.push(strHiddenID + "=" + intAmount);

			}
		}
	}
	productCartGo("update", myNewCartArray.join("|"), 0);
	updateCartPrices();
	return false; 
}
function submitOrderForm() { 
	if (submitOrderFormValidate("navn", document.getElementById("userName"))) {
		if (submitOrderFormValidate("telefon", document.getElementById("userPhone"))) {
			if (submitOrderFormValidate("adresse", document.getElementById("userStreet"))) {
				if (submitOrderFormValidate("postnummer", document.getElementById("userPostal"))) {
					if (submitOrderFormValidate("email", document.getElementById("userEmail"))) {
						document.getElementById("orderForm").submit(); 
					}
				}
			}
		}
	}
	return false;
}
function submitOrderFormValidate(eR, refObj) {
	if (refObj.value.replace(" ", "") == "") return submitOrderFormError(eR);
	return true;
}
function submitOrderFormError(eR) {
	alert("Feldtet \&quot;&quot; + eR + &quot;\&quot; er ikke udfyldt.");
	return false;
}
function updateCartPrices() {
	var dPIC = Math.round(document.getElementById("differentProductsInCart").value);
	var intCurrentProductTotalPrice = 0;
	var intTotalPriceInCart = 0;
	var intTotalProductsInCart = 0;
	var intAmount;
	for (var i = 0; i < dPIC; i++) {
		if (document.getElementById("inputCartNo" + i) != null) {
			intAmount = parseInt(document.getElementById("inputCartNo" + i).value);
			intCurrentProductTotalPrice = parseFloat(document.getElementById("inputHiddenCartNo" + i + "Price").value) * intAmount;
			document.getElementById("totalPriceNo" + i).innerHTML = number_format(intCurrentProductTotalPrice, 2, ",", ".") + " kr";
			intTotalPriceInCart += intCurrentProductTotalPrice;
			intTotalProductsInCart += intAmount;
		}
	}
	document.getElementById("totalPrice").innerHTML = number_format(intTotalPriceInCart, 2, ",", ".") + " kr";
	
	var strVarerText = "varer";
	if (intTotalProductsInCart == 1) strVarerText = "vare";
	setTotalPriceInCart(intTotalProductsInCart + " " + strVarerText + " - " + number_format(intTotalPriceInCart, 2, ",", ".") + " kr");
}
function emptyCart() {
	var dPIC = Math.round(document.getElementById("differentProductsInCart").value)
	var strHiddenID;
	for (var i = 0; i < dPIC; i++) {
		if (document.getElementById("inputCartNo" + i) != null) {
			strHiddenID = document.getElementById("inputHiddenCartNo" + i + "Amount").value;
			deleteProduct(strHiddenID);
		}
	}
	return false;
}
var intMouseX = 0;
var intMouseY = 0;
var lastScroll = 0;

function initMousePosChecker() {
	if (document.layers) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = checkMousePosition;
	setInterval(getMousePosition, 1000 / 50);
}
function checkMousePosition(e) {
	if (!e) e = window.event;
	if (!e) return;
	if (e.pageX) {
		intMouseX = e.pageX;
		intMouseY = e.pageY - window.pageYOffset;
		return;
	}
	intMouseX = e.clientX;
	intMouseY = e.clientY;
}
function hoverProduct(strProductID) {
	var obj = document.getElementById("productHover");
	var obj2 = document.getElementById("productHoverImage");
	obj2.src = "./ajax/getimg.php?type=product&imgtype=thumb&id=" + strProductID;
	obj2.style.opacity = 0; 
	obj2.style.filter = "alpha(opacity=0)";
	obj2.onload = function () {
		if (obj2.src != "./ajax/getimg.php?type=product&id=0") {
			obj2.style.opacity = 1; 
			obj2.style.filter = "alpha(opacity=100)";
		}
	}
	obj.style.opacity = 1;
	obj.style.filter = "alpha(opacity=100)";
	return false;
}
function hoverOut() {
	var obj = document.getElementById("productHover");
	var obj2 = document.getElementById("productHoverImage");
	obj2.src = "./ajax/getimg.php?type=product&id=0";
	obj2.style.opacity = 0; 
	obj2.style.filter = "alpha(opacity=0)";
	obj.style.opacity = 0; 
	obj.style.filter = "alpha(opacity=0)";
	return false;
}
function getMousePosition() {
	checkMousePosition();
	//document.getElementById("productHover").innerHTML = intMouseX + " - " + intMouseY;
	document.getElementById("productHover").style.left = intMouseX + 10 + "px";
	document.getElementById("productHover").style.top = intMouseY + 10 + "px";
	return true;
}
function number_format(number, decimals, dec_point, thousands_sep) {
	var n = number, prec = decimals;
	var toFixedFix = function (n, prec) {
		var k = Math.pow(10, prec);
		return (Math.round(n * k) / k).toString();
	};
	n = !isFinite(+n) ? 0 : +n;
	prec = !isFinite(+prec) ? 0 : Math.abs(prec);
	var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
	var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

	var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec);

	var abs = toFixedFix(Math.abs(n), prec);
	var _, i;

	if (abs >= 1000) {
		_ = abs.split(/\D/);
		i = _[0].length % 3 || 3;
		_[0] = s.slice(0,i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
		s = _.join(dec);
	} else {
		s = s.replace('.', dec);
	}

	var decPos = s.indexOf(dec);
	if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
		s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
	} else if (prec >= 1 && decPos === -1) {
		s += dec+new Array(prec).join(0)+'0';
	}
	return s;
}

