function sucheleer()
{
	window.document.seitensuche.suchbegriff.value = '';
}


function PruefeText (Feld)
{
  if (Feld == "") {document.textsuche.textsuchbegriff.value="Textsuche";}
}

function PruefeProdukt (Feld)
{
  if (Feld == "") {document.produktsuche.suchbegriff.value="Produktsuche";}
}



/* ###########################   AJAX-Funktionen Anfang   ################################ */
/* ####################################################################################### */

function Ajax()
{
	//Eigenschaften deklarieren und initialisieren
	this.url="";
	this.params="";
	this.method="GET";
	this.onSuccess=null;
	this.onError=function(msg)
	{
		alert(msg);
	}
}

Ajax.prototype.doRequest=function()
{
	//Üeberpruefen der Angaben
	if (!this.url)
	{
		this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
    	return false;
	}

	if (!this.method) {this.method="GET";}
	else {this.method=this.method.toUpperCase();}

	//Zugriff auf Klasse für readyStateHandler ermöglichen  
	var _this = this;
  
	//XMLHttpRequest-Objekt erstellen
	var xmlHttpRequest=getXMLHttpRequest();
	if (!xmlHttpRequest)
	{
		this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
		return false;
	}
  
	//Fallunterscheidung nach Übertragungsmethode
	switch (this.method)
	{
		case "GET": xmlHttpRequest.open(this.method, this.url+"?"+this.params, true);
        			xmlHttpRequest.onreadystatechange = readyStateHandler;
					xmlHttpRequest.send(null);
					break;
		case "POST": xmlHttpRequest.open(this.method, this.url, true);
					xmlHttpRequest.onreadystatechange = readyStateHandler;
					xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					xmlHttpRequest.send(this.params);
					break;
	}  

	//Private Methode zur Verarbeitung der erhaltenen Daten
	function readyStateHandler()
	{
		if (xmlHttpRequest.readyState < 4)
		{
			return false;
		}
		if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304)
		{
			if (_this.onSuccess)
			{
				_this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
			}
		}
		else
		{
			if (_this.onError)
			{
				// _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenübertragung auf.");
				 _this.onError("Es trat ein interner Fehler bei der Datenübertragung auf. Bitte rufen Sie die Seite mit dem Produkt noch einmal neu auf!");
			}
		}
	}
}

//Gibt browserunabhängig ein XMLHttpRequest-Objekt zurück
function getXMLHttpRequest() 
{
	if (window.XMLHttpRequest)
	{
		//XMLHttpRequest für Firefox, Opera, Safari, ...
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try
		{
			//XMLHTTP (neu) für Internet Explorer 
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{        
				//XMLHTTP (alt) für Internet Explorer
				return new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
		        return null;
			}
		}
	}
	return false;
}

/* ###########################    AJAX-Funktionen Ende    ################################ */
/* ####################################################################################### */


if (document.images)
{
	lieferbild = new Array (4);

	lieferbild[0] = new Image();
	lieferbild[0].src = "images/verfuegbar_1.gif";
	lieferbild[1] = new Image();
	lieferbild[1].src = "images/verfuegbar_2.gif";
	lieferbild[2] = new Image();
	lieferbild[2].src = "images/verfuegbar_3.gif";
	lieferbild[3] = new Image();
	lieferbild[3].src = "images/verfuegbar_4.gif";
}


var variante = new Array();
var variantetxt = new Array();
var varnumber = new Array();
var should = new Array();
var stock = new Array();
var price = new Array();


function change_shipping_image(bild)
{
	if (document.images)
	{
		document.getElementById('shipping_image').src = lieferbild[bild].src;
	}
}


