var myCookieName="myCart";

////////////////////////////////////////////////////////////////////////////////
// FUNCTION ZUM SCHREIBEN VON EINEM COOKIE                                    //
////////////////////////////////////////////////////////////////////////////////
function myCookieSet(name,myValue)
	{
	var arg_value = myCookieSet.arguments;
	var arg_length = myCookieSet.arguments.length;
	var expires=(arg_length > 2) ? arg_value[2] : null;
	var path=(arg_length > 3) ? arg_value[3] : null;
	var domain=(arg_length > 4) ? arg_value[4] : null;
	var secure=(arg_length > 5) ? arg_value[5] : false;
	document.cookie = name + "=" + escape(myValue) +
	((expires == null) ? "" : ("; expires=" +
	expires.toGMTString())) +
	 ("; path=/")  +
	//((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
	}

////////////////////////////////////////////////////////////////////////////////
// FUNCTION ZUM LESEN VON EINEM COOKIE                                        //
////////////////////////////////////////////////////////////////////////////////
function myCookieGet(name)
	{
	name += "=" ;
	var mylength = name.length;
	var cookie_length = document.cookie.length;
	//alert(document.cookie);
	var i = 0;
	while (i < cookie_length)
		{
		var j = i + mylength;
		//alert(document.cookie.substring(i, j));
		if (document.cookie.substring(i, j) == name)
			{
			return myCookieGetValue(j);
			}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
		}
	return null;
	}

////////////////////////////////////////////////////////////////////////////////
// FUNCTION ZUM ERRUIREN WELCHE RADIOS IM COOKIE GESETZT SIND                 //
////////////////////////////////////////////////////////////////////////////////
function myCookieGetValue(position)
	{
	var ende = document.cookie.indexOf("index.html", position);
	if (ende == -1)
		{
		ende = document.cookie.length;
		}
	return unescape(document.cookie.substring(position,ende));
	}


function checkObjectInCart()
	{
	var a=checkObjectInCart.arguments;
	var existingCookieStr = myCookieGet(myCookieName);
	var objIsInCart=false;
	if(existingCookieStr && existingCookieStr.length>0)
		{
		//alert(existingCookieStr);
		var cStr=existingCookieStr.split("@@@");
		if(cStr.length>1)
			{
			var myCartStr=cStr[1];
			}
		else
			{
			var myCartStr=cStr[0];
			}
		var myOrder = myCartStr.split("###");
		for (var i=0; i<myOrder.length; i++)
			{
			var cartObj = myOrder[i].split("***");
			if(a[0]==parseInt(cartObj[0]))
				{
				objIsInCart=true;
				}
			}
		}
	return objIsInCart;
	}
////////////////////////////////////////////////////////////////////////////////
// FUNCTION ZUR EINGABBEKONTROLLE BZW. FOKUS SETZEN                           //
////////////////////////////////////////////////////////////////////////////////
function addToCart()
	{
	a=addToCart.arguments;
//	alert(a[0]+"__"+a[1]);
	var objIsInCart=checkObjectInCart(a[0]);
	var objCategory=a[3];
	var lang=a[4]; // true=english/false=deutsch
	if(objIsInCart && a[2])
		{
		if(lang)
			{
			alert("This item is already in your shopping cart.");
			}
		else
			{
			alert("Dieses Produkt befindet sich bereits in Ihrem Warenkorb.");
			}
		}
	else
		{
		if(a[1]=="")
			{
			if(lang)
				{
				alert("Please enter the number");
				}
			else
				{
				alert("Bitte geben Sie die Anzahl ein");
				}
			//document.forms[a].elements[b].focus();
			}
		else if (isNaN(a[1]))
			{
			if(lang)
				{
				alert("Please enter a digit");
				}
			else
				{
				alert("Bitte geben Sie eine Ziffer ein");
				}
			//document.forms[a].elements[b].focus();
			}
		else
			{
			existingCookieStr = myCookieGet(myCookieName);
			var anz = parseInt(a[1]);
			var myCart = new String();
			if(existingCookieStr && existingCookieStr.length>0)
				{
				//alert(existingCookieStr);
				myCart=existingCookieStr;
				}
			myCart+=a[0] + "***" + anz + "###";
	
			if(anz<1)
				{
				if(lang)
					{
					alert("The number is missing.");
					}
				else
					{
					alert("Es ist noch die Anzahl zu bestimmen.");
					}
				}
			else
				{
				if(lang)
					{
					var confStr="Shoudt \"" +p[a[0]].Name+ "\" be put in your shopping cart?";
					}
				else
					{
					if(anz>1)
						{
						var confStr="Sollen "+anz+" \"" +p[a[0]].Name+ "\" in den Warenkorb gelegt werden?";
						}
					else
						{
						var confStr="Soll \"" +p[a[0]].Name+ "\" in den Warenkorb gelegt werden?";
						}
					}
				if(objCategory==1 || objCategory==4 || objCategory==5)
					{
					if(lang)
						{
						confStr+="\nPlease note that registrations for courses, Seminarios, and Parakticas are valid for one person.";
						confStr+="\nYour partner should register for the appropriate course within a day.";
						}
					else
						{
						confStr+="\nBitte beachte, dass Anmeldungen für Kurse, Seminarios und Praktika lediglich für eine Person gilt.";
						confStr+="\nDie Partner/Innnen sollten den jeweiligen Kurs innerhalb eines Tages selber bestellen.";
						}
					}
				var check = confirm(confStr);
				if(check)
					{
					myCookieSet(myCookieName, myCart, null, null, null, false);
					}
				}
			} 
		} 
	}

