var requiredFields=new Array();
var requiredFieldsName=new Array();
var requiredSelect=new Array();
var requiredSelectName=new Array();
var checkBoxField=new Array();
var checkBoxName=new Array();
var emailFields=new Array();
var requiredFieldsNumber=new Array();   
var requiredFieldsNameNumber=new Array();
var checkRadioField=new Array();
var checkRadioName=new Array();
var familyFieldsName = new Array();
var familyFields = new Array();
var dateFields=new Array();
function validateGeneralForm(formname){
	var error="";
	var error1;
	var error2="";
	for(var i=0;i<requiredFields.length;i++){
		if(eval("document."+formname+"."+requiredFields[i]+".value") == ""){
			if(error==""){
				eval("document."+formname+"."+requiredFields[i]+".focus()");
			}
			error=error+"\n   - "+requiredFieldsName[i];
		}
	}

	for(var i=0;i<checkRadioField.length;i++){
		var field = "";
		var cary = 0;
		field = eval("document."+formname+"."+checkRadioField[i]);
		//if(checkRadioField[i]=='payment_type'){
		if(!eval("document."+formname+"."+checkRadioField[i]+".length")){	
			if(field.checked){
				cary = 1;
			}
		}else{
		for(j= 0;j < eval("document."+formname+"."+checkRadioField[i]+".length");j++){
			if(!field[j].checked && cary != 1){
				cary = 0;
				if(error==""){
					eval("document."+formname+"."+field[j].name+"[0].focus()");
				}//end if
			}//end if	
			else cary = 1;
		}//end for
		}
		if(cary == 0) error=error+"\n   - "+checkRadioName[i];
	}//end for

	
	for(var i=0;i<requiredSelect.length;i++){
		if(eval("document."+formname+"."+requiredSelect[i]+".selectedIndex") == "0"){
			if(error==""){
				eval("document."+formname+"."+requiredSelect[i]+".focus()");
			}
			error=error+"\n   - "+requiredSelectName[i];
		}
	}
	
	
		for(var i=0;i<checkBoxField.length;i++){
			if(eval("document."+formname+"."+checkBoxField[i]+".checked") == ""){
				if(error==""){
					eval("document."+formname+"."+checkBoxField[i]+".focus()");
				}//end if
				error=error+"\n   - "+checkBoxName[i];
			}//end if
		}//end for

	for(var i=0;i<emailFields.length;i++){
		if(eval("document."+formname+"."+emailFields[i]+".value") != ""){
			if(!emailCheckMultiple(formname,emailFields[i])){
				error1=1;
				//here I fix this condition to make a priority of fileds focus
				if(!error)eval("document."+formname+"."+emailFields[i]+".focus()");
			}
		}
	}

   var ValidChars = "0123456789.";
   var Char;
   var j,errornumber = '',error_number=0;

   for (j = 0; j < requiredFieldsNumber.length;j++){
     var text_insert = eval("document."+formname+"."+requiredFieldsNumber[j]+".value");
	 error_number = "";
	 for (i = 0; i < text_insert.length;i++){ 
	   Char = text_insert.charAt(i); 
	   if (ValidChars.indexOf(Char) == -1){
		  error_number=1;
	   }//end if
    }//end for
	if(error_number){
		if(!errornumber)eval("document."+formname+"."+requiredFieldsNumber[j]+".focus()"); 
		errornumber =  errornumber + "-   "+ requiredFieldsNameNumber[j]+"\n";
	}
  }//end for	
	for(var i=0;i<dateFields.length;i++){
		var dat=dateFields[i].split('-');
		//day
		var idx=eval("document."+formname+"."+dat[0]+".selectedIndex");
		var day=eval("document."+formname+"."+dat[0]+".options[idx].value");
		//month
		var idx=eval("document."+formname+"."+dat[1]+".selectedIndex");
		var month=eval("document."+formname+"."+dat[1]+".options[idx].value");
		//year
		var idx=eval("document."+formname+"."+dat[2]+".selectedIndex");
		var year=eval("document."+formname+"."+dat[2]+".options[idx].value");
		
		if(validateDate(day,month,year)==false){
			error2=error2+"\nDas Datum "+day+"."+month+"."+year+" ist kein gültiges Datum. Bitte wählen Sie ein gültiges Datum aus.";
		}
	}
		
	if(error){
		alert("Bitte füllen  Sie folgende Felder aus:"+error+error2);
		return false;
	}else{
		if(error1){
			alert("Bitte geben Sie eine korrekte E-Mail Adresse an");
			return false;
		}else if(error2){
			alert(error2);
			return false;
		}else if(errornumber){
			alert("Bitte tragen Sie eine Zahl in die folgenden Felder ein:\n"+errornumber);
			return false;
		}else{
			return true;
		}
	}
}

