	function ImagePreloader(images, cback)
	{
	   	this.cback = cback;
	   	this.nLoaded = 0;
	   	this.nProcessed = 0;
	   	this.aImages = new Array;
			this.nImages = images.length;
	
	   	for ( var i = 0; i < images.length; i++ ) 
				this.preload(images[i]);
	}
	ImagePreloader.prototype.preload = function(image)
	{
	   var oImage = new Image;
	   this.aImages.push(oImage);
	   oImage.onload = ImagePreloader.prototype.onload;
	   oImage.onerror = ImagePreloader.prototype.onerror;
	   oImage.onabort = ImagePreloader.prototype.onabort;
	
	   oImage.oImagePreloader = this;
	   oImage.bLoaded = false;
	   oImage.src = image;
	}
	ImagePreloader.prototype.onComplete = function()
	{
	   this.nProcessed++;
	
	   if ( this.nProcessed == this.nImages )
	   {
	      this.cback(this.aImages, this.nLoaded);
	   }
	}
	ImagePreloader.prototype.onload = function()
	{
	   this.bLoaded = true;
	   this.oImagePreloader.nLoaded++;
	   this.oImagePreloader.onComplete();
	}
	ImagePreloader.prototype.onerror = function()
	{
	   this.bError = true;
	   this.oImagePreloader.onComplete();
	}
	ImagePreloader.prototype.onabort = function()
	{
	   this.bAbort = true;
	   this.oImagePreloader.onComplete();
	}
	//---------------------------
	
	
	function myXMLHttpRequest() 
	{     
		var objType = false;    
	 	try { objType = new ActiveXObject('Msxml2.XMLHTTP'); } 
		catch(e) 
		{         
			try { objType = new ActiveXObject('Microsoft.XMLHTTP'); } 
			catch(e) { objType = new XMLHttpRequest(); }     
		} 
		    
		return objType; 
	}	
	
    function SyncFrontend(req,id) 
	{
		var requestObjekt = myXMLHttpRequest();
		
		if(requestObjekt)
		{
			requestObjekt.open( "GET", "ajax.php?action="+req+"&rand="+Math.random(), true );
			requestObjekt.onreadystatechange = function(){handleAJAXResponse(requestObjekt,id);};
			requestObjekt.send( null );
		}
    }

	function handleAJAXResponse(reqobj,id) 
	{
		if( reqobj.readyState == 4 )
		{
			if( reqobj.status == 200 ) 
			{
				if(document.getElementById)
				{
					if(id == "liststatus")
					{
						var xmlDoc = reqobj.responseXML;
						
						for(i = 0; i < xmlDoc.getElementsByTagName("artikel").length; i++)
						{
							var artstatus = document.getElementById(xmlDoc.getElementsByTagName("artikel")[i].childNodes[0].data);
							if(artstatus)
							{
								artstatus.innerHTML = "<a href='shop,warenkorb.htm'><b> ( "+ xmlDoc.getElementsByTagName("artikel")[i].getAttributeNode("count").nodeValue +" ) Stück im Warenkorb </b></a><br>";
							}
						}
					}
					else
					{
				
						var addart = document.getElementById(id);
						addart.innerHTML = reqobj.responseText;
					}
				}				
      	
			}	
		}	
	}
	
	function suche()
	{
		if(document.getElementById)
		{
			var stext = document.getElementById('svalue').value;
			if(stext != "" && stext != "Suche .. ")
			{
				stext = stext.replace(/\\/g, "~BS~");
				stext = stext.replace(/\//g, "~S~");
				stext = stext.replace(/"/g, "~Q2~");
				stext = stext.replace(/'/g, "~Q1~");
				stext = stext.replace(/</g, "~A1~");
				stext = stext.replace(/>/g, "~A2~");
				stext = stext.replace(/,/g, "~BST~");
				window.location = "http://www.mylemon.at/shop,suche," + escape(stext) +".htm";
			}
			else
			{
				alert("Bitte geben sie einen Wert ein.");
			}
		}
	}
	function checkforenter(e)
	{
		var keynum;
		var keychar;
		var numcheck;
		if(window.event) // IE
		{
			keynum = e.keyCode;
		}
		else if(e.which) // Netscape/Firefox/Opera
		{
			keynum = e.which;
		}
		if(keynum == 13)
		{
			suche();
		}
		else
		{
			return false;
		}
	}
	
	function updatewkEnter(e,id,cid)
	{
		var inum = 0;
		
		if(document.getElementById)
		{
			inum = document.getElementById(cid).value;
			if(inum == '' || inum == null) inum = 0;
		}
		
		var keynum;
		var keychar;
		var numcheck;
		if(window.event) // IE
		{
			keynum = e.keyCode;
		}
		else if(e.which) // Netscape/Firefox/Opera
		{
			keynum = e.which;
		}
		if(keynum == 13)
		{
			document.location.replace('shop,warenkorb,action,wkupdate,' + id + ',num,' + inum + ",spos,"+document.body.scrollTop+".htm");
		}
		else
		{
			return false;
		}
	}
	function updatewk(id,cid)
	{
		var inum = 0;
		
		if(document.getElementById)
		{
			inum = document.getElementById(cid).value;
			if(inum == '' || inum == null) inum = 0;
		}
		
		document.location.replace('shop,warenkorb,action,wkupdate,' + id + ',num,' + inum + ",spos,"+document.body.scrollTop+".htm");
	}	
	
	/*
	function dtreet_ext_userClick(itemID)
	{ 
		var adata = new Array();
		adata = dtreet_ext_getItemParams (0, itemID);
		if(adata[8]) 
		{
			//alert(adata[6]);
			location.href = adata[8];
		}
		dtreet_ext_setPressedItem(0,itemID);
		return false;
	} 	
	function dtreet_ext_userRightClick(itemID) 
	{ 
		var adata = new Array();
		adata = dtreet_ext_getItemParams (0, itemID);
		if(adata[8]) 
		{
			//alert(adata[6]);
			location.href = adata[8];
		}
		dtreet_ext_setPressedItem(0,itemID);
		return false;
	} 	
	*/
	function _required(field,extra)
	{
		with (field)
		{
			if(style.backgroundColor != "")
			{
				return false;
			}
			if (value == null || value == "" || value == extra)
			{
				return false;
			}
			else 
			{
				return true;
			}
		}
	}
	function _reset(field)
	{
		with (field)
		{
			if(style.backgroundColor != "")
			{
				style.backgroundColor = "";
				value = "";
			}
		}
	}
	
	
	function validate_form(thisform)
	{

		var errorstr = "";
		var ferror = true;
		var errnum = 1;
		
		with (thisform)
		{	
			var valfound = "";
			for( i = 0; i < usr_anrede.length; i++ ) 
			{ 
				if (usr_anrede[i].checked) 
				{
					valfound = usr_anrede[i].value;
				}
			} 		
			
			if (valfound == "")
			{
				errorstr += errnum.toString() + ") Bitte wählen sie eine Anrede aus.\n";
				ferror = false;
				errnum++;
			}
			if (_required(usr_vorname,"") == false)
			{
				usr_vorname.style.backgroundColor  = "#eaf43b";
				usr_vorname.value = "Bitte geben sie einen Vornamen an.";
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Vornamen an.\n";
				errnum++;
			}	
			if (_required(usr_nachname,"") == false)
			{
				usr_nachname.style.backgroundColor  = "#eaf43b";
				usr_nachname.value = "Bitte geben sie einen Nachnamen an.";
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Nachnamen an.\n";
				errnum++;
			}	
			if(valfound == "Firma")
			{
				if (_required(usr_firmenname,"") == false)
				{
					usr_firmenname.style.backgroundColor  = "#eaf43b";
					usr_firmenname.value = "Bitte geben sie einen Firmennamen an.";
					ferror = false;
					errorstr += errnum.toString() + ") Bitte geben sie einen Firmennamen an.\n";
					errnum++;
				}					
			}		
			else
			{
				_reset(usr_firmenname);
			}
			if (_required(usr_strasse,"") == false)
			{
				usr_strasse.style.backgroundColor  = "#eaf43b";
				usr_strasse.value = "Bitte geben sie einen Strassennamen an.\n";
				ferror = false;	
				errorstr += errnum.toString() + ") Bitte geben sie einen Strassennamen an.\n";
				errnum++;
			}	
			if (_required(usr_plz,"") == false || IsNumeric(usr_plz.value) == false)
			{
				usr_plz.style.backgroundColor  = "#eaf43b";
				usr_plz.value = "Postleitzahl ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Postleitzahl ist ungültig.\n";
				errnum++;
			}	
			if (_required(usr_ort,"") == false)
			{
				usr_ort.style.backgroundColor  = "#eaf43b";
				usr_ort.value = "Bitte geben sie einen Ort an.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Ort an.\n";	
				errnum++;
			}	
			/*if (tag.value == "Tag" || monat.value == "Monat" || jahr.value == "Jahr")
			{
				errorstr += errnum.toString() + ") Bitte geben sie ihr Geburtsdatum an.\n";
				ferror = false;
				errnum++;
			}*/				
			if (_required(usr_land,"0") == false)
			{
				errorstr += errnum.toString() + ") Bitte wählen sie ein Land aus.\n";	
				ferror = false;
				errnum++;
			}
			if (_required(usr_email,"") == false || CheckEmail(usr_email) == false)
			{
				usr_email.style.backgroundColor  = "#eaf43b";
				usr_email.value = "E-Mail-Adresse ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") E-Mail-Adresse ist ungültig.\n";	
				errnum++;
			}
			if (_required(usr_telefonnr,"") == false || Checktelenr(usr_telefonnr.value) == false)
			{
				usr_telefonnr.style.backgroundColor  = "#eaf43b";
				usr_telefonnr.value = "Telefonnummer ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Telefonnummer ist ungültig.\n";	
				errnum++;
			}		
			if (_required(usr_passwort,"") == false)
			{
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie ein Passwort an.\n";	
				errnum++;
			}	
			if (_required(usr_passwort2,"") == false)
			{
				ferror = false;
				errorstr += errnum.toString() + ") Bitte wiederholen sie ihr Passwort.\n";	
				errnum++;
			}	
			if(usr_passwort.value != usr_passwort2.value)	
			{
				ferror = false;
				errorstr += errnum.toString() + ") Die eingegeben Passwörter sind nicht gleich.\n";	
				errnum++;
			}															
		}
		if(errorstr != "" || ferror == false)
		{
			errnum--;
			
			if(errorstr != "" && ferror == false)
			{
				if(errnum == 1)
				{
					errorstr = "Es wurde ein Fehler gefunden :\n\n" + errorstr;
				}
				else
				{
					errorstr = "Es wurden " + errnum.toString() + " Fehler gefunden :\n\n" + errorstr;
				}
			}
			else
			{
				errorstr = "Es wurden ein Fehler gefunden :\n\n" + errorstr;
			}
			
			alert(errorstr);
		}
		return ferror;
	}
	function Checktelenr(nr)
	{
		var m = nr.match(/[^\d\#() /+-]+/)
		if(m) 
		{
			return false;
		}
		else
		{
			return true;
		} 
	}	
	function CheckEmail(adr)
  	{
		var rx = /^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,}|(\d{1,3}\.){3}\d{1,3})$/;
		var part = adr.value.match(rx);
		if(part) 
		{
			return true;
		}
	  	else 
		{ 
			return false;
		}
  	}
	function IsNumeric(sText)
	{
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
	 
	 	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
			{
				IsNumber = false;
			}
		}
		return IsNumber;  
	}
	function validate_edit(thisform)
	{

		var errorstr = "";
		var ferror = true;
		var errnum = 1;
		
		with (thisform)
		{	
			var valfound = "";
			for( i = 0; i < usr_anrede.length; i++ ) 
			{ 
				if (usr_anrede[i].checked) 
				{
					valfound = usr_anrede[i].value;
				}
			} 		
			
			if (valfound == "")
			{
				errorstr += errnum.toString() + ") Bitte wählen sie eine Anrede aus.\n";
				ferror = false;
				errnum++;
			}
			if (_required(usr_vorname,"") == false)
			{
				usr_vorname.style.backgroundColor  = "#eaf43b";
				usr_vorname.value = "Bitte geben sie einen Vornamen an.";
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Vornamen an.\n";
				errnum++;
			}	
			if (_required(usr_nachname,"") == false)
			{
				usr_nachname.style.backgroundColor  = "#eaf43b";
				usr_nachname.value = "Bitte geben sie einen Nachnamen an.";
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Nachnamen an.\n";
				errnum++;
			}	
			if(valfound == "Firma")
			{
				if (_required(usr_firmenname,"") == false)
				{
					usr_firmenname.style.backgroundColor  = "#eaf43b";
					usr_firmenname.value = "Bitte geben sie einen Firmennamen an.";
					ferror = false;
					errorstr += errnum.toString() + ") Bitte geben sie einen Firmennamen an.\n";
					errnum++;
				}					
			}		
			else
			{
				_reset(usr_firmenname);
			}
			if (_required(usr_strasse,"") == false)
			{
				usr_strasse.style.backgroundColor  = "#eaf43b";
				usr_strasse.value = "Bitte geben sie einen Strassennamen an.\n";
				ferror = false;	
				errorstr += errnum.toString() + ") Bitte geben sie einen Strassennamen an.\n";
				errnum++;
			}	
			if (_required(usr_plz,"") == false || IsNumeric(usr_plz.value) == false)
			{
				usr_plz.style.backgroundColor  = "#eaf43b";
				usr_plz.value = "Postleitzahl ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Postleitzahl ist ungültig.\n";
				errnum++;
			}	
			if (_required(usr_ort,"") == false)
			{
				usr_ort.style.backgroundColor  = "#eaf43b";
				usr_ort.value = "Bitte geben sie einen Ort an.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Ort an.\n";	
				errnum++;
			}	
			/*if (tag.value == "Tag" || monat.value == "Monat" || jahr.value == "Jahr")
			{
				errorstr += errnum.toString() + ") Bitte geben sie ihr Geburtsdatum an.\n";
				ferror = false;
				errnum++;
			}*/				
			if (_required(usr_land,"0") == false)
			{
				errorstr += errnum.toString() + ") Bitte wählen sie ein Land aus.\n";	
				ferror = false;
				errnum++;
			}
			if (_required(usr_email,"") == false || CheckEmail(usr_email) == false)
			{
				usr_email.style.backgroundColor  = "#eaf43b";
				usr_email.value = "E-Mail-Adresse ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") E-Mail-Adresse ist ungültig.\n";	
				errnum++;
			}	
			if (_required(usr_telefonnr,"") == false || Checktelenr(usr_telefonnr.value) == false)
			{
				usr_telefonnr.style.backgroundColor  = "#eaf43b";
				usr_telefonnr.value = "Telefonnummer ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Telefonnummer ist ungültig.\n";	
				errnum++;
			}			
			if(usr_passwort.value != usr_passwort2.value)	
			{
				ferror = false;
				errorstr += errnum.toString() + ") Die eingegeben Passwörter sind nicht gleich.\n";	
				errnum++;
			}															
		}
		if(errorstr != "" || ferror == false)
		{
			errnum--;
			
			if(errorstr != "" && ferror == false)
			{
				if(errnum == 1)
				{
					errorstr = "Es wurde ein Fehler gefunden :\n\n" + errorstr;
				}
				else
				{
					errorstr = "Es wurden " + errnum.toString() + " Fehler gefunden :\n\n" + errorstr;
				}
			}
			else
			{
				errorstr = "Es wurden ein Fehler gefunden :\n\n" + errorstr;
			}
			
			alert(errorstr);
		}
		return ferror;
	}	
	
	function validate_shipping(thisform)
	{

		var errorstr = "";
		var ferror = true;
		var errnum = 1;
		
		with (thisform)
		{	
			if (_required(shipping_vorname,"") == false)
			{
				shipping_vorname.style.backgroundColor  = "#eaf43b";
				shipping_vorname.value = "Bitte geben sie einen Vornamen an.";
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Vornamen an.\n";
				errnum++;
			}	
			if (_required(shipping_nachname,"") == false)
			{
				shipping_nachname.style.backgroundColor  = "#eaf43b";
				shipping_nachname.value = "Bitte geben sie einen Nachnamen an.";
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Nachnamen an.\n";
				errnum++;
			}	
			if (_required(shipping_strasse,"") == false)
			{
				shipping_strasse.style.backgroundColor  = "#eaf43b";
				shipping_strasse.value = "Bitte geben sie einen Strassennamen an.\n";
				ferror = false;	
				errorstr += errnum.toString() + ") Bitte geben sie einen Strassennamen an.\n";
				errnum++;
			}	
			if (_required(shipping_plz,"") == false || IsNumeric(shipping_plz.value) == false)
			{
				shipping_plz.style.backgroundColor  = "#eaf43b";
				shipping_plz.value = "Postleitzahl ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Postleitzahl ist ungültig.\n";
				errnum++;
			}	
			if (_required(shipping_ort,"") == false)
			{
				shipping_ort.style.backgroundColor  = "#eaf43b";
				shipping_ort.value = "Bitte geben sie einen Ort an.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Bitte geben sie einen Ort an.\n";	
				errnum++;
			}				
			if (_required(shipping_land,"0") == false)
			{
				errorstr += errnum.toString() + ") Bitte wählen sie ein Land aus.\n";	
				ferror = false;
				errnum++;
			}
			if (_required(shipping_telefonnr,"") == false || Checktelenr(shipping_telefonnr.value) == false)
			{
				shipping_telefonnr.style.backgroundColor  = "#eaf43b";
				shipping_telefonnr.value = "Telefonnummer ist ungültig.\n";	
				ferror = false;
				errorstr += errnum.toString() + ") Telefonnummer ist ungültig.\n";	
				errnum++;
			}														
		}
		if(errorstr != "" || ferror == false)
		{
			errnum--;
			
			if(errorstr != "" && ferror == false)
			{
				if(errnum == 1)
				{
					errorstr = "Es wurde ein Fehler gefunden :\n\n" + errorstr;
				}
				else
				{
					errorstr = "Es wurden " + errnum.toString() + " Fehler gefunden :\n\n" + errorstr;
				}
			}
			else
			{
				errorstr = "Es wurde ein Fehler gefunden :\n\n" + errorstr;
			}
			
			alert(errorstr);
		}

		return ferror;
	}	