function explodeArray(items,delimiter) //To explode field name its parameter to validate like _1,_2 etc...
{ 

	tempArray=new Array(1); 
	var Count=0; 
	var tempstring=items; 
	while (tempstring.indexOf(delimiter)>0) { 
	tempArray[Count]=tempstring.substr(0,tempstring.indexOf(delimiter)); 
	tempstring=tempstring.substr(tempstring.indexOf(delimiter)+1,tempstring.length-tempstring.indexOf(delimiter)+1); 
	Count=Count+1 
	} 
	
	tempArray[Count]=tempstring;
	return tempArray; 
} 


function validateForms(frm)
	{
	   	var flagerr1=0;
		elementForms = document.getElementById(frm);		 
		for (var intCounter = 0; intCounter < elementForms.length; intCounter++)
		 
		{
							
			var type=elementForms[intCounter].type;

			if(validateForm(elementForms[intCounter].id,type))
			{
			//	flagerr1=0;	
			}
			else
			{
				flagerr1=1;	
			}
		}
		
		if(flagerr1==1)
		{
			return false;	 	
		}
		else
		{
			return true;			
		}
		//return true;			
 }

 function validateForm(id1,type)
 {
 	arr = explodeArray(id1,'_');
	var flagerr=0;
	   if(type=="select-one")
		{			
			if(arr.length!=0)
			{
				var i=0;
				for(i=0;i<arr.length;i++)
				{
				
					if(arr.length!=0)
						{
							if(arr[i]==1) // FOR BLANK
							{
								if(document.getElementById(id1).value==0)
								{
									document.getElementById(arr[0]).innerHTML="Select option";
									flagerr=1;
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";
								}
							}
						}
				} //for end
			} //if end
		}//if end
	
		if(type=="text" || type=="textarea" || type=="password" || type=="hidden")
		{
			if(arr.length!=0)
			{
				var i=0;
				for(i=0;i<arr.length;i++)
				{
					var matchPos1 = arr[i].search('35');
					
					if (i!=0)
						{
							
							if(arr[i]==1) // FOR BLANK
							{
								
							    if(LTrim(document.getElementById(id1).value)=="")
								{	
									document.getElementById(arr[0]).innerHTML="Should not be blank";
									flagerr=1;
									
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";	
								}
								
								
							 }
						
							if(arr[i]==2 && flagerr!=1) // EMAIL VALIDATION
							{
								
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!checkEmail(document.getElementById(id1).value))
										{
											document.getElementById(arr[0]).innerHTML="Invalid Email Address";
											flagerr=1;
										}
										else
										{
											document.getElementById(arr[0]).innerHTML="";
										}
								}
								
							}
						
							if(arr[i]==3 && flagerr!=1) // ALPHABETIC VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isAlphabetic(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Only Alphabetic characters are allowed";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							if(arr[i]==4 && flagerr!=1) // NUMERIC VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!IsNumeric(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Only numbers are allowed";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							if(arr[i]==5 && flagerr!=1) // ALPHANUMERIC VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isAlphaNumeric(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Only Alphanumeric characters are allowed";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							if(arr[i]==6 && flagerr!=1) // ZIPCODE VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isValidZipCode(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Invalid Postcode";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							if(arr[i]==7 && flagerr!=1) // PHONENUMBER VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isValidPhone(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Invalid Phone No";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							if(arr[i]==8 && flagerr!=1) // MAX 6 CHARACTERS VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!atleastSixChar(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="More than 5 chars required";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							
							if(arr[i]==9 && flagerr!=1) // URL VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!checkUrl(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Invalid url";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								
							}
							
							if(arr[i]==10 && flagerr!=1) // SPECIAL CHARS VALIDATION
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isSpecialChars(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Special chars/white spaces are not allowed";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
							
							}
							if(arr[i]==11 && flagerr!=1) //VALIDATION FOR MOBILE NO
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isValidMobile(document.getElementById(id1).value))
									{
										document.getElementById(arr[0]).innerHTML="Invalid Mobile No.";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
							
							}
							if(arr[i]==12 && flagerr!=1) 
							{
								if (document.getElementById(id1).value=="")
								{
									
								}
								else
								{
									if(!isSpecialCharsb(LTrim(document.getElementById(id1).value)))
									{
										document.getElementById(arr[0]).innerHTML="Special characters are not allowed";
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
							
							}
							if(arr[i]==13 && flagerr!=1) // URL VALIDATION FOR dyanamic textboxes
							{
								if(!checkUrl(document.getElementById(id1).value))
								{
									document.getElementById(arr[0]).innerHTML="Invalid url";
									flagerr=1;
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";
								}
							}
							
							if(arr[i]==14 && flagerr!=1) // MULTIPLE EMAIL VALIDATION
							{																	
								if (document.getElementById(id1).value != "")
								{										
									email_str = document.getElementById(id1).value;
									email_arr = explodeArray(email_str,',');	
									
									for(j=0; j<email_arr.length; j++)
									{
										email_id = trim(email_arr[j]);
										if(email_id!="")
										{
											if(!checkEmail(email_id))
												flagerr=1;
										}
									} 
									if(flagerr==1)
										document.getElementById(arr[0]).innerHTML="Invalid Email Address";
									else	
										document.getElementById(arr[0]).innerHTML="";

								}
								
							}  //end of case 14
							
							if(arr[i]==15 && flagerr!=1) // No numbers are allowed
							{
								if(!isNumberChars(document.getElementById(id1).value))
								{
									document.getElementById(arr[0]).innerHTML="Numbers are not allowed";
									flagerr=1;
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";
								}
							} 
							if(arr[i]==16 && flagerr!=1) // No numbers are allowed
							{
								if(parseInt(document.getElementById(id1).value) <=0)
								{
									document.getElementById(arr[0]).innerHTML="Please enter valid amount";
									flagerr=1;
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";
								}
							} 
							if(arr[i]==17 && flagerr!=1) // No numbers are allowed
							{
								
								if(parseInt(document.getElementById(id1).value) < 0)
								{
									document.getElementById(arr[0]).innerHTML="Please enter valid amount";
									flagerr=1;
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";
								}
							} 
							
							//new validation for <0>1000
							if(arr[i]==18 && flagerr!=1) // No numbers are allowed
							{
								
								if((document.getElementById(id1).value <= 0) || (document.getElementById(id1).value >1000))
								{
									document.getElementById(arr[0]).innerHTML="Input should be between 1-1000";
									flagerr=1;
								}
								else
								{
									document.getElementById(arr[0]).innerHTML="";
								}
							} 
							if(matchPos1 != -1 && flagerr!=1)
							{
								
								marr = explodeArray(arr[i],'%');
								var mlim='';
								if(marr.length!=0)
								{
									var m=1;
									for(m=1;m<marr.length;m++)
									{
										min1=marr[1];
										max2=marr[2];
									}
								}
								
								if(document.getElementById(id1).value!='')
								{
									
									if(!countChars(document.getElementById(id1),min1,max2))
									{
										document.getElementById(arr[0]).innerHTML="Allowed character length is "+min1+" to "+max2;
										flagerr=1;
									}
									else
									{
										document.getElementById(arr[0]).innerHTML="";
									}
								}
								else
								{
										document.getElementById(arr[0]).innerHTML="";
								}
							} 
															
						}
					
				}	
			}
		}
		if(flagerr==1)
		{
			return false;	
		}
		else
		{
			return true;	
		}
		//return true;
	
	
 }
 
 
