var dtCh= "/";
var minYear=1900;
var maxYear=2100;
var win = null;
function NewWindow(mypage,myname,w,h,scroll)
{
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
	win = window.open(mypage,myname,settings)
}
function callme(nURL)
{
	window.document.frmRecs.action = nURL;
	window.document.frmRecs.submit();
}
function popUp(URL)
 {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=500,left = 312,top = 134');");
}
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}
function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}
function isNumeric(StrChkVal)
{
	RetVal = true
        NumberOfPoints = 0
	for (i = 0 ; i < StrChkVal.length ; i++)
	{
                if (mid(StrChkVal, i + 1, 1) == ".")
                {
                        if (NumberOfPoints == 0)
                        {
                                NumberOfPoints = 1
                        }
                        else
                        {
                                RetVal = false
                        }
                }
                else
                {
                        if (isNaN(parseInt(mid(StrChkVal, i + 1, 1), 10)))
                        {
                                RetVal = false
                        }
                }
	}

	return RetVal
}
function StrTrim(StrVar)
{
// ***** Function to trim a string sent and return the resultant string ***
        for (I = 0 ; I < StrVar.length ; I++)
        {
                if ((StrVar.substring(0,1)) == " ")
                {
                        StrVar = StrVar.substring(1,StrVar.length)
                        I = I - 1
                }
        }
        for (I = 0 ; I < StrVar.length ; I++)
        {
                if ((StrVar.substring(StrVar.length - 1,StrVar.length - 0)) == " ")
                {
                        StrVar = StrVar.substring(0,StrVar.length - 1)
                        I = I - 1
                }
        }
        return StrVar
}
function mid(str,start,n)
{	//returns a substring of str starting at 'start' that's n characters long.
	strlen = str.length
	var jj = str.substring(start-1,strlen)
	jj = jj.substring(0,n)
	return jj
}
function SelTheOption(SelName, OptionValue)
{
        OptLen = eval("document.Catelog." + SelName + ".length")
        for (i = 0 ; i < OptLen; i++)
        {
                OptSel = eval("document.forms[0]." + SelName + ".options[i].value")
                if (OptSel == OptionValue)
                {
                        eval("document.forms[0]." + SelName + ".options[i].selected=true")
                        eval("document.forms[0]." + SelName + ".options[i].defaultSelected=true")
                        break
                }
        }
}
function mid(str,start,n)
{	//returns a substring of str starting at 'start' that's n characters long.
	strlen = str.length
	var jj = str.substring(start-1,strlen)
	jj = jj.substring(0,n)
	return jj
}
function CheckEmail(emailStr)
{
	if (StrTrim(emailStr) != "" && emailStr != null)
	{
		if ((emailStr.indexOf('@') == -1) || (emailStr.indexOf('.') == -1))
		{
			return -1;
		}
		else
		{
			return 0;
		}
	}
	return 0;
}
function leapyear(year)
{
        Retval = false
        if (year % 4 == 0)
        {
                Retval = true
        }
        return Retval
}
function getDays(month,year)
{
        var ar = new Array(12)
        ar[0]=31
        ar[1]=(leapyear(year))?29:28
        ar[2]=31
        ar[3]=30
        ar[4]=31
        ar[5]=30
        ar[6]=31
        ar[7]=31
        ar[8]=30
        ar[9]=31
        ar[10]=30
        ar[11]=31
        return ar[month]
}
function CheckNumber(intNum)
{
	var valid="0123456789";
	var string=intNum;
	var leng=string.length;
	for (var i=0;i<=leng ;i++)
	{
		var substring=string.substr(i,1);
		if (valid.indexOf(substring)== -1)
			{
			return false;
			}
	}
	return true;
}
function roundIt(a) 
{
		//alert(a)
		aa=a.toString()
		//var len = a.length;
		b = aa.indexOf('.');
		//alert(b)
		if (b != -1)
		{
		//alert(aa.substring(0, b+3))
		ret=aa.substring(0, b+3);
		}
		else
		{
		ret=a;
		}
		//alert(parseFloat(ret))
		return parseFloat(ret) 
}
function EnCode(s)
{
		t=""
		for(i=0; i<s.length;++i){
			ch=s.charAt(i)
			switch(ch)
			{				
				case "\n" : t+=""; break;
				case "\r" : t+=""; break;
				case "\t" : t+=""; break;
				case "\b" : alert("enter") ;
					t+=""; break;
			  default : t+=ch; break;
			}
		}
		return t
}
function CalculateTot(FirstVal, SecondVal)
{
	/*FirstVald = DateObj(FirstVal)
	SecondVald = DateObj(SecondVal)*/
	
	FirstVald = new Date(FirstVal)
	SecondVald = new Date(SecondVal)
	
    RetVar = daysBetween(FirstVald, SecondVald) 
    retDays = RetVar.toString()
    return retDays
}

function daysBetween(date1, date2) 
{	//returns the number of days between two date objects.
	millisecs = date1.getTime() - date2.getTime() 
	////alert("millisecs   " + millisecs)
   	return Math.round(millisecs/(1000*60*60*24)-0.5)
}
function chkBlankString(txtObj,nMsg)
{
	if (StrTrim(txtObj.value) == "")
	{
		alert(nMsg);
		txtObj.focus();
		return false;
	}
}
function chkBlankInt(txtObj,nMsg)
{
	if (StrTrim(txtObj.value) != "")
	{
		if (isInteger(txtObj.value) == false)
		{
			alert(nMsg);
			txtObj.focus();
			return false;
		}
	}
	return true;
}
function chkBlankFloat(txtObj,nMsg)
{
	if (StrTrim(txtObj.value) != "")
	{
		if (isNumeric(txtObj.value) == false)
		{
			alert(nMsg);
			txtObj.focus();
			return false;
		}
	}
	return true;
}