//document.onmousedown=getMouseDown
//var isEditableField=0;
/*function getMouseDown()
{
	
	var srctype =  "";
	if(!(window.event.srcElement.disabled == true))
	{
		
		if(window.event.srcElement.type == "text" || window.event.srcElement.type == "textarea")
		{
			if(!(window.event.srcElement.readOnly))
			{
				isEditableField = 1;
				isReadOnly = true;
			}
			else
			{
				isEditableField = 0;
				isReadOnly = false;
			}
			
		}
		else
			isEditableField = 0;
	}
	else
		isEditableField = 0;
	
	if (event.button==2|| event.button==3) 
		alert('Right-Click is disabled on this page.');
	
}
	//document.onkeydown=noBack   
   function noBack() 
	{
		
			
			if(event.keyCode == 9)
			{
				isEditableField = 0;
			} 
			if(event.keyCode == 93)
			{
				alert("Menu key is disabled");
				return false;
			}
			else if(event.keyCode == 27)
			{
				alert("Escape key is disabled");
				return false;
			}
			if(event.keyCode == 37)
			{
				if(event.altKey && ! (window.event.srcElement.type == "text" || window.event.srcElement.type == "textarea"|| window.event.srcElement.type == "password"))			
				{
						alert("Back is disabled on this page.");
						return false;
				}
			}		
	
			if(isEditableField == 0)
			if(event.keyCode == 8 && ! (window.event.srcElement.type == "text" || window.event.srcElement.type == "textarea"|| window.event.srcElement.type == "password"))			
			{
					alert("Back is disabled on this page.");
					return false;
			}
	
			if(window.event && window.event.keyCode == 116) 
			{ // Capture and remap F5
				window.event.keyCode = 505;
			}

			if(window.event && window.event.keyCode == 505) 
			{ // New action for F5
		//		alert('F5 key is disabled.');
				return false; 
				// Must return false or the browser will refresh anyway
			}
			//return true;
	}
	
*/
	// Date Validation Starts
	function onKeyPressAllowDate(e, obj)
	{
		if(obj.value.length == 10)
			return false;
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);
		if(obj.value.length == 0){
			if(keychar > 3){			
				return false;
			}
		}else if(obj.value.length == 1){
			if(((obj.value + "" + keychar) > 31) || ((obj.value + "" + keychar) == 0))
				return false;
		}else if(obj.value.length == 3){
			if(keychar > 1)
				return false;
		}else if(obj.value.length == 4){		
			if((Number(obj.value.substring(3,4) + "" + keychar) > 12) || (Number(obj.value.substring(3,4) + "" + keychar) == 0))
			//if(obj.value.substring() > 1)
				return false;
		}
		reg = /\d/;
		return reg.test(keychar);
	}
	
	function onKeyUpAllowDate(obj){
		if(obj.value.length == 2 || obj.value.length == 5){
			obj.value += "/" ;
		}
	}

	// Time Validation Starts
	function onKeyPressAllowTime(e, obj){	
		if(obj.value.length == 8)
			return false;
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);
		if(obj.value.length == 0){
			if(keychar > 1){			
				return false;
			}
		}else if(obj.value.length == 1){
			if((obj.value + "" + keychar) > 12)
				return false;
		}else if(obj.value.length == 3 || obj.value.length == 6){
			if(keychar > 5)
				return false;
		}
		reg = /\d/;
		return reg.test(keychar);
	}

	function onKeyUpAllowTime(obj){
		if(obj.value.length == 2 || obj.value.length == 5){
			obj.value += ":" ;
		}
	}




	// Email Validation
	function onKeyPressAllowEmail(obj){	
		if(obj.value != ""){
			if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.value)){
				return (true);
			}
			alert("Invalid E-mail Address! Please re-enter.");
			obj.value="";
			obj.focus();
			return (false)
		}
	}

	function drawComponent()
	{
		if(document.getElementById("time") != null){
			drawTime();
		}if(document.getElementById("date") != null){
			drawDate();
		}
	}
	function drawTime()
	{
	
		document.getElementById("time").innerHTML = "&nbsp;&nbsp;&nbsp;Hr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Min&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sec<br>";
		var hr="";
		hr = "<select style='width:45; height:30' size=2>";
		for(i = 0; i < 13; i++){
			if(i < 10)
				i = "0" + i;
				hr += "<option>" + i + "</option>";
			}
		hr += "</select>";
		document.getElementById("time").innerHTML += hr;	
		
		var min="";
		min = "<select style='width:45; height:30' size=2>";
		for(i = 0; i < 60; i++){
			if(i < 10)
				i = "0" + i;
				min += "<option>" + i + "</option>";
			}
			min += "</select>";
			document.getElementById("time").innerHTML += min;
	
		var sec="";
		sec = "<select style='width:45; height:30' size=2>";
		for(i = 0; i < 60; i++){
			if(i < 10)
				i = "0" + i;
				sec += "<option>" + i + "</option>";
			}
			sec += "</select>";
			document.getElementById("time").innerHTML += sec;
	}

	function drawDate()
	{
		document.getElementById("date").innerHTML = "&nbsp;&nbsp;DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MM&nbsp;&nbsp;&nbsp;YYYY<br>";
		var dd="";
		dd = "<select style='width:45; height:30' size=2>";
		for(i = 1; i <= 30; i++){
			if(i < 10)
				i = "0" + i;
				dd += "<option>" + i + "</option>";
			}
		dd += "</select>";
		document.getElementById("date").innerHTML += dd;	
		
		var mm="";
		mm = "<select style='width:45; height:30' size=2>";
		for(i = 1; i < 12; i++){
			if(i < 10)
				i = "0" + i;
				mm += "<option>" + i + "</option>";
			}
			mm += "</select>";
			document.getElementById("date").innerHTML += mm;
	
		var yy="";
		yy = "<select style='width:55; height:30' size=2>";
		for(i = 1980; i < 2007; i++){		
				yy+= "<option>" + i + "</option>";
		}
		yy += "</select>";
		document.getElementById("date").innerHTML += yy;
	}





	function StringTrim(str)
	{
		var flag = true;
		//alert("StringTrim"+str.value);
		while(flag==true)
		{
			if(str.charAt(0) == " ")
			{
				str=str.substring(1,str.length);
			}
			else if(str.charAt(str.length-1)==" ")
			{
				str=str.substring(0,str.length-1);
			}
			else
			{
				flag=false;
			}
		}
		return str;
	}
	
	function RemoveSpaces(str)
	{
		var flag = true;
		var idx=0;
		while(idx <= str.length)
		{
			  if(str.charAt(idx) == " ")
			  {
					str=str.substring(0,idx)+str.substring(idx+1,str.length);
					return false;
			  }
			  
			  idx=idx+1;
		}
		return true;
	}
		
		
	function CheckNumber()
	{
		if(window.event.shiftKey)
		{
			keyShift="1";
		}
		if(keyShift=="0")
		{
			if((window.event.keyCode<58 && window.event.keyCode>47) || (window.event.keyCode<41 && window.event.keyCode>34) || (window.event.keyCode<106 && window.event.keyCode>95) ||  window.event.keyCode==8 ||window.event.keyCode==46|| window.event.keyCode==9)
			{
				return true;
			}
			else
			{
				keyShift="0";
				return false;
			}
		}
		else
		{
			keyShift="0";
			return false;
		}
		    
	}
	
	
	function CheckEmail(emailStr) 
	{
		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 (matchArray==null)
		{
			//alert("Email address is required.");
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
		// See if "user" is valid 
		if (user.match(userPat)==null)
		{
		    // user is not valid
		    //alert("Invalid Email address.");
		    return false;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{
		    // this is an IP address
			  for (var i=1;i<=4;i++) {
			    if (IPArray[i]>255) {
				//alert("Invalid Email address.");
				return false;
			    }
		    }
		    return true;
		}
		var domainArray=domain.match(domainPat);
		if (domainArray==null) {
		    //alert("Invalid Email address.");
		    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) {
		   // the address must end in a two letter or three letter word.
		   //alert("Invalid Email address.");
		   return false;
		}
		if (len<2) {
		   var errStr="Invalid Email address.";
		   //alert(errStr);
		   return false;
		}
		if(!isNaN(domArr[domArr.length-1]))
		{
			var errStr="Invalid Email address.";
			//alert(errStr);
			return false;
		}
		return true;
	 }

	function CheckDecimal()
	{
		if(window.event.shiftKey)
		{
			keyShift="1";
		}
		if(window.event.ctrlKey)
		{			
			keyCtl="1";			
		}
		
	     if(keyShift=="0" && keyCtl=="0" )
	     {
			if((window.event.keyCode<58 && window.event.keyCode>47) || (window.event.keyCode<41 && window.event.keyCode>34) || (window.event.keyCode<106 && window.event.keyCode>95) ||  window.event.keyCode==46 || window.event.keyCode==17  || window.event.keyCode==110 || window.event.keyCode==190 || window.event.keyCode==8 || window.event.keyCode==9 || window.event.keyCode==13)
			{
				return true;
			}
			else
			{
				return false;
			}
	 	}
	     if(keyShift=="1")
	      {	      	    
			keyShift="0";
			keyCtl="0";
			return false;
	      }
       	   
	     if(keyCtl=="0")
	      {
	      		if((window.event.keyCode<58 && window.event.keyCode>47) || (window.event.keyCode<41 && window.event.keyCode>34) || (window.event.keyCode<106 && window.event.keyCode>95) ||  window.event.keyCode==46 || window.event.keyCode==17  || window.event.keyCode==110 || window.event.keyCode==190 || window.event.keyCode==8 || window.event.keyCode==9 || window.event.keyCode==13)
	      		{
	      			return true;
	      		}
	      		else
	      		{
	      			return false;
	      		}
	      }
	     else 
	     {
	      	if(window.event.keyCode==67 || window.event.keyCode==86)
			{
				keyShift="0";
				return true;
	      		}
	      		else
	      		{
	      			keyShift="0";
	      			keyCtl="0";
	      			return false;
	      		}
	      }	  	
	}
	
	
	
	function DeleteTableRows(tabName)
	{
		var TabNumber = parseInt(gfnGetTableNumber(tabName));
		var v = document.getElementsByTagName("table").item(TabNumber);
		var x = v.getElementsByTagName("tbody").item(0);
		var z = x.getElementsByTagName("tr");
		var rowCount = z.length;	

		var temp = rowCount-1;	//-1 since that is the header row which should not be considered in this case

		for(var i=0; i<temp; i++)	
		{			
			x.removeChild(x.childNodes.item(1));
		}
	}
	
	function GetTableRowCount(tableName)
	{
		var tableNumber = parseInt(gfnGetTableNumber(tableName));

		if(tableNumber==-1)
		{	
			return -1;
		}

		var tab = window.document.getElementsByTagName("table").item(tableNumber);
		var rows = tab.getElementsByTagName("tr");
		return(rows.length);		
	}
	
	
	function StringToUppercase() 
	{
		  var val=window.event.keyCode;

		  if(val>="97" && val<="122")
			window.event.keyCode=val-32;
	}
	
	
	function CheckDecimalValue(val)
	{
		if( val.indexOf(".") != -1)
		{
			return false;
		}
		else
			return true;
	}
	
	
	function CheckSpecial(str)
	 {
		var flag = 0;
		var x = str.length;

		for(var jj=0;jj < x ; jj++)
		{
			var ctemp = str.charAt(jj);

			if((ctemp >= 'A' & ctemp <= 'Z') || (ctemp >= 'a' & ctemp <= 'z') || (ctemp >= 0 & ctemp <= 9))
			{
			}
			else
			{
				flag=1;
			}
		}
		if(flag==0) return true;
		else return false;
	}
	
	
	// Function which Restricts the user to enter only digits
   function onlyDigit()
   { 	
       if ((window.event.keyCode>=48) && (window.event.keyCode<=57))
	{
	 window.event.keyCode=window.event.keyCode;	// Accept only digits
	}
	else
	{	
	 window.event.keyCode=0;
	}

   }	// End of function toDigit()

  // Function which Restricts the user to enter only digits and / and - 
   function onlyPhone()
   { 	
       if (((window.event.keyCode>=48) && (window.event.keyCode<=57))||(window.event.keyCode==47)||(window.event.keyCode==45))
	{
	 window.event.keyCode=window.event.keyCode;	// Accept only digits and / and -
	}
	else
	{	
	 window.event.keyCode=0;
	}

   }	// End of function onlyPhone()
 	
// Function which Restricts the user to enter only alphabets and space
   function onlyAlpha()
   { 	
     if (((window.event.keyCode>=65) && (window.event.keyCode<=90))||((window.event.keyCode>=97) && (window.event.keyCode<=122))||(window.event.keyCode==32))
		 {
	 		 window.event.keyCode=window.event.keyCode;	// Accept only digits
		 }
		 else
		 {	
			 window.event.keyCode=0;
	 	 }
   }	// End of function toAlpha()
   
   
   
   
   // function which adds given no. of days to given date and return the resultant date
  function dateAdd(dd,mm,yy,nodays)
  {
	   var oneMinute = 60 * 1000;
	   var oneHour = oneMinute * 60;
	   var oneDay = oneHour * 24;
	   var targetDt;
	   targetDt = new Date(parseInt(yy,10),parseInt(mm,10),parseInt(dd,10));
	   //dtInMins = targetDt.getTime();	// get the date into time
	   //dtInMins = dtInMins + (oneDay * parseInt(nodays,10));
	   //targetDt.setTime(dtInMins);
	   targetDt.setDate(targetDt.getDate() + nodays);	   
	   return targetDt;
  }
  
// Function which compares two dates

   function cmpDates(dd1,mm1,yy1,dd2,mm2,yy2)
   {
		var diff
		mm1 = mm1 - 1;
		mm2 = mm2 - 1;
		dt1 = new Date(yy1,mm1,dd1);
		dt2 = new Date(yy2,mm2,dd2);
		diff = dt1.getTime() - dt2.getTime();
		daysdiff = Math.floor(diff/1000/60/60/24);
		mondiff = Math.floor(diff/1000/60/60/24/30);
		return (daysdiff);
   }	
   
 // End of function cmpDates()
 
 
 // Function to confirm before deleting
	function confirmDelete()
	{
		ch = confirm("Are You sure ? You want to Delete Record");
	    if (ch==true)
	      return true;
	    else
	      return false;
	}	
 // end of confirmDelete()



	function AllowOnlyCharacters(e)
	{
		var emailreg = /^[a-zA-Z\s]*$/	
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);		
		if (!emailreg.test(keychar)) //if match failed	
			return false;
		return true;
	}
	
	function AllowOnlyNumbersAndChars(e)
	{
		var emailreg = /^[(a-z)(A-Z)(0-9)\s]*$/
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);		
	
		if (!emailreg.test(keychar)) //if match failed	
			return false;	
	
		return true;
	}
	
	
	function AllowOnlyNumbers(e)
	{
		var emailreg = /^[0-9]*$/
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);	
	
		if (!emailreg.test(keychar)) //if match failed		
			return false;
		return true;
	}
	
	function AllowOnlyChars(e)
	{
		var emailreg = /^[a-zA-Z]*$/
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);	
	
		if (!emailreg.test(keychar)) //if match failed
			return false;
	
		return true;
	}
	
	function IsDecimal(obj)
	{
			var emailreg = /^[0-9]*\.?[0-9]*$/
	
			if (!emailreg.test(obj.value)) //if match failed
			{
				var valObj = obj.value;
				obj.value = valObj.substring(0,valObj.length-1);
				return false;
			}
	
		return true;
	}
	
	function AllowOnlySpecialChars(e)
	{
		var emailreg = /^[~!@#$%^&*]*$/
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);	
	
		if (!emailreg.test(keychar)) //if match failed	
			return false;
		return true;
	}

	function AllowCharsAndSpecialChars(e)
	{
		var emailreg = /^[',\.;:~!@#$%^&*\s(A-Z)(a-z)]*$/
		var key = window.event ? e.keyCode : e.which;
		var keychar = String.fromCharCode(key);	
	
		if (!emailreg.test(keychar)) //if match failed		
			return false;		
	
		return true;
	}

	//URL Validation
	function isValidURL(obj){
	    var RegExp = /^(([\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(obj.value != ""){
			if (RegExp.test(obj.value)){
				return (true);
			}
			alert("Invalid URL! Please re-enter.");
			obj.value="";
			obj.focus();
			return (false)
		}
	}


	function getValidate(obj)
	{
		var flag = true;
		var form = obj;
		for(var i = 0; i < form.elements.length; i++)
		{
			if(form.elements[i].mandatory != undefined && form.elements[i].mandatory != "N")
			{
				var obj = form.elements[i];
				if(obj.mess == undefined)
				obj.mess = "";
				if(form.elements[i].type == "text" && flag)
				{
					if(!textValidate(form.elements[i]))
						flag=false;
				}
				else if(form.elements[i].type=="radio" && flag)
				{
					flag = chkRadio(obj);
				}
				else if(form.elements[i].type=="Select" && flag)
				{
					flag = chkSelect(obj);
				}
				else if(form.elements[i].type=="textarea" && flag)
				{
					flag = chkTxTArea(obj);
				}
			}
		}
		return flag;
	}
 
	function textValidate(obj)
	{
		//obj=StringTrim(obj);
		if(obj.mandatory != "U" && StringTrim(obj.value) == "" )
		{
			alert(obj.mess + " Is Mandatory");
			return false;
		}
		return true;
	}
	
	function chkRadio(obj)
	{
		//obj=StringTrim(obj);
		var len = document.getElementsByName(obj.name).length;
		var flag = false;
		var mess = "";
		for(var i = 0; i < len; i++)
		{
			if(document.getElementsByName(obj.name)[i].checked)
			{
				flag = true;
				break;
			}  
			if(obj.mess != "")
				mess = obj.mess;
		}
		if(!flag)
		{
			alert(mess);
			return false;
		}
		return true;
	}
	
	
	function chkSelect(obj)
	{
		//obj=StringTrim(obj);
		if(StringTrim(obj.value) == "" || obj.value == "BLANK" || obj.value == "Blank" || obj.value == "blank")
		{
			alert("Please select " + obj.mess);
			return false;
		}
		return true;
	}
	
	
	function chkTxTArea(obj)
	{
		//obj=StringTrim(obj);
		if(StringTrim(obj.value) == "" || obj.value == "BLANK" || obj.value == "Blank" || obj.value == "blank")
		{
			alert(obj.mess + " Is Mandatory");
			return false;
		}
		return true;
	}
