/*
	Dateiname:			js_wk.js
	Zweck:				Warenkorb-Funktionen, Eingaben pruefen.
	Ersteller:			uo
	Datum:				06.09.2004
	Version:			3.3.1
							 
	Aenderungen :
	Datum		Version	Wer		Beschreibung
	12.01.2005	3.3.1a	uo		V3.3 erzeugt
	01.11.2006	3.3.1b	uo		Wenn der eingegebene Wert = 0 ist, muss ebenfalls die Mindesbestellmenge eingefügt werden.
	15.10.2008	3.3.1c	uo		Div. Anpassungen

	------------------------------------------------------------
	
	Kundenspezifische Anpassungen:
	Datum		Wer		Beschreibung
	08.11.2006	uo		Neue Funktion hinzugefuegt: Ermöglicht das Speichern mit 'Enter' für den Warenkorb
	09.11.2006	uo		Meldung bezgl. Mindesbestellmenge nur anzeigen wenn diese groesser als 1 ist.
	05.02.2007	uo		Wenn der eingegebene Wert = 0 ist, wird der Artikel aus dem Warenkorb gelöscht.
	
*/

/*
Der Wert in der Variable ct_ ist folgendermassen aufgebaut:
Bsp: #sart_minsalesunit_qty#££0£KG£0
- Mindestbestellmenge
- Ersatzartikel
- polizist: Fuer Ueberprüfung der Einheiten. (Wird nicht verwendet, da sowieso nur korrekte Mengen eingegeben werden können.
- einheit (als Text), z.B. Kg, Stk, Schachtel, etc.
- qtySave ??
*/