function setCartUserId()
	{
	a=setCartUserId.arguments
	//alert(a[0]);
	var existingCookieStr = myCookieGet(myCookieName);
	var newCookieStr = new String();
	if(existingCookieStr && existingCookieStr.length>0)
		{
		//alert(existingCookieStr);
		var cStr=existingCookieStr.split("@@@");
		if(cStr.length>1)
			{
			newCookieStr=cStr[1];
			}
		else
			{
			newCookieStr=cStr[0];
			}
		}
	var setCookieStr= a[0] + "@@@" + newCookieStr;
	myCookieSet(myCookieName, setCookieStr, null, null, null, false);
	}


function flushCartUserId()
	{
	a=flushCartUserId.arguments
	//alert(a[0]);
	var existingCookieStr = myCookieGet(a[0]);
	var setCookieStr = new String();
	if(existingCookieStr && existingCookieStr.length>0)
		{
		//alert(existingCookieStr);
		var cStr=existingCookieStr.split("@@@");
		if(cStr.length>1)
			{
			setCookieStr=cStr[1];
			}
		else
			{
			setCookieStr=cStr[0];
			}
		}
	myCookieSet(a[0], setCookieStr, null, null, null, false);
	}




function flushCart()
	{
	a=flushCart.arguments
	var existingCookieStr = myCookieGet(a[0]);
	var setCookieStr = new String();
	if(existingCookieStr && existingCookieStr.length>0)
		{
		//alert(existingCookieStr);
		var cStr=existingCookieStr.split("@@@");
		if(cStr.length>1)
			{
			setCookieStr=cStr[0]+"@@@";
			}
		}
	myCookieSet(a[0], setCookieStr, null, null, null, false);
	}


function removeFromCart()
	{
	a=removeFromCart.arguments;
	var myCartStr = new String();
	var myUsrId = new String();
	var existingCookieStr = myCookieGet(a[0]);
	if(existingCookieStr && existingCookieStr.length>0)
		{
		//alert(existingCookieStr);
		var cStr=existingCookieStr.split("@@@");
		if(cStr.length>1)
			{
			myCartStr=cStr[1];
			myUsrId=cStr[0] + "@@@";
			}
		else
			{
			myCartStr=cStr[0];
			}
		}
	var myOrder = myCartStr.split("###");
	var str= new String();
	for (var i=0; i<myOrder.length; i++)
		{
		if(i!=a[1])
			{
			str+=myOrder[i];
			str+="###";
			}
		}

	str = str.substring(0, str.length-3);
	var setStr=myUsrId+str;
	myCookieSet(a[0], setStr, null, null, null, false);
	}


function stornoOrder()
	{
	a=stornoOrder.arguments;
	var lang=a[1]; // true=english/false=deutsch
	if(lang)
		{
		var confStr="A handling fee is charged\n";
		confStr+="for cancelled orders,\n";
		confStr+="see \"General Information\"";
		}
	else
		{
		var confStr="Für Stornierte Bestellungen wird\n";
		confStr+="eine Bearbeitungsgebühr verrechnet.\n";
		confStr+="Siehe unter \"Allgemeine Hinweise\"";
		}
	
	var check = confirm(confStr);
	if(check)
		{
		document.forms['Storno'].elements['StornoId'].value=a[0];
		document.forms['Storno'].submit();
		}
	}
	



