// ShopReturnUrl bliver sat i Ajour hos elementet "Indkøbskurv"
var objCookieMdl = new CookieModule();
var ShopReturnUrl = objCookieMdl.getValueByCookieAndKey('User','ShopReturnUrl');


function setCookie(name, value)
{
    document.cookie= name + "=" + escape(value);
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie (name) {
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);  // This cookie is history
	var cval = getCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
	showbasket();
}

function addbasket(id,amount,price,name,type) {

	var myString = getCookie('myString');

	if (myString != null) {
		myString = getCookie('myString');
	}
	else {
	myString = 'id_0|amount_0|price_0|name_0|type_0';
	}

	var myArray
		myArray = myString.split(";");

	var i,myItem,myId, myAmount, myPrice, myName, myType, ItemExist

	ItemExist = false;

	for (i = 0; i <= myArray.length-1; i++) {
		myItem = myArray[i].split("|");
		myId = myItem[0].split("_");
		myAmount = myItem[1].split("_");
		myPrice = myItem[2].split("_");
		myName = myItem[3].split("_");
		myType = myItem[4].split("_");

		if (id == myId[1]) { //Hvis produktet findes i kurven læg antal til

			myString = myString.replace('id_'+myId[1]+'|amount_'+myAmount[1]+'|price_'+myPrice[1]+'|name_'+myName[1]+'|type_'+myType[1], 'id_'+id+'|amount_'+amount+'|price_'+price+'|name_'+name+'|type_'+type);
			
			setCookie('myString', myString);

			ItemExist = true;
			break;
		}
	}

	if (!ItemExist) {
		myString = myString +';id_'+id+'|amount_'+amount+'|price_'+price+'|name_'+name+'|type_'+type;
		setCookie('myString', myString);
	}

	myString = getCookie('myString');
	
	calculatebasket(myString);
	
	alert(name + ' er lagt til i handlekurven.\nFor å bekrefte kjøpet og registrere navn og adresse,\nmå du klikke på "Vis vogn" til høyre på denne siden.');
		
}

function updatebasket(id,amount) {

	var myString = getCookie('myString');

	var myArray
		myArray = myString.split(";");

	var i,myItem,myId, myAmount, myName, ItemExist

	ItemExist = false;	

	for (i = 0; i <= myArray.length-1; i++) {
		myItem = myArray[i].split("|");
		myId = myItem[0].split("_");
		myAmount = myItem[1].split("_");
		myPrice = myItem[2].split("_");
		myName = myItem[3].split("_");
		myType = myItem[4].split("_");

		if (id == myId[1]) {

			myNewAmount = amount;
			
				if (myNewAmount == 0) {
					myString = myString.replace(';id_'+myId[1]+'|amount_'+myAmount[1]+'|price_'+ myPrice[1] +'|name_'+myName[1] +'|type_'+myType[1], '');
					setCookie('myString', myString);
				}
				else {
					myString = myString.replace('id_'+myId[1]+'|amount_'+myAmount[1], 'id_'+myId[1]+'|amount_'+myNewAmount);
					setCookie('myString', myString);
				}

			break;
		}
	}
renderhiddenfields()
}

function showbasket() {

	var myString = getCookie('myString');

	if (myString != null) {
		myString = getCookie('myString');
	}
	else {
	myString = 'id_0|amount_0|price_0|name_0';
	}

	calculatebasket(myString);

}

function calculatebasket(myString) {

	myArray = myString.split(";");

	var totalAmount, totalPrice
	totalAmount = 0;
	totalPrice = 0.00;
	myPrice = 0;
	items = '';
	
	for (i = 1; i <= myArray.length-1; i++) {
		myItem = myArray[i].split("|");
		myId = myItem[0].split("_");
		myAmount = myItem[1].split("_");
		myPrice = myItem[2].split("_");
		myName = myItem[3].split("_");
		myType = myItem[4].split("_");
		
		//totalAmount = totalAmount + parseInt(myAmount[1]);
		//totalPrice = totalPrice + (parseInt(myAmount[1]) * parseFloat(myPrice[1]));
		totalPrice = totalPrice + parseFloat(myPrice[1]);
//		items += Left(myName[1],39) + '<br>';
		items += myName[1] + '<br>';
	}
	
//	if (document.getElementById('basketAmount')) {
//		document.getElementById('basketAmount').innerHTML = totalAmount;
//	}
	if (document.getElementById('basketitems')) {
		document.getElementById('basketitems').innerHTML = items;
	}
	if (document.getElementById('basketPrice')) {
		document.getElementById('basketPrice').innerHTML = formatNumber(totalPrice);
	}
	if (document.getElementById('fPrice')) {
		document.getElementById('fPrice').value = formatNumber(totalPrice);
	}	
}

