function Trim(myval)
{
	var chklen=myval.length; 
	var pos=0;
	mychar = myval.charAt(0);

	while(pos>=0 || lstpos >=0)
	{
		pos=myval.indexOf(" ");
		if (pos==0)
		{
			myval=myval.substring(1,chklen);
			chklen = myval.length;
			mychar = myval.charAt(0);
		}
		lstpos=myval.lastIndexOf(" ");

		if (lstpos==chklen-1)
		{	
			myval=myval.substring(0,chklen-1);
			chklen=myval.length;
			mychar = myval.charAt(chklen-1);
		}
		
		if(mychar!=" ")
			break;

	}
	return myval;			
}

function CheckUncheckAll(frm,chk)
{
	if(chk.name.substr(0,8)!="CheckAll")
	{
		CheckName = chk.name;
		MyChecked	= true;

		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].name==CheckName && frm.elements[i].checked==false)
				MyChecked=false;
		}

		CheckAll = eval("frm.CheckAll_"+CheckName);
		CheckAll.checked=MyChecked;
	}		
	else
	{
		CheckName = chk.name.substr(9,chk.name.length);
		
		if(chk.checked==true)
			AllChecked = true;
		else
			AllChecked = false;

		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].name==CheckName)
				frm.elements[i].checked=AllChecked;		
		}
	}
}

function validateEmail(fld)
{
	var my=fld.value;
	var attherate=my.indexOf("@");
	var lastattherate = my.lastIndexOf("@")
	var dotpos=my.lastIndexOf(".");
	var posspace = my.indexOf(" ");
	var totallen = my.length;
	
	if (attherate<=0 || dotpos<=0 || attherate > dotpos || (dotpos-attherate)<=1 || (dotpos == totallen-1) || posspace > -1 || attherate!=lastattherate)
		{
			alert("Inavalid Email.");
			return false;
		}
	else
		return true;
}
var lenvalidate="";
var checkvar="";
function validatefrm(frm)
{
	for(i=0;i<frm.elements.length;i++)//--------------------------------------00
	{
			k=0;
			kin=0;
			myval=frm.elements[i].id;
			lenvalidate="";
			while(k<myval.length)
			{
				mychar = myval.charAt(k);
				if(mychar=="t")//---------------------------------------------000
				{
					mynm=myval.substring(k,k+3);
					if((mynm=="txt") || (mynm="txx"))//if the input type is of text-----------00
					{
						while(kin<myval.length)//inner while loop
						{
							mynm=myval.substring(kin,kin+3);
							elename=retname(mynm,frm.elements[i]);
							if(elename!="")
							{
								getmsg=retmsg(frm.elements[i],elename,"",frm);
								if(getmsg!="")
								{
									alert(getmsg);
									if(mynm!="txx")
									{
										frm.elements[i].select();
										frm.elements[i].focus();
									}
									return false;
								}
							}
							kin=kin+1;
						}//inner while loop ends here
					}					//-----------------------------------00
				}//-------------------------------------------------------------000
				else if(mychar=="n")
				{
					mynm=myval.substring(k,k+3);
					if(mynm=="num")//if the input type is of text-----------00
					{
						while(kin<myval.length)//inner while loop
						{
							mynm=myval.substring(kin,kin+3);
							elename=retname(mynm,frm.elements[i]);
							if(elename!="")
							{
								getmsg=retmsg(frm.elements[i],elename,"numeric",frm);
								if(getmsg!="")
								{
									alert(getmsg);
									frm.elements[i].select();
									frm.elements[i].focus();
									return false;
								}
							}
							kin=kin+1;
						}//ENDS WHILE LOOP
					}//---00
				}
				else if(mychar=="c")
				{
					mynm=myval.substring(k,k+3);
					if(mynm=="chk")//if the input type is of text-----------00
					{
						while(kin<myval.length)//inner while loop
						{
							mynm=myval.substring(kin,kin+3);
							elename=retname(mynm,frm.elements[i]);
							if(elename!="")
							{
								getmsg=retmsg(frm.elements[i],elename,"check",frm);
								if(getmsg!="")
								{
									alert(getmsg);
									return false;
								}
							}
							kin=kin+1;
						}//ENDS WHILE LOOP
					}//---00
				}
				else if(mychar=="e")
				{
					mynm=myval.substring(k,k+3);
					if(mynm=="eml")//if the input type is of text-----------00
					{
						while(kin<myval.length)//inner while loop
						{
							mynm=myval.substring(kin,kin+3);
							elename=retname(mynm,frm.elements[i]);
							if(elename!="")
							{
								getmsg=retmsg(frm.elements[i],elename,"email",frm);
								if(getmsg!="")
								{
									alert(getmsg);
									checkvar="";
									frm.elements[i].select();
									frm.elements[i].focus();
									return false;
								}
							}
							kin=kin+1;
						}//ENDS WHILE LOOP
					}//---00
				}
				else if(mychar=="s")
				{
					mynm=myval.substring(k,k+3);
					if(mynm=="slt")//if the input type is of text-----------00
					{
						while(kin<myval.length)//inner while loop
						{
							mynm=myval.substring(kin,kin+3);
							elename=retname(mynm,frm.elements[i]);
							if(elename!="")
							{
								getmsg=retmsg(frm.elements[i],elename,"select",frm);
								if(getmsg!="")
								{
									alert(getmsg);
									checkvar="";
									return false;
								}
							}
							kin=kin+1;
						}//ENDS WHILE LOOP
					}//---00
				}
				
				k=k+1;
			}//ends main while loop
	}//ends for loop			
}//ends function here	

function retname(nm,ele)
{
	var name,str1,str2;
	name=ele.name;
	str1=name.substring(0,name.indexOf("_"));
	str2=name.substring(name.indexOf("_")+1, name.length);
	
	if(str2!="")
	{
		return str1 + " " + str2;
	}
	else
	{
		return str1;
	}
	
}
function retmsg(ele,nm,flag,frm)
{
	if(flag!="select" && flag!="check")
	{
		if(Trim(ele.value)=="")
			return "You must enter value of " + nm + " !";
	}
	if(flag=="numeric")
	{
		if(isNaN(ele.value))
		{
			return "You must enter numeric value of " + nm + " !";
		}
		else
			return "";
	}
	else if(flag=="length")
	{
		if(ele.value.length>50)
		{
			return "You must enter less then 50 character for " + nm+ " !";
		}
		else
			return "";
	}
	else if(flag=="check")
	{
		mycou=0;
		for(i=0;i<frm.elements.length-1;i++)
		{
			if(frm.elements[i].id.substr(0,3)=="chk" && frm.elements[i].checked)
				mycou++;	
		}
		if(mycou==0)
		{
			return "You must check atleast one checkbox!";
		}
		else
			return "";
	}
	else if(flag=="select")
	{
		if(ele.selectedIndex==0)
		{
			return "You must select " + nm+ " !";
		}
		else
			return "";
	}
	else if(flag=="email")
	{
		var my=ele.value;
		var attherate=my.indexOf("@");
		var lastattherate = my.lastIndexOf("@")
		var dotpos=my.lastIndexOf(".");
		var posspace = my.indexOf(" ");
		var totallen = my.length;
		
		if (attherate<=0 || dotpos<=0 || attherate > dotpos || (dotpos-attherate)<=1 || (dotpos == totallen-1) || posspace > -1 || attherate!=lastattherate)
			return "You must enter valid email address!";
		else
			return "";
	}
	
	return "";
}