
// Declaring required variables
	var digits = "0123456789";
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "()- ";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
	
function submitForm(strFields){
      
       
        strFieldsArr = strFields.split("#");
        var strAlerts = '';
        var teleAlerts = '';
        var syntaxAlerts = '';
        var refEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/ ;
        var refdigit= /^-?\d+$/ ;
        var valid = true;
       
        for(i=0; i < strFieldsArr.length; i++){
				
          
                if (document.getElementById(strFieldsArr[i]).value == "" )
                {
                    document.getElementById(strFieldsArr[i]).style.border='1px solid #e2001a';
                    valid = false;
                } else {
                  if(strFieldsArr[i] == 'email'){
                        if (document.getElementById(strFieldsArr[i]).value.search(refEmail) == -1){
                            document.getElementById(strFieldsArr[i]).style.border='1px solid #e2001a';
                            valid = false;
                        } else { 
                            document.getElementById('email').style.border='';
                           
                        }
                         
                       
                    } 
                    else if(strFieldsArr[i] == 'plz'){
                        if(document.getElementById(strFieldsArr[i]).value.search(refdigit) == -1) {
                            document.getElementById(strFieldsArr[i]).style.border='1px solid #e2001a';
                            valid = false;
                             
                        } else { 
                            document.getElementById('plz').style.border='';
                           
                        }
                    }
                    else if(strFieldsArr[i] == 'telephone1'){
                    	if(checkInternationalPhone(document.getElementById(strFieldsArr[i]).value) == false) {
                            document.getElementById(strFieldsArr[i]).style.border='1px solid #e2001a';
                            valid = false;
                             
                        } else { 
                            document.getElementById('telephone1').style.border='';
                           
                        }
                    }
                    else if(strFieldsArr[i] == 'telephone2'){
                        if(document.getElementById(strFieldsArr[i]).value.search(refdigit) == -1) {
                            document.getElementById(strFieldsArr[i]).style.border='1px solid #e2001a';
                            valid = false;
                             
                        } else { 
                            document.getElementById('telephone2').style.border='';
                           
                        }
                    }
                    else if(strFieldsArr[i] == 'telephone3'){
                        if(document.getElementById(strFieldsArr[i]).value.search(refdigit) == -1) {
                            document.getElementById(strFieldsArr[i]).style.border='1px solid #e2001a';
                            valid = false;
                             
                        } else { 
                            document.getElementById('telephone3').style.border='';
                           
                        }
                    } else {
                       document.getElementById(strFieldsArr[i]).style.border=''; 
                    }
                    
                }
           
          
        }
        if(valid==false) {
           
        	 document.getElementById('error_msg').innerHTML = 'Bitte füllen Sie alle rot markierten Felder aus.';
              return false;
        }
        else return true;
       
}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{    
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	var bracket=3;
	strPhone=trim(strPhone);
	if(strPhone.indexOf("+")>1) err = true;
	if(strPhone.indexOf("-")!=-1)bracket=bracket+1;
	if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket) err = true;
	var brchr=strPhone.indexOf("(");
	if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")") err = true;
	if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1) err = true;
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}



