//jm00epp 20091105 - opdateret så indkøbslisten virker korrekt i Safari 4 (æøå fix)
var printshoplist;
var sendshoplist;

// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  var myWindow;
  
  var leftpos = (screen.width / 2) - 199;
  var toppos = (screen.height / 2) - 225;
  features = features + " left=" + leftpos + " top=" + toppos;

  format_print();
  format_send();
  
  myWindow = window.open(theURL,winName,features);
  myWindow.focus();
}

function coop_openWindow(theURL,winName,features) { //v2.0
  var myWindow;
  
  var leftpos = (screen.width / 2) - 199;
  var toppos = (screen.height / 2) - 225;
  features = features + " left=" + leftpos + " top=" + toppos;

  myWindow = window.open(theURL,winName,features);
  myWindow.focus();
}

function CookieExists(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) return true;
	}
	return false;
}
	
function getCookie(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) { 
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1)
				c_end=document.cookie.length;
			//return unescape(document.cookie.substring(c_start,c_end));
			return document.cookie.substring(c_start,c_end);
		}
	}
	return "";
}

function saveShopinglist() {
	var strCookie;
	var date = new Date();
	var expires;
	
	strCookie = getCookie("itemlist");
	
	if (strCookie != "undefined") {
		date.setTime(date.getTime()+(100*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
		document.cookie = "itemlistsaved=" + strCookie + expires + "; path=/";
	}
	
	writeItemList();
}

function addToShopList (item) {
	//alert('addToShopList');
	var strCookie,arrOfStrCookie,arrtekstItemShopList;
	var element;
	var gem = true;
	var strTxt;
	var tekstItemShopList= new String();
	
	element = document.getElementById(item);
	
	if (element == "undefined" || element == null)
		return false;
	
	element.value = trim(element.value.replace(/"/g, ''));
	strTxt = element.value.replace(/'/g, "");	
	if (strTxt === "")
		return false;
	
	strCookie = getCookie("itemlist");	
	if ((strCookie.length + strTxt.length) > 1900) {
		alert ("Der kan desværre ikke være flere varer på indkøbssedlen.");
		return false;
	}
	
	if (strCookie == "undefined" || strCookie == "empty") {
		document.cookie = "itemlist=" + escape(strTxt) + "_field_1_item_; path=/";
	} else {
		arrOfStrCookie = strCookie.split("_item_");
		for (i = 0; i < arrOfStrCookie.length-1; i++) {
				
			arrtekstItemShopList=arrOfStrCookie[i].split("_field_");
			if (unescape(arrtekstItemShopList[0]) == strTxt){
				if(confirm('Din indkøbsseddel indeholder allerede '+arrtekstItemShopList[1]+'x '+strTxt+'\n\nVil du opdatere til '+(parseInt(arrtekstItemShopList[1])+1+'x '+strTxt))){
					setCounter(i,parseInt(arrtekstItemShopList[1])+1)
				}	 
			    gem = false;			 
			}
			
		}
		if(gem == true){			
			strCookie = strCookie + escape(strTxt)+ "_field_1_item_;path=/";
			document.cookie = "itemlist=" + strCookie  ;			
		}
		else{
		
			return false;
		}
	}
	element.value = "";
	element.focus();
	writeItemList();
	
}

function addTextToShopList (item) {	
	//alert('addTextToShopList');	
	var strCookie,arrOfStrCookie,arrtekstItem,arrtekstItemShopList;
	var strTxt = new String;
	var gem = true;	
	var tekstItemShopList= new String();
	var tekstItem= new String();
	
	strTxt = item;
	strTxt = trim(strTxt.replace(/"/g, ''));
	strTxt = strTxt.replace(/'/g, "");		
	if (strTxt.value === "")
		return false;

	strCookie = getCookie("itemlist");
	
	if ((strCookie.length + strTxt.length) > 1900) {
		alert ("Der kan desværre ikke være flere varer på indkøbssedlen.");
		return false;
	}
	
	if (strCookie == "undefined" || strCookie == "empty") {
	
		document.cookie = "itemlist=" + escape(strTxt) + "_field_1_item_; path=/";
	} else {
		arrOfStrCookie = strCookie.split("_item_");
		for (i = 0; i < arrOfStrCookie.length-1; i++) {
			
			arrtekstItemShopList=arrOfStrCookie[i].split("_field_");			
			if (unescape(arrtekstItemShopList[0]) == strTxt){
				if(confirm('Din indkøbsseddel indeholder allerede '+arrtekstItemShopList[1]+'x '+strTxt+'\n\nVil du opdatere til '+(parseInt(arrtekstItemShopList[1])+1+'x '+strTxt))){
					setCounter(i,parseInt(arrtekstItemShopList[1])+1)
				}	 
			    gem = false;			 
			}
			
		}
		if(gem == true){
			document.cookie = "itemlist=" + strCookie + escape(strTxt) + "_field_1_item_; path=/";
		}
		else{
		
			return false;
		}
	}
	writeItemList();
	return true;
}

function setCounter (elementNo, counter) {
	var strToSplit = new String;
	var i, arrOfStrCookie, newcookie
	
	strToSplit = getCookie("itemlist");
	arrOfStrCookie = strToSplit.split("_item_");
	
	arrRec = arrOfStrCookie[elementNo].split("_field_");
	arrOfStrCookie.splice(elementNo, 1, arrRec[0] + "_field_" + counter);
	newcookie = "";
	for (i = 0; i < arrOfStrCookie.length-1; i++) {	
		strToSplit = arrOfStrCookie[i];
		newcookie = newcookie + strToSplit + "_item_";
	}
	document.cookie = "itemlist=" + newcookie + "; path=/";	
	writeItemList();
	form1.itemToAdd.value = '';
	form1.itemToAdd.focus();
}


function removeItemFromList(elementNo) {
	var strToSplit = new String;
	var i, arrOfStrCookie, newcookie
	
	strToSplit = getCookie("itemlist");
	
	arrOfStrCookie = strToSplit.split("_item_");
	arrOfStrCookie.splice(elementNo, 1);
	
	if (arrOfStrCookie.length === 1) {
		newcookie = "empty";
	} else {
		newcookie = "";
	}
		
	for (i = 0; i < arrOfStrCookie.length-1; i++) {
		strToSplit = arrOfStrCookie[i];
		newcookie = newcookie + strToSplit + "_item_";
	}
	document.cookie = "itemlist=" + newcookie + "; path=/";
	writeItemList();
}

function removeAllFromItemList() {
	var svar
	svar = confirm('RYD indkøbsseddel! Denne handling kan ikke fortrydes.');
	if (svar !== true) {
		return;
	}
	document.cookie = "itemlist=empty; path=/";
	saveShopinglist();
}

function writeItemList () {
	var strToSplit = new String;
	var arrOfStrCookie
	var arrRec
	var textToWrite
	var	i, itemcount
	var tmpVal, tmpstr
	
	textToWrite = "<table class='varelist_tbl'>";
	textToWrite = "";
	
	
	if (CookieExists("itemlist")) {
		strToSplit = getCookie("itemlist");
	} else {
		strToSplit = getCookie("itemlistsaved");
		document.cookie = "itemlist=" + strToSplit + "; path=/";
	}
	
	if (strToSplit == "empty" || strToSplit == "") {
		document.getElementById("antvarer").innerHTML = "<h3>Der er ingen varer på indkøbssedlen.</h3>";
		textToWrite = "<tr><td>&nbsp;</td></tr>";
		
		tmpstr = "<a href='#'";
		tmpstr += 'onClick="';
		tmpstr += "setLayer('popup_indkoebseddel', 'itemToAdd');return false;";
		tmpstr += '">';
		tmpstr += "INGEN VARER PÅ INDKØBSSEDLEN</a>";
		document.getElementById("menu_antvarer").innerHTML = tmpstr;
		
		document.getElementById("shoplist_container").innerHTML = "<table class='varelist_tbl'>" + textToWrite + "</table>";
		return;
	}
	
	arrOfStrCookie = strToSplit.split("_item_");
	itemcount = arrOfStrCookie.length - 1;
	
	document.getElementById("antvarer").innerHTML = "<h3>"+itemcount + " varer på indkøbssedlen.</h3>";
	
	tmpstr = "<a href='#'";
	tmpstr += 'onClick="';
	tmpstr += "setLayer('popup_indkoebseddel', 'itemToAdd');return false;";
	tmpstr += '">';
	tmpstr += itemcount + " varer på indkøbssedlen.".toUpperCase() + "</a>";
	document.getElementById("menu_antvarer").innerHTML = tmpstr;

	for (i = 0; i < arrOfStrCookie.length-1; i++) {
		strToSplit = arrOfStrCookie[i];
		arrRec = strToSplit.split("_field_");
		
		col1 = 'onClick="';
		col1 += "document.getElementById('" + arrRec[0] + i + "').value=(document.getElementById('" + arrRec[0] + i + "').value-0+1);";
		col1 += "if(document.getElementById('" + arrRec[0] + i + "').value > 99) document.getElementById('" + arrRec[0] + i + "').value=99; setCounter(" + i + ", document.getElementById('" + arrRec[0] + i + "').value);";
		col1 += '"';
		col2 = 'onClick="';
		col2 += "document.getElementById('" + arrRec[0] + i + "').value=(document.getElementById('" + arrRec[0] + i + "').value-0-1);";
		col2 += "if(document.getElementById('" + arrRec[0] + i + "').value < 1) document.getElementById('" + arrRec[0] + i + "').value=1; setCounter(" + i + ", document.getElementById('" + arrRec[0] + i + "').value);";
		col2 += '"';
		
		tmpVal = 'document.getElementById("' + arrRec[0] + i + '").value';
		strOnblur = "onblur='setCounter(" + i + ", " + tmpVal + ");'";

		textToWrite = textToWrite + 
		"<tr> " +
			"<td class='input'><input maxlength='2' type='text' " + strOnblur + " value='" + arrRec[1] + "' id='" + arrRec[0] + i + "'></td>" +
			"<td class='arrow'>" +
			"<table>" +
					"<tr>" +
						"<td><a href='javascript:void(0);' " + col1 + "><img src='/gfx/gfx2007/buttons/arrow_up.gif' alt='OP' width='9' height='6' border='0'></a></td>" +
					"</tr>" +
					"<tr>" +
						"<td><a href='javascript:void(0);' " + col2 + "><img src='/gfx/gfx2007/buttons/arrow_down.gif' alt='NED' width='9' height='6' border='0'></a></td>" +
					"</tr>" +
				"</table>" +
			"</td>" +
			"<td class='txt'>" + unescape(arrRec[0]) + "</td>" +
			"<td class='remove'><a href='javascript:void(0);' onClick='removeItemFromList(" + i + ");'><img src='/gfx/gfx2007/icons/minus_2.gif' alt='FJERN' width='10' height='9' border='0' title='FJERN'></a></td>" +
		"</tr>";
	}
	document.getElementById("shoplist_container").innerHTML = "<table class='varelist_tbl'>" + textToWrite + "</table>";
}

function format_antalVarer(){
	var strToSplit = new String;
	var arrOfStrCookie
	if (CookieExists("itemlist")) {
		strToSplit = getCookie("itemlist");
	} else {
		strToSplit = getCookie("itemlistsaved");
		document.cookie = "itemlist=" + strToSplit + "; path=/";
	}

	arrOfStrCookie = strToSplit.split("_item_");
	itemcount = arrOfStrCookie.length - 1;
	
	return "<h3>"+itemcount + " varer på indkøbssedlen.</h3>";
}

function format_print() {
	var strToSplit = new String;
	var arrOfStrCookie
	var arrRec
	var	i, itemcount
	
	
	printshoplist = "";
	
	strToSplit = getCookie("itemlist");	
	if (strToSplit == "empty") {
		printshoplist = "Der er Ingen varer på indkøbssedlen.";
		return;
	}
	
	arrOfStrCookie = strToSplit.split("_item_");
	itemcount = arrOfStrCookie.length - 1;
	for (i = 0; i < arrOfStrCookie.length-1; i++) {
		strToSplit = arrOfStrCookie[i];
		arrRec = strToSplit.split("_field_");

		printshoplist = printshoplist + 
		"<tr> " +
			"<td class='input'>" + unescape(arrRec[1])+ "x</td>" +
			"<td class='txt'>" + unescape(arrRec[0]) + "</td>" +
		"</tr>";
	}
	
	printshoplist = "<table class='varelist_tbl'>" + printshoplist + "</table>";
	return printshoplist;
} 

function format_send() {
	var strToSplit = new String;
	var spaces = new String;
	var tmpstr = new String;
	var arrOfStrCookie;
	var arrRec;
	var	i, itemcount;
	
	
	sendshoplist = "";
	spaces = "  ";
	
	strToSplit = getCookie("itemlist");	
	if (strToSplit == "empty") {
		printshoplist = "Der er Ingen varer på indkøbssedlen.";
		return;
	}
	
	arrOfStrCookie = strToSplit.split("_item_");
	itemcount = arrOfStrCookie.length - 1;
	for (i = 0; i < arrOfStrCookie.length-1; i++) {
		strToSplit = arrOfStrCookie[i];
		arrRec = strToSplit.split("_field_");
		
		tmpstr = arrRec[1];
		tmpstr = spaces.substr(1, 2 - tmpstr.length) + tmpstr;
		sendshoplist = sendshoplist + unescape(tmpstr) + "x " + unescape(arrRec[0]) + "\n";
	}
}