function IsEmpty(aTextField)
{
   if ((aTextField.value.length==0) || (aTextField.value==null))
   {
      return true;
   }
   else 
   {
   	  return false;
   }
}	

// check to see if input is numeric
function IsNumeric(val) 
{
   if(isNaN(val))
   {
   		return false;
   }
   else
   {
   		return true;
   }
}

// check to see if input is alphabetic
function isAlphabetic(val)
{
	if (val.match(/^[a-zA-Z]+$/))
	{
		return true;
	}
	else
	{
		return false;
	} 
}

// check to see if input is alphanumeric
function isAlphaNumeric(val)
{
	if (val.match(/^[a-zA-Z0-9]+$/))
	{
		return true;
	}
	else
	{
		return false;
	} 
}


// For phone number validation
function isValidPhone(val)
{
  var values = " 1234567890-+()";
  for (var i=0; i < val.length; i++)
    if (values.indexOf(val.charAt(i)) < 0)
       return false;
  return true;
}
function isValidMobile(val)
{
  var values = " 1234567890+-";
  for (var i=0; i < val.length; i++)
    if (values.indexOf(val.charAt(i)) < 0)
       return false;
  return true;
}
// For Zip code validation
function isValidZipCode(val) {
   if(val.length < 4) {
   	return false;
   }
   else {
   	return true;
   }
}

