function emptyCart() {
	if(confirm('Dette vil tømme handlekurven! Er du sikker på at du vil gjøre det?'))
		location.href = 'system/store.php?operation=empty&redirect=cart';
}

function validateForm(form, isPassword, checkSendMethod) {
	if(form.userMethod.value != 'login') {
		if(form.sammeadresse.checked) {
			if((form.mottaker.value == '') ||
				(form.fakturaadresse.value == '') ||
				(form.fakturapostnr.value == '') ||
				(form.fakturapoststed.value == '')) {
				alert('Du har valgt egen leveringsadresse. Vennligst fyll inn feltene mottaker, leveringsadresse, postnr og poststed.');
				return false;
			}
			
			if((form.fakturapoststed.value == 'Ugyldig postnr') || (form.fakturapoststed.value == '') || (form.fakturapoststed.value == 'Henter poststed...')) {
				alert('Leveringspostnummer og -stedet må fylles inn og være gyldig!')
				form.fakturapostnr.focus();
				return false;
			}
		}
		
	//	if((form.postnr.value.length != 4) || (isNaN(form.postnr.value))) {
		if((form.poststed.value == 'Ugyldig postnr') || (form.poststed.value == '') || (form.poststed.value == 'Henter poststed...')) {
			alert('Postnummer og -stedet må fylles inn og være gyldig!')
			form.postnr.focus();
			return false;
		}
		
		if((form.fornavn.value == '') ||
			(form.etternavn.value == '') ||
			//(form.adresse.value == '') ||
			(form.postnr.value == '') ||
			(form.poststed.value == '') ||
			(form.epost.value == '')) {
			alert('Feltene fornavn, etternavn, postnr, poststed og e-post må fylles inn.');
			return false;
		}
		
		if(isPassword) {
			if(form.generate_passord.value.length < 6) {
				alert('Passordet må være på mer enn seks tegn, og kan inneholde både bokstaver og tall.');
				form.generate_passord.focus();
				return false;
			}
				
			if(form.generate_passord.value != form.generate_gjentapassord.value) {
				alert('Du må skrive samme passord i "ønsket passord" og "gjenta passord"!');
				form.generate_gjentapassord.focus();
				return false;
			}
		}
	}

	if(checkSendMethod)
		if((((form.radioSERVICEPAKKE.checked) && (form.packagePickup.selectedIndex == 1)) || (form.radioPA_DOREN.checked)) && (form.telefon.value < 8)) {
			alert('Du har valgt servicepakke med SMS-varsel eller "pakke på døren" og må derfor fylle inn telefonnummer.')
			form.telefon.focus();
			return false;
		}
	
	return true;
}

function goToCheckoutNoProfile() {
	var cartForm = document.getElementById('cartForm');
	
//		cartForm.action = 'system/checkout.php?operation=newuser&savecart=yes&createuser='+(cartForm.makeuser.checked ? 'yes' : 'no')+'&sammeadresse='+(cartForm.sammeadresse.checked ? 'yes' : 'no');
	cartForm.action = 'system/checkout.php?operation=noprofile&savecart=yes';
	cartForm.submit();
}

function goToCheckoutCreateProfile() {
	var cartForm = document.getElementById('cartForm');
	
	cartForm.action = 'system/checkout.php?operation=createprofile&savecart=yes';
	cartForm.submit();
}

function loginGoToCheckout() {
	var cartForm = document.getElementById('cartForm');
	
	cartForm.action = 'system/checkout.php?operation=login&savecart=yes'; 
	cartForm.submit();
}

function loggedInGoToCheckout() {
	var cartForm = document.getElementById('cartForm');

	cartForm.action = 'system/checkout.php?operation=loggedin&savecart=yes'; 
	cartForm.submit();
}

function logout() {
	var cartForm = document.getElementById('cartForm');
	cartForm.action = 'system/checkout.php?operation=logout&savecart=yes'; 
	cartForm.submit();
}

