// from Bill Dortch public domain cookie script 
// edited by Nancy Hastings-Trew

function SetCookie(name,value) {
	value= value.replace("\\","");
	value = unescape(value);
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	//var domain = (window.location.hostname.indexOf("eduardklassen.com") > -1) ? "www.eduardklassen.com" : null;
	var domain = null;
	//(argc > 4) ? argv[4] : null;
	var secure = (argc >5) ? argv[5] : false;
	document.cookie = name + "=" + escape(value) + 	
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) + 
	((domain == null) ? "" : ("; domain=" + domain)) +	
	"; version=1;" + 
	((secure == true) ? "; secure" : "");
	//alert(name+"="+value);
}

function saveMyCookie(theName)
{
	var theValue = document.Order.MyOrder.value;
	SetCookie(theName,theValue); 
}


function saveContactCookie(theName) 
{ 
	var theValue = "";
	var xDate = new Date();
	xDate.setTime(xDate.getTime() +24*60*60*1000 *30); /// expires in a month
	var startfield = "billing_Contact_Name";
	var endfield = "send";
	var theCrumbs = new Array();
	var flen = document.forms[0].length;
	for (var x = 0 ; x < flen ; x ++) 
	{
		if (document.forms[0].elements[x].name == startfield) 
		{ 	var start = x; 	}
		if (document.forms[0].elements[x].name == endfield) 
		{ 	var endit = x; break;	}
	}
	var count= 0;
	for (var i = start; i < endit; i ++)  
	{
		var key = document.forms[0].elements[i].name;
		var theType = document.forms[0].elements[i].type;
	
		if (theType == "radio" || theType == "checkbox") 
		{ 	 var val = ((document.forms[0].elements[i].checked == true) ? 1 : 0 ); }
	
		if(theType.indexOf("select")>-1)	 
		{ 	var val = document.forms[0].elements[i].selectedIndex;	}

		if (theType == "text" || theType == "hidden")
		{    var val = document.forms[0].elements[i].value;  }
	
		var crumb = key + ":" + val;
		theCrumbs[count] = crumb;
		count ++;
	}
	theValue = theCrumbs.join("|");
	theValue = theValue.replace("\\","");
	//SetCookie(theName,theValue,xDate,mypath,mydomain); 
	SetCookie(theName,theValue,xDate); 
}

function grabContactCookie(theCookie) 
{
	var startfield = "billing_Contact_Name";
	if (document.cookie != null) 
 	{	
		//var cookieVal = getCookie(theCookie);
		//alert(theCookie+"="+cookieVal);
		if (getCookie(theCookie) != null && getCookie(theCookie) != "") 
		{
			var cookieVal = getCookie(theCookie);
			var crumbs = new Array();
			crumbs = cookieVal.split("|");
			var clen = crumbs.length;
			var flen = document.forms[0].length;
			for (var x = 0 ; x < flen ; x ++) 
			{
				if (document.forms[0].elements[x].name == startfield) 
				{ 	var offset = x; 	}
			}
			for (var c = 0; c < clen; c ++)  
			{
				var crumb = new Array();
				crumb = crumbs[c].split(":");
				var key = crumb[0]; var val  = crumb[1];
				var theType = document.forms[0].elements[c + offset].type;
				var theName = document.forms[0].elements[c + offset].name;
				if (key == theName) 
				{ 
					if(theType == "radio" || theType == "checkbox")
					{
						if (eval(val) == 0) { document.forms[0].elements[c + offset].checked = false;  }
						if (eval(val) == 1) { document.forms[0].elements[c + offset].checked = true;   }
					}
					if (theType.indexOf("select")!=-1)
					{	document.forms[0].elements[c + offset].selectedIndex = eval(val);  }
		
					if (theType == "text" || theType == "hidden") 
					{	document.forms[0].elements[c + offset].value = val; }
				}
			}	
		}
  	}
}



function addItem(newitem)
{
	var qtyfieldname = "Qty_" + newitem;
	var formatname = "Format_" + newitem;
	var descfieldname = "description_" + newitem;
	var qty = document.shopcart[qtyfieldname].value;
	if (qty=="" || qty == null) { 	qty = 1; document.shopcart[qtyfieldname].value = 1;	}
	var format = document.shopcart[formatname].value;
	var desc = document.shopcart[descfieldname].value;
	desc= desc.replace("\\","");
	newitem = newitem + ":" +desc + ":" + format;
	saveCookie(newitem,qty);
	document.Order.submit();
}


function updateCart()
{
	var len = document.Order.elements.length; 
	for (i = 0; i < len; i++)
	{
		var name = document.Order.elements[i].name;
		if (name.indexOf("item")==0) 
		{
			var val = document.Order.elements[i].value;
			val= val.replace("\\","");
			var qty = document.Order.elements[i-1].value;
			saveCookie(val,qty);
		} 
	}
	document.Order.submit();	
}

