//NEW INPUT VALIDATION 6-1-01 
function validateFields(){
	document.mainform.PARM1.value = trim(document.mainform.PARM1.value);
	if (document.mainform.PARM1.value==0){
		alert("Please input a valid User ID or Social Security Number.");
		document.mainform.PARM1.focus();
		return false;}
	if (document.mainform.PARM1.value.length<6 || document.mainform.PARM1.value.length>15 ){
		alert("User ID must be between 6 and 15 characters.");
		document.mainform.PARM1.focus();
		return false;}
	if (document.mainform.PARM2.value.length<5 || document.mainform.PARM2.value.length>24){
		alert("Your PIN/Password must be between 5 and 24 characters.");
		document.mainform.PARM2.focus();
		return false;}
	if (!IsValidChars(document.mainform.PARM1.value)){
		alert("User ID can only contain letters, numbers, and spaces.");
		document.mainform.PARM1.focus();
		return false;}
	return true;
}

function IsValidChars(sText){
   var ValidChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ,";
   var IsValid=true;
   var Char;
   sText = sText.toUpperCase();
   for (i = 0; i < sText.length && IsValid == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsValid = false;
      }
   }
   return IsValid;
}


function get_browser_info(name, version)
{
//    alert("name = " + name + "\nversion = " + version);
    var result = new Array();
    // look for "sub"-versions
    var msie_ver = find_subversion(version, "MSIE", " ");
    var opera_ver = find_subversion(version, "Opera", " ");
    result["aol_version"] = find_subversion(version, "AOL", " ");
    // note funny separator for WebTV
    var webtv_ver = find_subversion(version, "WebTV", "/");
    if (isNaN(webtv_ver) || (webtv_ver < 0)) {
        // in case they normalize their format
        webtv_ver = find_subversion(version, "WebTV", " ");
        if (isNaN(webtv_ver) || (webtv_ver < 0)) {
            webtv_ver = find_subversion(version, "WebTV", ";");
        }
    }
    result["webtv_version"] = webtv_ver;

    // get default browser version
    if ((version.charAt(0) == "A") ||
        (version.charAt(0) == "a") ||
        (version.charAt(0) == "B") ||
        (version.charAt(0) == "b") ||
        (version.charAt(0) == "V") ||
        (version.charAt(0) == "v")
       ) {
       // skip common leading characters
       version = version.substring(1, version.length);
    }
    result["version"] = parseFloat(version);

    // get default browser name
    result["name"] = name;

    // override browser_version and/or browser_name for special cases
    if (msie_ver > 0) {
        result["name"] = "Microsoft Internet Explorer";
        result["version"] = msie_ver;
        result["msie_version"] = msie_ver;
    }
    else if (opera_ver > 0) {
        result["name"] = "Opera";
        result["version"] = opera_ver;
        result["opera_version"] = opera_ver;
    }
    else if (webtv_ver > 0) {
        result["version"] = webtv_ver;
    }
    return result;
}

function find_subversion(version, marker, separator)
{
    var pos = version.indexOf(marker);
    if (pos < 0) {
        // marker not found
//        alert('find_subversion:  marker [' + marker + '] not found');
        return 0;
    }
    else {
        // marker found
//        alert('find_subversion:  marker [' + marker + '] FOUND');
        var temp_ver = version.substring(pos, version.length);
//        alert('find_subversion: temp_ver = ' + temp_ver);
        var ver_start_pos = temp_ver.indexOf(separator);
        if (ver_start_pos < 0) {
            // something bogus?
//            alert('find_subversion:  negative result [' + ver_start_pos + '] on searching for separator [' + separator + ']');
            return -1;
        }
        else {
//            alert('find_subversion:  found separator [' + separator + '] at ' + ver_start_pos);
            var temp_ver_substring = temp_ver.substring(ver_start_pos+1, temp_ver.length);
//            alert('find_subversion: temp_ver_substring = ' + temp_ver_substring);
            var sv;
            if (marker == 'WebTV') {
                // parseFloat doesn't work well in WebTV...
                sv = parseInt(temp_ver_substring);
            }
            else {
                sv = parseFloat(temp_ver_substring);
            }
//            alert('find_subversion: sv = ' + sv);
            // Note: will drop "beta", "Bn", etc.
            return sv;
        }
    }
}

function write_browser_info(browser_info)
{
    document.write(browser_info["name"] + " " + browser_info["version"]);
    if (browser_info["aol_version"] > 0) {
        document.write(" [embedded in AOL " +
                       browser_info["aol_version"] + "]");
    }
    if (browser_info["webtv_version"] > 0) {
        document.write(" [embedded in WebTV " +
                       browser_info["webtv_version"] + "]");
    }
}

browser_info = get_browser_info(navigator.appName, navigator.appVersion);
browser_name = browser_info["name"];
browser_version = browser_info["version"];
// alert('Browser Version: ' + browser_version);

bad_browser = "";

// Figure out the kind of browser
if (browser_name == "Netscape") { 
    if (browser_version < 4.06) {
        bad_browser = "ns";
    }
}
else if (browser_name == "Microsoft Internet Explorer") {
    if (navigator.appVersion.indexOf("Mac") > -1) {
        // We're in IE on a Mac
        if (browser_version <= 4.5) {
            bad_browser = "ie_mac";
        }
    }
}
// ADDED CHECKING FOR OPERA BROWSERS - GDN  04-10-2002
else if (browser_name == "Opera") { 
    if (browser_version < 5.01) {
        bad_browser = "generic";
    }
}
else {
    bad_browser = "generic";
}

function phone_letters(in_str) {
    var out_str = in_str;
    var translationOK = true;

    if (browser_name == "Microsoft Internet Explorer") {
        translationOK = false;
        if (browser_version >= 4.01) {
		translationOK = true;
	}
    }

    if (translationOK == true) {
	in_str=in_str.toUpperCase();
	out_str="";
	for(num=0;num<in_str.length;num++) {
	    data=in_str.charAt(num);
            if (data=='0' || data=='1' || data=='2' ||
                data=='3' || data=='4' || data=='5' ||
                data=='6' || data=='7' || data=='8' || data=='9')
		out_str+=data;
            if (data=='A' || data=='B' || data=='C') out_str+="2";
            if (data=='D' || data=='E' || data=='F') out_str+="3";
            if (data=='G' || data=='H' || data=='I') out_str+="4";
            if (data=='J' || data=='K' || data=='L') out_str+="5";
            if (data=='M' || data=='N' || data=='O') out_str+="6";
            if (data=='P' || data=='Q' || data=='R' || data=='S') out_str+="7";
            if (data=='T' || data=='U' || data=='V') out_str+="8";
            if (data=='W' || data=='X' || data=='Y' || data=='Z') out_str+="9";
	}
    }
    return out_str;
}

function trim(str){
while (str.charAt(0) == " "){
   // remove leading spaces
   str = str.substring(1);
}
while (str.charAt(str.length - 1) == " "){
   // remove trailing spaces
   str = str.substring(0,str.length - 1);
}
return str;
}