function showfullbasket() {

	var myString = getCookie('myString');

	if (myString != null) {
		myString = getCookie('myString');
	}
	else {
	myString = 'id_0|amount_0|price_0|name_0|type_0';
	}

	myArray = myString.split(";");

	var totalAmount, price, totalPrice, moms, strOut
	price = 0;
	moms = 0;
	totalAmount = 0;
	totalPrice = 0.00;
	strOut = '';
		
	strOut = strOut + '<script>'
	strOut = strOut + 'function checkamount(id,value){'
	strOut = strOut + 'if(isNaN(value)){alert("Ugyldigt tal"); document.location=document.location; return false;}'
	strOut = strOut + '  if(value.length>1 && value.charAt(0)==0){alert("Ugyldigt tal"); document.location=document.location; return false;}'
	strOut = strOut + '		else{updatebasket(id,value); document.location=document.location}'
	strOut = strOut + '}'
	strOut = strOut + '</script>'
	
	strOut = strOut + '<table class="BreadMediumStdColor" width="100%" bgcolor="#cccccc" border="0" cellpadding="3" cellspacing="1">';
	strOut = strOut + '<tr bgcolor="#F2F2F2" style="text-transform: uppercase"><td>Seminario</td><td width="100" align="right">Tipo di biglietto</td><td width="53" align="right">Numero</td><td width="88" align="right">Totale</td></tr>';
	
	for (i = 1; i <= myArray.length-1; i++) {
		myItem = myArray[i].split("|");
		myId = myItem[0].split("_");
		myAmount = myItem[1].split("_");
		myPrice = myItem[2].split("_");
		myName = myItem[3].split("_");
		myType = myItem[4].split("_");
		
		id = myId[1]
		name =  myName[1];
		pricetype = myType[1];
		itemprice = parseFloat(myPrice[1]);
		itemamount = parseInt(myAmount[1]);
		totalitemprice = itemamount * itemprice;
		totalAmount = totalAmount + itemamount

		totalPrice = totalPrice + totalitemprice
		
		moms = totalPrice * 0.2;
		
		strOut = strOut + '<tr bgcolor="#ffffff"><td>' + name + '</td><td align="right">' + pricetype + '</td><td align="right"><input maxlength="3" style="font-size: 10px; text-align: center; width: 18px; border: 1px solid #D0D0D0" onblur="checkamount('+ id +',this.value);" type="text" value="' + itemamount + '"></td><td nowrap align="right">' + formatNumber(totalitemprice) + '</td></tr>';

	}
	
	strOut = strOut + '</table>';
	
	var strGebyrTxt
//	strGebyrTxt = 'Ekspeditionsgebyr (kr. 10,-) og forsendelsesgebyr (kr. 15,-) vil blive lagt til din ordre.'
	
	strOut = strOut + '<table style="text-transform: normal" class="BreadMediumStdColor" width="100%" border="0" cellpadding="4" cellspacing="0">';
	strOut = strOut + '<tr bgcolor="#F2F2F2"><td style="font-weight: bold; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc">Totale:</td><td style="font-weight: bold; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc" align="right">EURO ' + formatNumber(totalPrice) + '</td></tr>';
//	strOut = strOut + '<tr><td style="font-weight: bold; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc">Herav moms:</td><td style="font-weight: bold; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc" align="right">EURO ' + formatNumber(moms) + '</td></tr>';
//	strOut = strOut + '<tr><td colspan="2" style="border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc">' + strGebyrTxt + '</td></tr>';
	strOut = strOut + '</table>';

	strOut = strOut + '<table style="padding-top: 15px;" width="100%" border="0" cellpadding="0" cellspacing="0">';		
	strOut = strOut + '<tr><td align="right"><input class="WebshopButton" onMouseOver="this.style.cursor=\'pointer\';" onfocus="this.blur()" onclick="document.location=ShopReturnUrl" type="button" value="Indietro">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input class="WebshopButton" onfocus="this.blur()" onMouseOver="this.style.cursor=\'pointer\';" onclick="renderhiddenfields();fmOrderForm.submit()" type="button" value="Avanti"></td></tr>';
	strOut = strOut + '</table>';

	if (totalAmount==0) {

		strOut = '<table class="BreadMediumStdColor" width="100%" border="0" cellpadding="4" cellspacing="0">';		
		strOut = strOut + '<tr><td style="border: 1px solid #cccccc;">Din handlekurv er tom!</td></tr>';
		strOut = strOut + '</table>';

		strOut = strOut + '<table style="padding-top: 15px;" width="100%" border="0" cellpadding="0" cellspacing="0">';		
		strOut = strOut + '<tr><td align="right"><input class="WebshopButton" onMouseOver="this.style.cursor=\'pointer\';" onfocus="this.blur()" onclick="history.back()" type="button" value="Tilbake"></td></tr>';
		strOut = strOut + '</table>';

		document.write (strOut);
	}
	else {	
		document.write (strOut);
	}
	
}

function renderhiddenfields() {

	var myString = getCookie('myString');

	if (myString != null) {
		myString = getCookie('myString');
	}
	else {
	myString = 'id_0|amount_0|price_0|name_0';
	}

	myArray = myString.split(";");

	var totalAmount, totalPrice
	totalAmount = 0;
	totalPrice = 0.00;
	myPrice = 0;
	strOut = '';	

	for (i = 1; i <= myArray.length-1; i++) {
		myItem = myArray[i].split("|");
		myId = myItem[0].split("_");
		myAmount = myItem[1].split("_");
		myPrice = myItem[2].split("_");
		myType = myItem[4].split("_");
		
	strOut = strOut + '<input type="hidden" name="amount_'+myId[1] +'" value="'+myAmount[1]+'">';
	strOut = strOut + '<input type="hidden" name="price_'+myId[1] +'" value="'+formatNumber(myPrice[1])+'">';
	strOut = strOut + '<input type="hidden" name="type_'+myId[1] +'" value="'+myType[1]+'">';
	strOut = strOut + '<input type="hidden" name="fDocuments" value="'+myId[1]+'">';

	}

	document.getElementById('HiddenFields').innerHTML = strOut;
}

function formatNumber(Number)
{

//	Uses NumberFormat.js file
//	For more options visit http://www.mredkj.com/javascript/numberFormatPage2.html (STT)

	var num = new NumberFormat();
	num.setInputDecimal('.');
	num.setNumber(Number);
	num.setPlaces('2', false);
	num.setCurrencyValue('');
	num.setCurrency(true);
	num.setCurrencyPosition(num.LEFT_OUTSIDE);
	num.setNegativeFormat(num.LEFT_DASH);
	num.setNegativeRed(false);
	num.setSeparators(true, '.', ',');
	
	return num.toFormatted()
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

