// JavaScript Document

function notEmpty(elem, helperMsg)
{
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.length <= 0 && elem.value.match(alphaExp) != true){
		alert(helperMsg +elem.name);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}
/////////////////////////

function emailValidator(elem, helperMsg)
{
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
/////////////////////////

function madeSelection(elem, helperMsg)
{
	if(elem.value == "Please Choose"){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}
////////////////////////

function isAlphabet(elem, helperMsg)
{
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
//////////////////////////

function isAlphanumeric(elem, helperMsg)
{
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
///////////////////////

function lengthRestriction(elem, min, max)
{
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}
///////////////////////

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
///////////////////////


function formValidator2()
{
	// Make quick references to our fields
	form = arguments[0];
	len = form.length;
	no_args = arguments.length;	
		
	for(i=0; i<len;i++)
	{	if(i != arguments[i])
		{	if(!notEmpty(form.elements[i],"Please enter the "))
				return false;
		}
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
	}
	return true;
}

function mailerformValidator(form,email)
{
	// Make quick references to our fields
	len = form.length;
	
	if(form.elements[len-1].checked)
		form.elements[len-1].value = 1;
	else
		form.elements[len-1].value = 0;
		
	for(i=0; i<len;i++)
	{	if(i != email)
		{	if(!notEmpty(form.elements[i],"Please enter the "))
				return false;
		}
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
	}
	return true;
}

function formValidator(form,email_no)
{
	// Make quick references to our fields
	len = form.length;
	checkbox_select = 3;
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{	
			if(i == 2 && form.elements[i].value == "Please enter city")
			{	alert("Please enter city"); cleanit(form.elements[i]); return false;	}
			
			if(form.elements[i].type != "checkbox" && !notEmpty(form.elements[i],"Please enter the "))
				return false;
			
			if(form.elements[i].type == "checkbox" && form.elements[i].checked == true)
					checkbox_select = 1;
			
			if(form.elements[i].type == "checkbox" && checkbox_select != 1 && form.elements[i].checked == false)
					checkbox_select = 0;
		}
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
	}
	
	if(checkbox_select == 0)
	{	alert("Please provide atleast one selection..");
		return false;
	}
	else
		return true;
}
//////////////////////////////////////////
function newnotEmpty(elem, helperMsg)
{	
	
	if(elem.value.length <= 0)
	{	if(elem.name == "Name")
		   str = "Your First Name";
		
		if(elem.name == "field2")
		   str = "Your Dogs Breed";
		
		if(elem.name == "field3")
		   str = "Your Dogs Name";
		   
		alert(helperMsg + str);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}
//////////////////////////////////////////
function shoppingcart_form(form,email_no)
{
	len = form.length;
	
	for(i=0; i<len;i++)
	{	
		if(i != email_no)
		{	if(!newnotEmpty(form.elements[i],"Please Enter "))
			return false;
		}
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
	}
	return true;
}

//////////////////////////////////////////////////////////
function come_formValidator(form,email_no,id)
{
	// Make quick references to our fields
	len = form.length;
	checkbox_select = 3;
	var obj = document.getElementById(id);
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{	
			if(i == 2 && form.elements[i].value == "Please enter city")
			{	alert("Please enter city"); cleanit(form.elements[i]); return false;	}
			
			if(form.elements[i].type != "checkbox" && !newnotEmpty(form.elements[i],"Please enter "))
				return false;
			
			if(form.elements[i].type == "checkbox" && form.elements[i].checked == true)
					checkbox_select = 1;
			
			if(form.elements[i].type == "checkbox" && checkbox_select != 1 && form.elements[i].checked == false)
					checkbox_select = 0;
		}
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
	}
	
	if(checkbox_select == 0)
	{	alert("Please provide atleast one selection..");
		return false;
	}
	else
	{	obj.style.visibility = "hidden";	return true;	}
}
/////////////////////////////////////////////////////////

function qualifyValidator(form,email_no)
{
	// Make quick references to our fields
	len = form.length;
	
	for(i=0; i<len;i++)
	{	
		if(form.elements[i].type == "checkbox")
		{	if(form.elements[i].checked != true)
			{	alert("Please click the checkbox to varify the above skills");
				return false; 
			}
		}
		else
		{
			if(i != email_no)
			{	if(!notEmpty(form.elements[i],"Please enter the "))
					return false;
			}
			else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
				return false;
		}
	}
	return true;
}




////////////////////////////////////////////////////////////////////////////////
/*
	var name = document.getElementById('Name');
	var state = document.getElementById('State');
	var city = document.getElementById('City');
	var email = document.getElementById('email');

	// Check each input in the order that it appears in the form!
	if(isAlphabet(name,"Please enter only letters for your name") && notEmpty(name,"Please enter your name"))
	{
		if(madeSelection(state, "Please Choose a State"))
		{
			if(isAlphabet(city, "Please enter only letters for City") && notEmpty(city,"Please enter your 

city")){
				if(emailValidator(email, "Please enter a valid email address") && notEmpty(email,"Please 

enter your email")){
					return true;
						
				}
			}
		}
	}
	return false;
}*/

/////////////////////////////////////////////////////////////////////
function cleanit(elem)
{
	if(elem.value == "Please enter city")
	{	elem.value = "";
		elem.focus();
	}
}

////////////////////////////////////////////////////////
function surveyformValidator(form,email_no)
{
	// Make quick references to our fields
	len = form.length;
	message = "";
	error = 0;	
	ctr = 0;
	chkctr=0
	ans=0;
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{						
			if(form.elements[i].type != "checkbox" && !notEmpty(form.elements[i],"Please enter the "))
				return false;
				
////////////////////////////////////////Script for checkbox /////////////////////////			

			if(form.elements[i].type == "checkbox" && form.elements[i].checked != true)
			{	 chkctr++; 
			
				name = form.elements[i].name;
				
				if(name.substring(0,4) == "ans3")
				{	
								
					if(form.elements[5].checked == true && chkctr == 5)			/// if radio option Yes is selected and still checkbox is not selected
					{	message += "You have't selected any of speciality training option under question 3" + "\n\n";
						chkctr = 0;error =1;
					}
					
					if (form.elements[i+1].name.substring(0,4) != name.substring(0,4))
						chkctr=0;
				}
				
				if(name.substring(0,4) == "ans7")
				{					
					if(chkctr == 14)
					{	message += "You have missed the question no. 7 \n\n"; 
						chkctr = 0;
						error =1;
					}
					if (form.elements[i+1].name.substring(0,4) != name.substring(0,4))
						chkctr=0;
				}
				
				if(name.substring(0,4) == "ans8")
				{	
					if(chkctr == 6)
					{	message += "You have missed the question no. 8 \n\n";
						chkctr = 0;
						error =1;
					}
					if (form.elements[i+1].name.substring(0,4) != name.substring(0,4))
						chkctr=0;
				}
				
				if(name.substring(0,4) == "ans9")
				{	
					if(chkctr == 3)
					{	message += "You have missed the question no. 9 \n\n";
						chkctr = 0;
						error =1;
					}
					if (form.elements[i+1].name.substring(0,4) != name.substring(0,4))
						chkctr=0;
				}
				
			}
			else if(form.elements[i].type == "checkbox" && form.elements[i].checked == true)
			{	chkctr=0;
				name = form.elements[i].name.substring(0,4);
				if(name == "ans3" && (form.elements[6].checked == true && form.elements[i].checked == true)) // if radio option No is selected and still checkbox is selected
					{	message += "Please deselect the selected speciality training option under question 3 as you have selected No" + "\n\n";
						
						chkctr = 0;error =1;
					}
			}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////// script for radio filed   /////////////////////////
			
			if(form.elements[i].type == "radio" && form.elements[i].checked != true)   // if first radio button is not selected
			{	radioSelect=0; //error = 1; 
				name = form.elements[i].name;
				if(name == "ans7a")
					rctr=2;
				else
					rctr=1;
				
				for(ri=1;ri<=rctr;ri++)
				{	if(form.elements[i+ri].checked == true)
						radioSelect = 1;
				}

				if(radioSelect == 0 ) // if second or further radio button is not selected
				{	i +=rctr;
					error = 1;
					
					switch(name)
					{	case 'ans2':
							message += "You have missed the question no. 1" + "\n\n";
							break;
						case 'ans3':
							message += "You have missed the question no. 2" + "\n\n";
							break;
						case 'ans4':
							message += "You have missed the question no. 3" + "\n\n";
							break;
						case 'ans5':
							message += "You have missed the question no. 4" + "\n\n";
							break;
						case 'ans6':
							message += "You have missed the question no. 5" + "\n\n";
							break;	
					}
			
					if(name.substring(0,4) == "ans7")
					{	ans++; 
						if(ans == 3)
							message += "You have missed the question(s) from question no. 6" + "\n\n";
					}
				}
				else				///////else, if second or further radio button is selected
				{	i += rctr;
					if(name.substring(0,4) == "ans7")
						ans++;
				}
			} 		////// endif of if radio is not selected 	
			
			else if(form.elements[i].type == "radio" && form.elements[i].checked == true)			////////// else if, if first radio option is selected
			{	
				name = form.elements[i].name;
				if(name == "ans7a")
					rctr=2;
				else
					rctr=1;
								
				if(name.substring(0,4) == "ans7")
				ans++;
					
				i +=rctr;
			}

///////////////////////////////////////////////////////////			
		}
		
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
			
	} ///////////////////////END OF FOR LOOP
	
	if(error != 1)
		return true;
	else
	{	alert(message);
		return false
	}
}

//////////////////////////////////////////////////////////////////////

function formValidatorSubmit(form,form1,email_no)
{
	// Make quick references to our fields
	len = form.length;
	
	form1.elements["Email1"].value= form.elements[email_no].value;
	form1.elements["Name"].value = form.elements["name1"].value;
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{	
			if(!notEmpty(form.elements[i],"Please enter the "))
				return false;
		}
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
	}
	
	return true;	
}
//////////////////////////////////////////

function appformValidator(form,email_no)
{
	// Make quick references to our fields
	len = form.length;
	message = "";
	error = 0;	
	ctr = 0;
	chkctr=0
	ans=0;
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{						
			if(form.elements[i].type != "checkbox" && form.elements[i].name != 'pet' && !notEmpty(form.elements[i],"Please enter the "))
				return false;
				
////////////////////////////////////////Script for checkbox /////////////////////////			

			if(form.elements[i].type == "checkbox" && form.elements[i].checked != true)
			{	 chkctr++; 
			
				name = form.elements[i].name;
				
				if(name.substring(0,8) == "category")
				{	
					if (form.elements[i+1].name.substring(0,8) != name.substring(0,8))    /// if all checkmarks are checked
					{	if(chkctr == 8)    // if all 8 checkmarks are unchecked
						{	chkctr=0;
							message="Please select the category meets your needs.";
						 	error=1;
							break;
						}
					}
				}
			}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////// script for radio filed   ////////////////////////
			
			if(form.elements[i].type == 'radio' && form.elements[i].checked == false)   // if first radio button is not selected
			{	radioSelect=0; //error = 1; 
				name = form.elements[i].name;
				rctr=1;

				for(ri=1;ri<=rctr;ri++)
				{	if(form.elements[i+ri].checked == true)
						radioSelect = 1;
				}

				if(radioSelect == 0 ) // if second or further radio button is not selected
				{	i +=rctr;
					error = 1;

					switch(name)
					{	
						case 'ans4':
							message += "You have missed the question no. 4" + "\n\n";
							break;
						case 'ans5':
							message += "You have missed the question no. 5" + "\n\n";
							break;
						case 'ans6':
							message += "You have missed the question no. 6" + "\n\n";
							break;	
						case 'ans7':
							message += "You have missed the question no. 7" + "\n\n";
							break;		
					}
			
				}
				else				///////else, if second or further radio button is selected
				{	i += rctr;
					error = 0;
				}
				if(error == 1)
					break;
			} 		////// endif of if radio is not selected 	
			
			else if(form.elements[i].type == "radio" && form.elements[i].checked == true)	////////// else if, if first radio option is selected
			{	
				name = form.elements[i].name;
				value = form.elements[i].value;

				if(name == "ans5" && value == "Yes")
				{	
					if(!notEmpty(form.elements[21],"Please describe your "))
					return false;
				}
					
				i +=1;
			}  

///////////////////////////////////////////////////////////			
		}   /////////////  End of if(i != email_no)
		
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
			
	} ///////////////////////END OF FOR LOOP
	
	if(error != 1)
		return true;
	else
	{	alert(message);
		return false
	}
}

