function validationCalendar()
{
	validDate = false;
	vRequiredFields = '';
	vRequiredFields += 'title,Event Name,text,';
	vRequiredFields += 'shortdescription,Event Short Description,text';
	
	if(document.form1.startdate.value > document.form1.enddate.value)
	{
		alert("Start Date can not come after End Date.");
		validDate = false;
	}
	else
	{
		validDate = true;
	}
	validResult = validation('form1', vRequiredFields) && validDate;
	return validResult;
}
function search_zip_value_fun()
{
	vRequiredFields = ''; 
	vRequiredFields += 'search_zip_keyword,Enter Correct Zipcode,zip,';
	return validation('search_dir_zipcode_form', vRequiredFields);
	
}
function validationEmail()
{
	vRequiredFields = '';
	vRequiredFields += 'name,Name,text,';
	vRequiredFields += 'email,Email,email';
	
	isValid = validation('form1', vRequiredFields);
	if(isValid)
	{
		document.getElementById('send1').style.display = 'none';
		document.getElementById('send2').style.display = 'block';
	}
	
	return isValid;
}

function validationSpotlight()
{
	vRequiredFields = '';
	vRequiredFields += 'ccname,Name on Credit Card,text,';
	
	return validation('form1', vRequiredFields);
}

function validationAd()
{
	vRequiredFields = '';
	vRequiredFields += 'firstname,First Name,text,';
	vRequiredFields += 'lastname,Last Name,text,';
	vRequiredFields += 'company,Company,text,';
	vRequiredFields += 'address1,Address,text,';
	vRequiredFields += 'city,City,text,';
	vRequiredFields += 'state,State,text,';
	vRequiredFields += 'zip,Zip,text,';
	vRequiredFields += 'phone,Phone,text,';
	vRequiredFields += 'email,Email,text,';
	vRequiredFields += 'acceptterms,Accept Terms,checkbox';
	
	return validation('form1', vRequiredFields);
}

function validationSales()
{
	vRequiredFields = '';
	vRequiredFields += 'name,Name,text,';
	vRequiredFields += 'companyname,Company Name,text,';
	vRequiredFields += 'phone,Phone,text,';
	vRequiredFields += 'email,Email,email';
	
	return validation('form1', vRequiredFields);
}

function validationLogin()
{
	vRequiredFields = '';
	vRequiredFields += 'user_name,Username,text,';
	vRequiredFields += 'pass,Password,text';
	return validation('login', vRequiredFields);
}

function validationRegister()
{
	vRequiredFields = '';
	vRequiredFields += 'firstname,First Name,text,';
	vRequiredFields += 'lastname,Last Name,text,';
	vRequiredFields += 'email,Email,email,';
	vRequiredFields += 'confirmemail,Confirm Email,emailconfirm,';
	vRequiredFields += 'user_name,User Name,text,';
	vRequiredFields += 'pass,Pass,password,';
	vRequiredFields += 'confirmpass,Confirmation Password,confirmpassword,';
	vRequiredFields += 'conditions,Terms and Conditions,checkbox';
	
	return validation('register', vRequiredFields);
}
function validationProfile()
{
	vRequiredFields = '';
	vRequiredFields += 'user_name,User Name,text,';
	vRequiredFields += 'pass,Password,text,';
	vRequiredFields += 'firstname,First Name ,text,';
	vRequiredFields += 'lastname,Last Name,text,';
	vRequiredFields += 'company,Company,text,';
	//vRequiredFields += 'address1,Address,text,';
	//vRequiredFields += 'city,City,text,';
	vRequiredFields += 'state,State,text,';
	//vRequiredFields += 'zip,Zip,text,';
	vRequiredFields += 'email,Email,email';
	
	return validation('register', vRequiredFields);
}
function validation_Eng_add_Directory()
{
	vRequiredFields = ''; 
	vRequiredFields += 'category_type,Select Category Type,select,';
	vRequiredFields += 'dir_title,Enter Title,text,';
	vRequiredFields += 'dir_address,Enter Address ,text,'; 
	vRequiredFields += 'select0,Select State,select,';  
	
	if(document.add_directory_form.select0.value!="")
	  {
		  if(document.add_directory_form.select1.value=="")
		  { 
		  vRequiredFields += 'select1,Select County,select,';
		  } 
	  }
	if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value=="")
			{ 
			vRequiredFields += 'select2,Select City,select,';	
			}
		}
     }  
   if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value!="")
			{
		   		if(document.add_directory_form.select3.value=="")
				{ 
				vRequiredFields += 'select3,Select zipcode,select,';	
				}
			}
		}
     } 
	//vRequiredFields += 'dir_phone,Enter Phone,text,';  
	vRequiredFields += 'dir_website,Enter Website URL,website_url,';
	vRequiredFields += 'dir_email,Enter Email,email,';
	//vRequiredFields += 'dir_description,Enter Description,text,'; 
	return validation('add_directory_form', vRequiredFields);
}
function validation_Eng_basic_add_Directory()
{
	vRequiredFields = ''; 
	vRequiredFields += 'category_type,Select Category Type,select,';
	vRequiredFields += 'dir_title,Enter Title,text,';
	vRequiredFields += 'dir_address,Enter Address ,text,'; 
	vRequiredFields += 'select0,Select State,select,';  
	
	if(document.add_directory_form.select0.value!="")
	  {
		  if(document.add_directory_form.select1.value=="")
		  { 
		  vRequiredFields += 'select1,Select County,select,';
		  } 
	  }
	if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value=="")
			{ 
			vRequiredFields += 'select2,Select City,select,';	
			}
		}
     }  
   if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value!="")
			{
		   		if(document.add_directory_form.select3.value=="")
				{ 
				vRequiredFields += 'select3,Select zipcode,select,';	
				}
			}
		}
     }  
	 
	vRequiredFields += 'dir_website,Enter Website URL,website_url,';
	vRequiredFields += 'dir_email,Enter Email,email,';
	return validation('add_directory_form', vRequiredFields);
}
function check_before_checkout()
{
	vRequiredFields = '';
	vRequiredFields += 'creditCardType,Select Card Type,text,'; 
	vRequiredFields += 'cvv2Number,Enter CVV Number,text,'; 
	vRequiredFields += 'agree,Select Terms and condition,checkbox,'; 
	return validation('payment_form', vRequiredFields);
}
function contact_agent_email_fun()
{
	vRequiredFields = '';
	vRequiredFields += 'F_First_Name,Enter Your Name,text,';  
	vRequiredFields += 'email_send,Enter Your Email,email,';  
	vRequiredFields += 'subject,Enter Subject,text,';  
	vRequiredFields += 'message,Enter Message,text,'; 
	
	
	return validation('contact_agent_email_form', vRequiredFields);
}

