function validateContactForm()
{
    error_text = "";
    validated = true;
   	validated = checkName();
   	validated = checkEmail();
   	validated = checkAddress();
   	validated = checkCity();   	
   	validated = checkZip();
    if(error_text!="")
    {
    	validated = false;
    	alert(error_text);
    }
    
    return validated;
}

function validateOnSubmit()
{
    error_text = "";
    validated = true;
    step = document.getElementById("step").value;

		if (step==1) {
//step 1
			validated = checkServiceAreas();
			validated = checkCounties();
			validated = checkCities();
			validated = checkCategories();
		}

		if (step==2) {
//step 2		
   		validated = checkResourceName();
   	//	validated = checkContactFirstName();
   	//	validated = checkContactLastName();
 //  		validated = checkContactMI();
	   	validated = checkPhoneArea();
	   	validated = checkPhonePre();
   		validated = checkPhoneNum();
   		//validated = checkEmail();
   		//validated = checkAddress();
   		validated = checkZip();
   		//validated = checkWebsite();
   		validated = checkShortDescription();
   		validated = checkLongDescription();	    
  	}
  	
    if(error_text!="")
    {
    	validated = false;
    	alert(error_text);
    }
    
    return validated;
}

function validateSearch()
{
    error_text = "";
    validated = true;	

		//validated = checkCategories();

    if(error_text!="")
    {
    	validated = false;
    	alert(error_text);
    }
    
    return validated;    
}

function checkServiceAreas()
{
    var result = true;   
    var totalcount = document.getElementById('serviceareacount').value;
    var checkcount = 0;
		for (i = 1; i <= totalcount; i++)
		{
    	if(!notChecked('servicearea'+i))
    	{
    		checkcount++;
    	}  
    }	  
		if (totalcount==checkcount) {
			error_text += "At least one service area is required.\n";
    	result = false;
		}
    return result;
}

function checkCounties()
{
    var result = true;   
    var totalcount = document.getElementById('countycount').value;
    var checkcount = 0;
		for (i = 1; i <= totalcount; i++)
		{
    	if(!notChecked('county'+i))
    	{
    		checkcount++;
    	}  
    }	  
		if ((totalcount==checkcount) && (!document.getElementById('servicearea1').checked) && (!document.getElementById('servicearea2').checked)) {
			error_text += "At least one county is required.\n";
    	result = false;
		}
    return result;
}

function checkCities()
{
    var result = true;   
    var totalcount = document.getElementById('citycount').value;
    var checkcount = 0;
		for (i = 1; i <= totalcount; i++)
		{
    	if(!notChecked('city'+i))
    	{
    		checkcount++;
    	}  
    }	  
		if ((totalcount==checkcount) && (!document.getElementById('servicearea1').checked) && (!document.getElementById('servicearea2').checked)) {
			error_text += "At least one city is required.\n";
    	result = false;
		}
    return result;
}

function checkCategories()
{
    var result = true;   
    var totalcount = document.getElementById('categorycount').value;
    var checkcount = 0;
		for (i = 1; i <= totalcount; i++)
		{
    	if(!notChecked('category'+i))
    	{
    		checkcount++;
    	}  
    }	  
		if (totalcount==checkcount) {
			error_text += "At least one category is required.\n";
    	result = false;
		}
    return result;
}

function checkResourceName()
{
    var result = true;   
    if(!notEmpty('name'))
    {
    	error_text += "Resource Name is required.\n";
    	result = false;
    }    
    return result;
}

function checkContactFirstName()
{
    var result = true;   
    if(!notEmpty('contactfname'))
    {
    	error_text += "Contact First Name is required.\n";
    	result = false;
    }    
    return result;
}

function checkContactLastName()
{
    var result = true;   
    if(!notEmpty('contactlname'))
    {
    	error_text += "Contact Last Name is required.\n";
    	result = false;
    }    
    return result;
}

function checkContactMI()
{
    var result = true;   
    if(!notEmpty('contactmi'))
    {
    	error_text += "Contact Middle Initial is required.\n";
    	result = false;
    }    
    return result;
}

//** more complex phone check here
function checkPhoneArea()
{
    var result = true;   
    if(!notEmpty('phonearea'))
    {
    	error_text += "Phone Number Area Code is required.\n";
    	result = false;
    }    
    else
    {
    	if(!isNumeric('phonearea'))
    	{
    		error_text += "Phone Number Area Code must contain only numbers.\n";
    		result = false;
    	} 
    	else
    	{
    		if(!exactLength('phonearea',3))
    		{
		   		error_text += "Phone Number Area Code must contain exactly three digits.\n";
	    		result = false;
	    	}
    	}    		   
    }    
    return result;
}

function checkPhonePre()
{
    var result = true;   
    if(!notEmpty('phonepre'))
    {
    	error_text += "Phone Number Prefix is required.\n";
    	result = false;
    }    
    else
    {
    	if(!isNumeric('phonepre'))
    	{
    		error_text += "Phone Number Prefix must contain only numbers.\n";
    		result = false;
    	}    
    	else
    	{
    		if(!exactLength('phonepre',3))
    		{
		   		error_text += "Phone Number Prefix must contain exactly three digits.\n";
	    		result = false;
	    	}
    	}
    }    
    return result;
}

function checkPhoneNum()
{
    var result = true;   
    if(!notEmpty('phonenum'))
    {
    	error_text += "Phone Number is required.\n";
    	result = false;
    }
    else
    {
    	if(!isNumeric('phonenum'))
    	{
    		error_text += "Phone Number must contain only numbers.\n";
    		result = false;
    	}    
    	else
    	{
    		if(!exactLength('phonenum',4))
    		{
		   		error_text += "Phone Number Prefix must contain exactly four digits.\n";
	    		result = false;
	    	}
    	}
    }     	    
    return result;
}

function checkEmail()
{
    var result = true;   
    if(!notEmpty('email'))
    {
    	error_text += "Email is required.\n";
    	result = false;
    }
    else
    {
    	if(!validEmail('email'))
    	{
    		error_text += "Email must be valid.\n";
    		result = false;
    	}    
    }    
    return result;
}

function checkAddress()
{
    var result = true;   
    if(!notEmpty('address'))
    {
    	error_text += "Address is required.\n";
    	result = false;
    }    
    return result;
}

function checkCity()
{
    var result = true;   
    if(!notEmpty('city'))
    {
    	error_text += "City is required.\n";
    	result = false;
    }    
    return result;
}

function checkZip()
{
    var result = true;   
    if(!notEmpty('zip'))
    {
    	error_text += "Zip Code is required.\n";
    	result = false;
    }    
    return result;
}

function checkWebsite()
{
    var result = true;   
    if(!notEmpty('website'))
    {
    	error_text += "Website is required.\n";
    	result = false;
    }    
    return result;
}

function checkShortDescription()
{
    var result = true;   
    if(!notEmpty('shortdescription'))
    {
    	error_text += "Short Description is required.\n";
    	result = false;
    }
    else
    {
    	if(!maxLength('shortdescription',100))
    	{
		  	error_text += "Short description cannot contain more than 100 characters.\n";
	    	result = false;
	    }
    }   
    return result;
}

function checkLongDescription()
{
    var result = true;   
    if(!notEmpty('zip'))
    {
    	error_text += "Long Description is required.\n";
    	result = false;
    }    
    return result;
}

function checkName()
{
    var result = true;   
    if(!notEmpty('realname'))
    {
    	error_text += "Name is required.\n";
    	result = false;
    }    
    return result;
}
