// JavaScript Document
//email validate code.		
function validate_email(ele)
{
	var emailStr=ele.value;
	var elemname = ele.name;
	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
		displayStaticMessage("<h1>Message</h1><p>Please enter email address in proper format (check @ and .'s)</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
		ele.focus();
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
		err=true
		errEleNm= ele.name
		displayStaticMessage("<h1>Message</h1><p>The username in Email ID doesn't seem to be valid.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
		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
				displayStaticMessage("<h1>Message</h1><p>Destination IP address in Email ID is invalid!</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
				ele.focus();
				return false;
			}
		}
	}  

	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		err=true
		errEleNm= ele.name
		displayStaticMessage("<h1>Message</h1><p>The domain name in Email ID doesn't seem to be valid.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
		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
		displayStaticMessage("<h1>Message</h1><p>The Email address must end in a three-letter domain, or two letter country.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
		ele.focus();
		return false;
	}
	if (len<2) {
		var errStr="This Email address is missing a hostname!";
		err=true
		errEleNm= ele.name
		displayStaticMessage("<h1>Message</h1><p>This Email address is missing a hostname!</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
		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);
							strobjid = s.name;
							
							if((s.value == "" || s.value.split(" ").join("").length==0) && (strblank != "not") && (strblank != ""))
								{
										strobjid = s.name;
										if(strblank != "no.")
											displayStaticMessage("<h1>Message</h1><p>Please provide " + s.id + ".</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										else
											displayStaticMessage("<h1>Message</h1><p>Please provide " + strid + ".<p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
											//alert(s.style.display=="none");
											//alert(s.name);
											s.focus();
												
										//s.select();	
										
										return false;
								}
							
							if(strid == "no." || strblank == "no.")
								{
									strobjid = s.name;
									if(chknumdot(s.value) == false)
										{
											displayStaticMessage("<h1>Message</h1><p>"+strid+ " must be number from [0,9].</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
											s.select();
											return false;
										}	
								}
							if(strid == "an." || strblank == "an.")
								{
										
									if(chkalphanum(s.value) == false)
										{
											displayStaticMessage("<h1>Message</h1><p>"+strid+ " must be alpha numeric character.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
											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 != "" && tarea[0] != ""))
									{
										displayStaticMessage("<h1>Message</h1><p>Please provide " + tarea[0] + "</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										s.select();	
										return false;
									}
									//alert(s.value.length);
								if((parseInt(tarea[1]) < parseInt(s.value.length)) && (s.id != "" && tarea[0] != ""))
									{
										displayStaticMessage("<h1>Message</h1><p>Length of " + tarea[0] +" should not be more than " + tarea[1] + " character. </p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										s.select();
										return false;
									}
									
								if((parseInt(tarea[1]) < parseInt(s.value.length)) && tarea[0]=="")
									{
										displayStaticMessage("<h1>Message</h1><p>Length should not be more than " + tarea[1] + " character.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										s.select();
										return false;
									}
						}
					if(s.type == "select-one")
						{
							if(s.selectedIndex == 0 && s.id.length > 0 && s.value.length == 0)
							{
								if(!(s.id.substr(0,4)=="form" || s.id.substr(0,4)=="font" ))
								{
									displayStaticMessage("<h1>Message</h1><p>Please select " + s.id + ".</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
									s.focus();
									return false;
								}
							}
						}
					if(s.type == "checkbox")
						{
							//alert(s.id);
						}
				}
		return true;
		}
		
		function chkvalidhome(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.")
											displayStaticMessage("<h1>Message</h1><p>Please provide " + s.id + ".</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										else
											displayStaticMessage("<h1>Message</h1><p>Please provide " + strid + ".</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
											//alert(s.style.display=="none");
											//alert(s.name);
												
										//s.select();	
										
										return false;
								}
							
							if(strid == "no." || strblank == "no.")
								{
									if(chknumdot(s.value) == false)
										{
											displayStaticMessage("<h1>Message</h1><p>"+ strid+ " must be number from [0,9].</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
											return false;
										}	
								}
							if(strid == "an." || strblank == "an.")
								{
										
									if(chkalphanum(s.value) == false)
										{
											displayStaticMessage("<h1>Message</h1><p>"+ strid+ " must be alpha numeric character.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
											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 != "" && tarea[0] != ""))
									{
										displayStaticMessage("<h1>Message</h1><p>Please provide " + tarea[0] + "</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										return false;
									}
									//alert(s.value.length);
								if((parseInt(tarea[1]) < parseInt(s.value.length)) && (s.id != "" && tarea[0] != ""))
									{
										displayStaticMessage("<h1>Message</h1><p>Length of " + tarea[0] +" should not be more than " + tarea[1] + " character.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										return false;
									}
									
								if((parseInt(tarea[1]) < parseInt(s.value.length)) && tarea[0]=="")
									{
										displayStaticMessage("<h1>Message</h1><p>Length should not be more than " + tarea[1] + " character.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
										return false;
									}
						}
					if(s.type == "select-one")
						{
							if(s.selectedIndex == 0 && s.id.length > 0 && s.value.length == 0)
							{
								if(!(s.id.substr(0,4)=="form" || s.id.substr(0,4)=="font" ))
								{
									displayStaticMessage("<h1>Message</h1><p>Please select " + s.id + ".</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
									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")
		{
			displayStaticMessage("<h1>Message</h1><p>Please, Select atlease one checkbox to confirm.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
			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)
	{
		displayStaticMessage("<h1>Message</h1><p>Password and confirm Password are not same.<br>Try again.</p><p align = center><a href='#' onclick='closeMessage();'>Close</a>",false);
		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 = "#F7DBD5";
		//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 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;
}	

function fnopen(url)
{
	window.open(url,"myWin", "addressbar=1,menubar=1,scrollbars=1,width=500,height=350,left=151,top=120");
}

function displayStaticMessage(messageContent,cssClass)
{
	messageObj.setHtmlContent(messageContent);
	messageObj.setSize(300,150);
	messageObj.setCssClassMessageBox(cssClass);
	messageObj.setSource(false);	// no html source since we want to use a static message here.
	messageObj.setShadowDivVisible(true);	// Disable shadow for these boxes	
	/*for(i = 0; i < document.form1.elements.length; i++) 
	{	
		elm = document.form1.elements[i];
		elm.disabled = true;
	}*/
	messageObj.display();
}

function closeMessage()
{
	messageObj.close();
	//for(i = 0; i < document.form1.elements.length; i++) 
//	{	
//		elm = document.form1.elements[i];
//		elm.disabled = false;
//	}
}

function closeMess(varObj)
{
	messageObj.close();		
	
	var oObj = document.getElementsByName(varObj);
	oObj.focus;
}
