<!--
//converts 2 strings to dates and compares them
function dateCompare(dateStr1, dateStr2){
	var d1 = new Date(dateStr1);
	var d2 = new Date(dateStr2);
	return (d1-d2);
}
//0 is textCompare, 1 is binaryCompare
//returns -1 if not found, or 0-based position of found string
function instr(FindInStr, FindStr, cmpType){
	if(cmpType==0){
		return FindInStr.toLowerCase().indexOf(FindStr.toLowerCase())
	}else{
		return FindInStr.indexOf(FindStr)
	}
}
function trim(Str){
    var i=0, j=Str.length;
    while (i<j){if(Str.charAt(0)==' '){Str=Str.substr(1)}i++}
    while (i>0){if(Str.charAt(Str.length-1)==' '){Str=Str.substr(0,Str.length-1)}i--}
    return Str
}

function rgEx(target) {
   for(var i=0;i<target.length;i++){
     if(target.charAt(i)<"0" || target.charAt(i)>"9"){break}
   }
   this.position = i
   if(i!=target.length){this.remainder=target.substr(i+1)}else{this.remainder=""}
   this.delimiter = target.charAt(i)
   this.number = parseInt(target,10)
   this.eol = (i==target.length)
}

function isDate(Str){
	var mn = new rgEx(trim(Str))
	if(mn.delimiter=="/" && mn.position>0 && mn.number>0 && mn.number<13 && mn.eol==false){
		var dy = new rgEx(mn.remainder)
		if(dy.delimiter=="/" && dy.position>0 && dy.number>0 && dy.number<32 && dy.eol==false){
		  var yr = new rgEx(dy.remainder)
		  if(yr.position>0 && yr.eol==true && dy.remainder.length==4){
			if(mn.number==2 && dy.number<29){return true}
			return !((mn.number==4 || mn.number==6 || mn.number==9 ||mn.number==11) && dy.number>30)
		  }
		}
	}
return false;
}
function isInteger(Str){
	var i = new rgEx(trim(Str))
	return i.position==Str.length
}
function isNumeric(Str){
	var n = new rgEx(trim(Str))
	if((n.delimiter=="+" || n.delimiter=="-") && n.eol==false && n.position==0){n = new rgEx(Str.substr(1))}
	if(n.eol==true && n.position>0){return true}
	if(n.delimiter!="."){return false}else{n = new rgEx(n.remainder)}
	return (n.eol==true && n.position>0)
}
function isAlphaNum(Str){
	var a = trim(Str)
	for(var i=0; i<a.length; i++){
		if(a.charAt(i)<'0'){return false}
		if(a.charAt(i)>'z'){return false}
		if(a.charAt(i)<'a' && a.charAt(i)>'Z'){return false}
		if(a.charAt(i)<"A" && a.charAt(i)>"9"){return false}
	}
	return true;
}
function isZipCode(Str){
	var z = new rgEx(trim(Str))
	return (z.eol==true && (z.position==5 || z.position==9))
}
function isURL(Str){
	var j = 0;
	var s = trim(Str.toLowerCase())
	if(s.length==0){return false}
	if(s.substr(0,7)!="http://"&&s.substr(0,8)!="https://"){return false}
	while(s.indexOf("/")>=0){
		s = s.substr(s.indexOf("/")+1)
	}
	return (s.length>2&&s.indexOf(".")>1)
}
function isSSN(Str){
	var s = new rgEx(trim(Str))
	if(s.eol==true && Str.length==9){return true}
	if(s.position!=3 || s.delimiter!="-"){return false}else{s = new rgEx(s.remainder)}
	if(s.position!=2 || s.delimiter!="-"){return false}else{s = new rgEx(s.remainder)}
	return (s.position!=3 && s.eol==true)
}
function isEmail(Str){
	var e = Str.indexOf('@')
	if(e<2){return false}
	var i = Str.indexOf('.', e)
	return (i-e>2 && Str.length-i>2)
}
//formVal rules mirror asp request object
//js ver1.0 compliant
function formVal(f){
	var r = '';
	var a;
	var i = 0;
	if(f.type!=null){if(f.type.indexOf('text')>=0){return f.value}}
	if(f.options!=null){	//select=>return option value
		while(f.options[i]!=null){
			if(f.options[i].selected == true){
				a = f.options[i].value
				if(r > ''){r += ',' + a}else{r = a}
			}
			i++
		}
		return r;
	}
	if(f[0]!=null){	//it's a multiselect
		while(f[i]!=null){
				if(f[i].value=='on' || f[i].value=='off'){
					a = (f.checked+0)
				}else{
					a = (f[i].checked ? f[i].value : '')
				}
				if(a > ''){
					if(r > ''){r += ',' + a}else{r = a}
				}
				i++
		}
		return r;
	}
	if(f.value=='on' || f.value=='off'){		//checkbox/radio w/no value
		return (f.checked+0)	//return 0 or 1
	}else{
		return (f.checked ? f.value : '')	//text or checkbox/radio with value
	}
}
function myReplace(Str, targetStr, repStr){
	var i,j,rStr;
	rStr = Str;
	i = rStr.indexOf(targetStr);
	while(i>=0){
		rStr = rStr.substr(0,i) + repStr + rStr.substr(i+targetStr.length);
		i = rStr.indexOf(targetStr);
	}
	return rStr;
}
function hiLite(f){
	if(document.all){f.style.backgroundColor="#ffc0c0"}else{if(document.layers){f.backgroundColor="#ffc0c0"}}
}
//image swap
function imgSRC(imgObjName, imgName){
    if (document.layers || document.all)
	    eval('document.' + imgObjName + '.src="' + imgName + '"');
}
//-->

