/*function CheckChr(displayname,name,str)		
{
	Retval=1
	e = new String(str)
	var regExp = //\:+*?"<>|=@#$%^&~!-/;						
	Retval = regExp.test(e); 
	
	if(Retval == 1) 
	{
		alert("Invalid character in the '"+ displayname+"'")
		eval(name + ".focus()");
		return false;
	}
}*/

// Trim 
function Trim(sString )
{
    
    var str;
    str = sString ; 
    
    /*if (str == '')
        return false ;
    else 
        return true ;*/
    //return leftTrim(rightTrim( sString )  );
    //return sString.replace(/^\s*(\b.*\b|)\s*$/, '');
    
    return sString.replace(/^\s+|\s+$/g,"");
}

function leftTrim(sString)
{
while (sString.substring(0,1) == '')
{
	sString = sString.substring(1, sString.length);
}
return sString;
}
			
function rightTrim(sString) 
{
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString =sString.substring(0,sString.length-1);
	}
	return sString;
}

function trimAll(sString) 
{
	while (sString.substring(0,1) == '')
	{
		sString = sString.substring(1, sString.length);
	}
	while(sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


// Desc-   CheckAlfaNumeric ( Control Name , Message to Display, pass true if space allowed else false)
function CheckAlfaNumeric(varControl,message,spaces )
{
   
    var val  = Trim( document.getElementById(varControl ).value);
    var strRegExp;
    //debugger;
    
    if ( spaces == false )
        strRegExp = '^[a-zA-Z0-9]+$';
    else
        strRegExp = '^[a-zA-Z0-9\\s]+$';
    var myReg = new RegExp(strRegExp);
    //document.demoMatch.subject.value.match(re)
   if (myReg.test(val ) == false)
    {
        alert(message );
        document.getElementById(varControl ).focus();
        return false ;
    }
    
}
function doNumCheck()
{ // 46 is for dot and 48 to 57 is for nos. 0 to 9 Allow only integer.
    var strreturnvalue;
	if (((event.keyCode >= 48 && event.keyCode <= 57 )|| event.keyCode == 46) )
	 	return true;
	else
	    return false;
}
function doNumCheckWODecimal()
{ // 46 is for dot and 48 to 57 is for nos. 0 to 9 Allow only integer.
	if (event.keyCode >= 48 && event.keyCode <= 57 )
		return true;
	else
		return false;
}
function doCharCheck()
{
    if ((window.event.keyCode >= 65 && window.event.keyCode <= 90 ) || (window.event.keyCode >= 97 && window.event.keyCode <= 122 ))
		window.event.returnValue = true;
	else
		window.event.returnValue = false;
}
	
	
function doNumCheckWPoint()
{ // 46 is for dot and 48 to 57 is for nos. 0 to 9 Allow only integer.
	if (window.event.keyCode >= 48 && window.event.keyCode <= 57 )
		window.event.returnValue = true;
	else
		window.event.returnValue = false;
}
	
function CheckEmail(name,str)
{
  var supported = 0;
  if (window.RegExp)
  {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new 
  RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  if(  (!r1.test(str) && r2.test(str)) == false)
  {
		alert("Please Enter a Valid Email ID");
		eval(name + ".select()");
		return false;					
  }
  else
	return true  
}


function CheckText(displayname,name,str,flag)		
{
	Retval=1
	e = new String(str)
	if(flag==1)
	{
		for(i=0 ;i<e.length ;i++)
		{	
			if(e.charAt(i) == '<')
			{
				chr=e.charAt(i)
				Retval = 0
				break;
			}	
			else if(e.charAt(i) == '>')
			{
				chr = e.charAt(i)
				Retval = 0
				break;
			}				
		}				
	}
	if(Retval == 0) 
	{
		alert("Invalid character '" + chr + "' in the '"+ displayname+"'")
		eval(name + ".focus()");
		return false;
	}
	
	
	if(str.length == "" || isNaN(str.length))
	{
		alert(displayname + " cannot be blank.");
		eval(name + ".focus()");		
		return false;
		
	}
	
	else if(isNaN(str)==0)
	{
		alert(displayname + " is invalid");
		eval(name + ".select()");		
		eval(name + ".focus()");		
		return false;
	}		
	
}
function Checktext1(vartype,intvalue)
{
    
    switch (vartype)
    {
    case "integer":if (intvalue>=48 && intvalue<=57) 
                    return true ;
                   else 
                    return false;
    break;
    case "float":if ((intvalue>=48 && intvalue<=57)|| intvalue==46) 
                    return true ;
                   else 
                    return false;
    break;
    case "alphabetic":if ((intvalue>=65 && intvalue<=90)|| (intvalue>=97 && intvalue<=122)) 
                    return true ;
                   else 
                    return false;
    break;
    case "alphanumeric":if ((intvalue>=65 && intvalue<=90)|| (intvalue>=97 && intvalue<=122)||intvalue>=48 && intvalue<=57) 
                    return true ;
                   else 
                    return false;
    break;
    case "alphanumericsapce":if ((intvalue>=65 && intvalue<=90)|| (intvalue>=97 && intvalue<=122)|| (intvalue>=48 && intvalue<=57)|| intvalue==32) 
                    return true ;
                   else 
                    return false;
    break;
    }
}


function GoodEmail(inEmail)
{
	if (inEmail == " ")
	 {
		return(false);
	 }
	 else
	 {
		if (inEmail.indexOf("@") < 0 || inEmail.indexOf(".") < 0 || inEmail.length < 7) 
                 {
                     alert("Invalid Email Address...");

			return (false);
                 }
		 else
		 {
			return(true);
		 }
	 }
}


function CheckTextAllowBlank(displayname,name,str,flag)		
{
	Retval=1
	e = new String(str)
	if(flag==1)
	{
		for(i=0 ;i<e.length ;i++)
		{	
			if(e.charAt(i) == '<')
			{
				chr=e.charAt(i)
				Retval = 0
				break;
			}	
			else if(e.charAt(i) == '>')
			{
				chr = e.charAt(i)
				Retval = 0
				break;
			}				
		}				
	}
	if(Retval == 0) 
	{
		alert("Invalid character '" + chr + "' in the '"+ displayname+"'")
		eval(name + ".focus()");
		return false;
	}
if(str.length!=0)
if(isNaN(str)==0)
	{
		alert(displayname + " is invalid");
		eval(name + ".select()");		
		eval(name + ".focus()");		
		return false;
	}	
	
}

function CheckNumberAllowBlank(displayname,name,num)
{
	if(isNaN(num))
	{
		alert(displayname + " is invalid");
		eval(name + ".select()");		
		eval(name + ".focus()");		
		return false;
		
	}
	
	else if(num < 0)
	{
		alert("Negative " + displayname + " is not allowed !");
		eval(name + ".select()");		
		eval(name + ".focus()");		
		return false;
		
	}
			

}
function CheckNumber(displayname,name,num)		
{
	
	if(num.length == "" || isNaN(num.length))
	{

		alert(displayname + " cannot be blank.");
		//eval(name + ".focus()");		
		document.getElementById(name ).focus();
		return false;
		
	}	
	
	else if(isNaN(num))
	{
		alert(displayname + " is invalid");
		//eval(name + ".select()");		
		//eval(name + ".focus()");		
		document.getElementById(name ).select();
		document.getElementById(name ).focus();
		return false;
		
	}
	
	else if(num <= 0)
	{
		alert("Zero or Negative " + displayname + " is not allowed !");
		//eval(name + ".select()");		
		//eval(name + ".focus()");		
		document.getElementById(name ).select();
		document.getElementById(name ).focus();
		return false;
		
	}
			

}


function CheckNumberAllowZero(displayname,name,num)		
{
	
	if(num.length == "" || isNaN(num.length))
	{

		alert(displayname + " cannot be blank.");
		eval(name + ".focus()");		
		return false;
		
	}	
	
	else if(isNaN(num))
	{
		alert(displayname + " is invalid");
		eval(name + ".select()");		
		eval(name + ".focus()");		
		return false;
		
	}
	
	else if(num < 0)
	{
		alert("Negative " + displayname + " is not allowed !");
		eval(name + ".select()");		
		eval(name + ".focus()");		
		return false;
		
	}
			

}
//This function converts a dates like 2/2/2000 to 02/02/2000 
function ChangeFormat(datefield)
{
   var s = datefield;
   var j = s.split("/");
   var dd = Number(j[0]);
   var mm = Number(j[1]);
   var yy = Number(j[2]);
   var mystr;
   if (dd<10 && mm<10)
    mystr = "0" + dd + "/0" + mm + "/" + yy;
   else if (mm<10)
    mystr = dd + "/0" + mm + "/" + yy;
   else if (dd < 10)
    /*mystr = "0" + dd + "/0" + mm + "/" + yy; */
    /* New Modifed Code Below*/
    mystr = "0" + dd + "/" + mm + "/" + yy; 
   else
    mystr = s; 
   return mystr;   
} 

//This function checks the format of date dd/mm/yyyy
function IsCorrectFormat(datefield)
 {
  /*if(datefield=="")
   {	
    alert("date field cannot be empty");    
    flag+=1;
   }
  else*/
  { 
  var flag = 0;
  var s = datefield;
  var j = s.split("/");
  if (isNaN(j[0]))
   flag+= 1;
  if (isNaN(j[1]))
   flag+= 1;
  if (isNaN(j[2]))
     flag+= 1;
  else
    {
       if( j[2].length < 4)  
       flag+=1;
    }
     
  }   
  if(flag!=0) 
    return false;
  else 
    return true;
 }

function IsCorrect(datefield)
 {
 
  
  var flag = 0;
  var s = datefield;
  var j = s.split("/");
if (s.length!=0)
{
  if (isNaN(j[0]))
   flag+= 1;
  if (isNaN(j[1]))
   flag+= 1;
  if (isNaN(j[2]))
     flag+= 1;
  else
    {
       if( j[2].length < 4)  
       flag+=1;
    }
  }
  if(flag!=0) 
    return false;
  else 

    return true;

 }
 //This Function Checks Whether Valid Date is entered or not.
 function ValidDate(datefield)
 {
   var s = datefield;
   var myF = 0;
   if(datefield == "")
    myF+=1;
   else
   {
    if(!IsCorrectFormat(datefield)) //if invalid date then 
	  myF+=1;
	else //correct date format, check if this is a valid date ??
	 {
	   var j = s.split("/");
	   var dd = Number(j[0]);
		var mm = Number(j[1]);
		var yy = Number(j[2]);
		var NFlag  = "0";
		if(mm>12 || dd > 31 || dd < 1 || mm < 1)
		{
		 myF+=1;
		} 
		else 
		 if (mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
		 {
		     if(dd > 31)
		         myF+=1;
		 }
		 else if (mm==4 || mm==6 || mm==9 || mm==11)
		 {
		    if(dd > 30)
		 	    myF+=1;
		 }
		 else if (mm==2)
		 {
		   	/*if(dd>=29)
		   		  myF+=1;
		 	  else if (yy % 4 == 0 && dd >= 29)
		         myF+=1; 
		     */
		     
		    /* New Modifed Code Below*/
			var isleap = (yy % 4 == 0 && (yy % 100 != 0 || yy % 400 == 0))			
			if (dd>29 || (dd==29 && !isleap))
				myF+=1;				  
				 
		 }
		 if (yy > 9999 || yy <= 1800)
		 {
		    myF+=1;
		 }
	}
  }	 
  if(myF==0)
   return true;
  else
   return false; 
 } 

 function ValidDateAllowBlank(datefield)
 {
   var s = datefield;
   var myF = 0;
      if(! IsCorrect(datefield)) //if invalid date then 
	  myF+=1;
	else //correct date format, check if this is a valid date ??
	if (datefield.length!=0)
	 {
	   var j = s.split("/");
	   var dd = Number(j[0]);
		var mm = Number(j[1]);
		var yy = Number(j[2]);
		var NFlag  = "0";
		if(mm>12 || dd > 31 || dd < 1 || mm < 1)
		{
		 myF+=1;
		} 
		else 
		 if (mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
		 {
		     if(dd > 31)
		         myF+=1;
		 }
		 else if (mm==4 || mm==6 || mm==9 || mm==11)
		 {
		    if(dd > 30)
		 	    myF+=1;
		 }
		 else if (mm==2)
		 {
		   	/*if(dd>=29)
		   		  myF+=1;
		 	  else if (yy % 4 == 0 && dd >= 29)
		         myF+=1; 
		     */
		     
		    /* New Modifed Code Below*/
			var isleap = (yy % 4 == 0 && (yy % 100 != 0 || yy % 400 == 0))			
			if (dd>29 || (dd==29 && !isleap))
				myF+=1;				  
				 
		 }
		 if (yy > 9999 || yy <= 1800)
		 {
		    myF+=1;
		 }
		
	
  }	 
  if(myF==0)
   return true;
  else
   return false; 
 } 
function Check(mydate)
{
 if (ValidDate(mydate.value)==false)
 {
  alert("Please Enter Valid Date..");
  mydate.focus();
 }
}
/*function Validate()
{
date1 = document.form1.date1.value;
date2 = document.form1.date2.value; 
if(ValidDate(ChangeFormat(date1))==false)
{
 alert("Invalid Start Date..");
 document.form1.date1.focus();
 return false;
}
if(ValidDate(ChangeFormat(date2))==false)
{
 alert("Invalid End Date..");
 document.form1.date2.focus();
 return false;
}
if(Compare(ChangeFormat(date1),ChangeFormat(date2))==false)
{
alert("Do Not Match..");
document.form1.date1.focus();
return false;
}
}*/


function Compare(date1,date2)
{
	var i = ChangeFormat(date1);
	var f = ChangeFormat(date2);
	var issdt = new Date(i.substring(6,10),Number(i.substring(3,5))-1,i.substring(0,2));
	var findt = new Date(f.substring(6,10),Number(f.substring(3,5))-1,f.substring(0,2));
	/*alert(findt);
	alert(issdt);*/
		if(issdt > findt)
			return false;
		else
	return true; 
}

/* Numeric parampeter expected */
function isPosInteger(inputVal) {
  var checkOK = "0123456789";
  var checkStr =  inputVal.toString();
  var allValid = true;
  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;
    }
  }
  return allValid;	
}

// to get date difference as integer
	function datediff(d1,d2)
		{
			var frmdat =d1;	 
			var todat = d2; 
			  

			frm=frmdat.split("/")
			frmday=frm[0]
			frmmonth=frm[1]
			frmyear=frm[2]
			to1=todat.split("/")
			today=to1[0]
			tomonth=to1[1]
			toyear=to1[2]
			fromdate=frmmonth+"/"+frmday+"/"+frmyear
			todate=tomonth+"/"+today+"/"+toyear
  
			var frmdat = Date.parse(fromdate);

			var todat = Date.parse(todate);
 
			var dd = todat-frmdat;	
	
			return dd;
		}

/*function DateDiff(date1,date2)
{
	var i = ChangeFormat(date1);
	var f = ChangeFormat(date2);
	var issdt = new Date(i.substring(6,10),Number(i.substring(3,5))-1,i.substring(0,2));
	var findt = new Date(f.substring(6,10),Number(f.substring(3,5))-1,f.substring(0,2));
	if(isNaN(findt-issdt ))
	  diff=0;
	else
	 diff=findt-issdt;
	retval=(diff/86400000)+1;
	return(retval);
}*/


//Function to compare today's date with some other date..
function CompareToday(date)
{
var f = ChangeFormat(date);
var findt = new Date(f.substring(6,10),Number(f.substring(3,5))-1,f.substring(0,2));
var issdt = new Date();
var i = ChangeFormat(issdt)
if(issdt >= findt)
 return false;
else
 return true; 
}



//Function to compare date where entry date should be less than or equal to todays date
function CompareEntryDate(date)
{
var f = ChangeFormat(date);
var findt = new Date(f.substring(6,10),Number(f.substring(3,5))-1,f.substring(0,2));
var issdt = new Date();
//alert(issdt)
//alert(findt)
if(issdt > findt)
 return false;
else
 return true; 
}


 
function CheckFYyear(cdate)
{
	var dt = new Date();
	yr1 = dt.getFullYear()
	yr2 = dt.getFullYear() + 1
	
	yr = cdate.split("/");
	if(yr[2] < yr1 || yr[2] > yr2)		
		return false;	
	else
		return true;			

} 

 function DoCal(elTarget) 
 { 
  if (showModalDialog) 
  {
    var sRtn,sStartChars; 
    sRtn = showModalDialog("../Forms/Calendar.aspx",null,"center=yes;dialogWidth=156pt;dialogHeight=160pt;status:no;help:no;edge:sunken");
    sStartChars=sRtn.substring(1, 10);
		if(sStartChars != "undefined")
		{
			if (sRtn!="" && sRtn!="undefined")    
			{
			elTarget.value = ChangeFormat(sRtn);
			}
		}
		else
		{
			alert("Please select Date");
			elTarget.value=""
		}
   } 
   else
   alert("Internet Explorer 4.0 or later is required.")
 }


function CallDoCal(id,ctrlloc,colnum,refstatus)
{

// textDate because the id of the textbox is 'txtdate'
//if inside datagrid
if(ctrlloc==1)
{
	var index=id.indexOf("_CustomDateGrid")
	var parent=id.substring(0,index-1)
	var unique=id.substring((index-1),index)
	var f=parent+unique+"_CustomDateGrid" +colnum+ "_txtDate"
}
else if(ctrlloc==2)
{
	var index=id.indexOf("_CustomDateGrid")
	var parent=id.substring(0,index-1)
	var unique=id.substring((index-1),index)
	var f=parent+unique+"_CustomDateGrid1" +colnum+ "_txtDate"
}
else if(ctrlloc==3)
{
	var index=id.indexOf("_CustomDateGrid")
	var parent=id.substring(0,index-1)
	var unique=id.substring((index-1),index)
	var f=parent+unique+"_CustomDateGrid2" +colnum+ "_txtDate"
}
else
{
//if outside datagrid
var index=id.indexOf("_")
var parent=id.substring(0,index-1)
var unique=id.substring((index-1),index)
var f=parent+unique+"_txtDate"
}
var x=document.getElementById(f) 
DoCal(x)
	if(refstatus==true)
	{
		window.document.forms[0].submit();
	}
}


//for validating amount
			function isPosIntegerd(inputVal)
			{
				var checkOK = "0123456789.";
				var checkStr =  inputVal.toString();
				var allValid = true;
				var dec = 0;
				var decptat;
							
				/*if(inputVal=="")
				{
					
					allValid = false;
					return allValid;
				}*/
				for (i = 0;  i < checkStr.length; i++)
				{
					ch = checkStr.charAt(i);
					for (j = 0;  j < checkOK.length;  j++)
					if (ch == checkOK.charAt(j))
					{
						if(ch == ".")
						{
							decptat = i;
							dec++;
						}   
						break;
					}
					if (j == checkOK.length)
					{
						allValid = false;
						break;
					}
				}
				if(dec > 1)
					allValid = false;
				degaftdes	= 0;
				if(dec == 1)
				{
					for(m=decptat++; m <=checkStr.length; m++)
					degaftdes++;

					if((degaftdes-4) > 2)
					allValid = false;  
				}
				return allValid;	
			}
			
function ConvertToUpper(Obj)
{
   document.getElementById(Obj.id).value =  document.getElementById(Obj.id).value.toUpperCase();
    
}
function ConvertToLower(Obj)
{
document.getElementById(Obj.id).value =  document.getElementById(Obj.id).value.toLowerCase();
}
