// JavaScript Document


// Testvariable
var testvar = '';







///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Allgemeine Funktionen


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function encode_utf8(rohtext) 
{
	// dient der Normalisierung des Zeilenumbruchs
	rohtext = rohtext.replace(/\r\n/g,"\n");
	var utftext = "";
	for(var n=0; n<rohtext.length; n++)
	{
		// ermitteln des Unicodes des  aktuellen Zeichens
		var c=rohtext.charCodeAt(n);
		// alle Zeichen von 0-127 => 1byte
		if (c<128)
			utftext += String.fromCharCode(c);
			// alle Zeichen von 127 bis 2047 => 2byte
		else if((c>127) && (c<2048)) {
			utftext += String.fromCharCode((c>>6)|192);
			utftext += String.fromCharCode((c&63)|128);}
			// alle Zeichen von 2048 bis 66536 => 3byte
		else {
			utftext += String.fromCharCode((c>>12)|224);
			utftext += String.fromCharCode(((c>>6)&63)|128);
			utftext += String.fromCharCode((c&63)|128);}
	}
	return utftext;
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function decode_utf8(utftext) {
	var plaintext = ""; var i=0; var c=c1=c2=0;
	// while-Schleife, weil einige Zeichen uebersprungen werden
	while(i<utftext.length)
	{
		c = utftext.charCodeAt(i);
		if (c<128) {
			plaintext += String.fromCharCode(c);
			i++;}
		else if((c>191) && (c<224)) {
			c2 = utftext.charCodeAt(i+1);
			plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
			i+=2;}
		else {
			c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
			plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
			i+=3;}
	}
	return plaintext;
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function nl2br(str) {
	if(typeof(str)=="string") return str.replace(/(\r\n)|(\n\r)|\r|\n/g,"<br />");
	else return str;
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function nl2nl(str) {
	if(typeof(str)=="string") return str.replace(/(\r\n)|(\n\r)|\r|\n/g,"\n");
	else return str;
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function getOptionValue(id) { // Wert eines <select> ermitteln
	with (id) return options[selectedIndex].value;
}




///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// XMLHttpRequest aufbauen, Servlet auslesen, übertragene Inhalte plazieren

	
var request = false;

function read_servlet(url, target, mode, entry_ID, nextfunc) 
{
	// testvar += '\n read_servlet(' + url + ' - ' + target + ' - ' + mode + ' - ' + entry_ID + ' - ' + nextfunc) + ')'; // TEST
	testvar += '\n read_servlet()'; // TEST
	
	
	if (window.XMLHttpRequest) 
	{ 
		request = new XMLHttpRequest(); //Mozilla, Safari,Opera
	} 
	else if (window.ActiveXObject) { 
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP"); //IE 5
		}
		catch (e) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP"); //IE 6
			} 
		catch (e) {}
		}
	}
	
	if (!request) 
	{
		alert('Kann keine XMLHTTP-Instanz erzeugen');
		return false;
	}
	else 
	{
		request.open("get", url, true);
		request.onreadystatechange = function() 
	{
			switch(request.readyState) 
			{
				case 4:
					if (request.status!=200) 
					{
						alert("Der Request wurde abgeschlossen ist aber nicht OK\nFehler:"+request.status); 
					}
					else {
						var array_targets = target.split(" ");
						for (var i=0; i<array_targets.length; i++)
						{
							var targetelement=document.getElementById(array_targets[i]);
							if (mode=='replace') 
							{
								targetelement.innerHTML = request.responseText; 
							}
							else if(mode=='add')
							{
								targetelement.innerHTML = request.responseText + targetelement.innerHTML; 
							}
							else if(mode=='input')
							{
								targetelement.value = request_responseText;
							}
							else alert('fehlerhafter Funktionsaufruf: read_servlet()');
							
							if (nextfunc!='')
							{
								// alert ('nextfunc');
								window.setTimeout("reset_backgrounds("+entry_ID+")", 300); 
								window.setTimeout(nextfunc, 700); 
							}
							else 
							{
								// alert ('reset');
								window.setTimeout("reset_backgrounds("+entry_ID+")", 500);
							}
						}
					}
				break;
				default:
				break;
			}
		}
		request.send(0);
	}
}







///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funktionen für die Rollovers und Aktionen der Warenkorb-Tool-Buttons


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function plusminus_reset(entry_ID) // lässt bei quantity=0 das Warenkoblisten-Element und das Tool beim Entry verschwinden
{
	testvar += '\n plusminus_reset()'; // TEST 
	if (document.getElementById('entry'+entry_ID+'_quantity')) { var quantity = Number(document.getElementById('entry'+entry_ID+'_quantity').value); }
	else if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { var quantity = Number(document.getElementById('cart_entry'+entry_ID+'_quantity').value); }

	if (quantity<1)
	{
		if (document.getElementById('entry'+entry_ID+'_icon_cart_box')) { document.getElementById('entry'+entry_ID+'_icon_cart_box').style.display = 'inline'; }
		if (document.getElementById('entry'+entry_ID+'_plusminus_box')) { document.getElementById('entry'+entry_ID+'_plusminus_box').style.display = 'none'; }
		cart_list_refresh(entry_ID);
		
	if (document.getElementById('cart_sum').innerHTML.search('>0 Artikel')!=-1) 
		{ 
			document.getElementById('cartbox').style.display = 'none';
			document.getElementById('cartbox_2').style.display = 'none';
		}
	}
	delete(quantity);
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function reset_backgrounds(entry_ID) // Setzt die animierten Hintergründe von Formularen zurück
{
	testvar += '\n reset_backgrounds()'; // TEST 
	// alert('reset_backgrounds('+entry_ID+')'); // TEST
	if (document.getElementById('cart_sum_2')) { document.getElementById('cart_sum_2').innerHTML = document.getElementById('cart_sum_2').innerHTML.replace(/cart_show_hide/, "cart_show"); } // Klick auf den unteren Warenkorb öffnet immer den oberen, auch wenn er bereits offen ist

	if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').style.backgroundImage = ''; }
	if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').style.backgroundImage = ''; }
	if (document.getElementById('cartbox_inside')) { document.getElementById('cartbox_inside').style.backgroundImage = ''; }
	if (document.getElementById('cart_sum')) { document.getElementById('cart_sum').style.backgroundImage = ''; }
	if (document.getElementById('cart_sum_2')) { document.getElementById('cart_sum_2').style.backgroundImage = ''; }
	if (document.getElementById('cart_list')) { document.getElementById('cart_list').style.backgroundImage = ''; }
	if (document.getElementById('cart_address')) { document.getElementById('cart_address').style.backgroundImage = ''; }

	if (document.getElementById('customer_firma')) { document.getElementById('customer_firma').style.backgroundImage = ''; } 
	if (document.getElementById('customer_gender')) { document.getElementById('customer_gender').style.backgroundImage = ''; } 
	if (document.getElementById('customer_vorname')) { document.getElementById('customer_vorname').style.backgroundImage = ''; } 
	if (document.getElementById('customer_nachname')) { document.getElementById('customer_nachname').style.backgroundImage = ''; } 
	if (document.getElementById('customer_hausnummer')) { document.getElementById('customer_hausnummer').style.backgroundImage = ''; } 
	if (document.getElementById('customer_strasse')) { document.getElementById('customer_strasse').style.backgroundImage = ''; } 
	if (document.getElementById('customer_postleitzahl')) { document.getElementById('customer_postleitzahl').style.backgroundImage = ''; } 
	if (document.getElementById('customer_wohnort')) { document.getElementById('customer_wohnort').style.backgroundImage = ''; } 
	if (document.getElementById('customer_land')) { document.getElementById('customer_land').style.backgroundImage = ''; } 
	if (document.getElementById('customer_emailadresse')) { document.getElementById('customer_emailadresse').style.backgroundImage = ''; } 
	if (document.getElementById('customer_telvorwahl')) { document.getElementById('customer_telvorwahl').style.backgroundImage = ''; } 
	if (document.getElementById('customer_tel')) { document.getElementById('customer_tel').style.backgroundImage = ''; } 
	if (document.getElementById('customer_faxvorwahl')) { document.getElementById('customer_faxvorwahl').style.backgroundImage = ''; } 
	if (document.getElementById('customer_fax')) { document.getElementById('customer_fax').style.backgroundImage = ''; } 
	if (document.getElementById('customer_mobilvorwahl')) { document.getElementById('customer_mobilvorwahl').style.backgroundImage = ''; } 
	if (document.getElementById('customer_mobil')) { document.getElementById('customer_mobil').style.backgroundImage = ''; } 
	if (document.getElementById('customer_bemerkungen')) { document.getElementById('customer_bemerkungen').style.backgroundImage = ''; } 
	if (document.getElementById('label_customer_agb')) { document.getElementById('label_customer_agb').style.backgroundImage = ''; } 
	if (document.getElementById('label_customer_vorkasse')) { document.getElementById('label_customer_vorkasse').style.backgroundImage = ''; } 
	if (document.getElementById('label_customer_nachnahme')) { document.getElementById('label_customer_nachnahme').style.backgroundImage = ''; } 
	if (document.getElementById('label_customer_barzahlung')) { document.getElementById('label_customer_barzahlung').style.backgroundImage = ''; } 
	return true;
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_list_refresh(entry_ID)
{
	testvar += '\n cart_list_refresh()';  // TEST
	if (document.getElementById('cart_list')) { document.getElementById('cart_list').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
	read_servlet('warenkorb.inc.php?action=cart_list', 'cart_list', 'replace', entry_ID, ''); 
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function quantity_send(entry_ID)
{
	testvar += '\n quantity_send()'; // TEST 
	if (document.getElementById('status_cart').value=='cart_finished') // Falls während der Endbestätigung noch etwas angeklickt wird, zum Anfangsstadium zurückkehren
	{
		document.getElementById('cart_button').value = 'Warenkorb öffnen';
		document.getElementById('cart_content').style.display = 'none';
		document.getElementById('cart_list').innerHTML = '<!-- cart_element_empty -->';
	}
	document.getElementById('cartbox').style.display = 'block';
	document.getElementById('cartbox_2').style.display = 'block';
	
	if (document.getElementById('entry'+entry_ID+'_prev_quantity')) { var prev_quantity = Number(document.getElementById('entry'+entry_ID+'_prev_quantity').value); }
	else if (document.getElementById('cart_entry'+entry_ID+'_prev_quantity')) { var prev_quantity = Number(document.getElementById('cart_entry'+entry_ID+'_prev_quantity').value); }
		
	// Es ist wichtig, dass als aktuelle quantity das geänderte Elenent genommen wird und das dazugehörige Warenkobtool mit geändert wird. 
	// Probleme gab das beim onBlur des quantity-Textfelds, deshalb dieser etwas umständlich wirkende Aufbau.
	if (document.getElementById('entry'+entry_ID+'_quantity')) { var entry_quantity = Math.ceil(Number(document.getElementById('entry'+entry_ID+'_quantity').value)); }
	else { entry_quantity = prev_quantity; }
	if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { var cart_quantity = Math.ceil(Number(document.getElementById('cart_entry'+entry_ID+'_quantity').value)); }	
	else { cart_quantity = prev_quantity; }
	if (entry_quantity!=prev_quantity) { var quantity = entry_quantity; if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').value = quantity; } }
	else { var quantity = cart_quantity; if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').value = quantity; } }
	
	// Falls nicht Nummer, quantity auf 1 setzen
	if (isNaN(quantity)) 
	{ 
	quantity = 1; 
	if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').value = quantity; }
	if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').value = quantity; }
	}

	// Nur, wenn sich etwas geändert hat, Server aktualisieren
	if (prev_quantity!=quantity) 
	{
		if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
		if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
		if (document.getElementById('cart_sum')) { document.getElementById('cart_sum').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
		if (document.getElementById('cart_sum_2')) { document.getElementById('cart_sum_2').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
		
		if (document.getElementById('entry'+entry_ID+'_prev_quantity')) { document.getElementById('entry'+entry_ID+'_prev_quantity').value = quantity; }
		if (document.getElementById('cart_entry'+entry_ID+'_prev_quantity')) { document.getElementById('cart_entry'+entry_ID+'_prev_quantity').value = quantity; }
		
		if (!document.getElementById('cart_entry'+entry_ID+'_plusminus_box') && quantity!=0) { var nextfunc = "cart_list_refresh("+entry_ID+")"; } // Falls neuer Artikel, Warenkorb-Liste aktualisieren
		else if (quantity==0) { var nextfunc = "plusminus_reset("+entry_ID+")"; } // Falls quantity=0, Warenkorb-Tool zurücksetzen und Warenkorb-Liste aktualisieren
		else var nextfunc = '';
		read_servlet('warenkorb.inc.php?action=set_quantity&quantity='+quantity+'&entry_ID='+entry_ID, 'cart_sum cart_sum_2', 'replace', entry_ID, nextfunc);
		// window.setTimeout('cart_list_refresh('+entry_ID+')', 700); 
	}	
	
	delete(entry_quantity);
	delete(cart_quantity);
	delete(quantity);
	delete(prev_quantity);
	delete(nextfunc);
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function plus_over(entry_ID)
{
	if (document.getElementById('entry'+entry_ID+'_tooltip_cart')) { document.getElementById('entry'+entry_ID+'_tooltip_cart').style.display = 'block'; }
	if (document.getElementById('entry'+entry_ID+'_icon_cart')) { document.getElementById('entry'+entry_ID+'_icon_cart').src = 'style/icon_cart_over.gif'; }
	if (document.getElementById('entry'+entry_ID+'_icon_plus')) { document.getElementById('entry'+entry_ID+'_icon_plus').src = 'style/icon_plus_over.gif'; }
	if (document.getElementById('cart_entry'+entry_ID+'_icon_plus')) { document.getElementById('cart_entry'+entry_ID+'_icon_plus').src = 'style/icon_plus_over.gif'; }
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function plus_out(entry_ID)
{
	if (document.getElementById('entry'+entry_ID+'_tooltip_cart')) { document.getElementById('entry'+entry_ID+'_tooltip_cart').style.display = 'none'; }
	if (document.getElementById('entry'+entry_ID+'_icon_cart')) { document.getElementById('entry'+entry_ID+'_icon_cart').src = 'style/icon_cart.gif'; }
	if (document.getElementById('entry'+entry_ID+'_icon_plus')) { document.getElementById('entry'+entry_ID+'_icon_plus').src = 'style/icon_plus.gif'; }
	if (document.getElementById('cart_entry'+entry_ID+'_icon_plus')) { document.getElementById('cart_entry'+entry_ID+'_icon_plus').src = 'style/icon_plus.gif'; }
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function plus_click(entry_ID)
{
	testvar += '\n plus_click()'; // TEST 
	if (document.getElementById('cart_entry'+entry_ID+'_quantity_box')) { document.getElementById('cart_entry'+entry_ID+'_quantity_box').style.marginLeft = '-3px'; document.getElementById('cart_entry'+entry_ID+'_quantity_box').style.marginLeft = '-4px'; } // Würg-Around für den blöden IE6
	
	if (document.getElementById('entry'+entry_ID+'_quantity')) { var quantity = Number(document.getElementById('entry'+entry_ID+'_quantity').value) + 1; }
	else if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { var quantity = Number(document.getElementById('cart_entry'+entry_ID+'_quantity').value) + 1; }
	if (document.getElementById('entry'+entry_ID+'_store')) { var store = document.getElementById('entry'+entry_ID+'_store').value; }
	else if (document.getElementById('cart_entry'+entry_ID+'_store')) { var store = document.getElementById('cart_entry'+entry_ID+'_store').value; }
	
	if (document.getElementById('entry'+entry_ID+'_icon_cart_box')) { document.getElementById('entry'+entry_ID+'_icon_cart_box').style.display = 'none'; } // Tool einblenden statt Warenkorb-Icon
	if (document.getElementById('entry'+entry_ID+'_plusminus_box')) { document.getElementById('entry'+entry_ID+'_plusminus_box').style.display = 'inline'; }
	if (document.getElementById('cart_entry'+entry_ID+'_plusminus_box')) { document.getElementById('cart_entry'+entry_ID+'_plusminus_box').style.display = 'block'; }

	if (store!='' && quantity>Number(store)) // Bei Überschreibung des Lagerbestands Fehlermeldung
	{
		if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').value = store; }
		if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').value = store; }	
		alert('Maximal '+store+' verfügbar! Bestellung größerer Mengen nicht möglich.');
	}
	else
	{
		if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').value = quantity; }
		if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').value = quantity; }	
	}
	window.setTimeout("quantity_send("+entry_ID+")",500);
	delete(quantity);
	delete(store);
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function minus_over(entry_ID)
{
	if (document.getElementById('entry'+entry_ID+'_icon_minus')) { document.getElementById('entry'+entry_ID+'_icon_minus').src = 'style/icon_minus_over.gif'; }
	if (document.getElementById('cart_entry'+entry_ID+'_icon_minus')) { document.getElementById('cart_entry'+entry_ID+'_icon_minus').src = 'style/icon_minus_over.gif'; }
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function minus_out(entry_ID)
{
	if (document.getElementById('entry'+entry_ID+'_icon_minus')) { document.getElementById('entry'+entry_ID+'_icon_minus').src = 'style/icon_minus.gif'; }
	if (document.getElementById('cart_entry'+entry_ID+'_icon_minus')) { document.getElementById('cart_entry'+entry_ID+'_icon_minus').src = 'style/icon_minus.gif'; }
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function minus_click(entry_ID)
{
	testvar += '\n minus_click()'; // TEST 
	if (document.getElementById('entry'+entry_ID+'_quantity')) { var quantity = Number(document.getElementById('entry'+entry_ID+'_quantity').value) - 1; }
	else if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { var quantity = Number(document.getElementById('cart_entry'+entry_ID+'_quantity').value) - 1; }
	
	if (quantity<1) { quantity = 0; }
	if (document.getElementById('entry'+entry_ID+'_quantity')) { document.getElementById('entry'+entry_ID+'_quantity').value = quantity; }
	if (document.getElementById('cart_entry'+entry_ID+'_quantity')) { document.getElementById('cart_entry'+entry_ID+'_quantity').value = quantity; }

	window.setTimeout("quantity_send("+entry_ID+")",500);
	delete(quantity);
}








///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Funktionen des Warenkorbs


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_show_hide() // Warenkorb minimieren oder anzeigen
{
	testvar += '\n cart_show_hide()'; // TEST 
	if (document.getElementById('cart_content').style.display!='block')
	{
		cart_show();
	}
	else
	{
		document.getElementById('cart_content').style.display = 'none';
		document.getElementById('cart_button').value = 'Warenkorb öffnen';
	}
}



// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_show() // Warenkorb anzeigen
{
	testvar += '\n cart_show()'; // TEST
	document.getElementById('cart_content').style.display = 'block';
	if (document.getElementById('status_cart_list').value=='empty') { cart_list_refresh(); }
	if (document.getElementById('status_cart_address').value=='showing_address') { document.getElementById('cart_button').value = 'weiter'; }
	else if (document.getElementById('status_cart_address').value=='showing_confirm') { document.getElementById('cart_button').value = 'Bestellung absenden'; }
	else document.getElementById('cart_button').value = 'Adresse eingeben';
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_address() // Adressformular, wird auch durch das Icon "zur Kasse gehen" aufgerufen
{
	testvar += '\n cart_address()'; // TEST
	document.getElementById('cart_content').style.display = 'block';
	if (document.getElementById('spacer_cart_address')) { document.getElementById('spacer_cart_address').height = '100'; }
	if (document.getElementById('cart_address')) { document.getElementById('cart_address').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
	if (document.getElementById('status_cart_list').value=='empty') { var nextfunc = 'cart_list_refresh()'; }
	else var nextfunc = '';
	read_servlet('warenkorb.inc.php?action=cart_address', 'cart_address', 'replace', '', nextfunc);
	document.getElementById('cart_button').value = 'weiter';
	delete(nextfunc);
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_confirm() // Übersicht anzeigen
{
	// alert('cart_confirm()');
	if (document.getElementById('cart_address')) { document.getElementById('cart_address').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }

	if (document.getElementById('customer_vorname').value.replace(/ /,'')=='') { var check = 'error'; document.getElementById('err_customer_vorname').style.display = 'block'; document.getElementById('customer_vorname').style.border = 'solid 1px red'; }
	if (document.getElementById('customer_nachname').value.replace(/ /,'')=='') { var check = 'error'; document.getElementById('err_customer_nachname').style.display = 'block'; document.getElementById('customer_nachname').style.border = 'solid 1px red'; }
	if (document.getElementById('customer_strasse').value.replace(/ /,'')=='') { var check = 'error'; document.getElementById('err_customer_strasse').style.display = 'block'; document.getElementById('customer_strasse').style.border = 'solid 1px red'; }
	if (document.getElementById('customer_postleitzahl').value.replace(/ /,'')=='') { var check = 'error'; document.getElementById('err_customer_postleitzahl').style.display = 'block'; document.getElementById('customer_postleitzahl').style.border = 'solid 1px red'; }
	if (document.getElementById('customer_wohnort').value.replace(/ /,'')=='') { var check = 'error'; document.getElementById('err_customer_wohnort').style.display = 'block'; document.getElementById('customer_wohnort').style.border = 'solid 1px red'; }
	if (document.getElementById('status_customer_emailadresse').value!='OK') { var check = 'error'; document.getElementById('err_customer_emailadresse').style.display = 'block'; document.getElementById('customer_emailadresse').style.border = 'solid 1px red'; }
	if (document.getElementById('customer_agb').checked!=true) { var check = 'error'; document.getElementById('err_customer_agb').style.display = 'block'; }
	
	if (check=='error') 
	{ 
		alert ('Angaben unvollständig oder fehlerhaft! \nBitte korrigieren Sie Ihre Angaben in den rot markierten Eingabefeldern.'); 
		window.setTimeout("reset_backgrounds('')", 500);
	}
	else 
	{ 
		window.setTimeout("read_servlet('warenkorb.inc.php?action=cart_confirm', 'cart_address', 'replace', '', '');",200); 
		document.getElementById('cart_button').value = 'Bestellung absenden';
	}
	delete (check);
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_submit() // Warenkorb absenden
{
	// alert('cart_submit()');
	if (document.getElementById('cartbox_2')) { document.getElementById('cartbox_2').style.display = 'none'; }
	if (document.getElementById('cartbox_inside')) { document.getElementById('cartbox_inside').style.backgroundImage = 'url(style/hg_form_submit.gif)'; }
	read_servlet('warenkorb.inc.php?action=cart_submit', 'cartbox_inside', 'replace', '', '');
	
	var array_reset_IDs = document.getElementById('reset_tools').value.split(" ");
	for (var i=0; i<array_reset_IDs.length; i++)
	{
		if (document.getElementById('entry'+array_reset_IDs[i]+'_quantity')) { document.getElementById('entry'+array_reset_IDs[i]+'_quantity').value = '0'; }
		if (document.getElementById('entry'+array_reset_IDs[i]+'_prev_quantity')) { document.getElementById('entry'+array_reset_IDs[i]+'_prev_quantity').value = '0'; }
		if (document.getElementById('entry'+array_reset_IDs[i]+'_icon_cart_box')) { document.getElementById('entry'+array_reset_IDs[i]+'_icon_cart_box').style.display = 'inline'; }
		if (document.getElementById('entry'+array_reset_IDs[i]+'_plusminus_box')) { document.getElementById('entry'+array_reset_IDs[i]+'_plusminus_box').style.display = 'none'; }
	}
	delete (array_reset_IDs);
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_reset() // Warenkorb schließen
{
	// alert('cart_reset()');
	if (document.getElementById('cartbox_inside')) 
		{ 
		document.getElementById('cartbox_inside').style.backgroundImage = 'url(style/hg_form_submit.gif)'; 
		window.setTimeout("document.getElementById('cartbox').style.display = 'none';", 500);
		window.setTimeout("document.getElementById('cartbox_inside').style.backgroundImage = '';", 500);
		}
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function cart_next() // Warenkorb-Schritte nacheinander
{
	testvar += '\n cart_next()'; // TEST 
	if (document.getElementById('cart_content').style.display!='block')
	{
		cart_show();
	}
	else if (document.getElementById('status_cart').value=='cart_finished')
	{
		// alert ('cart_reset();');
		cart_reset();
	}
	else if (document.getElementById('status_cart_address').value=='empty')
	{
		cart_address();
	}
	else if (document.getElementById('status_cart_address').value=='showing_address')
	{
		cart_confirm();
	}
	else if (document.getElementById('status_cart_address').value=='showing_confirm')
	{
		cart_submit();
	}
	else alert ('keine Bedingung zutreffend');
}


// ---------------------------------------------------------------------------------------------------------------------------------------------------------------
function customerdata_send(name, content, target, activearea) // Formularfelder des Adressformulars einzeln absenden
{
	if (activearea!='') { document.getElementById(activearea).style.backgroundImage = 'url(style/hg_form_submit.gif)'; } 
	else document.getElementById(name).style.backgroundImage = 'url(style/hg_form_submit.gif)';
	if (target=='') { var target = 'submitreport'; }
	read_servlet('warenkorb.inc.php?action=customerdata_send&name='+name+'&content='+content, target, 'replace', '', '');
	// alert ('customerdata_send('+name+', '+content+', '+target+', '+activearea+')'); // TEST
	delete (target);
}





