 //==========================================================================

// Declare patterns for different Regular Expression

var PatternsDict = new Object()


// mathes telephone no.
PatternsDict.telpat  = "^(\d{10}|(\d{3}-\d{3}-\d{4}))?$"

// matches numeric
PatternsDict.numericpat  = "^\d*$" // Any number is allowed, but are optional

// matches white space
PatternsDict.whitespacepat = /\s+/

// matches zip code
PatternsDict.zippat = "^(\d{5}|\d{9}|(\d{5}-\d{4}))?$"

// matches IP address
PatternsDict.IPpat = "^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})?$"

// matches hex number
PatternsDict.hexpat = "^([a-fA-F0-9]+)?$"

// matches any alphanumeric character,hyphen(-) or an underscore(_)
// including white space
PatternsDict.validpat = "^[a-zA-Z0-9-_]+$"

// matches required field
PatternsDict.requiredpat = "^((/\s+)|'')?$"

// matches character
 PatternsDict.charpat = /^[a-zA-Z\s]+$/

// mathes email
var emailpat = /^[A-Za-z0-9\-_\.]+@+[A-Za-z0-9\-\.]+\.+[A-Za-z]{2,10}$/

// matches unsigned float
var ufloatpat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/

// matches signed float
var sfloatpat = /^(((\+|\-)?\d+(\.\d*)?)|((\+|\-)?(\d*\.)?\d+))$/



// End of pattern declaration
//=================================================================================

function Password(objValue1,objValue2)
{
var invalid = " "; // Invalid character is a space
var minLength = 6; // Minimum length
var pw1 = objValue1.value;
var pw2 = objValue2.value;
// check for a value in both fields.
    if (pw1 == '' || pw2 == '') 
    {
    alert('Please enter your password twice.');
    if (pw1 == ''){
    objValue1.select();
    objValue1.focus();
     return false;
    }
     if (pw2 == ''){
    objValue2.select();
    objValue2.focus();
      return false;
    }
   
    }
// check for minimum length
    if (objValue1.value.length < minLength) 
    {
    alert('Your password must be at least ' + minLength + ' characters long. Try again.');
    objValue1.select();
    objValue1.focus();
    return false;
    }
// check for spaces
    if (objValue1.value.indexOf(invalid) > -1)
    {
    alert("Sorry, spaces are not allowed.");
    objValue1.select();
    objValue1.focus();
    return false;
    }
    else
    {
        if (pw1 != pw2) 
        {
        alert ("You did not enter the same new password twice. Please re-enter your password.");
        objValue2.select();
        objValue2.focus();
        return false;
        }   
    }
  return true;  
}








function alpha(frm,thecontrol,strMessage)

            {
            var objForm1 = document.frm;
var cmd = eval("document."+frm+"."+thecontrol);


             if (cmd.value !="")

               {

                  var compname;

                    var valid = false;

                    compname  = cmd.value; 

                  var validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "

                    var i = 0 

                    if (compname.length >= 0)

                    {

                            for (i =0; i <= compname.length -1;i++) 

                                {

                                    if (validChars.indexOf(compname.charAt(i))== -1)      

                                      {                                 

                                          valid=false;

                                          break;

                                       }

                                            valid=true;

                                } 

                        }

                           

                    if(valid == false)

                {

                        alert(strMessage);

                        

                        cmd.focus();

                        return(false);

                    }

                         }

                         return true;

            }








				
				
