function trim(str) {
     	str = str.replace(/^\s*/, '').replace(/\s*$/, '');
     	return str; 
     }

function isValidEmailAddress(str){
    	var lstr = str.length;
    	var iCharAtPosition = str.indexOf("@");
    	var lastDotPosition = str.lastIndexOf(".");
    
    	var regex=/^[a-zA-Z\.]+$/;
    	var startDomainRegex = /^[a-zA-Z\d]+$/;
        var startDomain = str.substring(iCharAtPosition + 1,str.indexOf(".",iCharAtPosition));
        var endDomain = str.substring(str.indexOf(".",iCharAtPosition) + 1,lstr);

      if(!startDomainRegex.test(startDomain)){
            return false;
            }
      if(!regex.test(endDomain)){
                  return false;
      }
    	
    	if(lastDotPosition == -1){
      		return false;
    	}
    
    	if(lstr-lastDotPosition > 4 || lstr-lastDotPosition < 3){
      		return false;
    	}
    
   	 	if(lastDotPosition < iCharAtPosition){
      		return false;
    	}
    
    	if (iCharAtPosition == -1){
      		return false;
      	}
      
      	else if ((iCharAtPosition == 0) || (iCharAtPosition == (lstr - 1))){
      		return false;
      	}
      
      	else if (str.indexOf("@", iCharAtPosition + 1) > -1){
      		return false;
      	}
      	
      	else{
        	for (i = 0; i < lstr; i++){
           	var c = str.charAt(i);
           	if (c == '.'){
            	if ((i == 0) || (i == (lstr - 1))){
                	return false;
                }
                
                else if (i == (iCharAtPosition-1)){
                	return false;
                }
                
                else if (i == (iCharAtPosition+1)){
                	return false;
                }
		}
		
        else if ( c > '~' || c < '!' || c == '(' || c == ')' || 
        	c == '<' || c == '>' || c == '[' || c == ']' || 
            c == ',' || c == ';' || c == ':' || c == '\\' ||
            c == '"'){
            
            return false;
        }
		}	
		}
		return true; 
	}


function validateApplication(formId){

	var form = document.forms[formId];
	
        if(trim(form.firstName.value) == "") {
			alert("Please enter your first name");
			form.firstName.focus();
			return false;
		}
		
		if(trim(form.lastName.value) == "") {
			alert("Please enter your last name");
			form.lastName.focus();
			return false;
		}   
				
		var checkDigits = /^\d*$/;
		
					
			
		
		if((trim(form.eveArea.value) == "") && (trim(form.evePrefix.value) == "") && (trim(form.eveNum.value) == "")){
			alert("Please enter your phone number");
			form.eveArea.focus();
			return false;
		}
		
		if( !checkDigits.test(trim(form.eveArea.value))){
			alert("Please enter valid phone number");
			form.eveArea.focus();
			return false;
		}
		else if(!checkDigits.test(trim(form.evePrefix.value))){		
			alert("Please enter valid phone number");
			form.evePrefix.focus();
			return false;
		}
		else if(!checkDigits.test(trim(form.eveNum.value))){		
			alert("Please enter valid phone number");
			form.eveNum.focus();
			return false;
		}		
					
		/*if(trim(form.eveArea.value).length < 3){
			alert("Please enter valid phone number");
			form.eveArea.focus();
			return false;
		}
		else if(trim(form.evePrefix.value).length < 3){
			alert("Please enter valid phone number");
			form.evePrefix.focus();
			return false;
		}
		else if(trim(form.eveNum.value).length < 4){
			alert("Please enter valid phone number");
			form.eveNum.focus(); 
			return false;
		}*/
		
		if(trim(form.emailAddress.value) == "") 
		{
			alert("Please enter your email address");
			form.emailAddress.focus();
			return false;
		}  
		
		if (trim(form.emailAddress.value) != '')
		{
			var emailFlag = isValidEmailAddress(trim(form.emailAddress.value));
				if(!emailFlag){
					alert("Please enter valid email address")
					form.emailAddress.focus();
					return false;
				}
		}
		
		
		if(form.company != null)
		{
			if(trim(form.company.value) == "") 
			{
				alert("Please enter the name of your company");
				form.restAddress.focus();
				return false;
			}  
		}	
		
		if(form.restaurantAddress != null)
		{
			if(trim(form.restaurantAddress.value) == "") 
			{
				alert("Please enter restaurant address");
				form.restAddress.focus();
				return false;
			}  
		}		

		
		if(form.incidentDate != null)
		{
			if(trim(form.incidentDate.value) == "") 
			{
				alert("Please select incident date and time");
				form.incidentDate.focus();
				return false;
			}
		}	
		
		if(form.time != null)
		{
			if(trim(form.time.value) == "") 
			{
				alert("Please select time of incident");
				form.time.focus();
				return false;
			}  
		}
		
		if(form.dayPart != null)
		{
			if(form.dayPart.selectedIndex == 0) {
				alert("Please select day part for the time of incident");
				form.dayPart.focus();
				return false;
			}
		}
		var feedbackType = null;
		if(form.feedbackType != null)
		{
			for (i=0; i < form.feedbackType.length; i++)
	    	{
	    		if (form.feedbackType[i].checked)
	       		 {
	        		feedbackType = form.feedbackType[i].value;
	        	}
	    	}
	
			if(feedbackType == null){
				alert(selectVisitType);
				form.visitType[0].focus();
				return false;
			}
		}

		if(form.comments != null)
		{
			if((form.comments.value.length) > 2000){
				alert("Please enter comments with in the max limit of 2000 char");
				form.comments.focus();
				return false;
			}
		}	
		
		
return true;
		
	}