function emailCheckMultiple(formname,emailfield)
{
	var formname;
	var emailfield;
	  var email_list=eval("document."+formname+"."+emailfield+".value");
      var pl=email_list.split(",");
      for(var j=0;j<pl.length;j++){
		var item = pl[j];
	   
        var returnVal = false
        checkVal = 0
        period = 0
        count1 = 0
        count2 = 0
        
        for (var i=0; i < item.length; i++)
        {
                if (item.substring(i,i+1) == '@')
                {
                        checkVal = checkVal + 1
                        count1 = count1 + 1
                }
                if (item.substring(i,i+1) == '!')
                {
                        checkVal = checkVal + 2
                        count2 = count2 + 1
                }
                if (item.substring(i,i+1) == '.')
                {
                        if (period != 1)
                        {
                           checkVal = checkVal + 4
                           period = 1
                        }
                }
                if (item.substring(i,i+1) == ' ')
                {
                        checkVal = 8
                }
                if (item.substring(i,i+1) == ',')
                {
                        checkVal = 8
                }
                if (item.substring(i,i+1) == '"')
                {
                        checkVal = 8
                }
                if (item.substring(i,i+1) == '\'')
                {
                        checkVal = 8
                }
        }
        if (checkVal == 5 || checkVal == 6)
        {
               var p=item.split("@");
               var r=p[1].split(".");
               var lungime=(r.length-1);
		        if(p[0].length<1){
		        	var ret=1;
		        	fout="1";
		        }
		        
		        if(r[0].length<1){
		        	var ret=1;
		        	fout="1";
		        }
		        if(r[lungime].length<2){
		        	var ret=1;
		        	fout="1";
		        }
		        if(r[lungime].length>4){
		        	var ret=1;
		        	fout="1";
		        }
		        if(ret==1){
		        	returnVal=false;
		        }else{
		        	returnVal = true
		        }
               
               
                
        }
        else

        if (checkVal == 0) fout = '1'
        if (checkVal == 1) fout = '1'
        if (checkVal == 2) fout = '1'
        if (checkVal == 3) fout = '1'
        if (checkVal == 4) fout = '1'
        if (checkVal == 7) fout = '1'
        if (checkVal > 7)  fout = '1'

        if (count1 > 1) fout =    '1'
        if (count2 > 1) fout =    '1'
        
        
	}
        return returnVal
}
function emailCheck(formname,emailfield)
{
	var formname;
	var emailfield;
	if (eval("document."+formname+"."+emailfield+".value") == "")
	 { alert("Bitte tragen Sie Ihre Email-Adresse ein!");
	   
	   return false;}
      
		var item = eval("document."+formname+"."+emailfield+".value");
	   
        var returnVal = false
        checkVal = 0
        period = 0
        count1 = 0
        count2 = 0
        
        for (var i=0; i < item.length; i++)
        {
                if (item.substring(i,i+1) == '@')
                {
                        checkVal = checkVal + 1
                        count1 = count1 + 1
                }
                if (item.substring(i,i+1) == '!')
                {
                        checkVal = checkVal + 2
                        count2 = count2 + 1
                }
                if (item.substring(i,i+1) == '.')
                {
                        if (period != 1)
                        {
                           checkVal = checkVal + 4
                           period = 1
                        }
                }
                if (item.substring(i,i+1) == ' ')
                {
                        checkVal = 8
                }
                if (item.substring(i,i+1) == ',')
                {
                        checkVal = 8
                }
                if (item.substring(i,i+1) == '"')
                {
                        checkVal = 8
                }
                if (item.substring(i,i+1) == '\'')
                {
                        checkVal = 8
                }
        }
        if (checkVal == 5 || checkVal == 6)
        {
               var p=item.split("@");
               var r=p[1].split(".");
               var lungime=(r.length-1);
		        if(p[0].length<1){
		        	var ret=1;
		        	fout="Vor dem @ muss mindestens ein Zeichen stehen!";
		        }
		        
		        if(r[0].length<1){
		        	var ret=1;
		        	fout="Vor dem . muss mindestens ein Zeichen stehen!";
		        }
		        if(r[lungime].length<2){
		        	var ret=1;
		        	fout="Nach dem . müssen mindestens zwei Zeichen stehen!";
		        }
		        if(r[lungime].length>3){
		        	var ret=1;
		        	fout="Nach dem . dürfen höchstens drei Zeichen stehen!";
		        }
		        if(ret==1){
		        	returnVal=false;
		        }else{
		        	returnVal = true
		        }
               
               
                
        }
        else

        if (checkVal == 0) fout = 'Die Email-Adresse ist unvollstaendig !'
        if (checkVal == 1) fout = 'In der Email-Adresse fehlt der Punkt !'
        if (checkVal == 2) fout = 'In der Email-Adresse fehlt der Punkt !'
        if (checkVal == 3) fout = '-@- und -!- sind nicht gleichzeitig erlaubt in der Email-Adresse !'
        if (checkVal == 4) fout = 'In der Email-Adresse fehlt das -@- !'
        if (checkVal == 7) fout = '-@- und -!- sind nicht gleichzeitig erlaubt in der Email-Adresse !'
        if (checkVal > 7)  fout = 'In the email addres it is a space or comma or quote !'

        if (count1 > 1) fout =    'In der Email-Adresse sind mehrere -@- Zeichen !'
        if (count2 > 1) fout =    'In der Email-Adresse sind mehrere -@- Zeichen !'
        
        if (returnVal == false)
        {
                alert('Ihre Email-Adresse ist nicht korrekt.\nBitte ueberpruefen Sie Ihre Eingabe.\n\nFehler:\n' + fout)
   			   

        }else{
        	if(p[0].substring(0,4)=='www.'){
		        	return confirm("Eine Email-Adresse beginnt normalerweise nicht mit www. \nSind Sie sicher dass Ihre EMail-Adresse lautet:"+item+" ?");
		        	
		        	
		        }
        }
        return returnVal
}

