// JavaScript Document
//email validate code.		
function validate_email(ele)
{
	var emailStr=ele.value;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	/*if(theForm.email.value==""){
		return true;
	}*/
	if (matchArray==null) {
		err=true
		errEleNm= ele.name
		alert("Please enter email address in proper format (check @ and .'s)");
		ele.focus();
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
		err=true
		errEleNm= ele.name
		alert("The username in Email ID doesn't seem to be valid.");
		ele.focus();
		return false;
	}
	
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				err=true
				errEleNm= ele.name
				alert("Destination IP address in Email ID is invalid!");
				ele.focus();
				return false;
			}
		}
	}  

	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		err=true
		errEleNm= ele.name
		alert("The domain name in Email ID doesn't seem to be valid.");
		ele.focus();
		return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		err=true
		errEleNm= ele.name
		alert("The Email address must end in a three-letter domain, or two letter country.");
		ele.focus();
		return false;
	}
	if (len<2) {
		var errStr="This Email address is missing a hostname!";
		err=true
		errEleNm= ele.name
		alert(errStr);
		ele.focus();
		return false;
	  }
	 err=false
	 errEleNm= ""
	return true;
}

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 IsNumber(Expression)
{
	Expression = Expression.toLowerCase();
	RefString = ".0123456789";

	if (Expression.length < 1) 
		return (false);
	var count =0;
	for (var i = 0; i < Expression.length; i++) 
	{
		var ch = Expression.substr(i, 1)
		var a = RefString.indexOf(ch, 0)
		if (a == -1)
			return (false);
		if(ch=='.')	
			count++;
		if(count>1)	
			return false;
	}
	return(true);
}

// JavaScript Document

	//**************  This is important function validate your Form ********************
	//*************   Read this tips to use this function, depend on id of input type.
	//***	if you not want to validate text box, DONT WRITE ID
	//***	if you not want to validate text box, WRITE 'not' as prefix of id
	//***	Validate textbox as number and character, Write ID, That also title of alert msg.
	//***	
	//***	
	//***	
	
	function chkvalid(frm)
		{
			
			
			//var n = "document." + document.forms[0].name;
			var n = frm;
			//alert(frm);
		//	alert(eval(n).elements.length);
		//	alert(s.elements.length);
		
			for(i=0;i < eval(n).elements.length;i++)
				{	
				var s = eval(n).elements[i] ; 
				 
				  
					if(s.type == "text" || s.type == "password")
						{
							var strblank = s.id.substr(0,3);
							var strid = s.id.substr(3,s.id.length-1);
							//alert(strblank + "---" + strid);
							
							if((s.value == "" || s.value.split(" ").join("").length==0) && (strblank != "not") && (strblank != ""))
								{
										if(strblank != "no.")
											//alert("You are requested to fill " + s.id + ".");
											alert("Please enter " + s.id + ".");
										else
										alert("Please enter  " + strid + ".");
											//alert("You are requested to fill " + strid + ".");
											//alert(s.style.display=="none");
											//alert(s.name);
											s.focus();
												
										//s.select();	
										
										return false;
								}
							
							if(strid == "no." || strblank == "no.")
								{
									if(chknumdot(s.value) == false)
										{
											alert(strid+ " must be number from [0,9].");
											s.select();
											return false;
										}	
								}
							if(strid == "an." || strblank == "an.")
								{
										
									if(chkalphanum(s.value) == false)
										{
											alert(strid+ " must be alpha numeric character.");
											s.select();
											return false;
										}	
								}		
						}  
						
					if(s.type == "textarea")
						{
							
							tarea = s.id.split(",")
							
							
									if((s.value == "" || s.value.split(" ").join("").length==0) && (parseInt(tarea[1]) > 0 ) && (s.id != ""))
									{
										//alert("You are requested to fill " + tarea[0]);
										alert("Please enter " + tarea[0]);
										s.select();	
										return false;
									}
									//alert(s.value.length);
								if(parseInt(tarea[1]) < parseInt(s.value.length))
									{
										alert("Length of " + tarea[0] +" should not be more than " + tarea[1] + " character. ");
										s.select();
										return false;
									}
						}
					if(s.type == "select-one")
						{
							if(s.selectedIndex == 0 && s.id.length > 0)
							{
								if(!(s.id.substr(0,4)=="form" || s.id.substr(0,4)=="font" ))
								{
									alert("You are requested to select " + s.id + ".");
									s.focus();
									return false;
								}
							}
						}
					if(s.type == "checkbox")
						{
							//alert(s.id);
						}
				}
		return true;
		}
		
	function chknumdot(strvalue)
		{
			
			var j, strnum;
			var blnstr = "false";
		//	alert("chknumber"+strvalue);
			for(j=0; j<=strvalue.length-1; j++)
				{ 
				strnum = strvalue.charCodeAt(j);
					if ((strnum >= 48 && strnum <=57) || (strnum==46))
						{ }
					else
						{ return false;}
				}
				return true;
		}
		
	function chknum(strValue)
		{
			var i, strnum;
			for(i=0; i<=strValue.length-1; i++)
			{
				strnum = strValue.charCodeAt(i);
				
				if (strnum >= 48 && strnum <= 57)
				{}
				else
				{
					
					return false;
				}
			}
			return true;
		}
		
		
	function Onecheckbox(s)
		{
			var str;
			var blnVehicle = "false";
			var blnSubCate = "false";
			for(var i=0;i<s.elements.length;i++)
			{
				if(s.elements[i].type == "checkbox")
					{
						//alert(s.elements[i].name);
						if(s.elements[i].name == "intId")
							{
								if(s.elements[i].checked == true)
									{ blnVehicle = "true" ;}
							}
						
					}
			} 
	if(blnVehicle == "false")
		{
			alert("Please, Select atlease one checkbox to confirm.");
			return false;	
		}	
	return true;	
	}