<!--
	function qty_mut (basketid,id,type) {
		var f=eval('document.form_basket'+basketid); 
		var thisQty=eval('f.basketquantity'+id).value; 
		
		var x=eval('f.ct_'+id).value;
		x=x.split('£');
		var mindbestmenge=x[0]; 
		if (isNaN(mindbestmenge))
			mindbestmenge=1; 
		mindbestmenge=parseInt(mindbestmenge);
		var ersatzart=x[1];
		var polizist=x[2];
		var einheit=x[3];
		var qtySave=x[4];
		//var art_id=x[5];
		//var lagerbestand=x[6];

		if ((thisQty=='') || (isNaN(thisQty))) {
			if ((type=='add') || (type=='sub'))
				thisQty=0; 
			else if (!isNaN(mindbestmenge))
				thisQty=mindbestmenge;
			else
				thisQty=1
		}
		thisQty=parseInt(thisQty);

		if (isNaN(thisQty)) {
			newQty=qtySave;
		} else {
			ok = true;
			if (polizist > 0 && polizist && thisQty > polizist)
				ok = confirm('Die Einheit für diesen Artikel ist ' + einheit + '.\nWollen Sie wirklich ' + thisQty + ' ' + einheit + ' bestellen?\nBitte überprüfen Sie die Anzahl die in einer Einheit enthalten ist.');

			if (ok) {
				if (ersatzart.length > 0 && (type == 'add' || type == 'sub')) 
					alert('Achtung: Dieser Artikel wurde mit dem Artikel ' + ersatzart + ' ersetzt.');
				else if (ersatzart.length > 0)
					alert('ACHTUNG: Dieser Artikel wurde durch den Artikel-Nr. [' + ersatzart + '] ersetzt! Prüfen Sie im Warenkorb ob der Ersatz-Artikel Ihren Anforderungen entspricht. Der Ersatzartikel wird in Ihren Warenkorb gelegt.');
				//if (ersatzart.length > 0 && type != 'chk2') 
					//alert('Achtung: Dieser Artikel wurde mit dem Artikel ' + ersatzart + ' ersetzt.');
					//alert('ACHTUNG: Dieser Artikel wurde durch den Artikel-Nr. [' + ersatzart + '] ersetzt! Prüfen Sie im Warenkorb ob der Ersatz-Artikel Ihren Anforderungen entspricht. Der Ersatzartikel wird in Ihren Warenkorb gelegt.');
				if (type=='add') {
					//uo, 04.12.2006: Falls der aktuelle Wert nicht der Mindestbestellmenge oder einem vielfachen davon entspricht (z.B: bei Schnellbestellung)
					if (thisQty % mindbestmenge != 0) {
						newQty = thisQty - (thisQty % mindbestmenge) + mindbestmenge;
					} else {
						newQty=thisQty+mindbestmenge;
					}
				} else if (type=='sub') {
					/* uo, 04.12.2006: Falls der aktuelle Wert nicht der Mindestbestellmenge oder einem vielfachen davon entspricht (z.B: bei Schnellbestellung) */
					if (thisQty % mindbestmenge != 0) {
						newQty = thisQty - (thisQty % mindbestmenge);
					} else {
						newQty=thisQty-mindbestmenge;
					}
				} else {
					/* uo, 01.11.2006: Wenn der eingegebene Wert = 0 ist, muss ebenfalls die Mindesbestellmenge eingefügt werden. */
					/* uo, 15.10.2008: Wenn der eingegebene Wert = 0 ist, wird er unverändert übernommen. Der Artikel wird anschliessend aus dem Warenkorb gelöscht. */
					//if ((thisQty % mindbestmenge != 0) || (thisQty == 0)) {
					if (thisQty % mindbestmenge != 0) {
						newQty = thisQty - (thisQty % mindbestmenge) + mindbestmenge;
						/* uo, 09.11.2006: Meldung bezgl. Mindesbestellmenge nur anzeigen wenn diese groesser als 1 ist. */
						if (mindbestmenge > 1) {
							alert('Mindestbestellmenge ist ' + mindbestmenge + '.\nBestellmenge wird angepasst auf ' + newQty + '.');
						}
					} else
						newQty=thisQty;
				}
				if (newQty < 0)
					newQty='';
			} else
				newQty=qtySave;
		}
		eval('f.basketquantity'+id).value=newQty;
	}

	/*
	Funktion für Einfügen der Artikel im Warenkorb.
	Parameter:
	- basketid: Normalerweise=1. Nur im Warenkorb selber kann es mehrere Basket geben wenn eine Aufteilung auf Lieferanten erfolgt.
	- id: currentrow, Nummerierung der Eingabefelder
	*/
	function insbasket(basketid,id)
	{
		var error1 = 0;
		var f=eval('document.form_basket'+basketid); 
		var qty_before=eval('f.basketquantity'+id).value;
	
		qty_mut(basketid,id,'chk2');
		var qty_after=eval('f.basketquantity'+id).value;
		if (qty_before == '') {
			//uo, 02.11.2006: Es kann nicht mehr vorkommen, dass die Quantity leer ist, da dies vorgängig bereits abgefangen wird.
			//qty_mut(id,'add');
		} else if (qty_before == qty_after)
			;

		// Weitere Pruefungen koennen noch eingebaut werden.
		if(error1 == 0){
			f.submit();
		}
	}

	function insmemo(basketid,id,sart_id,memo_type)
	{
		var error1 = 0;
		var f=eval('document.form_basket'+basketid); 
		var qty_before=eval('f.basketquantity'+id).value;

		// Weitere Pruefungen koennen noch eingebaut werden.
	
		if(error1 == 0){
			location.href='/index.cfm?shop_action=dsp_editmemo&amp;memo_type='+memo_type+'&amp;content=shop&amp;smemoart_sartnr='+sart_id+document.form_shopsearch.urlparam.value;
		}
	}
	function submit_memo(memo_type) {
		document.location.href='/index.cfm?shop_action=dsp_memo&amp;memo_type='+memo_type+'&amp;content=shop&amp;memo_id='+document.form_changememo.memo_id.options[document.form_changememo.memo_id.options.selectedIndex].value+document.form_shopsearch.urlparam.value;
	}
	function validatememo(memo_type)
	{
		var error1 = 0;
		var error2 = 0;
		var errmsg1 = "";
		var errmsg2 = "";
		var focus = "";

		if (memo_type == 'memory'){
			if (document.form_newmemo.smemo_name.value.length == 0){
				error1 = 1;
				errmsg1 += "- #application.webtext[spr].shop_memo_memory_name#\n";
				focus = "document.form_newmemo.smemo_name.focus()";
			}
		}
		if (memo_type == 'monitoring'){
			if (document.form_monitoring.smemo_price.value.length == 0){
				error1 = 1;
				errmsg1 += "- #application.webtext[spr].shop_memo_memory_name#\n";
				focus = "document.form_monitoring.smemo_name.focus()";
			}
		}
			

		if((error1 == 0) && (error2 == 0)){
			//document.form_newmemo.submit();
			//location.href = '/index.cfm?shop_action=act_inspostit&content=shop&smemo_type=3&sart_id='+document.form_newmemo.sart_id.value+'&smemo_name='+document.form_newmemo.smemo_name.value+document.form_shopsearch.urlparam.value;
			if (memo_type == 'memory'){
				location.href = '/index.cfm?shop_action=act_insmemo&amp;content=shop&amp;memo_type='+memo_type+'&amp;sart_id='+document.form_newmemo.sart_id.value+'&amp;smemo_name='+document.form_newmemo.smemo_name.value+document.form_shopsearch.urlparam.value;
			}
			if (memo_type == 'monitoring'){
				location.href = '/index.cfm?shop_action=act_insmemo&amp;content=shop&amp;memo_type='+memo_type+'&amp;sart_id='+document.form_monitoring.sart_id.value+'&amp;smemo_price='+document.form_monitoring.smemo_price.value+document.form_shopsearch.urlparam.value;
			}
		} else if (error1 == 1) {
			errmsg1 = "#application.webtext[spr].mysite_error_missingfields#" + errmsg1;
			alert(errmsg1);
			eval(focus);
			//return false;
		} else if (error2 == 1) {
			errmsg2 = "#application.webtext[spr].mysite_error_wrongformat#" + errmsg2;
			alert(errmsg2);
			eval(focus);
			//return false;
		}
	}

	/*
	Eingabeprüfungen bei der einfachen Artikelsuche
	Parameter:
	*/
	function validate_shopsearch(formname,fieldname,minlength,error_searchtext,error_missingfields)
	{
		var f=eval('document.'+formname+'.'+fieldname); 
		var error1 = 0;
		var errmsg1 = '';
		var focus = '';

		if (f.value.length < minlength || f.value.substring(0,1) == ' '){
			error1 = 1;
			errmsg1 += '\n- '+error_searchtext+' '+minlength;
			focus = f.focus();
		}

		if (error1 == 0){
			return true;
		} else if (error1 == 1) {
			if (f.value.length > minlength) {f.value=''};	// Initialisierungstext löschen
			errmsg1 = error_missingfields+' '+errmsg1;
			alert(errmsg1);
			eval(focus);	// Focus setzen
			return false;
		}
	}


	function validate_extendedsearch(formular,fieldname,minlength)
	{
		var error1 = 0;
		var errmsg1 = "";
		var focus = "";
alert(formular);
alert('document.'+formular+'.'+fieldname+'_1');
var f1=eval('document.'+formular+'.'+fieldname+'_1');
var f2=eval('document.'+formular+'.'+fieldname+'_2');
var f3=eval('document.'+formular+'.'+fieldname+'_3');
alert(f1.value);
alert(f1.value.length);
//alert(f.+'_1'+.value);
//alert(eval('f.'+_1).value));
		if (f1.value.length < minlength || f1.value.substring(0,1) == ' '){
			error1 = 1;
			errmsg1 += '\n- '+document.form_shopsearch_and.error_search_searchword.value+' '+minlength;
			focus = f1.focus();
		}
		/* Der zweite Suchbegriff darf auch nicht weniger als zwei Zeichen enthalten (falls vorhanden). */
		if (f1.value.length >= minlength && f1.value.substring(0,1) != ' '){
			if ((f2.value.length > 0 && f2.value.length < minlength) || f2.value.substring(0,1) == ' '){
				error1 = 1;
				errmsg1 += '\n- '+document.form_shopsearch_and.error_search_searchword.value+' '+minlength;
				focus = f2.focus();
			}
		}
		/* Der dritte Suchbegriff darf auch nicht weniger als zwei Zeichen enthalten (falls vorhanden). */
		if (f2.value.length >= minlength && f2.value.substring(0,1) != ' '){
			if ((f3.value.length > 0 && f3.value.length < minlength) || f3.value.substring(0,1) == ' '){
				error1 = 1;
				errmsg1 += '\n- '+document.form_shopsearch_and.error_search_searchword.value+' '+minlength;
				focus = f3.focus();
			}
		}

		if (error1 == 0){
			top.location.href='/index.cfm?shop_action=dsp_selectionbysearch&amp;'+fieldname+'_1='+f1.value+'&amp;'+fieldname+'_2='+f2.value+'&amp;'+fieldname+'_3='+f3.value+document.form_shopsearch_and.urlparam.value;
		} else if (error1 == 1) {
			if (f1.value.length > minlength) {f1.value = ''};	// Initialisierungstext löschen
			errmsg1 = document.form_shopsearch_and.error_missingfields.value+' '+errmsg1;
			alert(errmsg1);
			eval(focus);	// Focus setzen
			return (false);
		}
	}

	/*
	function validatesearch_and()
	{
		var error1 = 0;
		var error2 = 0;
		var errmsg1 = "";
		var errmsg2 = "";
		var focus = "";

		if (document.form_search_string_and.suchbegriff_string1_and.value.length <= 2 || document.form_search_string_and.suchbegriff_string1_and.value.substring(0,1) == ' '){
			error1 = 1;
			errmsg1 += "- #application.webtext[session.sprachenr].search_searchword#\n";
			focus = "document.form_search_string_and.suchbegriff_string1_and.focus()";
		}
		<!--- Der zweite Suchbegriff darf auch nicht weniger als zwei Zeichen enthalten (falls vorhanden). --->
		if (document.form_search_string_and.suchbegriff_string1_and.value.length > 2 || document.form_search_string_and.suchbegriff_string1_and.value.substring(0,1) != ' '){
			if (document.form_search_string_and.suchbegriff_string2_and.value.length > 0 && document.form_search_string_and.suchbegriff_string2_and.value.length <= 2){
				error1 = 1;
				errmsg1 += "- #application.webtext[session.sprachenr].search_searchword#\n";
				focus = "document.form_search_string.suchbegriff_string2_and.focus()";
			}
		}
		<!--- Der dritte Suchbegriff darf auch nicht weniger als zwei Zeichen enthalten (falls vorhanden). --->
		if (document.form_search_string_and.suchbegriff_string2_and.value.length > 2 || document.form_search_string_and.suchbegriff_string2_and.value.substring(0,1) != ' '){
			if (document.form_search_string_and.suchbegriff_string3_and.value.length > 0 && document.form_search_string_and.suchbegriff_string3_and.value.length <= 2){
				error1 = 1;
				errmsg1 += "- #application.webtext[session.sprachenr].search_searchword#\n";
				focus = "document.form_search_string.suchbegriff_string3_and.focus()";
			}
		}

		if((error1 == 0) && (error2 == 0)){
			document.form_search_string_and.submit();
		} else if (error1 == 1) {
			errmsg1 = "#application.webtext[session.sprachenr].mysite_error_missingfields#" + errmsg1;
			alert(errmsg1);
			eval(focus);
			//return false;
		} else if (error2 == 1) {
			errmsg2 = "#application.webtext[session.sprachenr].mysite_error_wrongformat#" + errmsg2;
			alert(errmsg2);
			eval(focus);
			//return false;
		}
	}
*/
// -->