function validation_spanish_add_Directory()
{
	 vRequiredFields = ''; 
	vRequiredFields += 'category_type,Seleccione el tipo de la categoría,select,';
	vRequiredFields += 'dir_title,Incorpore el título,text,';
	vRequiredFields += 'dir_address,Incorpore el título,text,'; 
	vRequiredFields += 'select0,Seleccione el estado,select,';  
	
	if(document.add_directory_form.select0.value!="")
	  {
		  if(document.add_directory_form.select1.value=="")
		  { 
		  vRequiredFields += 'select1,Seleccione el condado,select,';
		  } 
	  }
	if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value=="")
			{ 
			vRequiredFields += 'select2,Seleccione la ciudad,select,';	
			}
		}
     }  
   if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value!="")
			{
		   		if(document.add_directory_form.select3.value=="")
				{ 
				vRequiredFields += 'select3,Seleccione el código postal,select,';	
				}
			}
		}
     } 
	//vRequiredFields += 'dir_phone,Enter Phone,text,';  
	vRequiredFields += 'dir_website,Last Name,website_url,';
	vRequiredFields += 'dir_email,Enter Email,email,';
	//vRequiredFields += 'dir_description,Enter Description,text,'; 
	return validation('add_directory_form', vRequiredFields);
}
function validation_spanish_basic_add_Directory()
{
	 vRequiredFields = ''; 
	vRequiredFields += 'category_type,Seleccione el tipo de la categoría,select,';
	vRequiredFields += 'dir_title,Incorpore el título,text,';
	vRequiredFields += 'dir_address,Incorpore el título,text,'; 
	vRequiredFields += 'select0,Seleccione el estado,select,';  
	
	if(document.add_directory_form.select0.value!="")
	  {
		  if(document.add_directory_form.select1.value=="")
		  { 
		  vRequiredFields += 'select1,Seleccione el condado,select,';
		  } 
	  }
	if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value=="")
			{ 
			vRequiredFields += 'select2,Seleccione la ciudad,select,';	
			}
		}
     }  
   if(document.add_directory_form.select0.value!="")
  	{
		if(document.add_directory_form.select1.value!="")
		{
			if(document.add_directory_form.select2.value!="")
			{
		   		if(document.add_directory_form.select3.value=="")
				{ 
				vRequiredFields += 'select3,Seleccione el código postal,select,';	
				}
			}
		}
     }  
	vRequiredFields += 'dir_website,Enter Website URL,website_url,';
	vRequiredFields += 'dir_email,Entre en el email,email,';
	return validation('add_directory_form', vRequiredFields);
}