function chkfiletype(strVal)
	{
		var dot;
		var strext = new String;
		var arrext = new Array(".jpg",".jpeg",".gif", ".bmp", ".tiff", ".JPG", ".JPEG", ".GIF", ".BMP", ".TIFF");
		dot = strVal.lastIndexOf(".");
		strext = strVal.substring(dot);
		for (i=0;i<=arrext.length-1;i++)
		{
			 
			if (arrext[i] == strext)
			{		
					return true;
			}
		}
		//alert(strext);
		return false;
	}							
	

//for checking both entered password are same
function chkpassword(ele1,ele2)
{
	var pass1,pass2;
	pass1 = ele1.value;
	pass2 = ele2.value;
	
	if(pass1 != pass2)
	{
		alert("Password and confirm Password are not same.\nTry again.");
		ele1.select();
		return false;
	}
	return true;
}

// to change table row color when user clicks on the checkbox in listing.

function chngtrcolor(cid,cstatus)
{	
	if(cstatus==true)
	{			
		//alert(document.getElementById("tr"+cid) + "-" + cstatus);
		document.getElementById("tr"+cid).bgColor = "#CACAE6";
		//document.getElementById("tr"+cid).bgColor = "#FFFFDD";
	}	
	else
	{	
		document.getElementById("tr"+cid).bgColor = "#ffffff";
	}
}

// to enable checkbox click function properly in uniform manner
function CheckUncheckAll(frm,chk)
{
		
	if(chk.name.substr(0,5) == "intId")
	{
		chngtrcolor(chk.id,chk.checked);
	}
	
		
	if(chk.name.substr(0,8)!="CheckAll")
	{		
		CheckName = chk.name.substr(0,5);
		
		MyChecked	= true;

		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].name.substr(0,5)==CheckName && frm.elements[i].checked==false)
				
				MyChecked=false;
		}

		CheckAll = eval("frm.CheckAll_"+CheckName.substr(0,5));
		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].type == "checkbox" && frm.elements[i].name.substr(0,5)==CheckName)
			{
				
				frm.elements[i].checked=AllChecked;	
				
				if(frm.elements[i].name.substr(0,5) == "intId")
				{
					chngtrcolor(frm.elements[i].id,frm.elements[i].checked);
				}
			}
		}
	}
}