// For max character validation
function maxCharacter(val,maxlen) {
   if(isNaN(val) || val.length	!= maxlen) {
   	return false;
   }
   else {
   	return true;
   }
}

// For at least 6 characters 
function atleastSixChar(val) {
   if(val.length < 6) {
   	return false;
   }
   else {
   	return true;
   }
}

//For email address validation
function isEmailAddress(val)
{
	if (val.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/))
	{
		return true;
	}
	else
	{
		return false;
	} 
}
function checkUrl(val)
{
	 var tomatch= /^(([\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 (tomatch.test(val))
     {
         return true;
     }
     else
     {
         return false; 
     }
}

function checkEmail(val)
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(val)){
	return (true)
}
	//alert("Invalid E-mail Address! Please re-enter.")
	return (false)
}

function isSpecialChars(val)
{
	var iChars = " !@#$%^&*()+=-[]\\\';,./{}|\":<>?";

	var flag=1;

	for (var j = 0; j < val.length; j++)
	{
  		if (iChars.indexOf(val.charAt(j)) != -1)
		{
  			flag=0;
  		}
		else
		{
		}
	}

	if(flag==1)
	{
		return true;	
	}
	else
	{
		return false;	
	}

}

function isSpecialCharsb(val)
{
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";

	var flag=1;

	for (var j = 0; j < val.length; j++)
	{
  		if (iChars.indexOf(val.charAt(j)) != -1)
		{
  			flag=0;
  		}
		else
		{
		}
	}

	if(flag==1)
	{
		return true;	
	}
	else
	{
		return false;	
	}

}

function isNumberChars(val)
{
	var iChars = "1,2,3,4,5,6,7,8,9,0";

	var flag=1;

	for (var j = 0; j < val.length; j++)
	{
  		if (iChars.indexOf(val.charAt(j)) != -1)
		{
  			flag=0;
  		}
		else
		{
		}
	}

	if(flag==1)
	{
		return true;	
	}
	else
	{
		return false;	
	}

}


function goto(a,b)
{
	window.location="index.php?cid=9&"+a+"="+b
}

// Removes leading whitespaces

function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}


function CountWords (this_field, show_word_count, show_char_count, max1, type)
{
	if (show_word_count == null)
	{
		show_word_count = true;
	}
	if (show_char_count == null)
	{
		show_char_count = false;
	}
	var char_count = this_field.value.length;
	
	var fullStr = this_field.value + " ";
	var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
	var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
	var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
	var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
	var splitString = cleanedStr.split(" ");
	var word_count = splitString.length -1;
	
	
	if (fullStr.length <2) 
	{
		word_count = 0;
	}
	if (type=='Free')
	{
	
		if (char_count > max1)
		{
			document.getElementById('businessdescrerr').innerHTML="Maximum Limit is "+max1+" Characters";
			return false;
		}
		else
		{
				document.getElementById('businessdescrerr').innerHTML="";
				return true;
		}
	}
	else if(type=='Paid')     
	{
		if (char_count > max1)
		{
			document.getElementById('businessdescrerr').innerHTML="Maximum Limit is "+max1+" Characters";
			return false;
		}
		else
		{
			document.getElementById('businessdescrerr').innerHTML="";
			return true;
		}
	}	
	
return true;
}

function countChars (this_field,min1,max2)
{
	var char_count = this_field.value.length;
		if (char_count < min1 || char_count > max2)
		{
			//alert('error');
			return false;
		}
		else
		{
			return true;
		}
			
}	



	