var sendOrderXmlHttp;
function sendOrder(checkSendMethod, cardOnly) {
	var cartForm = document.getElementById('cartForm');
	
	if(validateForm(cartForm, cartForm.profileInfoCheck.checked, checkSendMethod)) {
		if(cardOnly)
			cartForm.orderMethod.value = cartForm.betalingsmetode.value;
		else
			cartForm.orderMethod.value = cartForm.betalingsmetode[1].checked ? 'kort' : 'faktura'
		
		cartForm.action = 'system/checkorder.php';
		cartForm.submit();
	}
}


function sendOrderDo() {
	/*
	var checkoutForm = document.getElementById('checkoutForm');
	
	if(sendOrderXmlHttp.readyState==4) {
		// 4 = "loaded"
 		if(sendOrderXmlHttp.status==200) {
 			// 200 = "OK"
			if(checkoutForm.betalingsmetode[0].checked)
				checkoutForm.action = 'https://payment.architrade.com/payment/start.pml';
			else
				checkoutForm.action = 'system/payment.php?faktura=faktura';
			
			var response = String(sendOrderXmlHttp.responseText).split(' ');
			var currency = response[0];
			var price = parseFloat(response[1])*100;
			var packagetype = response[2];
			
			if((currency == '') || (price == '')) {
				alert('Det skjedde en feil under bestillingen.');
				return;
			}
			
			ok = true;
			if(String(checkoutForm.amount.value) != String(price)) {
				alert('Totalprisen ser ut til å ha blitt endret til kr. '+response[1]+', og du vil derfor bli sendt til en oppdatert versjon av denne siden slik at informasjonen stemmer. Bestillingen blir ikke sendt ennå.');
				location.href = 'index.php?pageType=checkout&package='+packagetype;
				
				return;
			} else
				checkoutForm.submit();
		} else {
    		alert("Kunne ikke lagre antallet varer i handlekurven:" + saveCartXmlHttp.statusText);
    	}
	}
	*/
}