////////////////////////////////  

function online_SD_courseValidator(form,email_no)
{
	// Make quick references to our fields
	len = form.length;
	message = "";
	error = 0;	
	ctr = 0;
	chkctr=0
	ans=0;
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{						
			if(form.elements[i].type != "checkbox" && form.elements[i].name != 'pet' && !notEmpty(form.elements[i],"Please enter the "))
				return false;
				
////////////////////////////////////////Script for checkbox /////////////////////////			

			if(form.elements[i].type == "checkbox" && form.elements[i].checked != true)
			{	 chkctr++; 
			
				name = form.elements[i].name;
				
				if(name.substring(0,8) == "category")
				{	
						if(chkctr == 8)    // if all 8 checkmarks are unchecked
						{	chkctr=0;
							message="Please select the category meets your needs.";
						 	error=1;
							break;
						}
				}
			}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

		}   /////////////  End of if(i != email_no)
		
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
			
	} ///////////////////////END OF FOR LOOP
	
	if(error != 1)
		return true;
	else
	{	alert(message);
		return false
	}
}

//////////////////////////////////////////////////////////////////////////////////

function pre_consultation(form,email_no)
{
	// Make quick references to our fields
	len = form.length;
	message = "";
	error = 0;	
	ctr = 0;
	chkctr=0
	ans=0;
	
	for(i=0; i<len;i++)
	{	if(i != email_no)
		{						
			if(form.elements[i].type != "checkbox" && !notEmpty(form.elements[i],"Please enter the "))
				return false;
				
////////////////////////////////////////Script for checkbox /////////////////////////			

			if(form.elements[i].type == "checkbox" && form.elements[i].checked != true)
			{	 chkctr++; 
			
				name = form.elements[i].name;
				
				if(name.substring(0,8) == "category")
				{	
						if(chkctr == 8)    // if all 8 checkmarks are unchecked
						{	chkctr=0;
							message="Please select the category meets your needs.";
						 	error=1;
							break;
						}
				}
			}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

		}   /////////////  End of if(i != email_no)
		
		else if(!emailValidator(form.elements[i],"Please enter a valid email address"))
			return false;
			
	} ///////////////////////END OF FOR LOOP
	
	if(error != 1)
		return true;
	else
	{	alert(message);
		return false
	}
}
