/*Inköpslistan för Taxfree

*********************
Funktioner:
- changeContent() = Uppdaterar listorna med informationen ur cookies, både lilla och stora. 
- printList() = Länkar vidare för utskrift
- mailaListan() = Ritar upp maila lagret.
- skickaMail() = Länkar vidare för leverans.
- formatNumber() = formaterar pris till fast två decimaler
- laggTillListan(id,produkt,pris) = lägger till vald produkt till listan och skapar ny cookie, ritar sen upp listan pånytt.
- raderaHelaListan() = Tömmer hela listan, används också då man raderar EN produkt. 
- raderaUrListan(id) = tar bort vald produkt.
- printCookie() = läser upp informationen ur cookie och returer en array med produktobjekt (Array[x].id, .namn, .pris)
*********************
*/

var prisTotalt = "";
var toMail = new Array(); //För mailet och utskriften

	function changeContent() {
		prisTotalt = "";
		var kortProdukter = "";
		var linje = "";
		var detaljeratProdukter = "";
		var total = "";
		var knapparLillaListan = "";
		var knapparHelaListan = "";
		if (getCookie("shoppingList") != null) {
			var cookie_information = new Array();
			cookie_information = printCookie();
			toMail = new Array();
			var produkt = "";
			
			var pris = "";
			
			for (var x = 0;x < cookie_information.length ;x++ )
			{
				id = cookie_information[x].id;
				produkt = cookie_information[x].namn;
				pris = formatNumber(cookie_information[x].pris);
				prisTotalt = Number(prisTotalt) + Number(cookie_information[x].pris);
				toMail[x] = produkt+"!"+pris;
				//om produktnamnet innehåller komma måste det ersättas för att det ska bli rätt i mail och utskrift, detta för att produkterna separeras med komma i en array
				if (toMail[x].indexOf(',') >= -1 )	{
					var str = toMail[x].replace(/,/g,"*-*");
					toMail[x] = str;
				}
				kortProdukter = kortProdukter+'<tr class="shoppingListRow"><td class="shoppingListCellLeft" align="left">'+produkt.substr(0,15)+'...'+'</td><td align="right" class="shoppingListCellRight">'+pris+'</td></tr>';
				detaljeratProdukter = detaljeratProdukter+'<tr class="shoppingListRow"><td class="shoppingListCellLeft" align="left">'+produkt+'</td><td align="right" class="shoppingListCellRight">'+pris+'</td><td class="shoppingListCellRight"><a href="javascript:raderaUrListan('+id+')"><IMG SRC="/imagesSE/delete.gif" BORDER="0" TITLE="Ta bort '+produkt+' ur inköpslistan" WIDTH="14" HEIGHT="14"></a></td></tr>';
			}
			prisTotalt = formatNumber(prisTotalt);
			linje = '<tr class="shoppingListRow"><td colspan=2 class="shoppingListCellLeft"><hr align=center noshade size=1 width=99%></td></tr>';
			total = '<tr class="shoppingListRow"><td class="shoppingListCellLeft"><b>Totalt</b></td><td align="right" class="shoppingListCellRight"><b>'+prisTotalt+'</b></td></tr>';
			knapparLillaListan = '<tr class="shoppingListRow"><td class="shoppingListCellLeft" style="padding-bottom:5px;"><br><a href="javascript:visaHelaListan()">Detaljerat/skriv ut</a></td><td class="shoppingListCellRight" style="padding-bottom:5px;"><br><a href="javascript:raderaHelaListan();changeContent()">Töm</a></td></tr>';
			knapparHelaListan = '<tr class="shoppingListRow"><td class="shoppingListCellLeft" colspan="2"><table width="100%" class="shoppingListButtonTable"><tr class="shoppingListRow"><td width="50%" align="left" class="shoppingListCellLeft"><br><a href="javascript:mailaListan()"><img src="/graph/mail.gif" border="0" alt="Maila listan"></a>&nbsp;&nbsp;<a href="javascript:printList()"><img src="/graph/print.gif" border="0" alt="Skriv ut listan"></a></td><td align="right" class="shoppingListCellRight"><br><a href="javascript:doljHelaListan()">Förminska</a></td><td align="right" class="shoppingListCellRight"><br><a href="javascript:raderaHelaListan();changeContent()">Töm</a></td></tr></table></td><td class="shoppingListCellRight"></td></tr>';
		} else {
			//Om listan är tom
			total = '<tr class="shoppingListRow"><td class="shoppingListCellLeft">Inga produkter valda</td><td class="shoppingListCellRight"></td></tr>';
			knapparHelaListan = '<tr class="shoppingListRow"><td class="knappar" align="right" colspan=2 style="padding-bottom:5px;"><br><a href="javascript:doljHelaListan()">Minimera</a></td><td class="knappar"><br></tr>';
		}
		//lilla listan
		var minskadLista = document.getElementById?document.getElementById("shoppingListLayer"):document.all["shoppingListLayer"];
    var head = '<table class="shoppingListTable" ID="table1"><tr class="shoppingListTable"><td class="shoppingListTable" align="left" bgcolor="#ffffff" height="15" width="295"><SPAN title=" Lägg till produkter genom att klicka på list-ikonen vid önskad produkt " class="popup"><b>Inköpslista</b></SPAN></td><td class="shoppingListTable" align="right" nowrap="nowrap" valign="top" width="60" style="border-left-style: hidden;">Sek</td></tr>';
		minskadLista.innerHTML = head+kortProdukter+linje+total+knapparLillaListan+"</table>";

		//Detaljerade listan
		var helLista = document.getElementById?document.getElementById("completeShoppingListLayer"):document.all["completeShoppingListLayer"];
    var head = '<table class="shoppingListTable" ID="table1"><tr class="shoppingListTable"><td class="shoppingListTable" align="left" bgcolor="#ffffff" height="15" width="295"><b>Inköpslista</b></td><td class="shoppingListTable" hspace="0" align="right" nowrap="nowrap" valign="top" width="60" style="border-left-style: hidden;">Sek</td><td class="shoppingListTable" style="border-left-style: hidden;" align="left" bgcolor="#ffffff" height="15" width="20"></td></tr>';
		helLista.innerHTML = head+detaljeratProdukter+linje+total+knapparHelaListan+"</table>";
}
function printList() {
	window.location = '/commonSE/printshoppinglist.asp?pris='+prisTotalt+'&meddelande='+escape(toMail);
}
function mailaListan() {
	var helLista = document.getElementById?document.getElementById("completeShoppingListLayer"):document.all["completeShoppingListLayer"];
  var head = '<table class="shoppingListTable" ID="table1"><tr class="shoppingListTable"><td class="shoppingListTable" align="left" bgcolor="#ffffff" height="15" width="295"><b>Maila listan</b></td></tr><tr class=""shoppingListRow><td class="knappar" style="border-top-style: hidden;>Skriv in din e-post adress (skickas som HTML-mail)</td></tr><tr><td style="padding: 5px;"><input type="text" name="epost" size="50" id="epost"></td></tr>';
	var submit = '<tr class="shoppingListRow"><td class="knappar" style="border-top-style: hidden;"><input type="submit" value="Skicka" onClick="javascript:skickaMail()" class="submitX">&nbsp;<input type="submit" value="Avbryt" onClick="javascript:changeContent()" class="submitX"></td></tr>';
	helLista.innerHTML = head+submit+"</table>";
}	
function skickaMail() {	
	var mailAdress = document.getElementById?document.getElementById("epost").value:document.all["epost"].value;
	if(mailAdress.length > 5 && mailAdress.indexOf('@') != -1)
	{
		document.getElementById("mailAFriendFrame").src = "/commonSE/sendshoppinglist.asp?vanepostadress="+escape(mailAdress)+"&pris="+prisTotalt+"&produkter="+escape(toMail)
		top.document.getElementById("mailAFriendLayer").style.visibility ="visible"
		changeContent();
	} else {
		alert("Skriv in en giltig e-postadress.");
	}
}
function visaHelaListan() {
	oLayer=getLayer("completeShoppingListLayer");
	oLayer2=getLayer("shoppingListLayer");
  oLayer.style.visibility = 'visible';
	oLayer2.style.visibility = 'hidden';
}
function doljHelaListan() {
	oLayer=getLayer("completeShoppingListLayer");
	oLayer2=getLayer("shoppingListLayer");
  oLayer.style.visibility = 'hidden';
	oLayer2.style.visibility = 'visible';
}
function formatNumber(number) {
	//Avrundar och fyller på till två decimaler
	var s = "" + Math.round(number * 100) / 100;
	var i = s.indexOf('.');
	if (i < 0) return s + ".00";
	var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3);
	if (i + 2 == s.length) t += "0";
	return t;
}
	function laggTillListan(id,produkt,pris) {
		//format:
		// 1:a: !id?namn?pris
		// 2:a: !id?namn?pris  osv

		var shoppat = "";
		if (getCookie("shoppingList") != null) {
			shoppat = getCookie("shoppingList");
		} 
			var nyProdukt = produkt;
			shoppat = shoppat+"¤"+id+"]"+nyProdukt+"]"+pris;
			document.cookie = "shoppingList="+shoppat+"; path=/";
			changeContent();
	}
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 sparaProdukt( id, namn, pris ) {
	this.id = id;
	this.namn = namn;
	this.pris = pris;
}
function raderaHelaListan() {
	var d = new Date(-1);
	var value = "";
  document.cookie = "shoppingList="+value+"; expires="+d.toGMTString()+"; path=/";
}
function raderaUrListan(id) {
	var the_cookie = getCookie("shoppingList");
	raderaHelaListan();
	// tar bort underscore och ersätter de med whitespace
	the_cookie = the_cookie.replace(/_/g," ");
	// dela upp produkterna separerade med !
	var splittad_cookie = the_cookie.split("¤");
	var artikelArray = new Array();
	var produktArray = new Array();
	// OBS X=1 för att allt före första ! i strängen hamnar på pos. 0!
	for (var x = 1;splittad_cookie[x] != null ; x++)
	{
		artikelArray[x] = splittad_cookie[x];
		var varden = artikelArray[x].split("]"); // dela upp produktinfon separerade med ?
		// Skapa object av infon och spara den på plats x-1 i arrayn
		produktArray[x-1] = new sparaProdukt(varden[0],varden[1],varden[2]); 
	}
	var identiskaId = 0; //Används ifall samma Id finns flera gångger i listan
	for (var y = 0;y < produktArray.length ;y++ )
	{
		if (id == produktArray[y].id)
		{
			if (identiskaId == 0)
			{
				y++; //Hoppar över det id som ska tas bort
				identiskaId = 1;
			}
		}
			if (produktArray[y] != null)
			{
				//skriver de värden som inte ska tas bort till den nya cookien
				idAttSpara = produktArray[y].id;
				produkt = produktArray[y].namn;
				pris = produktArray[y].pris;
				laggTillListan(idAttSpara,produkt,pris);
			}
	}
	changeContent();
}
function printCookie()
{
	var the_cookie = getCookie("shoppingList");
	var the_cookie = unescape(the_cookie);
	// tar bort underscore och ersätter de med whitespace
	the_cookie = the_cookie.replace(/_/g," ");
	// dela upp produkterna separerade med !
	var splittad_cookie = the_cookie.split("¤");
	var artikelArray = new Array();
	var produktArray = new Array();
	// OBS X=1 för att allt före första ! i strängen hamnar på pos. 0!
	for (var x = 1;splittad_cookie[x] != null ; x++)
	{
		artikelArray[x] = splittad_cookie[x];
		// dela upp produktinfon separerade med ?
		var varden = artikelArray[x].split("]");
		// Skapa object av infon och spara den på plats x i arrayn
		produktArray[x-1] = new sparaProdukt(varden[0],varden[1],varden[2]); 
	}
	return produktArray;
}

function getLayer(sLayer){
	if (document.layers) var NS4 = true; else var NS4 = false;
	if (document.getElementById && !document.all) var NS6 = true; else NS6 = false;
	if (document.all && !window.opera) var IE = true; else var IE = false;
	
	if(NS6){
		sLayer = "document.getElementById('"+sLayer+"')"; 	
	}
	if(IE){
		sLayer = "document.all['"+sLayer+"']";
	}
	if(NS4){
		sLayer = "document.layers[''"+sLayer+"''])";	
	}
	return eval(sLayer);;
}