function add() {
	var artiklenr = document.getElementById('namn').value;
	if( (artiklenr !== "")) {
		
		document.getElementById('holder').innerHTML = document.getElementById('holder').innerHTML + artiklenr + "<br />";
		if(document.getElementById('artiklar').value == "")	{
			document.getElementById('artiklar').value = artiklenr;
		}
		else {
			document.getElementById('artiklar').value = document.getElementById('artiklar').value + "," + artiklenr;
		}
	}
	else {
		
		
	}
}

function addunderprodukt() {
	var artiklenr = document.getElementById('namn').value;
	var datum = document.getElementById('slutdatum').value;
	if((artiklenr !== "") && (datum !== "")) {
		
		document.getElementById('holder').innerHTML = document.getElementById('holder').innerHTML + artiklenr + " " + datum + "<br />";
		if(document.getElementById('artiklar').value == "")	{
			document.getElementById('artiklar').value = artiklenr+";"+datum;
		}
		else {
			document.getElementById('artiklar').value = document.getElementById('artiklar').value + "," + artiklenr + ";" + datum;
		}
	}
	else {
		alert("Du glomde artikelnr eller datum");
		
	}	
}

function clear_artiklar() {
	document.getElementById('holder').innerHTML = "";
	document.getElementById('artiklar').value = "";		
}

function countPrice(choose,form) {
	
	var proc 		 = document.getElementById('tb'+form).value;
	var manu 		 = document.getElementById('manuellt'+form).value;
	var inpris 		 = document.getElementById('inpris'+form).value;
	var pris_exmoms  = document.getElementById('pris_exmoms'+form);
	var pris_inkmoms = document.getElementById('pris_inkmoms'+form);
	var pris_tb		 = document.getElementById('tb'+form);
	var pris_manu	 = document.getElementById('manuellt'+form);
	
	
	function returnToForm(inprice, exvat) {
		
		var inkvat = Math.round(exvat*1.25);
		
		pris_tb.value = (((exvat-inprice)/inprice)*100).toFixed(1);
		pris_inkmoms.value = inkvat;
		pris_exmoms.value = Math.round(exvat);
		pris_manu.value = inkvat;
	}
	
	if( (choose == 'pro') && (proc !== "") ) {
		
		if(proc.length < 2) {
			proc = "0"+proc;
		}
		
		var procent = "1."+proc;
		var inkmoms = Math.round(inpris * procent * 1.25);
		var exmoms = Math.round(inpris * procent)
		pris_inkmoms.value = inkmoms;
		pris_exmoms.value = exmoms;
		pris_manu.value = inkmoms
	}
	
	else if((choose == 'manu') && (manu !== "")) {
		returnToForm(inpris, manu*0.8)	
	}
	else if((choose == 'exmoms') && (pris_exmoms.value !== "")) {
		returnToForm(inpris, pris_exmoms.value)
	}
	
	else if((choose == 'inkmoms') && (pris_inkmoms !== "")) {
		returnToForm(inpris, pris_inkmoms.value*0.8)
	}
	
	else if(proc == "" || manu == "") {
		pris_inkmoms.value = "";
		pris_exmoms.value = "";
		pris_manu.value.value = "";
	}
	
}



function getRequestObject() {
	var req = null;
	if (window.XMLHttpRequest)
	req = new XMLHttpRequest();
	else
	req = new ActiveXObject("Microsoft.XMLHTTP");
	return req;
}

//var menuHierarchy = "";
function loadMenu(category_id, object_id)
		{

			menuHierarchy = (menuHierarchy.lenght == 0) ?  category_id : menuHierarchy + "_" + category_id;

			var url = '/ajaxhandler/getMenu/' + category_id;
			var the_object;		
			var http_request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
			
			http_request.open("GET", url, true);
			http_request.onreadystatechange = function () {
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {

						if(http_request.responseText.length > 0)
						{
							var list = document.createElement("ul");
							list.innerHTML = http_request.responseText;
							
							document.getElementById(object_id).appendChild(list);
							
							//document.getElementById(object_id).childNodes[0].onclick = function(){return false;};
							
						}else{
							//window.location.replace("/showcat/" + menuHierarchy);
						}
						
					} else {
						
					}
					http_request = null;
				}
			};
			http_request.send(null);

}

