var xmlHttp;
var intervalPointer;
var direction = "down";
var posX = 0, posY = 0;

function show (job, data)
{
	if (job == "savewkorb")
	{
		var bez = prompt ("Bitte geben Sie eine Bezeichnung für diesen Warenkorb ein:");
		
		if (bez == null) return;
		else
		{
			// Schlimme Zeichen replacen
			bez = bez.replace("&", "+");
			bez = bez.replace("ß", "ss");
			bez = bez.replace("ü", "ue");
			bez = bez.replace("ö", "oe");
			bez = bez.replace("ä", "ae");
			bez = bez.replace("Ü", "Ue");
			bez = bez.replace("Ö", "Oe");
			bez = bez.replace("Ä", "Ae");
			data += "&bez="+ bez;
		}
	}
	
	// XMLHttpRequest ------------
	
	xmlHttp = getXMLRequest ();
	if (! xmlHttp)
	{
		window.alert ("Browser unterstützt keinen HTTP-Request!");
		return;
	}
	
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open ("GET", "ajax_server.php?job="+ job +"&data="+ data, true);
	xmlHttp.setRequestHeader ("Pragma", "no-cache");
	xmlHttp.setRequestHeader ("Cache-Control", "must-revalidate");
	xmlHttp.setRequestHeader ("If-Modified-Since", document.lastModified);
	xmlHttp.send (null);
}

function showSearchSuggests (data)
{
	xmlHttp = getXMLRequest ();
	if (! xmlHttp)
	{
		window.alert ("Browser unterstützt keinen HTTP-Request!");
		return;
	}
	
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open ("GET", "ajax_server.php?job=get_search_suggests&data="+ data, true);
	xmlHttp.setRequestHeader ("Pragma", "no-cache");
	xmlHttp.setRequestHeader ("Cache-Control", "must-revalidate");
	xmlHttp.setRequestHeader ("If-Modified-Since", document.lastModified);
	xmlHttp.send (null);
}

function stateChanged ()
{
	if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
	{
		// Ergebnis der Prüfung, ab Artikel vorhanden
		if (xmlHttp.responseText.substring (0, 6) == "exists")
		{
			if (xmlHttp.responseText == "exists: false")
			{
				window.alert ("Zu dieser Artikelnummer wurde kein Artikel gefunden.");
				return false;
			}
			else
			{
				var parts = new Array (2);
				parts = xmlHttp.responseText.split ("|:");
				eval (parts[1]);		// Execute calcItem ()
				add_item ();
			}
		}
		
		// Quelltext der Auswahltabelle
		else if (xmlHttp.responseText.substring (0, 3) == "tab")
		{
			document.getElementById ("tab").innerHTML = xmlHttp.responseText.substring (4);
			document.getElementById ("tab").style.visibility = 'visible';
		}

		// Ergebnis von Warenkorb speichern
		else if (xmlHttp.responseText.substring (0, 6) == "swkorb")
		{
			var parts = new Array (2);
			parts = xmlHttp.responseText.split (":");
			
			var anzahl = parseInt (parts[1]);
			
			if (! anzahl)
			{
				window.alert ("Warenkorb konnte nicht gespeichert werden.\nDas Programm konnte Ihre Session-ID nicht ermitteln.");
			}
			else
			{
				window.alert ("Warenkorb wurde gespeichert: "+ anzahl +" Artikel.");
			}
		}
		
		// Ergebnis von "Warenkorb laden"-Klick
		else if (xmlHttp.responseText.substring (0, 3) == "wkb")
		{
			if (xmlHttp.responseText == "wkb:0")
			{
				window.alert ("Keine Warenkörbe gefunden.");
			}
			else
			{
				document.getElementById ("wkoerbe").innerHTML = xmlHttp.responseText.substring (4);
				document.getElementById ("wkoerbe").style.visibility = 'visible';
			}
		}
		
		// Warenkorb wurde in Session geladen
		else if (xmlHttp.responseText.substring (0, 3) == "wld")
		{
			var parts = new Array (3);
			parts = xmlHttp.responseText.split (":|:");
			
			var anzahl = parseInt (parts[1]);
			
			document.getElementById ("wkorb").innerHTML = parts[2];
			window.alert (anzahl +" Artikel gefunden.");
		}
		
		// Warenkorb wurde gelöscht
		else if (xmlHttp.responseText.substring (0, 4) == "wdel")
		{
			var parts = new Array (2);
			parts = xmlHttp.responseText.split (":");
			
			var anzahl = parseInt (parts[1]);
			
			if (anzahl)
			{
				window.alert ("Warenkorb wurde gelöscht.");
			}
			else
			{
				window.alert ("Warenkorb konnte nicht gelöscht werden.");
			}
		}
		
		// Suchvorschläge anzeigen
		else if (xmlHttp.responseText.substring (0, 4) == "sugg")
		{
			document.getElementById ("searchSuggest").innerHTML = xmlHttp.responseText.substring (5);
			document.getElementById ("searchSuggest").style.visibility = 'visible';
		}
	}
}