function saveCookie(newitem,qty) 
{
	// if this comes from shop page
	var newValue = newitem + "::" + qty;	
	var thecase = 0; 
	// see if there's already a "cookie"
	if  (document.Order.MyOrder.value != "" && document.Order.MyOrder.value != null)
	{ 
		var mycookie =  document.Order.MyOrder.value; 
		mycookie= mycookie.replace("\\","");
		mycookie = unescape(mycookie); 
		// split up the cookie into the order numbers
		var crumbs = mycookie.split("|");
		var len = crumbs.length;
		for (x = 0; x < len; x ++) 
		{
			var crumb = crumbs[x].split("::");
			// they've already added that item and NOTHING has changed so don't add again
			if(crumb[0] == newitem && crumb[1]==qty) 	{ thecase=1;  break; }
			// they've added that item but changed the quantity
			if(crumb[0]==newitem && crumb[1]!=qty) { thecase=2; var i = x; break; }
		}
		// if not already added  or item has changed then add it
		if(thecase==0)	crumbs[len+1] = newValue;
		else if (thecase==2) crumbs[i] = newValue; // replace the crumb
		
		// put the cookie back together with new item
		//var theValue = crumbs.join("|");
		len = crumbs.length;
		temp= "";
		for (i=0; i<len; i++)
		{
			if (crumbs[i]!="" && crumbs[i]!=" " && crumbs[i]!=null && crumbs[i]!="undefined") 
			{ temp += crumbs[i] + "|"; 	}
		}
		theValue = temp.substr(0,temp.length-1);
	}			
	
	// if there was no cookie to begin with so make one
	else var theValue=newValue;
	document.Order.MyOrder.value=theValue;
	var theName="MyOrder";
	//SetCookie(theName,theValue,xDate,mypath,mydomain); 
	SetCookie(theName,theValue); 
	//document.Order.submit();
}

function getCookie(theName) {
	var arg = theName + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i,j) == arg) { return getCookieVal(j); }
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

function getCookieVal(offset) {
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset,endstr));
}

function grabCookie(name)
{
	if (document.Order.MyOrder && document.cookie)
	{
		var theValue = getCookie(name);
		if (theValue != "" && theValue != null) 
		{ 
			document.Order.MyOrder.value=theValue; 
		} 
		else document.Order.MyOrder.value="";
	}
}

function clearOrder()
{
	 var len = document.Order.elements.length;
	 for (var idx=1; idx < len; idx ++)
	 { 
	 	if (document.Order.elements[idx].type == "text" || document.Order.elements[idx].type == "hidden")	
					document.Order.elements[idx].value="";
	 }
	 var theValue="";
	 //var xdate= null;
	 //var domain = "";
	// var thePath = "/";
	//var secure = "true";
	 SetCookie('MyOrder',theValue); //,xdate,thePath,domain,secure);
	 document.Order.MyOrder.value=theValue;
	 document.Order.submit();
}

function delCookie(idx)
{
	var item = document.Order.elements[idx].value;
	var newOrder = new Array();
	// get the "cookie" which is the current value of MyOrder form field
	var mycookie = document.Order.MyOrder.value; 
	if (mycookie.indexOf("|") > -1) // see if there's more than one item in it
	{
		var crumbs = mycookie.split("|");// split up the cookie into the order items
		var len = crumbs.length;
		var count = 0; 
		for (x = 0; x < len; x ++) 
		{
			var c = (x+1)*2;
			if(c != idx) // && crumbs[x]!= "" && crumbs[x]!=null && crumbs[x]!="undefined") 
			// make a new array out of the undeleted crumbs
			{ 	newOrder[count] = crumbs[x];	count++;	}
		}
		len = newOrder.length;
		if (len > 1) var theValue = newOrder.join("|");
		// if there's just one thing left don't join it
		else if(len == 1) 	var theValue = newOrder[0]; 
		else if(len < 1)  var theValue = ""; 
	}
	//if there was only one thing in the cookie to begin with just delete it
	else { theValue = ""; } 
	//var xdate;
	//var thePath = "/";
	//var domain = "";
	//var secure = "true";
	document.Order.elements[idx].value="";
	document.Order.MyOrder.value=theValue;
	SetCookie('MyOrder',theValue); //,xdate,thePath,domain,secure);
	document.Order.submit();
}

function transferCookie() 
{
	var theName = "MyOrder";
	var theValue = document.Order.MyOrder.value;
	if (theValue==null || theValue=="undefined") 
	{ theValue =""; document.Order.MyOrder.value = theValue; }
	theValue= theValue.replace("\\","");
	document.Shopcart.MyOrder.value=theValue;
	SetCookie(theName,theValue);
}