function getSearchResults(object_id, keyword)
		{

			if (keyword == "")
			{
				var obj = document.getElementById(object_id);
				obj.innerHTML = '';
				obj.style.display = "none"
				return;
			}

			var url = '/ajaxhandler/getSearchResults/' + keyword;
			var the_object;		
			var http_request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
			
			http_request.open("GET", url, true);
			http_request.onreadystatechange = function (){
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {

						if(http_request.responseText.length > 0)
						{
							/*
							var list = document.createElement("ul");
							list.innerHTML = http_request.responseText;
							
							document.getElementById(object_id).appendChild(list);
							*/
							
							/*
							document.getElementById(object_id).innerHTML = http_request.responseText;
							*/
							var obj = document.getElementById(object_id);
							
							if (http_request.responseText != "")
							{
								
								obj.innerHTML = http_request.responseText;
								obj.style.display = "block"
							}else{
								obj.innerHTML = '';
								obj.style.display = "none"
							}
							
						}else{
							//window.location.replace("/showcat/" + menuHierarchy);
						}
						
					} else {
						
					}
					http_request = null;
				}
			};
			http_request.send(null);

}

function getConsumptionSearchResults(object_id, keyword)
		{

			var obj = document.getElementById(object_id);
			obj.innerHTML = '';
			
			
			if (keyword == "")
			{
				obj.style.display = "none"	
				return;
			}

			var url = '/forbrukning/getAjaxList/' + keyword;
			var the_object;		
			var http_request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
			
			http_request.open("GET", url, true);
			http_request.onreadystatechange = function (){
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {

						if(http_request.responseText.length > 0)
						{
							/*
							var list = document.createElement("ul");
							list.innerHTML = http_request.responseText;
							
							document.getElementById(object_id).appendChild(list);
							*/
							
							/*
							document.getElementById(object_id).innerHTML = http_request.responseText;
							*/
							var obj = document.getElementById(object_id);
							
							if (http_request.responseText != "")
							{
								
								obj.innerHTML = http_request.responseText;
								obj.style.display = "block"
							}else{
								obj.innerHTML = '';
								obj.style.display = "none"
							}
							
						}else{
							//window.location.replace("/showcat/" + menuHierarchy);
						}
						
					} else {
						
					}
					http_request = null;
				}
			};
			http_request.send(null);

}



function getExternalPaymentOptions(paymentId, object_id)
{
	var url = '/ajaxhandler/getPaymentOptions/' + paymentId;
			var the_object;		
			var http_request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
			
			http_request.open("GET", url, true);
			http_request.onreadystatechange = function () {
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {

						document.getElementById(object_id).innerHTML = http_request.responseText;
						
					} else {
						
					}
					http_request = null;
				}
			};
			http_request.send(null);

}

function restockProduct()
{

	var obj = document.getElementById('headerbasket')
	
	var id = obj.value;
	
	var amount = 100;
	
	var url = "/restock/" + id + "/" + amount;
	
	var http_request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	http_request.open("GET", url, true);
	http_request.onreadystatechange = function () {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {

					obj.remove(obj.selectedIndex);
				
					if (obj.options.length == 0) obj.innerHTML = "<option>--- Din varukorg är tom ---</option>";
					
			} else {
				
			}
			http_request = null;
		}
	};
	http_request.send(null);
	
}


