var arrErrorsID = new Array( "firstname", "lastname", "phone", "email", "zip", "comments" );
var arrErrorsMsgs = new Array('Please Enter First Name', 'Please Enter Last Name', 'Please Enter Phone No', 'Please Enter Email Id', 'Please Enter  Zip Code', 'Please Enter Comments');
var arrErrors = new Array(arrErrorsID.length);
var totalcheckeditems='';
var arrErrorsPhone='';
var arrErrorsZip='';
var arrErrorsFirstName='';
var arrErrorsLastName='';
function formValidation()
{
  if (checkbox())
  	{
		 isError =false;
	  	document.getElementById("divproduct1").innerHTML = "";
		document.getElementById("divproduct1").style.display = 'none';	
	}
	else
	{
		
		document.getElementById("divproduct1").innerHTML = "Please Select Two Products";
		document.getElementById("divproduct1").style.display = 'block';
		isError =true;
	}

for(i=0; i<arrErrors.length; i++)
{
	elementVal = document.getElementById(arrErrorsID[i]);
	
	if( elementVal.value == "" || elementVal.value == "" || elementVal.value == "0")
	{
		arrErrors[i] = true;
		document.getElementById("div"+arrErrorsID[i]).innerHTML = arrErrorsMsgs[i];
		document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
	}
	else
	{
		arrErrors[i] = false;
		document.getElementById("div"+arrErrorsID[i]).innerHTML = "";
		document.getElementById("div"+arrErrorsID[i]).style.display = 'none';
		
		if( elementVal.id == "firstname" )	
		{
			arrErrors[i] = validateFirstName(elementVal.value);
			if ( arrErrors[i] )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Characters Only";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
			
			arrErrorsFirstName = validateFirstNameSpace(elementVal.value);
			if ( validateFirstNameSpace(elementVal.value) )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter First Name";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
		}
		if( elementVal.id == "lastname" )	
		{
			
			arrErrors[i] = validateLastName(elementVal.value);
			if ( arrErrors[i] )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Characters Only";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
			arrErrorsLastName = validateLastNameSpace(elementVal.value);
			if ( validateLastNameSpace(elementVal.value) )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Last Name";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
		}
		
		
		if( elementVal.id == "email" )	
		{
			
			arrErrors[i] = validate(elementVal.value);
			if ( arrErrors[i] )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Valid Email Id";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
		}
		if( elementVal.id == "comments" )	
		{
			
			arrErrors[i] = validateComments(elementVal.value);
			if ( arrErrors[i] )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Comments";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
		}
		
		if( elementVal.id == "phone" )	
		{
			
			arrErrors[i] = validatePhone(elementVal.value);
			arrErrorsPhone = validatePhonelen(elementVal.value);
			 if(validatePhonelen(elementVal.value))
			 {
				   
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Phone should be 10-11 Characters";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
			
			
			
			if ( arrErrors[i] )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Valid Phone No";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
		}
		if( elementVal.id == "zip" )	
		{
			arrErrors[i] = validatezip(elementVal.value);
			arrErrorsZip = validateziplen(elementVal.value);
			if(validateziplen(elementVal.value))
			 {
				   
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Zip should be 5-6 Characters";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
			
			
			if ( arrErrors[i] )
			{
				document.getElementById("div"+arrErrorsID[i]).innerHTML = "Please Enter Valid Zip";
				document.getElementById("div"+arrErrorsID[i]).style.display = 'block';
			}
		}
		
	}
}

isError = false;
for(i=0; i<arrErrors.length; i++)
{
	if( arrErrors[i] )
		isError = true;
}
 if(arrErrorsZip)
 	{
			isError = true;
	}
 if(arrErrorsPhone)
 	{
			isError = true;
	}
 if(arrErrorsFirstName)
 	{
			isError = true;
	}
 if(arrErrorsLastName)
 	{
			isError = true;
	}
//	alert(checkbox());
if( isError && checkbox()==0)
	return false;
else if (!isError && checkbox()==1)
	return true;
else
	return false;
// alert(arrErrors);
	//alert(document.getElementById(arrErrorsID[i]).value);

// return false;
}

function validateFirstName(firstname) 
{ 
   var reg = /^([A-Za-z\s]{0,100})$/;
   if(reg.test(firstname) == false) {
      return true;
   }
}
function validateFirstNameSpace(firstname)
 {
	var str = document.getElementById('firstname').value;
	   str = str.replace(/\s+/g,'');
	   if(str=="")
		{    
			return true;
		}
 }
function validateLastName(lastname) 
{
   var reg = /^([A-Za-z\s]{0,100})$/;
   if(reg.test(lastname) == false) {
      return true;
   }
}
function validateLastNameSpace(lastname)
	{
	   var str = document.getElementById('lastname').value;
	   str = str.replace(/\s+/g,'');
	   if(str=="")
		{    
			return true;
		}
	}


function validate(email) 
{
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
      return true;
   }
}
function validatePhone(phone) 
 {
   var iCharval = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ!@#$%^&*()+=[]\\\';,./{} |\":<>?";
		for (l = 0; l < document.getElementById('phone').value.length; l++)
 			{
				if (iCharval.indexOf(document.getElementById('phone').value.charAt(l)) != -1) 
					{
  						return true;
  					}
 		    }
 }
 
 
 function validatePhonelen(phone){
	 if(phone.length <10){
	 return true;
	 }
	 if(phone.length >11){
	 return true;
	 }
 }
 
 
function validatezip(zip) 
 {
   var iCharval = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ!@#$%^&*()+=[]\\\';,./{} |\":<>?";
		for (l = 0; l < document.getElementById('zip').value.length; l++)
 			{
				if (iCharval.indexOf(document.getElementById('zip').value.charAt(l)) != -1) 
					{
  						return true;
  					}
 		    }
 }
 
 
function validateziplen(zip)
 {
	 
	 if(zip.length <5){
	 return true;
	 }
	 if(zip.length >6){
	 return true;
	 }
 }
function validateComments(comments)
{
 var str = document.getElementById('comments').value;
 str = str.replace(/\s+/g,'');
  if(str=="")
  	{    
		return true;
	}
}


function checkbox()
{
	 valCheck = 0;
     selChoices = -1;
     for (counter = 1; counter < 9; counter++)
	 {
		var productName="product"+counter;
        if (document.getElementById("product"+counter).checked) 
		{
           selChoices = selChoices + 1;
        }
     }
     if (selChoices<1)
		 {
			valCheck = 0;
		 } 
		 else 
		 {
        	valCheck = 1;
     	 }
     return valCheck;
 }