function openWin(url, w, h)
{
	var thisWindow;
	thisWindow = window.open(url, "newWin", "width=" + w + ", height=" + h + ",scrollbars=no,screenX=0,screenY=0");
	thisWindow.moveTo((screen.width-w)/2,(screen.height-h)/2);
 	thisWindow.window.focus();
}

function window_picture( newsitem, x, y, title )
{
	var thisWindow;
	thisWindow = window.open(newsitem,title,"width="+x+",height="+y+",scrollbars=auto,screenX=0,screenY=0,toolbar=no,location=no,menubar=no");
	thisWindow.moveTo((screen.width-x)/2,(screen.height-y)/3);
 	thisWindow.window.focus();
}

function window_picture3( newsitem, x, y, title )
{
	var thisWindow;
	thisWindow = window.open(newsitem,title,"width="+x+",height="+y+",scrollbars=yes,screenX=0,screenY=0,toolbar=no,location=no,menubar=no");
	thisWindow.moveTo((screen.width-x)/2,(screen.height-y)/3);
 	thisWindow.window.focus();
}


function window_picture1( newsitem, x, y, title )
{
	var thisWindow;
	thisWindow = window.open(newsitem,title,"width="+x+",height="+y+",scrollbars=yes,screenX=0,screenY=0,toolbar=no,location=no,resizable=yes,menubar=no");
	thisWindow.moveTo((screen.width-x)/2,(screen.height-y)/3);
 	thisWindow.window.focus();
}

function window_picture_max( newsitem, title )
{
	var thisWindow;
	var x=(screen.width-20);
	var y=(screen.height-80);
	thisWindow = window.open(newsitem,title,"width="+x+",height="+y+",scrollbars=yes,screenX=0,screenY=0,toolbar=no,location=no,resizable=yes,menubar=no");
	thisWindow.moveTo((screen.width-x)/2,(screen.height-y)/4);
 	thisWindow.window.focus();
}

function stopErrors() {
	return true;
}
//window.onerror = stopErrors;