/* Erfolgsfunktion, die von getVariant aufgerufen wird */
function variant(txt,xml)
{
	if (txt.length > 0)
	{
		/* txt kommt von php-Funktion getvariant.php, erstmal zerlegen in Haupt- und Untervariante, getrennt durch "@" */
		/* Es kommen für Haupt- und jede Untervariante: variante, varnummer, sollbestand, bestand, preis */
		/* dazu bild für die Hauptvariante
		/* in der Form: "XL;01;100;50;9.99#XXL;01;100;50;9.99" */

		var trenn = txt.split("@");
		var haupt = trenn[0].split(";");	

		var haupt_variante = haupt[0];
		var haupt_varnumber = haupt[1];
		var haupt_should = haupt[2];
		var haupt_stock = haupt[3];
		var haupt_price = haupt[4];
		var haupt_bild = haupt[5];		

		/* Artikelnummer ändern, je nach ausgewählter Hauptvariante (Variante 1) */
		document.getElementById('artikel_varianten_nummer').innerHTML = 'ArtNr.: ' + window.document.inwarenkorb.artnummer.value + haupt_varnumber;
		document.inwarenkorb.completenumber.value = window.document.inwarenkorb.artnummer.value + haupt_varnumber;
		
		/* Variantennummer ändern, je nach ausgewählter Hauptvariante (Variante 1) */
		document.inwarenkorb.variantnumber.value = haupt_varnumber;

		/* Verfügbarkeitssymbol ändern, gültig für die gewählten Hauptvariante (Variante 1) */
		/* 0=Lagernd, in allen Varianten lieferbar, 1=Lagernd, einige Varianten nicht lieferbar */
		/* 2=Geringe Stückzahl, einige Varianten nicht lieferbar, /* 3=Ausverkauft */
		if (eval(haupt_stock) < eval(haupt_should))
		{
			if (haupt_stock == 0)
			{
				if (document.inwarenkorb.nachbestellzeit.value != "") {change_shipping_image(1);} else {change_shipping_image(3);}
			}
			else {change_shipping_image(2);}
		}
		else
		{
			change_shipping_image(0);
		}
		
		/* Preis ändern, gültig für die gewählten Hauptvariante (Variante 1) */
		if (haupt_price > 0)
		{
			var now = new Date();
			var tmp1 = now.getDate();
			if (tmp1 < 10) {tmp1 = "0" + tmp1;}
			var tmp2 = now.getMonth() + 1;
			if (tmp2 < 10) {tmp2 = "0" + tmp2;}
			var tmp3 = now.getFullYear();
			var nowlong = tmp3 + "" + tmp2 + "" + tmp1 + "";

			if (nowlong <= 20111117)
			{
				var preisalt = haupt_price / 0.85;
				preisalt = preisalt.toFixed(2);
				document.getElementById('preisalt').innerHTML = 'statt ' + preisalt + ' €';
				
				var sparen = preisalt - haupt_price;
				sparen = sparen.toFixed(2);
				document.getElementById('sparen').innerHTML = 'Sie sparen ' + sparen + ' €';
			}

			document.getElementById('preis').innerHTML = haupt_price + ' €';
			window.document.inwarenkorb.artpreis.value = haupt_price;
		}

		/* Bild ändern, wenn für diese Variante eine spezielle ID angegeben wurde */
		if (haupt_bild > 0)
		{
			Bildwechsel(haupt_bild, 1);
		}


		/* Änderungen durch 1. Untervariante der Hauptvariante */
		if (trenn.length > 1)
		{	
			/* Select für Untervariante (2.Variante) im ersten Schritt löschen */
		    // for (var i=1; i < window.document.inwarenkorb.variante2.length; i++) {window.document.inwarenkorb.variante2[i] = null;}
		
			while(window.document.inwarenkorb.variante2.length!=0) {
				window.document.inwarenkorb.variante2.options[document.inwarenkorb.variante2.length - 1] = null;
			}


			/* txt kommt von php-Funktion getvariant.php, erstmal zerlegen */
			/* Es kommen für jede Untervariante: variante, varnummer, sollbestand, bestand, preis */
			/* in der Form: "XL;01;100;50;9.99#XXL;01;100;50;9.99" */
			while(variante.length!=0) {variante.shift();}
			while(variantetxt.length!=0) {variantetxt.shift();}	
			while(varnumber.length!=0) {varnumber.shift();}
			while(should.length!=0) {should.shift();}
			while(stock.length!=0) {stock.shift();}
			while(price.length!=0) {price.shift();}				
		
			var vnt = trenn[1].split("#");
			for (var i=0; i<=vnt.length-1; i++) {		
				/* Elemente der Untervariante aufsplitten*/
				vari = vnt[i].split(";");
				variante[i] = vari[0];
				variantetxt[i] = vari[0];
				varnumber[i] = vari[1];
				should[i] = vari[2];
				stock[i] = vari[3];
				price[i] = vari[4];
				
				/* if (stock[i] == 0) {variantetxt[i] = variantetxt[i] + " - ausverkauft";} */
				/* var addme = new Option(text, wert); */
				var addme = new Option(variantetxt[i], variante[i]);
				window.document.inwarenkorb.variante2[i] = addme;
			}
				
			/* Preis ändern, für die 1. Untervariante der gewählte Hauptvariante (Variante 1) */
			if (price[0] > 0)
			{
				document.getElementById('preis').innerHTML = price[0] + ' €';
				window.document.inwarenkorb.artpreis.value = price[0];
			}
	
			/* Verfügbarkeitssymbol ändern, gültig für die erste Untervariante der gewählten Hauptvariante*/
			/* 0=Lagernd, in allen Varianten lieferbar, 1=Lagernd, einige Varianten nicht lieferbar */
			/* 2=Geringe Stückzahl, einige Varianten nicht lieferbar, 3=Ausverkauft */
			if (eval(stock[0]) < eval(should[0]))
			{
				if (stock[0] == 0)
				{
					if (document.inwarenkorb.nachbestellzeit.value != "") {change_shipping_image(1);} else {change_shipping_image(3);}
					document.getElementById('nachbestellung').style.display = "block";
				}
				else
				{
					change_shipping_image(2);
					document.getElementById('nachbestellung').style.display = "none";
				}
			}
			else
			{
				change_shipping_image(0);
				document.getElementById('nachbestellung').style.display = "none";
			}
		}
		/* Ende Änderungen durch 1. Untervariante der Hauptvariante */
	}
}


