// JavaScript Document

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// hier angeben was Pflichtfeld ist und was nicht 
	// Angaben immer in drei Feldern:  'Pruefungstyp','feldname','Klartextname'
	// Pruefungstyp kann folgendes sein:
	// 'pflicht' 			= einfaches Textfeld als Pflichtfeld
	// 'nummer'  			= Pruefung auf reinen nummerischen Inhalt
	// 'email'   			= Pruefung auf ein @ Zeichen im Textfeld
	// 'email_regex'	= Pruefung auf eine gueltige eMail-Adresse mit RegEx
	// '1button' 			= um eine Gruppe von _einem_ Radiobutton zu pruefen
	// '2button' 			= um eine Gruppe von _zwei_ Radiobuttons zu pruefen
	// 'xbutton' 			= um eine Gruppe von _egal wie vielen_ Radiobuttons zu pruefen
	// 'compare' = um ein Feld zu vergleichen. Vergleichswert mit : an den Feldnamen anhaengen ('compare','countPrice:0.00','Bitte mindestens einen Artikel auswaehlen')
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~


// definiere sprachelemente
var oput_language = new Array();

oput_language['de'] = new Object();
oput_language['de']['pflichtFeld'] 	= " ist ein Pflichtfeld";
oput_language['de']['nurZiffern'] 		= " darf nur aus Ziffern bestehen";
oput_language['de']['gueltigeEmail']	= " muss eine gueltige E-Mail Adresse sein";
oput_language['de']['pflichtRadio']	= " muss ausgewaehlt werden";

oput_language['en'] = new Object();
oput_language['en']['pflichtFeld'] 	= " is mandatory";
oput_language['en']['nurZiffern'] 		= " must be only numbers";
oput_language['en']['gueltigeEmail']	= " is not a valid E-Mail Address";
oput_language['en']['pflichtRadio']	= " is mandatory";



function chk_empty(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	// if(document.forms[oput_formName].elements[field].value == "") oput_errtxt += "\n - " + name + " ist ein Pflichtfeld";
	if(document.forms[oput_formName].elements[oput_field].value == "") oput_errtxt += "\n - " + oput_name +	oput_language[oput_thisLang]['pflichtFeld']
	return oput_errtxt;
} // end function

function chk_numbr(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	var oput_chkZ = 1;
	value = document.forms[oput_formName].elements[oput_field].value; 
	if (oput_formName=='sellform') value=nodotnocomma(value);
	for(oput_i=0;oput_i<value.length;++oput_i) {
		if(value.charAt(oput_i) < "0" || value.charAt(oput_i) > "9") { oput_chkZ = -1;
			
		}
	}
	if(oput_chkZ == -1) oput_errtxt += "\n - " + oput_name + " darf nur aus Ziffern bestehen";
	return oput_errtxt;
} // end function

// new function for email with RegEx
function chk_em_rx(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	if(document.forms[oput_formName].elements[oput_field].value != "") {
		var oput_tempmail = document.forms[oput_formName].elements[oput_field].value.toLowerCase();
		document.forms[oput_formName].elements[oput_field].value = oput_tempmail;
		var oput_regex = /^[\w\.-]+@[\w\.-]+\.[a-zA-Z]{2,4}$/
		if (!oput_regex.test(document.forms[oput_formName].elements[oput_field].value)) {
			oput_errtxt += "\n - " + oput_name + " muss eine gueltige E-Mail Adresse sein";
		} // end if regex
	}
	return oput_errtxt;
} // end function

function chk_email(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	if(document.forms[oput_formName].elements[oput_field].value != "" && document.forms[oput_formName].elements[oput_field].value.indexOf('@') == -1) {
		var oput_tempmail = document.forms[oput_formName].elements[oput_field].value.toLowerCase();
		document.forms[oput_formName].elements[oput_field].value = oput_tempmail;
		oput_errtxt += "\n - " + oput_name + " muss eine gueltige E-Mail Adresse sein";
	}
	return oput_errtxt;
} // end function

function chk_butt1(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	if(document.forms[oput_formName].elements[oput_field].checked == false) oput_errtxt += "\n - " + oput_name + " muss ausgewaehlt werden";
	return oput_errtxt;
} // end function

function chk_butt2(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	if(document.forms[oput_formName].elements[oput_field][0].checked == false && document.forms[oput_formName].elements[oput_field][1].checked == false) oput_errtxt += "\n - " + oput_name + " muss ausgewaehlt werden";
	return oput_errtxt;
} // end function

