// Scripte für die Demokontenanmeldungen  - überprüfung der Eingegebenen Daten.
//
// wichtig ist das einige Datenfelder die korrekten Bezeichnungen haben.
// z.B. name=PASSWORD, EMAIL, EMAIL_CONFIRM
// der Absendebutton benötigt die ID="SendDemo"

function checkmail(mail)
{
	/* überprüft, ob die Emailadresse formal richtig ist */
		  var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
		  var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
		  var regex = "^"+usr+"\@"+domain+"$";
		  var myrxp = new RegExp(regex);
		  var check = (myrxp.test(mail));
		  return check;
}
//geburtsdatum auf validität prüfen
function checkBirthday(day,month,year)
{
	if(month == 2 && (year/4) == Math.floor(year/4) && day > 29)
		{bOk = false;}
	else if(month == 2 && (year/4) != Math.floor(year/4) && day > 28)
		{bOk = false;}
	else if(month == 4 || month == 6 || month == 9 || month == 11 )
		{
			if(day > 30)
				{bOk = false;}
			else
				{bOk = true;}
		}
	else
		{bOk = true;}
	return bOk;
}

function checkAttention()
{
	var bOk = true;
	if(document.getElementById('ATTENTION_BY'))
	{
		var selectedIndex = document.getElementById('ATTENTION_BY').selectedIndex;
		bOk = (selectedIndex > 0) ? true : false ;
		
	}
	return bOk;
}
// -------------------------------------
// Eingaben-Validierung
// auf alpanumerisch und Unterstrich
// blanks und specialchars verboten
// Ersteller: René Kuhlmann 
// Datum: 10.02.2005
// Licence: EVIG GmbH
// -------------------------------------
function checkPassword(pass)
{
	/* überprüft, ob das passwort formal richtig ist - nur A-Z a-z 0-9 und unterstrich */
		  var regex = /^\w{1,}$/;
		  var myrxp = new RegExp(regex);
		  var check = (myrxp.test(pass));
		  return check;
}

function checkform()
// -------------------------------------
// Dynamische Prüfung von Pflichtfeldern
// Ersteller: René Kuhlmann 
// Datum: 11.Okt.2004
// Licence: EVIG GmbH
// -------------------------------------
{
         var inputs = new Array();
         var fields;
		 inputs[0] = document.fxdirektform.getElementsByTagName("input");
		 inputs[1] = document.fxdirektform.getElementsByTagName("select");		          
         fields=inputs[0].length;
		 fields2=inputs[1].length;
         var i;
         var hint;
		 var bOk;
		 var error;
		 bOk=true;
         for(i=0;i<fields;i++){
					hint=1;
					//altes Style wiederherstellen
					document.getElementsByName(inputs[0][i].name)[0].className="formelement";
					switch(inputs[0][i].name){
						case 'VORNAME':
						case 'NACHNAME':
						case 'STRASSE':
						case 'ORT':
						case 'PLZ':
						case 'STAAT':
						case 'TELEFON': if(inputs[0][i].value.length < 1){ bOk=false; error = "Bitte vervollstaendigen Sie Ihre Angaben."; } break;
					}
					//sonderausnahme Produkt (auskommentiert, da momentan nur CONTREX) TB 08.06.09
//					if(inputs[0][i].name=="PRODUCT" && (inputs[0]['fextrader_web'].checked != true/* && inputs[0]['fextrader_pro'].checked != true*/))
//					{
//						bOk=false;
//						error="Bitte entscheiden Sie sich fur eine FEXtrader Version";
//					}
					
					//sonderausnahme Passwort
					if(inputs[0][i].name=="PASSWORD")
					{
						bOk=checkPassword(inputs[0]['PASSWORD'].value);
						error="Das Passwort darf nur Zahlen und Buchstaben enthalten";
					}
					//sonderausnahme E-Mail
					if(inputs[0][i].name=="EMAIL")
					{
						bOk=checkmail(inputs[0][i].value);
						error="Bitte ueberpruefen Sie Ihre E-Mail Adresse.";
					}
					if(inputs[0][i].name=="EMAIL_CONFIRM")
					{
						bOk=checkmail(inputs[0][i].value);
						error="Bitte ueberpruefen Sie Ihre E-Mail Adresse.";
					}
					if(inputs[0]['EMAIL'].value!=inputs[0]['EMAIL_CONFIRM'].value)
					{
						bOk=false;
						error="Die angegebenen Mail Adressen stimmen nicht ueberein.";
						i='EMAIL_CONFIRM';
					}

				 if(bOk==false)
				  {
					  document.getElementsByName(inputs[0][i].name)[0].className="error";
					  alert(error);
					  document.getElementsByName(inputs[0][i].name)[0].focus();
					  return false;
				  }
  			}
			
			for(i=0;i<fields2;i++)
		  	{					


				document.getElementsByName(inputs[1][i].name)[0].className="formelement";	
				//sonderausnahme Aufmerksam durch
				if(inputs[1][i].name== "ATTENTION_BY")
				{
					if (!checkAttention())
					{
						error="Bitte geben Sie an, wie Sie auf uns aufmerksam geworden sind.";
						document.getElementById('ATTENTION_BY').className="formelement_error";
						alert(error);
						document.getElementById('ATTENTION_BY').focus();
						return false;
					}
				}
			}
			
		if(bOk==true)
		  {
			document.getElementById('SendDemo').disabled=true;
			document.getElementById('SendDemo').value="Bitte warten...";
			return true;
		  }
}