function errorHandler(msg)
{
	alert(msg);
}


/* getVariant wird aufgerufen wenn eine Hauptvariante ausgewählt wird */
function Bildauswahl(artnr, i)
{
	window.document.inwarenkorb.variante1.options[i].selected = true;
	getVariant(artnr);
}


/* getVariant wird aufgerufen wenn eine Hauptvariante ausgewählt wird */
function getVariant(artnr)
{
	index = window.document.inwarenkorb.variante1.selectedIndex;

	var request = new Ajax();
	request.url = "scripts/getvariant.php";
	request.params = "artnr=" + artnr + "&index=" + index;				/* z.B. a=12&b=13 */
	request.method = "POST";
	request.onSuccess = variant;										/* Hier die Funktion hin die bei Erfolg ausgeführt wird */
	request.onError = errorHandler;										/* Fehlerfunktion */
	request.doRequest();
}


/* changeVariant wird bei Auswahl einer Untervariante aufgerufen */
function changeVariant(artnr)
{
	index = window.document.inwarenkorb.variante2.selectedIndex;

	/* Preis ändern, je nach ausgewählter Variante 1 */
	if (price[index] > 0)
	{
		var now = new Date();
		var tmp1 = now.getDate();
		if (tmp1 < 10) {tmp1 = "0" + tmp1;}
		var tmp2 = now.getMonth() + 1;
		if (tmp2 < 10) {tmp2 = "0" + tmp2;}
		var tmp3 = now.getFullYear();
		var nowlong = tmp3 + "" + tmp2 + "" + tmp1 + "";

		if (nowlong <= 20111117)
		{
			var preisalt = haupt_price / 0.85;
			preisalt = preisalt.toFixed(2);
			document.getElementById('preisalt').innerHTML = 'statt ' + preisalt + ' €';
			
			var sparen = preisalt - haupt_price;
			sparen = sparen.toFixed(2);
			document.getElementById('sparen').innerHTML = 'Sie sparen ' + sparen + ' €';
		}

		document.getElementById('preis').innerHTML = price[index] + ' €';
		document.inwarenkorb.artpreis.value = price[index];
	}

	/* Verfügbarkeitssymbol ändern, siehe variant() */
	/* 0=Lagernd, in allen Varianten lieferbar, 1=Lagernd, einige Varianten nicht lieferbar */
	/* 2=Geringe Stückzahl, einige Varianten nicht lieferbar, 3=Ausverkauft */
	if (eval(stock[index]) < eval(should[index]) || eval(stock[index]) == 0)
	{
		if (stock[index] == 0)
		{
			if (document.inwarenkorb.nachbestellzeit.value != "") {change_shipping_image(1);} else {change_shipping_image(3);}
			document.getElementById('nachbestellung').style.display = "block";
		}
		else
		{
			if ((stock[index] * 2) < should[index]) {change_shipping_image(2);}	else {change_shipping_image(1);}
			document.getElementById('nachbestellung').style.display = "none";			
		}
	}
	else
	{
		change_shipping_image(0);
		document.getElementById('nachbestellung').style.display = "none";
	}
}


function show(id)
{
	window.document.getElementById('produkt_info_detail').style.display = 'none';
	window.document.getElementById('produkt_info_bewertung').style.display = 'none';
	window.document.getElementById(id).style.display = 'inline';
}


/* Bildwechselfunktion für Produktbild */
function Bildwechsel(bild, cmd)
{
	if (document.images)
	{
		if (cmd == 0)
		{
			// Für den Bildwechsel durch Bildklick wird die Position des kleinen Bildes angegeben
			var tmp = 'kleinbild[' + bild + ']';
			bildid = document.getElementById(tmp).value;
		}
		else
		{
			// Für den Bildwechsel durch Variantenwahl wird direkt Bildid angegeben
			bildid = bild;
		}

		//Array erzeugen in dem die ID des gross anzuzeigenden Bildes fehlt
		//Länge des Arrays = produktbild.length-1
		var kleinebilder = new Array ();
		k = 1;
		v = 0;

		for (var i=0; i<=produktbildid.length-1; i++)
		{
			if (bildid != k)
			{
				kleinebilder[v] = k;
				v++;
			}
			k++;
		}

		document.getElementById('bigpic').src = produktbild[bildid].src;

		for (var i=0; i<=kleinebilder.length-1; i++)
		{	
			j = i+1;
			var tmp = 'kleinbild[' + j + ']';
			var tmp1 = 'smallpic[' + j + ']';

			bk = kleinebilder[i];
			//document.getElementById(tmp1).src = produktthumb[bk].src;
			//document.getElementById(tmp).value = bk;
		}
	}
}