function getXMLRequest ()
{
	var xmlHttp = false;
	
	try
	{	// Internet Explorer
		if (window.ActiveXObject)
		{
			for (var i = 5; i; i--)
			{
				try
				{
					if (i == 2)
						xmlHttp = new ActiveXObject ("Microsoft.XMLHTTP");
					else
						xmlHttp = new ActiveXObject ("Msxml2.XMLHTTP."+ i +".0");
					break;
				}
				catch (excNotLoadable)
				{
					xmlHttp = false;
				}
			}
		}
		// Mozilla, Opera, Safari, Konqueror, Netscape
		else if (window.XMLHttpRequest)
			xmlHttp = new XMLHttpRequest();
	}
	catch (excNotLoadable)
	{
		xmlHttp = false;
	}
	
	return xmlHttp;
}

function tabOver (row)
{
	row.style.background = '#FFFFEF';
}

function tabOut (row)
{
	row.style.background = '';
}

function hide_quicksearches ()
{
	if (document.getElementById ('tab'))
	{
		document.getElementById ('tab').style.visibility = 'hidden';
	}
	if (document.getElementById ('wkoerbe'))
	{
		document.getElementById ('wkoerbe').style.visibility = 'hidden';
	}
	if (document.getElementById ('searchSuggest'))
	{
		document.getElementById ('searchSuggest').style.visibility = 'hidden';
	}
}

window.document.onclick = hide_quicksearches;

function change_amount (x)
{
	var aktAmount = parseInt (document.forms['ajax_order'].elements['anzahl'].value);
	var price = parseFloat (document.getElementById ('price').innerHTML);
	var priceNew = 0;
	
	if (isNaN (aktAmount) && document.forms['ajax_order'].elements['anzahl'].value != "")
		return;
	else if (document.forms['ajax_order'].elements['anzahl'].value == "")
	{
		document.forms['ajax_order'].elements['anzahl'].value = 1;
		return;
	}
	
	if (x == -1)
	{
		// Wenn Menge bisher > 1
		if (aktAmount > 1)
		{
			document.forms['ajax_order'].elements['anzahl'].value = --aktAmount;
			// Preis nur dann neu berechnen, wenn es einen gibt
			if (! isNaN (parseInt (document.getElementById ('price').innerHTML)))
			{
				priceNew = price / (aktAmount + 1) * aktAmount;
				priceNew *= 100;
				priceNew = Math.round (priceNew);
				priceNew /= 100;
				document.getElementById ('price').innerHTML = priceNew + " &euro;";
			}
		}
	}
	else
	{
		document.forms['ajax_order'].elements['anzahl'].value = ++aktAmount;
		// Preis nur dann neu berechnen, wenn es einen gibt
		if (! isNaN (parseInt (document.getElementById ('price').innerHTML)))
		{
			priceNew = price / (aktAmount - 1) * aktAmount;
			priceNew *= 100;
			priceNew = Math.round (priceNew);
			priceNew /= 100;
			document.getElementById ('price').innerHTML = priceNew + " &euro;";
		}
	}
	document.forms['ajax_order'].elements['anzahl'].value = aktAmount;
}

function calcItem (itemId, price, description, ust, picture, proid)
{
	var zaehler = parseInt (proid);
	document.getElementById ('artnr').value = itemId;
	document.getElementById ('tab').style.visibility = 'hidden';
	document.getElementById ('price').innerHTML = price + " &euro;";
	
	with (document.forms['ajax_order'])
	{
		elements['artikelnummer'].value = itemId;
		elements['bezeichnung'].value = description;
		elements['vk1'].value = price;
		elements['umst'].value = ust;
		elements['anzahl'].value = (isNaN (parseInt (elements['anzahl'].value))) ? 1 : elements['anzahl'].value;
		elements['proid'].value = zaehler;
		elements['bild'].value = picture;
	}
}