//function to uncheck all
function UncheckAll(frm,chk)
{
		
	if(chk.name.substr(0,5) == "intId")
	{
		chngtrcolor(chk.id,chk.checked);
	}
	
	if(chk.name.substr(0,10)!="UnCheckAll")
	{		
		CheckName = chk.name.substr(0,10);
		
		MyChecked	= false;

		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].name.substr(0,5)==CheckName && frm.elements[i].checked==false)
				
				MyChecked=false;
		}

		CheckAll = eval("frm.UnCheckAll_"+CheckName.substr(0,5));
		CheckAll.checked=MyChecked;
	}		
	else
	{
		CheckName = chk.name.substr(11,chk.name.length);
		if(chk.checked==true)
			AllChecked = false;
		else
			AllChecked = false;
		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].type == "checkbox" && frm.elements[i].name.substr(0,5)==CheckName)
			{
				
				frm.elements[i].checked=AllChecked;	
				
				if(frm.elements[i].name.substr(0,5) == "intId")
				{
					chngtrcolor(frm.elements[i].id,frm.elements[i].checked);
				}
			}
		}
		frm.CheckAll_intId.checked = AllChecked;
	}
}

function fnCheckUncheckAll(frm,chk)
{
		
	if(chk.name.substr(0,5) == "intId")
	{
		chngtrcolor(chk.id,chk.checked);
	}
	
		
	if(chk.name.substr(0,8)!="CheckAll")
	{		
		CheckName = chk.name.substr(0,5);
		
		MyChecked	= true;

		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].name.substr(0,5)==CheckName && frm.elements[i].checked==false)
				
				MyChecked=false;
		}

		CheckAll = eval("frm.CheckAll_"+CheckName.substr(0,5));
		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].type == "checkbox" && frm.elements[i].name.substr(0,5)==CheckName)
			{
				
				frm.elements[i].checked=AllChecked;	
				
				if(frm.elements[i].name.substr(0,5) == "intId")
				{
					chngtrcolor(frm.elements[i].id,frm.elements[i].checked);
				}
			}
		}
		frm.UnCheckAll_intId.checked = false;
	}
}

function validatedate(dtdate)
{
	now = new Date();
	curr_year = now.getFullYear();
	curr_month = now.getMonth() + 1;
	curr_day = now.getDate();
	
	tmpdate = dtdate.split("/");
	tmpmonth = "20" + tmpdate[2];
	dtdate = tmpdate[0] + "/" + tmpdate[1] + "/" + tmpmonth;
	newdate = new Date(dtdate);
	now = new Date(curr_month + "/" + curr_day + "/" + curr_year);
	
	if(now > newdate)
	{
		return false;
	}
	else
		return true;
}


function CheckUncheckAll_nocolor(frm,chk)
{
	
	
	if(chk.name.substr(0,5) == "intId")
	{//chngtrcolor(chk.id,chk.checked)
	}
	if(chk.name.substr(0,8)!="CheckAll")
	{
		
		CheckName = chk.name.substr(0,5);
		MyChecked	= true;

		for(i=0;i<frm.elements.length;i++)
		{
			if(frm.elements[i].name.substr(0,5)==CheckName && frm.elements[i].checked==false)
				
				MyChecked=false;
		}

		CheckAll = eval("frm.CheckAll_"+CheckName.substr(0,5));
		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].type == "checkbox" && frm.elements[i].name.substr(0,5)==CheckName)
			{
				
				frm.elements[i].checked=AllChecked;	
				
				if(frm.elements[i].name.substr(0,5) == "intId"){
					//chngtrcolor(frm.elements[i].id,frm.elements[i].checked);
				}
			}
		}
	}
}

function chkfiletype(strVal)
{
	var dot;
	var strext = new String;
	var arrext = new Array(".jpg",".gif");
	dot = strVal.lastIndexOf(".");
	strext = strVal.substring(dot);
	for (i=0;i<=arrext.length-1;i++)
	{
		 
		if (arrext[i] == strext)
		{		
				return true;
		}
	}
	//alert(strext);
	return false;
}	

/* Begin - shows text on link on mouseover event*/
var xpos=0;
var ypos=0;
function Show(tag){
	object = document.getElementById(tag);
	object.style.visibility = "visible";
}
function Hide(tag){
	object = document.getElementById(tag);
	object.style.visibility = "hidden";
}
function showHelp(evt,TXT){
	 xpos=document.body.scrollLeft+evt.clientX;
	 ypos=document.body.scrollTop+evt.clientY;
	 document.getElementById('Alt').style.left = xpos+10;
	 document.getElementById('Alt').style.top = ypos+10;
	 Show('Alt');
	 document.getElementById('Alt2').innerHTML=TXT;
}
/* End - shows text on link on mouseover event*/