function isValidURL(url){
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
}
function validation(vFormName, vRequiredFields){
	thisform = document.forms[vFormName];
	/*** General Validations ***/
	valid1 = 1;
	firstInvalid = '';
	str1 = "\n\nThe following are errors:\n";

	RequiredFieldsArray = vRequiredFields.split(',');
	for(i = 0;i < RequiredFieldsArray.length;i+=3){
		fieldname = RequiredFieldsArray[i];
		displayname = RequiredFieldsArray[i + 1];
		fieldtype = RequiredFieldsArray[i + 2];
		switch(fieldtype){
		/*** NAME ***/
		  case 'name':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);
			if(thisform.elements[fieldname].value.length < 2){
				valid1 = 0;
				str1 += "\n* " + displayname;
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			}
			break;
		/*** Website URL ***/	
		case 'website_url':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);  
			if(!isValidURL(thisform.elements[fieldname].value))
			{
				valid1 = 0;
				str1 += "\n* URL is not valid.";
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			} 
			break;	

		/*** PHONE ***/		
		  case 'phone':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);
		  	localPass = 1;
			rExp = /[^0-9]+/gi;
			thisform.elements[fieldname].value = thisform.elements[fieldname].value.replace(rExp,"");

			Phone1 = thisform.elements[fieldname].value.substr(0,3);
			Phone2 = thisform.elements[fieldname].value.substr(3,3);
			Phone3 = thisform.elements[fieldname].value.substr(6);
			thisform.elements[fieldname].value = Phone1 + Phone2 + Phone3;
			
			if(thisform.elements[fieldname].value.length < 10){
				valid1 = 0;
			  	localPass = 0;
				str1 += "\n* " + displayname + " is too short.";
				thisform.elements[fieldname].className = "field";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}


			for(j = 5;j < 6;j++){
				if(Phone2 == ('' + j + j + j)){
					valid1 = 0;
					localPass = 0;
					str1 += "\n* " + displayname + " number is incorrect.";
					thisform.elements[fieldname].className = "field-error";
					if(firstInvalid == ''){
						firstInvalid = fieldname;
					}
				}
			}
			if(localPass){
				thisform.elements[fieldname].className = "field";
			}
			break;

		/*** ZIP ***/
		  case 'zip':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);
		  	localPass = 1;
			if(thisform.elements[fieldname].value.length < 5){
				valid1 = 0;
			  	localPass = 0;
				str1 += "\n* Not a valid zip.";
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}

			if(localPass){
				thisform.elements[fieldname].className = "field";
			}
			break;

		/*** EMAIL ***/
		  case 'email':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);
			reg = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/; // valid
			if(!reg.test(thisform.elements[fieldname].value)){
				valid1 = 0;
				str1 += "\n* Email is not valid.";
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			}
			Email = thisform.elements[fieldname].value;
			break;

		/*** EMAIL CONFIRM ***/
		  case 'emailconfirm':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);
			if(thisform.elements[fieldname].value != Email){
				valid1 = 0;
				str1 += "\n* Emails do not match.";
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			}
			Email = thisform.elements[fieldname].value;
			break;

		/*** TEXT ***/
		  case 'text':
		  	thisform.elements[fieldname].value = trim(thisform.elements[fieldname].value);
			if(thisform.elements[fieldname].value == ''){
				valid1 = 0;
				str1 += "\n* " + displayname;
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			}
			break;

		/*** SELECT ***/
		  case 'select':
			if(thisform.elements[fieldname].selectedIndex == 0){
				valid1 = 0;
				str1 += "\n* " + displayname;
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			}
			break;

		/*** RADIO ***/
		  case 'radio':
		  	checked = 0;
		  	for(j = 0;j < thisform.elements[fieldname].length;j++){
		  		if(thisform.elements[fieldname][j].checked){
		  			checked = 1;
		  		}
		  	}

			if(!checked){
				valid1 = 0;
				str1 += "\n* " + displayname;
			  	for(j = 0;j < thisform.elements[fieldname].length;j++){
					thisform.elements[fieldname][j].className = "field-error";
					if(firstInvalid == ''){
						firstInvalid = '';
					}
				}
			}else{
			  	for(j = 0;j < thisform.elements[fieldname].length;j++){
					thisform.elements[fieldname][j].className = "field";
				}
			}
			break;

		/*** CHECKBOX ***/
		  case 'checkbox':
			if(!thisform.elements[fieldname].checked){
				valid1 = 0;
				str1 += "\n* " + displayname;
				thisform.elements[fieldname].className = "field-error";
				if(firstInvalid == ''){
					firstInvalid = fieldname;
				}
			}else{
				thisform.elements[fieldname].className = "field";
			}
			break;

		}
	}

	str = "VALIDATION ERROR";
	if(!valid1){
		str += str1;
	}
	if(!valid1){
		alert(str);
		return false;
	}else{
		return true;
	}
}

function trim(str){
   return str.replace(/^\s*|\s*$/g,"");
}

