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")
}

//*******CREDIT CARD VALIDATION*********************************************************
function isValidCCNumber(n,t){
	/*
	0 - Ok;
	1 - number is invalid;
	2 - card number does not belong to any of accepted ccCards.
	3 - cc type specified does not corresponds to cc rules.
	4 - the specified length is invalid.
	Array cards ([CC type, prefix, length],....)
	*/
	var cards = new Array(["MasterCard","51,52,53,54,55","16"],["Visa","4","13,16"],["American Express","34,37","15"],["Diners","30,36,38","14"],["Discover","6011","16"],["enRouteCard","2014,2149","15"],["JCBCard","3088,3096,3112,3158,3337,3528","16"]);
	//*** check if number is valid:
	var sum = 0;
	var typeSpec = '';
	for (var count=n.length-1;count>=0;count--){
		var digit = parseInt(n.charAt(count));
		if (!(count & 1)) {
			digit *= 2;
			if (digit > 9)	digit -= 9;
		}
		sum += digit;
	}
	if (sum % 10 != 0)	//return "Credit card number is invalid"; //1
	//*** check the cc type for the specified ccnumber (prefixes):
	var arrLen;
	var okLen=false;
	for(var i=0;i<cards.length;i++){
		var arrRules = cards[i][1].split(",");
		for(var x=0;x<arrRules.length;x++){
			var prefix = n.substring(0, arrRules[x].toString().length);
			if(prefix==cards[i][1])
				typeSpec=cards[i][0];
				//*** check the length:
				arrLen=cards[i][2].split(",");
				break;
		}
	}
	if(typeSpec.length<=0) //return "Please check credit card number";	//2
	//*** check if cc type specified corresponds the rules:
	if(typeSpec!=t) //return "Credit card number does not correspond to " + t;	//3
	//*** if length corresponds the rules:
	for(i=0;i<arrLen.length;i++){
		if(n.length==arrLen[i]){
			okLen = true;
			break;
		}
	}
	if(!okLen) //return "Please check your credit card number";				//4
	return "OK";
}
function is_Email(s){
	if(brObj.isIE4){
		return(isEmail(s));
	}
	else{
		var regEmail = new RegExp(/\w[\!-\~]*\@[\!-\~]+\w\.\w{2,4}$/);
		return regEmail.test(s)
	}
}

//email writing section
function print_email(a,d)
{
	document.write(a + "@");
	document.write(d);
}

function print_mail_to(a,d,t)
{
document.write("<a href=\"mailto");
document.write(":" + a + "@");
document.write(d + "\">" + t + "<\/a>"); 
}
function print_mail_to_wotitle(a,d)
{
document.write("<a href=\"mailto");
document.write(":" + a + "@");
document.write(d + "\">" + a + "@" +d + "<\/a>"); 
}