// Java Script Functionen zur Plausibilisierung der Eingabewerte in Formularen

function CheckStr(w_wert,MinLen, MaxLen)
{
	
//       	var meldung_zuLang = "Der von Ihnen ausgegeben Text ist zu lang. Bitte kürzen Sie den Text auf " + MaxLen + ". Ihr Text ist z.Z. " + StrLen + " Zeichen lang. ";

     	var meldung_zuKurz = "Bitte geben Sie mindestens " + MinLen + " Zeichen  ein";
	var myvalue = w_wert.value;

	StrLen =  myvalue.length;

	var meldung_zuLang = "Der von Ihnen ausgegeben Text ist zu lang. Bitte kürzen Sie den Text auf " + MaxLen  + " Zeichen (z.Z. " + StrLen +  " Anzahl Zeichen)";

	if (StrLen > MaxLen )
	{
		// w_wert=myvalue.substring(0,maxlen);
		window.alert(meldung_zuLang);
		return false;
	}
	else if (StrLen < MinLen )
	{	
  		window.alert(meldung_zuKurz);
		return false;
	}	
	else
  	{
		//w_wert.value = myvalue.replace(/'/,"''");		
		w_wert.value = myvalue.replace(/'/,'');	// Verdoppeln macht ärger
		return true;
    	}		
}


function CheckBOXAGB(sConfirmend)
{
	var ret;
	var sMsG;
	sMSG= 'Sie müssen erst die Allgemeinen Geschäftsbedingungen und Zusatzinformationen akzeptieren.\r\rAnschliessend können Sie mit dem Bestellvorgang fortfahren.';

	ret=CheckBoxIsChecked(sConfirmed,sMSG)

	return ret;	
}



function CheckBoxIsChecked(sConfirmed,sMSG)
{
	if (sConfirmed != null )
	{
		if (sConfirmed.checked == true )
		{
			return true;
		}
		else
		{
			alert(sMSG);
			return false;				
		}
	}
	else
	{
		return true;
	}	
}



function PlausiNumeric(w_wert,w_def, w_min, w_max, w_fix) // Object, Content Object defaultvalue, Range Min and Max-value, w_fix=1 -> without . or , 
{
	if(w_wert.value) 
	{
      		var myvalue = w_wert.value;
		// window.alert("nach myvalue");
		myvalue = myvalue.replace(/,/,'.'); 		// Komma gegen Punkt tauschen -> Ansonsten SQL Problem
		var num = myvalue.match(/[^0-9,\.\-]/gi);
      		var dot = myvalue.match(/\./g);

	      	if (num!=null) 
		{
        		w_wert.value=w_def;
			window.alert("Bitte geben Sie eine Zahl ein (keine Sonderzeichen oder Buchstaben)");	
			w_wert.focus();
			return False;
      		}
	      	else if ((dot!=null) && (w_fix==1)) 
		{
        		w_wert.value=w_def;
			window.alert("Bitte geben Sie hier kein Zahlen mit Nachkommastellen ein!");	
			w_wert.focus();
			return False;
		}

	      	else if ((dot!=null) && (dot.length>1)) 
		{
        		w_wert.value=w_def;
			window.alert("Bitte geben Sie nur eine Komma oder einen Punkt ein.");	
			w_wert.focus();
			return False;
      		}

	    	if (w_wert.value*1 < w_min || w_wert.value*1 >w_max)	
    		{   			
			w_wert.value=w_def;						
			window.alert("Bitte geben Sie einen Wert groesser oder gleich " + w_min + " und kleiner oder gleich " + w_max + " ein." );
			w_wert.focus();	
			return False;
		}
		
		return True;
	}
	else
	{
		f_wert.value=w_def;
		w_wert.focus();
		window.alert("Bitte geben Sie eine Zahl ein (keine Sonderzeichen oder Buchstaben)");
	}
}



// JJ 30.04.2006

function f_chkForm_uhrzeit(formular, name, label, value)
	{
	var meldung = "Bitte geben Sie die Uhrzeit im Feld [" + label + "] im Format  08:00  ein."

 	if (CheckUhrzeit(value)==false)
		{
		window.alert(meldung);
		eval("document." + formular + "." + name + ".value = ''");
		eval("document." + formular + "." + name + ".focus()");
		}
	}



function f_chkForm_email(formular, name, label, text)
{
//	regex_EMAIL funktioniert nur in ASP, nicht in javascript
//	var regex_EMAIL = "/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{1,3})$/";

	var meldung = "Die EMail-Adresse in Feld [" + label + "] hat ein ungültiges Format."

	var reg_ex_email=/^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/;

	if (text.length > 0 && f_CheckPattern(text, reg_ex_email) == false)
		{
		window.alert(meldung);
		eval("document." + formular + "." + name + ".value = ''");
		eval("document." + formular + "." + name + ".focus()");
		}
	
}



function f_chkForm_ustid(formular, name, label, textparam, landobj)

{
	var meldung = "Die Ust-ID hat ein ungültiges Format."
	var land;
	var text;
	var regex_ustid;
	var meldung_muster;
	
	with (landobj)
		{
		land = options[selectedIndex].value;
		}
	
	//window.alert(land);
	//window.alert(text);

	//Achtung! verursacht bei IE einen javascript-Fehler
	//text = textparam.replace(/[\s:-.]/g, '');

	text = textparam.replace(/\s/g, '');
	text = text.replace(/:/g, '');
	text = text.replace(/-/g, '');
	text = text.replace(/\./g, '');

	switch(land)
		{
		case '2':		// D
			{
			regex_ustid = /^DE\d{9}$/i;
			break;
			}
		case '3':		// A
			{
			regex_ustid = /^ATU\d{8}$/i;
			break;
			}
		case '18':	// PL
			{
			regex_ustid = /^PL\d{10}$/i;
			break;
			}
		default:		// D
			{
			regex_ustid = /^DE\d{9}$/i;
			}
		}

	//window.alert(regex_ustid);

	if (text.length > 0 && f_CheckPattern(text, regex_ustid) == false)
		{
		window.alert(meldung);
		eval("document." + formular + "." + name + ".value = ''");
		eval("document." + formular + "." + name + ".focus()");
		}	
}




function CheckUhrzeit(text)
{
	if (text.length == 0)
		return true;

	if (text.length != 5)
		return false;

	var array = text.split(":");
  
	if((array.length) !=2)	
		return false;
   
	for (i=0; i<2; i++)
		{
		if (array[i].length != 2)
			return false;

		if (isNaN(array[i]))
			return false;

		if (array[i] < 0)
			return false;	
		}

	if (array[0] > 24 || array[1] > 60)
		return false;	
 
	return true;
}




function f_CheckPattern(text, sRegex)
	{
	var ret = text.match(sRegex);

	if (! ret)
		return false;

	return true;
	}

