//Define Browser
var isNetsc=((navigator.appName == "Netscape")&&(navigator.userAgent.indexOf("Gecko")!=-1))
//*****************************************************************
var Flag
var dayNames = new Array ("Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday")
var monthNames = new Array ("January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December")

/**************************************************************************/
/****************************************************************/
function StripNonNumeric(s)
{//Cleans non numeric characters in numeric fields
var i,res =""
for (i = 0; i< s.length; i++)
	{
		if (s.substr(i, 1) >= "0" && s.substr(i,1) <= "9")
			res += s.substr(i, 1);
	}
return res;
}
function numberPlease(evt) 
{//Checks for numeric keypressed and restricts none numeric characters
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) 
    {
        var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode : 
                       ((evt.keyCode) ? evt.keyCode : evt.which);
        if (charCode > 13 && (charCode < 48 || charCode > 57)) 
        {
           if (evt.preventDefault) 
			   evt.preventDefault();
           else 
               evt.returnValue = false;
        }
    }
}
function decimalPlease(evt) 
{//Checks for numeric keypressed and restricts none numeric characters
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) 
    {
        var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode : 
                       ((evt.keyCode) ? evt.keyCode : evt.which);
    
        if (charCode > 13 && (charCode < 48 || charCode > 57) &&  charCode!=46) 
        {
           if (evt.preventDefault) 
			   evt.preventDefault();
           else 
               evt.returnValue = false;
        }
    }
}
function isEmpty(str)
{
	if (str=="") return true;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if (ch!=" ") return false;
	}
	return true;
}
function isEqual(str1,str2)
{
	if (str1 == str2)return true;
	return false;
}

function isAlphaNumeric(ch)
{	
	if (ch.length!=1) return false;
	if ((ch>="a" && ch<="z")||(ch>="A" && ch<="Z") || (ch>="0" && ch<="9"))  
		return true ;
	else 												
		return false;
}
function isInteger(str)
{
	if (isEmpty(str)) return false;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if (ch<"0" || ch > "9" ) return false;
	}
	return true;
}
function isNumber(str)
{
	if (isEmpty(str)) return false;
	var j=0;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if ((ch<"0" && ch !=".") || (ch > "9" && ch !=".")) return false;
		if (ch=='.') j++;
	}
	if (j>1) return false;
	return true;
}

function isPositiveInteger(str)
{
	if(!isInteger(str)) return false;
	if (eval(str)<=0) return false;
	return true;
}
function warning(txtObj,msg)
{
	alert(msg);
	txtObj.select();
	txtObj.focus();
}
function isMMDDYYYY1(str)
{
	if (str=="") return false;
	if (str.substring(2,3)!="/") return false;
	if (str.substring(5,6)!="/") return false;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if ((ch<"0" && ch !="/") || (ch > "9" && ch !="/")) return false;		
	}
	return true;	
}
function isMMDDYYYY(str)
{
	var d=0;
	var m=0;
	var y=0;
	var m1=0;
	var d1=0;
	var dd="";
	var mm="";
	var yyyy="";
	for (var i=0;i<str.length;i++)
	{
		if (str.substring(i,i+1)=="/" && d==0 && m==0)
			{
				dd=str.substring(0,i);
				d=1;
				d1=i;
				//alert(d1);
				continue;
			}
		if (str.substring(i,i+1)=="/" && d==1 && m==0)
			{
				mm=str.substring(d1+1,i);
				m=1;
				m1=i;
				//alert(m1)
			}
	}
		yyyy=str.substring(m1+1,str.length+1);
		//alert(dd);
		//alert(mm)
		//alert(yyyy)
		if (dd.length>2) return false
		if (mm.length>2) return false
		if (!(yyyy.length==4 || yyyy.length==2)) return false
		for (var i=0; i<dd.length; i++)
		{
			var ch=dd.substring(i,i+1);
			if (ch<"0"  || ch > "9") return false;		
		}
		for (var i=0; i<mm.length; i++)
		{
			var ch=mm.substring(i,i+1);
			if (ch<"0"  || ch > "9") return false;		
		}
		for (var i=0; i<yyyy.length; i++)
		{
			var ch=yyyy.substring(i,i+1);
			if (ch<"0"  || ch > "9") return false;		
		}
return true;		
}
function isHHMM(strTime)
{ //'Check length of string, must be 8 characters long:
            if (strTime.length !=8)      
            {
                if (strTime.length == 7) strTime = "0" + strTime;
                else  return false;
            }
            //'Check hours, must be between 0 and 12:
            intTemp = parseInt( strTime.slice(0,2));
            if (intTemp < 0 || intTemp > 12) return false;
            //'Check that colon is in space 3:
            if (strTime.charAt(2) != ':') return false;
            //'Check minutes, must be between 0 and 59:
            intTemp = parseInt( strTime.slice(3,5) );
            if (intTemp < 0 || intTemp > 59) return false;
            //'Check that final 2 chars are am or pm:
            if (!(strTime.slice(6,8).toUpperCase() == 'AM'||strTime.slice(6,8).toUpperCase() == 'PM'))
				return false
	return true	 
}
function isEmail(str)
{	
	if (isEmpty(str)) return false;
	var signCount=0;
	var signDot=0;
	var chAfterSignCount="";
	
	for (var i=0;i<str.length;i++)
	{	
		var ch=str.substring(i,i+1);
		if (i==0 && !isAlphaNumeric(ch)) 
		{
			alert(ch)
			alert(isAlphaNumeric(ch))
			return false;
		}
		if (ch=="@")
		{
			signCount++;
			var ch1=str.substring(i+1,i+2);
			if (!isAlphaNumeric(ch1)) return false;
		}
		if (ch==".")
		{
			signDot++;
			var ch1=str.substring(i+1,i+2);
			if (!isAlphaNumeric(ch1)) return false;
		}
	}
	if (signCount!=1) return false
	if (signDot<1) return false
return true;
}