function validateRegisterForm(form)
{

	resetForm();
	
	var error_occured = false;
	
	if (document.getElementById('fname').value.length < 2) {error_occured = true; reportFormError(document.getElementById('fname'), "Det förnamn du angivit är för kort");}
	if (document.getElementById('lname').value.length < 2) {error_occured = true; reportFormError(document.getElementById('lname'), "Det efternamn du angivit är för kort");}
	
	if (document.getElementById('personal_number').value.length != 0) {
		var pnr = document.getElementById('personal_number').value;
		if (document.getElementById('personal_number').value.length != 10) {
			error_occured = true;
			reportFormError(document.getElementById('personal_number'), "Ditt personnummer måste bestå av 10 siffror (YYMMDDXXXX)");
		}
		else {
		
			valuearray = pnr.split('');
			
			for (var i = 0; i < valuearray.length; i++) {
				if (valuearray[i].search(/[0-9]/) == -1) {
					error_occured = true;
					reportFormError(document.getElementById('personal_number'), "Ditt personnummer måste bestå av 10 siffror (YYMMDDXXXX)");
				}
			}
		}
	}
	if (document.getElementById('phone').value.length < 5 && document.getElementById('cell').value.length < 5)
	{
		error_occured = true;
		reportFormError(document.getElementById('phone'), "Du måste ange antingen mobilnummer eller telefonnummer.");
		reportFormError(document.getElementById('cell'), ""); //highlight
	}
	
	if (document.getElementById('email').value.length < 2) {error_occured = true; reportFormError(document.getElementById('email'), "Du måste ange en giltig e-post");}
	if (document.getElementById('password').value.length < 5) {error_occured = true; reportFormError(document.getElementById('password'), "Ditt lösenord måste bestå av minst 6 tecken");}
	if (document.getElementById('delivery_street').value.length < 2) {error_occured = true; reportFormError(document.getElementById('delivery_street'), "Du har angivivt gatuadress för leveransadress felaktigt");}
	if (document.getElementById('delivery_area').value.length < 2) {error_occured = true; reportFormError(document.getElementById('delivery_area'), "Du har angivivt ort för leveransadress felaktigt");}
	if (document.getElementById('delivery_zip').value.length < 2) {error_occured = true; reportFormError(document.getElementById('delivery_zip'), "Du har angivivt postkod för leveransadress felaktigt");}


	if (error_occured)
	{
		return false;
	}else{
		return true;
	}
	
}

function resetForm()
{
	
		
	var errormsg = document.getElementById('errormessage');
	if (errormsg != null) errormsg.innerHTML = "";
	
	
	document.getElementById('fname').style.border = "";
	document.getElementById('lname').style.border = "";
	document.getElementById('personal_number').style.border = "";
	document.getElementById('phone').style.border  = "";
	document.getElementById('cell').style.border  = "";
	document.getElementById('email').style.border  = "";
	document.getElementById('password').style.border  = "";
	document.getElementById('delivery_street').style.border  = "";
	document.getElementById('delivery_area').style.border  = "";
	document.getElementById('delivery_zip').style.border  = "";
}

function reportFormError(object, text)
{
	var errormsg = document.getElementById('errormessage');
	
	if (errormsg != null)
	{
		errormsg.innerHTML = errormsg.innerHTML + "<span>" + text + "<span>";
	}else{
		var errorWrapper = document.getElementById('errorwrapper');
		var p = document.createElement('p');
		p.id = "errormessage";
		p.className = "errormessage";
		var pt = document.createTextNode(text);
		errorWrapper.appendChild(p);
	}
	
	object.style.border = "1px solid red";
	
	return false;
}

function loadDynamicData(objectContainerId, loadFromUrl, useExtendedLoading)
{
	
	var object = document.getElementById(objectContainerId);
	
	var the_object;		
	var http_request = getRequestObject();	
	
	http_request.open("GET", loadFromUrl, true);
	http_request.onreadystatechange = function ()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
					if (object.outerHTML != null && useExtendedLoading) //IE
					{
						loadData(object, http_request.responseText);
					}else{
						object.innerHTML = http_request.responseText;
					}
			} else {
					object.innerHTML = null;
			}
			http_request = null;
		}
	};
	
	http_request.send(null);
}

/*
 * Workaround för IE-bugg: http://support.microsoft.com/kb/276228
 */
function loadData(object, data)
{
	var tagname = object.tagName;
	
	var finalstr = "<" + tagname;
	
	for(i=0;i<object.attributes.length;i++)
	{
		var attributeName = object.attributes[i].name;
		if ( attributeName == "id" || attributeName == "onchange" || attributeName == "class")
		{
			if (object.attributes[i].value != "null" || object.attributes[i].value != "")
			{
				finalstr += " " + object.attributes[i].name + "=\"" + object.attributes[i].value  +"\""
			}
		}
	}

	finalstr += + ">";	
	finalstr += "<option></option>"; //BUGGFIX IE
	finalstr += data;	
	finalstr += "</" + tagname + ">";
		
	finalstr.replace("NaN", ""); //? FIX
		
	object.outerHTML = finalstr;

	
}


function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