function CheckEmpty(frm,thecontrol,strMessage)
	{
		var objForm1 = document.frm;
		var txtName1 = eval("document."+frm+"."+thecontrol);
		if (txtName1.value=="")
		{
			alert (strMessage);
			txtName1.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	
	//Start Date should be Less than End Date
function CheckDateRange(frm,fromdate,todate,strMessage)
	{
		var objForm1 = document.frm;
		var FromDate = eval("document."+frm+"."+fromdate);
		var ToDate = eval("document."+frm+"."+todate);
	
		 if(FromDate.value > ToDate.value)
		{
			alert (strMessage);
			FormDate.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	
function ddlCheckEmpty(frm,thecontrol,strMessage)
	{
		
		var objForm1 = document.frm;
		var selName1 = eval("document."+frm+"."+thecontrol);
		
		if (selName1.selectedindex == 0)
		{
		
			alert (strMessage);
			selName1.focus();
			
			
			return false;
		}
		else
		{
			return true;
		}
	}
	
	function CorrectTextArea(obj)
{
	var tareas = document.getElementsByTagName('textarea');
	for(var i=0;i<tareas.length;i++)
	{
		var temp = tareas[i];
		//alert(temp.name);
		if(temp.name != null && temp.name == obj)
		{
			//alert("hi");
		var tabl = document.getElementById(temp.id.slice(0,temp.id.length - 5));
		if(tabl != null)
		{
			var pwidth = tabl.style.width;
			var pheight = tabl.style.height;
			temp.style.width = pwidth.slice(0,pwidth.length - 2) - 20 + "px";
			//alert(temp.id + " " + temp.style.width);
			temp.style.height = pheight.slice(0,pheight.length - 2) - 5 + "px";
		}
		}
	}
}

function CheckLength(frm,obj,len)
{
		
	var objname = eval("document."+frm+"."+obj);
	if(objname.value.length > len)
	{
		alert(objname.id.slice(2,objname.id.length) + " cannot exceed " + len + " chars !!");
		
		var temp = objname.value;
		objname.value = temp.slice(0,len);
		
		objname.focus();
		
		
	}
}
	
function CheckZero(frm,thecontrol,strMessage)
	{
		var objForm1 = document.frm;
		var txtName1 = eval("document."+frm+"."+thecontrol);
		if (txtName1.value==0)
		{
			alert (strMessage);
			txtName1.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	
function CheckRange(frm,thecontrol,thecontrol1)
	{
		var objForm1 = document.frm;
		var txtName1 = eval("document."+frm+"."+thecontrol);
		var txtName2 = eval("document."+frm+"."+thecontrol1);
		if (txtName1.value==txtName2.value)
		{
			alert ("Enter different range in and range out !!");
			txtName1.focus();
			return false;
		}
		else if(txtName1.value > txtName2.value)
		{
			alert ("Range out should be greater than range in !!");
			txtName2.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	
	//==========================================================
	//Start Date should be Equal or Greater than Current Date
	function CheckStartDate(frm,thecontrol)
	{
		var objForm1 = document.frm;
		var txtName1 = eval("document."+frm+"."+thecontrol);
		
		var d = new Date();
		var curr_date = d.getDate();
		var curr_month = d.getMonth();
		curr_month++;
		var curr_year = d.getFullYear();
		var today = (curr_month + "/" + curr_date + "/" + curr_year);
		
		if (txtName1.value < today.toString())
		{
			alert ("Start Date should be greater than or equal to Current Date !!");
			txtName1.focus();
			return false;
		}
		
		else
		{
			return true;
		}
	}

function CheckSelect(frm1,thecontrol1)
	{
		 var objForm2 = document.frm1;
		 var SelName1 = eval("document."+frm1+"."+thecontrol1);
		 if (SelName1.value=="")
		{
			alert ("Please Select The Field");
			SelName1.focus();
			return false;
		}
		else
		{
			return true
		}
	}



function SelectFile(frm2,thecontrol2)
	{
		 var objForm3 = document.frm2;
		 var SelFile = eval("document."+frm2+"."+thecontrol2);
		 if (SelFile.value=="")
		{
			alert ("Please Select A File To Upload");
			SelFile.focus();
			return false;
		}
		else
		{
			return true
		}
	}




// mathes email



 
 
 function isEmail(frm,Object)
 {
	var str2	=	eval("document."+frm+"."+Object);
	var str1	=	str2.value;
	var emailpat = /^[A-Za-z0-9\-_\.]+@+[A-Za-z0-9\-\.]+\.+[A-Za-z]{2,10}$/
   	var strInput   = new String(str2.value)
	var objregExp  = emailpat
	if(strInput.length > 0)
	{
		if(objregExp.test(strInput))
		{
			return true;
		}
		  alert("Enter Correct email Id!");
          str2.focus();
		return false;
    }
    return true;

 }
 
 // Check for valid phone format

function isPhone(frm,Object,msg)
 {
	
	var str2	=	eval("document."+frm+"."+Object);
	var str1	=	str2.value;
	var telpat  = "^(\d{10}|(\d{3}-\d{3}-\d{4}))?$"	
   	var strInput   = new String(str2.value)
	var objregExp  = telpat

   if(objregExp.test(strInput))

     {
       return true;

     }
     else
     {
     alert(msg);
     str2.focus();
     return false;
     }

 }
 
 //========================Created by Devi=======================================================
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
function isInteger(s)
{
   var i;
    for (i = 0; i < s.length; i++)
    {   
     
        var c = s.charAt(i);
        if (((c < "0") || (c > "9")))
        return false;
    }
   
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
  
    for (i = 0; i < s.length; i++)
    {   
       
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
//==================================================================
//For Phone Number Validation
function ValidatePhone(frm,Str){
	
	var Phone=eval("document."+frm+"."+Str);
	
	
	if(Phone.value.length > 0)
	{
		if (checkInternationalPhone(Phone.value)==false){
			alert("Enter phone/fax number in proper format. \n  format : XXXX-XXXXXXXX !!")
			
			
			Phone.focus()
			return false
		}
	}
	return true
 }


// Checks for white space

function isWhitespace(Object,msg)

 {
   var strInput   = new String(Object.value)

   var objregExp  = new RegExp(PatternsDict.whitespacepat)

   if(objregExp.test(strInput))
     {
		if (msg != null)
		  alert(msg);
		return true;
     }

   return false;

 }


  // Check for numeric field

 function isNumeric(frm,Object,length,msg) 
   {
	 var str2	=	eval("document."+frm+"."+Object);
	 
     var strInput = new String(str2.value);


     if(strInput.length > 0 && !isWhitespace (Object))
      {
       
       for(i = 0; i < strInput.length; i++)
        {
         if(strInput.charAt(i) < '0' ||  strInput.charAt(i) > '9')
		 
          {
           alert(msg)
           str2.focus()
           return false;
          }
        }
     }
      return true;
   }





// Checks a character type field

function isChar(frm,Object,msg)
 {

var objForm1 = document.frm;
var txtName1 = eval("document."+frm+"."+Object);
		
   var strInput = new String(txtName1.value)
   alert (strInPut);
   if (trim(strInput) == "")

     {
        return true;
     }

   var objregExp  = new RegExp(PatternsDict.charpat)

   if(objregExp.test(strInput))

     {

       return true;

     }

     alert(msg);
     Object.focus();
     return false;

 }

function checkSingleQuote(frm,txtName)
{
	 var str2	=	eval("document."+frm+"."+txtName);
	 var str1	=	str2.value;
	 
	
	for (var i = 0; i < str1.length; i++) 
	{
		var ch = str1.substring(i, i + 1);
		if (ch=="'") 
		{
			alert("Single qoute is not allowed");
			str2.focus();
			return false;
		}
	}
	return true;
}

//Check  for special character------------------------

function SpecialChar(source,sText)
{
   //var ValidChars = " '^&#%~`@$!\"/\<>:;?|]}[{";
   var str2	=	eval("document."+source+"."+sText);
	var str1	=	str2.value;
   var ValidChars ="'^#%~`@&";
   var IsNumber=true;
   var Char;
  
   var  position;

   for (i = 0; i < str1.length && IsNumber == true; i++) 
      { 
      Char = str1.charAt(i); 
	  position = ValidChars.indexOf(Char);

      if (position > -1) 
         {
                 IsNumber = false;
         }
      }
		if(IsNumber==false)
			{
				str1.IsValid = false;
				alert("Special Character is not Allowed !")
				str2.focus();
				return false;
			}
		else
			{
				str1.IsValid =true;
				return true;
			}
   
   
      }


// Check whether Passwords are matched

 function isPwdMatch(frm,pwd,cpwd,msg)
  {
 var pwd1	=	eval("document."+frm+"."+pwd);
 var cpwd1	=	eval("document."+frm+"."+cpwd);
    if (pwd1.value != cpwd1.value )
     {
       alert(msg);
       cpwd1.focus();
       return false;
     }
    else
      return true;
  }
  //--------------------------------------------------------------
function convert(num)
{
	var 	amount=	num.value;
	var len		=	amount.length;
	var decPos	=	amount.lastIndexOf(".");
	
	 numAfterDec	=	amount.substr(decPos+1,len);
	 numBeforeDec	=	new Number(amount.substr(0,decPos));
	 
	 if (amount!="0.00" && isNaN(amount))
	{	num.value	=	"0.00";
		return;
	}	
	 
	 if (numAfterDec.length==1)
		numAfterDec	=	numAfterDec+"0";
	 if (decPos<0)
	 {
		num.value	=	new Number(amount)+".00";
	 }
	 else 
	 {
		if (numAfterDec!="")
			num.value	=	numBeforeDec+"."+numAfterDec.substr(0,2);
		else
			num.value	=	numBeforeDec+".00";
	 }	
}

//==============================FUNCTION FOR CONFIRMATION (Nihar) ================
	function confirmDel()
	{
											
			if (confirm("Do you want to delete the selected record  ?"))
			{
				return true	;	
			}
			else
			{
				return false;
			}

	}
	
		function confirmAdd()
	{
											
			if (confirm("Do you want to submit ?"))
			{
				return true	;	
			}
			else
			{
				return false;
			}

	}
	
		function confirmPrint()
	{
											
			if (confirm("Do you want to Print ?"))
			{
				return true	;	
			}
			else
			{
				return false;
			}

	}
	
	function confirmUpdate()
	{
											
			if (confirm("Do you want to update ?"))
			{
				return true	;	
			}
			else
			{
				return false;
			}

	}
//=================================================================================

//=======================Created by Nihar======================================
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.
function isValidTime(frm,Str) {
var str2	=	eval("document."+frm+"."+Str);
var timeStr	=	str2.value;
	if (timeStr!="")
	{
		var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
		
		var matchArray = timeStr.match(timePat);
		if (matchArray == null) {
		alert("Time is not in a valid format.");
		str2.value="";
		str2.focus();
		return false;
		}
		hour = matchArray[1];
		minute = matchArray[2];
		second = matchArray[4];
		ampm = matchArray[6];
		
		if (second=="") { second = null; }
		if (ampm=="") { ampm = null }
		
		if (hour < 0  || hour > 23) {
		alert("Hour must be between 1 and 12. (or 0 and 23 for 24Hr time)");
		str2.value="";
		str2.focus();
		return false;
		}
		if (hour <= 12 && ampm == null) {
		if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
		alert("You must specify AM or PM.");
		return false;
		   }
		}
		if  (hour > 12 && ampm != null) {
		alert("You can't specify AM or PM for 24Hr time.");
		str2.value="";
		str2.focus();
		return false;
		}
		if (minute < 0 || minute > 59) {
		alert ("Minute must be between 0 and 59.");
		str2.value="";
		str2.focus();
		return false;
		}
		if (second != null && (second < 0 || second > 59)) {
		alert ("Second must be between 0 and 59.");
		str2.value="";
		str2.focus();
		return false;
		}
		//return true;
	}
}
//================================================================================ 
 //Validation for Website
function checkWebsite(frm,Str) {
var str2	=	eval("document."+frm+"."+Str);
if ((str2.value == "") || 
(str2.value.indexOf("www.") == -1) || 
(str2.value.indexOf(".") == -1)) 
{
alert("Enter Correct Website Format\nPlease re-enter and submit again!\nEx-: www.gto.com");
str2.focus();
return false;
}
else return true;
}
//=============================================================================
// Check whether Passwords are matched

 function isPwdMatch(frm,pwd,cpwd,msg)
  {
 var pwd1	=	eval("document."+frm+"."+pwd);
 var cpwd1	=	eval("document."+frm+"."+cpwd);
    if (pwd1.value != cpwd1.value )
     {
       alert(msg);
       cpwd1.focus();
       return false;
     }
    else
      return true;
  }
  //====================================================================
 
 
 
 function NotNumeric(frm,Object,length) 
   {
	 var str2	=	eval("document."+frm+"."+Object);
	 
     var strInput = new String(str2.value);


     if(strInput.length > 0 )
      {
       
       for(i = 0; i < strInput.length; i++)
        {
         if(strInput.charAt(i) < '0' ||  strInput.charAt(i) > '9')
		 
          {
           return true;
          }
        }
     }      
      alert("Only Numeric Value is not Allowed!");
           
           str2.focus()
           return false;
   }
   
   //==========================
  function checkPhoneValidator(frm,str)
{
	var str2	=	eval("document."+frm+"."+str);
	var checkOK = "0123456789-()";
  	var checkStr = str2.value;
  	var allValid = true;
  	var decPoints = 0;
  	var allNum = "";
  
  	for (i = 0;  i < checkStr.length;  i++)
  	{
    	ch = checkStr.charAt(i);
    	for (j = 0;  j < checkOK.length;  j++)
      	if (ch == checkOK.charAt(j))
        break;
    	if (j == checkOK.length)
    	{
      	allValid = false;
      	break;
    	}
    	allNum += ch;
  	}
  	if (!allValid)
  	{
    	alert("Please enter only digit characters in the \"Phone Number ( 2039874125 )\" field.");

    	str2.focus();
    	return (false);
  	}
	
	if (str2.value.length !== 0 && str2.value.length<10)
	{
		alert("Incorrect number of characters.");
		str2.focus();
		return(false);
	}
	if (str2.value.lentgh>10)
	{
		alert("Entry consists of more that 10 Chars.");
		str2.focus();
		return(false);
	}
	
	else
	{
		return true;
	}

}

function CheckFloat(frm,Object,msg) 
   {
	 var str2	=	eval("document."+frm+"."+Object);
	 var floatpatt  = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
     var strInput = new String(str2.value);
     var objregExp  = floatpatt


     if(objregExp.test(strInput))
      {
       return true;
       }
       else
     {
     alert(msg);
     str2.focus();
     return false;
     }
       
      
   }
   
   function CheckLengthOfMemo(obj,len,name)
{
	var objname = eval("document.test." + obj);
	if(objname.value.length > len)
	{
		alert(name + " cannot exceed " + len + " chars !!");
		
		var temp = objname.value;
		objname.value = temp.slice(0,len);
		
		objname.focus();
	}
}
	
function CorrectTextArea(obj)
{
	var tareas = document.getElementsByTagName('textarea');
	for(var i=0;i<tareas.length;i++)
	{
		var temp = tareas[i];
		
		if(temp.name != null && temp.name == obj)
		{
			
		var tabl = document.getElementById(temp.id.slice(0,temp.id.length - 5));
		if(tabl != null)
		{
			var pwidth = tabl.style.width;
			var pheight = tabl.style.height;
			temp.style.width = pwidth.slice(0,pwidth.length - 2) - 20 + "px";
			
			temp.style.height = pheight.slice(0,pheight.length - 2) - 5 + "px";
		}
		}
	}
}

 //====================================================================
  // Length Should be greater than 10
 function CheckLength(frm,Object) 
   {
	 var str2	=	eval("document."+frm+"."+Object);
	 
     var strInput = new String(str2.value);
     if(strInput.length < 10 )
		{
			alert("Enter Proper Mobile Number");
			str2.focus();
			return false;
      
		}      
     else
		{
			return true;
		}
   }