function isPhoneNumber(area,part1,part2,ext)
{
	if(area.length!=3 || part1.length!=3 || part2.length!=4)
		return false;
	if(!isInteger(area) || !isInteger(part1) || !isInteger(part2))
		return false;
	if(ext!="" && !isInteger(ext))
		return false;
	
return true;
}

function isExpired(month,year)
{
	if(!isInteger(month) || !isInteger(year))
		return true;
	today=new Date();
	theDate=new Date(year,month,01)
	if(today>=theDate) return true;
	
return false;
}
/***********************************************************************/
//New Date validation

function isDateValid(dateString)
{var arrDate=dateString.split("/")
if(arrDate.length<3) return false;
var chk=true;
var maxDay=0;
var mm=arrDate[0];
var dd=arrDate[1];
	if(arrDate[2].length==2)(arrDate[2]>50)? arrDate[2]="19"+arrDate[2] :  arrDate[2]="20"+arrDate[2]
var yyyy=arrDate[2];
// calling function to get maximum day for this month
maxDay = max_day(mm, yyyy);  
	if(dd <= 0 || dd > maxDay) chk = false;
	else if(mm <= 0 || mm > 12)  chk = false;
	else if(isNaN(yyyy) || yyyy <= 0)  chk = false; 
return chk;
}
 
function max_day(mn, yr)
{
var mDay;
	if(mn == 4 || mn == 6 || mn == 9 || mn == 11) mDay = 30;
	else if(mn == 2) {mDay = isLeapYear(yr) ? 29 : 28;}    
	else mDay = 31;
return mDay; 
}

function isLeapYear(yr)
{
if (yr % 4 != 0)  return false;
else if (yr % 400 == 0)  return true;
else if (yr % 100 == 0)  return false;
else  return true;
}

/****************************************************************/
function tabText(from,to,len)
{//Moves Cursor to the next field according to the specified length
	if(document.getElementById(from).value.length==len)
		{
			document.getElementById(to).focus()
			document.getElementById(to).select()
		}
}
/****************************************************************/

function createLinks(start,cntLinks,qryStr)
{	var ItemsPerPage=20;
	var pageCount=Math.ceil(cntLinks/ItemsPerPage);
	var links="";
	var i;
	var end;
	i=((start/ItemsPerPage)<ItemsPerPage/2)?0:(start/ItemsPerPage)-(ItemsPerPage/2)
	end=((start/ItemsPerPage)+(ItemsPerPage/2)>pageCount)?pageCount:(start/ItemsPerPage)+(ItemsPerPage/2)
	if(end>1){
		links+=(start>0)?"<a href='?start="+(start-ItemsPerPage)+ qryStr + "'><<</a>&nbsp;":"&nbsp;&nbsp;&nbsp;&nbsp;"
		for (i;i<end;i++) 
			{
			if (start==i*ItemsPerPage) links+="<font color=red>"+(i+1)+"&nbsp;</font>"
			else links+="<a href='?start="+(i*ItemsPerPage)+ qryStr +"'>"+(i+1)+"</a>&nbsp;"
			}
		if((start+ItemsPerPage)<cntLinks)links+="<a href='?start="+(start+ItemsPerPage)+ qryStr+"'>>></a>"
		}
	return links;
}
function show_calendar(n,domain)
{
w=window.open(domain+"/calendar.aspx?form="+n,"calend","width=200,height=200")
}

function isRusDate(str)
{
if (isEmpty(str)) return false;
	var j=0;
	for (var i=0; i<str.length; i++)
	{
		var ch=str.substring(i,i+1);
		if ((ch<"0" && ch !=".") || (ch > "9" && ch !=".")) return false;
		if (ch=='.') j++;
	}
	
	
	if (j!=2) return false;
	var a=str.split(".")

	if (a[0]<1 || a[0]>31) return false;
	if (a[1]<1 || a[1]>12) return false;
	if (a[2].length != 4) return false;
	
	return true;
}