function chk_buttx(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {

	var oput_emptyCounter = 0;

	for (var oput_i = 0; oput_i < document.forms[oput_formName].elements[oput_field].length; ++oput_i) {
		if(document.forms[oput_formName].elements[oput_field][oput_i].checked == false) oput_emptyCounter += 1;
	}

	if(oput_emptyCounter == document.forms[oput_formName].elements[oput_field].length) 
	{
		oput_errtxt += "\n - " + oput_name + " muss ausgeaehlt werden ";
	}
	
	return oput_errtxt;
} // end function

function chk_compa(oput_field,oput_name,oput_errtxt,oput_formName,oput_thisLang) {
	var oput_SplitArr = oput_field.split(":");
	oput_myField = oput_SplitArr[0];
	oput_myCompStr = oput_SplitArr[1];
	if(document.forms[oput_formName].elements[oput_myField].value == oput_myCompStr) oput_errtxt += "\n - " + oput_name;
	return oput_errtxt;
} // end function


function reg_validater(oput_args,oput_formName, oput_thisLang) {
	if(oput_formName=="") oput_formName = "form1";
	if(oput_thisLang=="") oput_thisLang = "de";

	var oput_i,oput_j,oput_k,oput_errtxt="";
	for (oput_i=0; oput_i<(oput_args.length); oput_i+=3) {
		oput_j=oput_i+1;oput_k=oput_i+2;
// alert("arg"+i+"="+oput_args[i]+" arg"+j+"="+oput_args[j]+" arg"+k+"="+oput_args[k]);

		if (document.forms[oput_formName].type[1].checked) {
		if(oput_args[oput_i]=="pflicht2") oput_errtxt 			= chk_empty(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="nummer2") oput_errtxt 			= chk_numbr(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="email2") oput_errtxt 				= chk_email(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="email_regex2") oput_errtxt 	= chk_em_rx(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="1button2") oput_errtxt 			= chk_butt1(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="2button2") oput_errtxt 			= chk_butt2(oput_args[joput_],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="xbutton2") oput_errtxt 			= chk_buttx(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="compare2") oput_errtxt 			= chk_compa(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
			
		}

		if(oput_args[oput_i]=="pflicht") oput_errtxt 			= chk_empty(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="nummer") oput_errtxt 			= chk_numbr(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="email") oput_errtxt 				= chk_email(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="email_regex") oput_errtxt 	= chk_em_rx(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="1button") oput_errtxt 			= chk_butt1(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="2button") oput_errtxt 			= chk_butt2(oput_args[joput_],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="xbutton") oput_errtxt 			= chk_buttx(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="compare") oput_errtxt 			= chk_compa(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="PreText") PreText 					= oput_args[oput_j];
		if(oput_args[oput_i]=="PostText") PostText 				= oput_args[oput_j];


	}

// // folgendes zum debugen des Geburtsdatums einkommentieren
// alert(document.forms[oput_formName].birthday.value);

	if(oput_errtxt != "") {
		if(PreText != "") oput_errtxt = PreText + oput_errtxt;
		if(PostText != "") oput_errtxt = oput_errtxt + PostText;
		c = 0;
		while (oput_errtxt.search(/\n/)!=-1 && c < 100) {
			oput_errtxt = oput_errtxt.replace(/\n/, "<br />");
			c++;
		}
		showPopWin('/_modal_windows/test.php?message='+oput_errtxt, 325, 350, null);
		return false;
	} else {
		return true;
	}


}

function oput_validater(oput_args,oput_formName,oput_thisLang) {

	if(oput_formName=="") oput_formName = "form1";
	if(oput_thisLang=="") oput_thisLang = "de";

	var oput_i,oput_j,oput_k,oput_errtxt="";
	
	for (oput_i=0; oput_i<(oput_args.length); oput_i+=3) {
		oput_j=oput_i+1;oput_k=oput_i+2;
// alert("arg"+i+"="+oput_args[i]+" arg"+j+"="+oput_args[j]+" arg"+k+"="+oput_args[k]);
		if(oput_args[oput_i]=="pflicht") oput_errtxt 			= chk_empty(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="nummer") oput_errtxt 			= chk_numbr(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="email") oput_errtxt 				= chk_email(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="email_regex") oput_errtxt 	= chk_em_rx(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="1button") oput_errtxt 			= chk_butt1(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="2button") oput_errtxt 			= chk_butt2(oput_args[joput_],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="xbutton") oput_errtxt 			= chk_buttx(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="compare") oput_errtxt 			= chk_compa(oput_args[oput_j],oput_args[oput_k],oput_errtxt,oput_formName,oput_thisLang);
		if(oput_args[oput_i]=="PreText") PreText 					= oput_args[oput_j];
		if(oput_args[oput_i]=="PostText") PostText 				= oput_args[oput_j];


	}

// // folgendes zum debugen des Geburtsdatums einkommentieren
// alert(document.forms[oput_formName].birthday.value);

	if(oput_errtxt != "") {
		if(PreText != "") oput_errtxt = PreText + oput_errtxt;
		if(PostText != "") oput_errtxt = oput_errtxt + PostText;
		c = 0;
		while (oput_errtxt.search(/\n/)!=-1 && c < 100) {
			oput_errtxt = oput_errtxt.replace(/\n/, "<br />");
			c++;
		}
		/* document.getElementById('artOputMessage').innerHTML = oput_errtxt; */
		showPopWin('/_modal_windows/test.php?message='+oput_errtxt, 325, 300, null);
		return false;
	} else {
		return true;
	}

} // end function