var saveCartXmlHttp;
function saveCount(itemID) {
	var cartForm = document.getElementById('cartForm');
	
	var lineID = cartForm['lineID_'+itemID].value;
	var genID = Number(cartForm['genID_'+itemID].value);
	
	switch(genID) {
		case 0 :
		case 1 :
		case 3 :
		case 4 :
		case 5 :
		case 6 :
		case 7 :
		case 8 :
			count = cartForm['count_'+itemID].value;
			break;
		case 2 :
			count = cartForm['count_'+itemID+'_1'].value+','+cartForm['count_'+itemID+'_2'].value+','+cartForm['count_'+itemID+'_3'].value;
			break;
		default :
			count = 0;
			break;
	}
	
	saveCartXmlHttp = null;
	
	if(window.XMLHttpRequest) {
		// code for Firefox, Opera, IE7, etc.
		saveCartXmlHttp=new XMLHttpRequest();
	} else if(window.ActiveXObject) {
  		// code for IE6, IE5
  		saveCartXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	url = 'system/cartsave.php?lineID='+lineID+'&count='+count;
	
	if(saveCartXmlHttp != null) {
		saveCartXmlHttp.onreadystatechange=saveCountCallback;
		saveCartXmlHttp.open("GET", url, true);
		saveCartXmlHttp.send(null);
	} else {
		alert("Nettleseren din er ikke i stand til å lagre antallet varer. Vennligst oppgrader til en nyere nettleser.");
	}
}

function saveCountCallback() {
	if(saveCartXmlHttp.readyState==4) {
		// 4 = "loaded"
 		if(saveCartXmlHttp.status==200) {
 			// 200 = "OK"
		} else {
    		alert("Kunne ikke lagre antallet varer i handlekurven:" + saveCartXmlHttp.statusText);
    	}
	}
}
/*

var saveSMSXmlHttp;
function saveSMS() {
	var sms = document.getElementById('sms').checked ? 1 : 0;
	
	saveSMSXmlHttp = null;
	
	if(window.XMLHttpRequest) {
		// code for Firefox, Opera, IE7, etc.
		saveSMSXmlHttp=new XMLHttpRequest();
	} else if(window.ActiveXObject) {
  		// code for IE6, IE5
  		saveSMSXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	url = 'system/sms.php?sms='+sms;
	
	if(saveSMSXmlHttp != null) {
		saveSMSXmlHttp.onreadystatechange=saveSMSCallback;
		saveSMSXmlHttp.open("GET", url, true);
		saveSMSXmlHttp.send(null);
	} else {
		alert("Nettleseren din er ikke i stand til å lagre sms-valget. Vennligst oppgrader til en nyere nettleser.");
	}
	
}

function saveSMSCallback() {
	if(saveSMSXmlHttp.readyState==4) {
		// 4 = "loaded"
 		if(saveSMSXmlHttp.status==200) {
 			// 200 = "OK"
		} else {
    		alert("Kunne ikke lagre sms-valget: " + saveSMSXmlHttp.statusText);
    	}
	}
}
*/
var checkPostNrForm = 0;
var checkFakturaPostNrForm = 0;

function postnrCheck(check) {
	checkPostNrForm = check;	
	var cartForm = document.getElementById(checkPostNrForm);
	
	postnummer = cartForm.postnr.value;
	
	if(postnummer.length == 4) {
		cartForm.poststed.value = "Henter poststed...";
		var xmlHttp;
		try {    
			// Firefox, Opera 8.0+, Safari    
			xmlHttp=new XMLHttpRequest();    
		} catch (e) {    // Internet Explorer    
			try {
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			} catch (e) {      
				try {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
				} catch (e) {
					alert("Your browser does not support AJAX!");        
					return false;        
				}      
			}    
		}
		xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				document.getElementById(checkPostNrForm).poststed.value = xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET","system/getpostinfo.php?postnr=" + postnummer,true);
		xmlHttp.send(null);
	} else {
		cartForm.poststed.value = "";
	}
		
}


function postnrCheckPA(check) {
	checkPostNrForm = check;	
	var cartForm = document.getElementById(checkPostNrForm);
	
	postnummer = cartForm.postnr.value;
	
	if(postnummer.length == 4) {
		cartForm.poststed.value = "Henter poststed...";
		var xmlHttp;
		try {    
			// Firefox, Opera 8.0+, Safari    
			xmlHttp=new XMLHttpRequest();    
		} catch (e) {    // Internet Explorer    
			try {
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			} catch (e) {      
				try {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
				} catch (e) {
					alert("Your browser does not support AJAX!");        
					return false;        
				}      
			}    
		}
		xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				var res = xmlHttp.responseText;
				var resArray = res.split('&');
				
				setPostNr(resArray[2], resArray[0], resArray[1]);
			}
		}
		xmlHttp.open("GET","system/getpostinfo.php?postnr=" + postnummer + '&include_pa=1',true);
		xmlHttp.send(null);
	} else {
		cartForm.poststed.value = "";
	}
}


function fakturapostnrCheck(check) {
	checkFakturaPostNrForm = check;	
	var cartForm = document.getElementById(checkFakturaPostNrForm);
	
	fakturapostnummer = cartForm.fakturapostnr.value;
	
	if(fakturapostnummer.length == 4) {
		cartForm.fakturapoststed.value = "Henter poststed...";
		var xmlHttp;
		try {    
			// Firefox, Opera 8.0+, Safari    
			xmlHttp=new XMLHttpRequest();    
		} catch (e) {    // Internet Explorer    
			try {
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
			} catch (e) {      
				try {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
				} catch (e) {
					alert("Your browser does not support AJAX!");        
					return false;        
				}      
			}    
		}
		xmlHttp.onreadystatechange=function() {
			if(xmlHttp.readyState==4) {
				document.getElementById(checkFakturaPostNrForm).fakturapoststed.value = xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET","system/getpostinfo.php?postnr=" + fakturapostnummer,true);
		xmlHttp.send(null);
	} else {
		cartForm.fakturapoststed.value = "";
	}
		
}

function changeCount(counter, delta) {
	if(isNaN(counter.value))
		return;
	
	var num = Number(counter.value) + delta;
	
	if(num < 0)
		num = 0;
	
	counter.value = String(num);
}


function priceRound(price) {
	var floor = Math.floor(price);

	return floor + Math.round((price - floor) * 2) / 2;
}
