// Pflichtfelder definieren:
var zuPruefen   = "";
var pruefInhalte  = "Email";
var pruefFeldTyp  = "Email";

// Allgemeine Variablen:
var fehlercount;
var g_PopupIFrame;

//Formular-Überprüfung - allgemeine Überprüfung:
function form_check() {
	var testEmail   = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var testTelefon = /^([0+]?[0-9]+)([ +-\.\/ ]*[0-9])+$/;
	var testPlz     = /^[0-9]{5}/;
	var testTag     = /^([1-2][0-9])|(30|31)/;
	var testMonat   = /^((0[1-9])|(1[0-2]))/;
	var testJahr    = /^[19|20][0-9]{2}/;
	var testNummer  = /^[0-9]+/;
	var radioGroups = "";
	var fehler      = "";
	var fehlercount = 0;
	var pruefe      = zuPruefen.split(",");
	var pruefDas    = pruefInhalte.split(",");
	var pruefSo     = pruefFeldTyp.split(",");

	pruefe.each(function(item) {
		if($(item)){
			meinTyp   = $(item).type;
			meinTitle = $(item).title;
			if(meinTyp && meinTitle.length){
				$$('label[for="'+ $(item).id +'"]')[0].setStyle({color: '#000'})
				/*
				Felder deren Inhalt auf korrekte Form überprüft werden:
				Felder kommen aus globaler Variable       --> pruefInhalte
				Prüf-Formate kommen aus globaler Variable --> pruefFeldTyp
				*/
				if(pruefDas.indexOf($(item).id)!=-1) {
					filterSo = eval("test" + pruefSo[pruefDas.indexOf($(item).id)]);
					if($F(item).length&&!filterSo.test($F(item))){
						if(meinTitle.match(/(\w+) (eine|Ihre|die) (\w+)/))fehler += '<li>'+ meinTitle.replace(/(\w+) (eine|Ihre|die) (\w+)/,"$1 eine korrekte $3") +'</li>';
						if(meinTitle.match(/(\w+) (ein|Ihr|das) (\w+)/))fehler += '<li>'+ meinTitle.replace(/(\w+) (ein|Ihr|das) (\w+)/,"$1 ein korrektes $3") +'</li>';
						if(meinTitle.match(/(\w+) (einen|Ihren|den) (\w+)/))fehler += '<li>'+ meinTitle.replace(/(\w+) (einen|Ihren|den) (\w+)/,"$1 einen korrekten $3") +'</li>';
						$$('label[for="'+ $(item).id +'"]')[0].setStyle({color: '#F00'});
					}
				}
				/*
				generelle Pflichtfelder:
				Felder kommen aus globaler Variable --> zuPruefen
				*/
				if(pruefe.indexOf($(item).id)!=-1){
					if($F(item) == ''){
						fehler += '<li>'+ meinTitle +'</li>';			
						fehlercount += 1; 
						$$('label[for="'+ $(item).id +'"]')[0].setStyle({color: '#F00'});
					}
					if(meinTyp == 'checkbox') {
						if($(item).checked == '') {
							fehler += '<li>'+ meinTitle +'</li>';		
							fehlercount += 1; 
							$$('label[for="'+ $(item).id +'"]')[0].setStyle({color: '#F00'});
						}
					}
					if(meinTyp == 'radio') {
						var thisRadioChecked = false;
						$A(meinName).each(function(radio) {
							if(radio.checked){
								thisRadioChecked = true;		
								fehlercount += 1;
								$$('label[for="'+ $(item).id +'"]')[0].setStyle({color: '#F00'});
							}
						});
						if(!thisRadioChecked && radioGroups.indexOf(meinName)==-1){
							fehler += '<li>'+ meinTitle +'</li>';
							radioGroups += meinName;		
							fehlercount += 1; 
							$$('label[for="'+ $(item).id +'"]')[0].setStyle({color: '#F00'});
						}
					}
				}				
			}
		}
	});
	if (fehler != '') {
		var fehlertext = '<div id="msgwrap"><div id="msgtop" style="text-align:right;padding:2px 24px 0 0;"><a href="#" onclick="return hide_msg_box()" title="schlie&szlig;en">schlie&szlig;en</a></div><div id="msgcont"><h4>Folgende Felder wurden nicht (korrekt) ausgef&uuml;llt:</h4>';
		fehlertext += '<ul>' + fehler + '</ul></div><div id="msgbottom"></div></div>';
		$('msg_box').innerHTML = fehlertext;
		var msgtoph = $('msgtop').getStyle('height').replace(/px/,'');
		var msgtopw = $('msgbottom').getStyle('height').replace(/px/,'');
		var hoehe = Number(msgtoph) + Number(msgtopw) + (fehlercount*18);
		show_msg_box(1);
		return false;
 	}
	return true;
}


