	/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
	*/

	function getElementsByClassName(oElm, strTagName, strClassName){
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/-/g, "\-");
		var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
		var oElement;
		for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
	}


	// Written by Johan Israelsson http://bleak.se/

	function displayTotalSum()
	{
		if (document.getElementsByTagName && document.getElementById)
		{
			var sumform = document.getElementById("sumform");
			sumform.style.display = "block";

			var shopItems = getElementsByClassName(document, "div", "shopitem");
			for(var i = 0; i < shopItems.length; i++)
			{
				var tempNodes = getElementsByClassName(shopItems[i], "input", "items");
				tempNodes[0].onblur = function()
				{
					calculateSum();
				}
			}
			/*var shopItems = getElementsByClassName(document, "div", "shopitemSpecial");
			var tempNodes = getElementsByClassName(shopItems[0], "input", "priceSpecial");
			tempNodes[0].onblur = function()
			{
				calculateSum();
			}*/
			/*var tempNodes = getElementsByClassName(shopItems[0], "input", "itemsSpecial");
			tempNodes[0].onblur = function()
			{
 				setNumberofRecipients();
 				//calculateSum();
			}*/

			calculateSum();
		}
		{			
			return false;
		}
	}
	
	function calculateSum()
	{
		if (!document.getElementsByTagName) return false;
		var shopItems = getElementsByClassName(document, "div", "shopitem");
		
		if(document.theForm.strPayment.selectedIndex == 2)
		{
			var intPostforskottSum = 50;
		}
		else
		{		
			var intPostforskottSum = 0;
		}
		var intPartSum = 0;
		var intTotalWeight = 0;
		var intTotalSum = 0;

		for(var i = 0; i < shopItems.length; i++)
		{
			var tempNodes = getElementsByClassName(shopItems[i], "input", "items");
			var items = tempNodes[0].value;
			if(items == "") items = "0";
			var tempNodes = getElementsByClassName(shopItems[i], "span", "price");
			var price = tempNodes[0].firstChild.nodeValue;
			price = price.replace(":-", "");
			//alert("Antal: " + items + ", pris: " + price + ":-");

			var tempNodes = getElementsByClassName(shopItems[i], "input", "weight");
			var weight = tempNodes[0].value;
			
			var intTempPartSum = items * price;
			intPartSum = intPartSum + intTempPartSum;

			var intTempWeight = items * weight;
			intTotalWeight = intTotalWeight + intTempWeight;
			
			var intTempSum = items * price;
			intTotalSum = intTotalSum + intTempSum;
		}
		
		// Presentkort special temporary solution
		var shopItems = getElementsByClassName(document, "div", "shopitemSpecial");

		var tempNodes = getElementsByClassName(shopItems[0], "input", "itemsSpecial");
		//alert("tempNodes: " + tempNodes[0].value);
		var items = tempNodes[0].value;
		if(items == "") items = "0";

		var tempNodes = getElementsByClassName(shopItems[0], "input", "priceSpecial");
		//alert("tempNodes: " + tempNodes);
		var intPresentkortTotalPrice = 0;
		for (var i = 0; i < tempNodes.length; i++)
		{
			var price = tempNodes[i].value;
			if(price == "") price = "0";
			price *= 1;
			intPresentkortTotalPrice += price;
		}

		var tempNodes = getElementsByClassName(shopItems[0], "input", "weightSpecial");
		var weight = tempNodes[0].value;
			
		//var intTempPartSum = items * price;
		intPartSum = intPartSum + intPresentkortTotalPrice;

		var intTempWeight = items * weight;
		intTotalWeight = intTotalWeight + intTempWeight;
			
		var intTempSum = items * price;
		intTotalSum = intTotalSum + intPresentkortTotalPrice;
		
		
		document.theForm.strCalculatedPartSum.value = intPartSum + ":-";
		var partSum = getElementsByClassName(document, "p", "partsum");
		partSum[0].firstChild.nodeValue = intPartSum + ":-";

		
		/*
		<= 20 gram = 6:00 
		<= 100 gram = 12:00
		<= 250 gram = 24:00
		<= 500 gram = 36:00
		<= 1000 gram = 48:00
		<= 2000 gram = 72:00

		Paket:
		<= 3 kg = 150:00
		<= 5 kg = 175:00
		<= 10 kg = 225:00
		<= 15 kg = 275:00
		<= 20 kg = 320:00
		*/

		var intShippingCost = 0;
		if(intTotalWeight > 0 && intTotalWeight <= 20)
		{
			intShippingCost = 6.00;
		}
		else if (intTotalWeight > 20 && intTotalWeight <= 100)
		{
			intShippingCost = 12.00;
		}
		else if (intTotalWeight > 100 && intTotalWeight <= 250)
		{
			intShippingCost = 24.00;
		}
		else if (intTotalWeight > 250 && intTotalWeight <= 500)
		{
			intShippingCost = 36.00;
		}
		else if (intTotalWeight > 500 && intTotalWeight <= 1000)
		{
			intShippingCost = 48.00;
		}
		else if (intTotalWeight > 1000 && intTotalWeight <= 2000)
		{
			intShippingCost = 72.00;
		}
		else if (intTotalWeight > 2000 && intTotalWeight <= 3000)
		{
			intShippingCost = 150.00;
		}
		else if (intTotalWeight > 3000 && intTotalWeight <= 5000)
		{
			intShippingCost = 175.00;
		}
		else if (intTotalWeight > 5000 && intTotalWeight <= 10000)
		{
			intShippingCost = 225.00;
		}
		else if (intTotalWeight > 10000 && intTotalWeight <= 15000)
		{
			intShippingCost = 275.00;
		}
		else if (intTotalWeight > 15000 && intTotalWeight <= 20000)
		{
			intShippingCost = 320.00;
		}
		//intTotalWeight = intTotalWeight;
		document.theForm.strCalculatedWeight.value = intShippingCost + ":-";
		var totalWeight = getElementsByClassName(document, "p", "totalweight");
		totalWeight[0].firstChild.nodeValue = intShippingCost + ":-";

		document.theForm.strPostforskott.value = intPostforskottSum + ":-";
		var postforskott = getElementsByClassName(document, "p", "postforskott");
		postforskott[0].firstChild.nodeValue = intPostforskottSum + ":-";
		
		intTotalSum = intPartSum + intShippingCost + intPostforskottSum;
		document.theForm.strCalculatedSum.value = intTotalSum + ":-";
		var totalSum = getElementsByClassName(document, "p", "totalsum");
		totalSum[0].firstChild.nodeValue = intTotalSum + ":-";

	}

	function setNumberofRecipients()
	{
		//alert("JAPP!");
		
		//var tempStartString = "<table>";
		//var tempEndString = "</table>";
		//var tempString = "<td>Mottagare:<br/><input type=\"text\" name=\"strPresentkortRecipient\" style=\"width:260px;\" />&nbsp;&nbsp;&nbsp;</td><td>Värde:<br/><input class=\"priceSpecial\" type=\"text\" size=\"5\" name=\"intPresentkortValue\" /></td>";
		//var compiledString = "";
		
		var shopItemSpecial = getElementsByClassName(document, "div", "shopitemSpecial");
		
		var tempNodes = getElementsByClassName(shopItemSpecial[0], "input", "itemsSpecial");

		var items = tempNodes[0].value;
		if(items == "") items = 0;
		
		//alert(items);
		
		var presentkortRecipients = document.getElementById('presentkortRecipients');
		var recipientsTable = presentkortRecipients.getElementsByTagName('table');
		var recipientsContainer = presentkortRecipients.getElementsByTagName('tr');
		
		var tempExisting = recipientsContainer.length - 1;
		if (tempExisting < 0)
		{
			tempExisting = 0;
		}
		
		//alert("Existing: " + tempExisting + ", Wanted: " + items);
		
		if (tempExisting == 0 && items > 0)
		{
			var tempTR = document.createElement('tr');
			var tempTD = document.createElement('td');
			tempTD.setAttribute("class","recipient");
			tempTD.innerHTML = "Mottagare:";
			tempTR.appendChild(tempTD);
			var tempTD = document.createElement('td');
			tempTD.setAttribute("class","value");
			tempTD.innerHTML = "Värde:";
			tempTR.appendChild(tempTD);
			
			//tempHtml.innerHTML = "<td class=\"recipient\">Mottagare:</td><td class=\"value\">Värde:</td>";
			recipientsTable[0].appendChild(tempTR);
		}
		
		if (tempExisting < items)
		{
			for(var i = recipientsContainer.length - 1; i < items; i++)
			{
				//alert("i: " + i);
				var tempTR = document.createElement('tr');
				var tempTD = document.createElement('td');
				tempTD.setAttribute("class","recipient");
				tempTD.innerHTML = "<input type=\"text\" id=\"strPresentkortRecipient" + i + "\" name=\"strPresentkortRecipient" + i + "\" style=\"width:216px;\" />";
				tempTR.appendChild(tempTD);
				var tempTD = document.createElement('td');
				tempTD.setAttribute("class","value");
				tempTD.innerHTML = "<input class=\"priceSpecial\" type=\"text\" size=\"6\" name=\"intPresentkortValue" + i + "\" onBlur=\"calculateSum();\" />";
				tempTR.appendChild(tempTD);

				//tempHtml.innerHTML = "<td class=\"recipient\"><input type=\"text\" name=\"strPresentkortRecipient" + i + "\" style=\"width:216px;\" /></td><td class=\"value\"><input class=\"priceSpecial\" type=\"text\" size=\"6\" name=\"intPresentkortValue" + i + "\" onBlur=\"calculateSum();\" /></td>";
				recipientsTable[0].appendChild(tempTR);
			}
		}
		else if (tempExisting > items)
		{
			// ta bort tomma först
			for(var i = recipientsContainer.length - 1; i > items; i--)
			{
				//alert("i: " + i);
				recipientsContainer[recipientsContainer.length - 1].parentNode.removeChild(recipientsContainer[recipientsContainer.length - 1]);
			}
			if (items == 0)
			{
				recipientsContainer[0].parentNode.removeChild(recipientsContainer[0]);
			}
		}
		
		//var recipientsContainer = presentkortRecipients.getElementsByTagName('tr');
		//alert(recipientsContainer[1].innerHTML);
		//var tempElement = document.getElementById("strPresentkortRecipient0");
		//var inputItems = recipientsContainer[1].getElementsByTagName('input');
		//alert(tempElement.name);
		//inputItems[0].focus();
		//tempElement.focus();
		//tempHtml.innerHTML = compiledString;
		//recipientsTable[0].appendChild(tempHtml);
		
		//alert(presentkortRecipients.innerHTML);

		calculateSum();

		//alert("Tjosan!");
		//var tempElement = document.getElementById("strPresentkortRecipient0").focus();
	}