function add_item ()
{
	with (document.forms['ajax_order'])
	{
		if (elements['artikelnummer'].value == "" ||
			elements['bezeichnung'].value == "" ||
			elements['vk1'].value == "" ||
			elements['umst'].value == "" ||
			elements['anzahl'].value == "" ||
			parseInt (elements['anzahl'].value) < 0 ||
			elements['proid'].value == ""
		)
		{
			window.alert ("Fehler beim Einfügen in den Warenkorb.");
			return false;
		}
		else
		{
			submit ();
			return true;
		}
	}
}

function jump2item (artid)
{
	window.document.location.href = "p"+artid+"_x.html";
}

function mouse_pos (e)
{
	posX = (e.x || e.layerX);
	posY = (e.y || e.layerY);
}

function movePlakat (_artnr, _changeInterval)
{
	if (_changeInterval)
	{
		window.document.getElementById("plakat_" + _artnr).style.visibility = "visible";
		window.clearInterval (intervalPointer);
		intervalPointer = window.setInterval("movePlakat('" + _artnr + "', 0)", 5);
	}
	
	if (navigator.appName.indexOf("Explorer") > 0)
	{
		var scrTop = (window.pageYOffset == null) ? document.body.scrollTop : window.pageYOffset;
		var scrLeft = (window.pageXOffset == null) ? document.body.scrollLeft : window.pageXOffset;
	}
	else var scrTop = 0, scrLeft = 0;
	
	
	if (direction == "down")
		document.getElementById("plakat_" + _artnr).style.top = posY + scrTop;
	else
		document.getElementById("plakat_" + _artnr).style.top = posY + scrTop - document.getElementById("plakat_" + _artnr).offsetHeight;
		
	document.getElementById("plakat_" + _artnr).style.left = posX + scrLeft + 10;
}

function toggle_plakat (_artnr, _mode)
{
	if (_mode)	// On
	{
		if (posY + document.getElementById("plakat_" + _artnr).offsetHeight > document.body.offsetHeight)
			direction = "up";
		else
			direction = "down";
			
		intervalPointer = window.setInterval("movePlakat('" + _artnr + "', 1)", 1000);
	}
	else	// Off
	{
		window.clearInterval (intervalPointer);
		window.document.getElementById("plakat_" + _artnr).style.visibility = "hidden";
	}
}

function toggle_varidiv (_nr, _mode)
{	
	with (window.document)
	{
		if (navigator.appName.indexOf("Explorer") > 0)
		{
			var scrTop = (window.pageYOffset == null) ? document.body.scrollTop : window.pageYOffset;
			var scrLeft = (window.pageXOffset == null) ? document.body.scrollLeft : window.pageXOffset;
		}
		else var scrTop = 0, scrLeft = 0;
	
	
		if (_mode)		// On
		{
			getElementById("varidiv_" + _nr).style.top = posY + scrTop - 20;
			getElementById("varidiv_" + _nr).style.left = posX + scrLeft - 20;
			getElementById("varidiv_" + _nr).style.visibility = "visible";
			
			for (var i = 0; i < document.getElementsByTagName("div").length; i++)
			{
				if (document.getElementsByTagName("div")[i].id.substring(0, 8) == "varidiv_" &&
					document.getElementsByTagName("div")[i].id != "varidiv_"+_nr)
					document.getElementsByTagName("div")[i].style.visibility = "hidden";
			}
		}
		else	// Off
		{
			getElementById("varidiv_" + _nr).style.visibility = "hidden";
		}
	}
}

function toggle_dropshippingContent ()
{
	with (document.getElementById("dropshippingContent").style)
	{
		if (display == "none")
			display = "block";
		else
			display = "none";
	}
}

function check_dropshippingFile (dieForm)
{
	if (dieForm.elements["lieferschein"].value.toLowerCase().indexOf(".pdf") != -1)
		return true;
	else
	{
		window.alert ("Keine PDF-Datei!");
		return false;
	}
}