//Formular-Überprüfung - Funktionen zur Infobox - IE-Check:
function IsIE6() {
	return ( Prototype.Browser.IE && (typeof window.XMLHttpRequest == "undefined"));
}

//Formular-Überprüfung - Funktionen zur Infobox - Infobox verstecken:
function hide_msg_box() {
	$('msg_box').hide();
	HidePopupDiv('msg_box');
	$('formcontent').stopObserving('click',hide_msg_box);
	$('formcontent').scrollTo();
	return false;
}

//Formular-Überprüfung - Funktionen zur Infobox - Infobox anzeigen:
function show_msg_box(height) {
	if($('addData') && $('addData').visible())$('msg_box').setStyle({bottom:'-50px'});
	else $('msg_box').setStyle({bottom:'150px'});	
	$('msg_box').show();
	ShowPopupDiv('msg_box', height);
	$('formcontent').observe('click', hide_msg_box);
}

//Formular-Überprüfung - Funktionen zur Infobox - Infobox verstecken - IE6-Hack:
function HidePopupDiv(divID) {
	var divPopup;
	divPopup=$(divID);
	divPopup.style.visibility = "hidden";
	if (IsIE6()) {
		document.body.removeChild(g_PopupIFrame);
		g_PopupIFrame = null;
	}
}

//Formular-Überprüfung - Funktionen zur Infobox - Infobox anzeigen - IE6-Hack:
function ShowPopupDiv(divID, hoehe) {
	var divPopup=$(divID);
	if (!IsIE6()) {
			divPopup.style.visibility ="visible";
			return;
	}
	divPopup.style.zIndex=divPopup.style.zIndex+1;
	var iFrame = new Element('iframe',{'src':'','frameborder':'0'});
	$(iFrame).setStyle({
		position:'absolute',
		filter:'alpha(opacity=0)',
		left: (divPopup.offsetLeft + 8) + 'px',
		top: $(divID).offsetTop + 2 + 'px',
		width: '390px',
		height: hoehe + 'px',
		border: 'none',
		outline: 'none'
	});
	document.body.appendChild(iFrame);
	g_PopupIFrame = iFrame;
	divPopup.style.visibility ="visible";
}

function newsletterReg() {
	$('Redirect').value = 'Default.aspx?ID=282';
	new Ajax.Request('/Tools/proxy.ashx', {
		method: 'post',
		parameters: {
			sendtourl: 'http://ase.emv3.com/D2UTF8',
			emv_tag: '80040002ACCD4F68',
			emv_ref: 'BdX7CqkdFmqByRANBJJ_68imWz8OGNvF8g3K',
			TITLE_FIELD: $F('Anrede'),
			FIRSTNAME_FIELD: $F('Vorname'),
			LASTNAME_FIELD: $F('Familienname'),
			EMAIL_FIELD: $F('E_Mail'),
			SOURCE_FIELD: 'AT',
			PLZ_FIELD: $F('plz'),
			STADT_FIELD: $F('ort'),
			EMVADMIN3_FIELD: $F('Ihr_Geburtsjahr')
		}
	});
}
