<!--
// @(#) $Id: functions.js,v 1.7 2003/01/05 04:15:05 jpm Exp $
function str_replace(s, srch, rplc) {
  var tmp = s;
  var tmp_before = new String();
  var tmp_after = new String();
  var tmp_output = new String();
  var int_before = 0;
  var int_after = 0;

  while (tmp.toUpperCase().indexOf(srch.toUpperCase()) > -1) {   
    int_before = tmp.toUpperCase().indexOf(srch.toUpperCase());
    tmp_before = tmp.substring(0, int_before);
    tmp_output = tmp_output + tmp_before;
    tmp_output = tmp_output + rplc;
    int_after = tmp.length - srch.length + 1;
    tmp = tmp.substring(int_before + srch.length);
  }

  return tmp_output + tmp;
}

function getForm(form_name)
{
    for (var i = 0; i < document.forms.length; i++) {
        if (document.forms[i].name == form_name) {
            return document.forms[i];
        }
    }
}

function getSelectedOption(f, field_name)
{
    for (var i = 0; i < f.elements.length; i++) {
        if (f.elements[i].name == field_name) {
            return f.elements[i].options[f.elements[i].selectedIndex].value;
        }
    }
}

function getFormElement(f, field_name, num)
{
    var y = 0;
    for (var i = 0; i < f.elements.length; i++) {
        if (num != null) {
            if (f.elements[i].name == field_name) {
                if (y == num) {
                    return f.elements[i];
                }
                y++;
            }
        } else {
            if (f.elements[i].name == field_name) {
                return f.elements[i];
            }
        }
    }
    return false;
}

function isWhitespace(s)
{
    var whitespace = " \t\n\r";

    if (s.length == 0) {
        // empty field!
        return true;
    } else {
        // check for whitespace now!
        for (var z = 0; z < s.length; z++) {
            // Check that current character isn't whitespace.
            var c = s.charAt(z);
            if (whitespace.indexOf(c) == -1) return false;
        }
        return true;
    }
}

function isEmail(s)
{
    // email text field.
    var sLength = s.length;
    var denied_chars = new Array(" ", "\n", "\t", "\r", "%", "$", "#", "!", "~", "`", "^", "&", "*", "(", ")", "=", "+", "{", "}", "[", "]", ",", ";", ":", "'", "\"", "?", "<", ">", "/", "\\", "|");

    // look for @
    if (s.indexOf("@") == -1) return false;

    // look for more than one @ sign
    if (s.indexOf("@") != s.lastIndexOf("@")) return false;

    // look for any special character
    for (var z = 0; z < denied_chars.length; z++) {
        if (s.indexOf(denied_chars[z]) != -1) return false;
    }

    // look for .
    if (s.indexOf(".") == -1) return false;

    // no two dots alongside each other
    if (s.indexOf("..") != -1) return false;

    // the last character cannot be a .
    if ((s.charAt(sLength-1) == ".") || (s.charAt(sLength-1) == "_")) return false;

    return true;
}

function hasDeniedChars(s)
{
    var denied_chars = new Array(" ", "\n", "\t", "\r", "%", "$", "#", "!", "~", "`", "^", "&", "*", "(", ")", "=", "+", "{", "}", "[", "]", ",", ";", ":", "'", "\"", "?", "<", ">", "/", "\\", "|");

    for (var z = 0; z < denied_chars.length; z++) {
        if (s.indexOf(denied_chars[z]) != -1) return true;
        // checking for any non-ascii character
        if (s.charCodeAt(z) > 128) return true;
    }

    return false;
}

function isNumberOnly(s)
{
    var check = parseFloat(s).toString();
    if ((s.length == check.length) && (check != "NaN")) {
        return true;
    } else {
        return false;
    }
}

function isValidPassword(s)
{
    // at least 12 characters on the password
    if (s.length < 12) {
        return false;
    }
    // see if there is at least four lowercase chars and four uppercase chars
    lower = 0;
    upper = 0;
    for (var z = 0; z < s.length; z++) {
        letter = s.charAt(z);
        if (letter == letter.toLowerCase()) {
            lower++;
        }
        if (letter == letter.toUpperCase()) {
            upper++;
        }
    }
    if ((lower < 4) || (upper < 4)) {
        return false;
    }
    // see if there is at least four numbers
    number = 0;
    for (var z = 0; z < s.length; z++) {
        if (parseFloat(s.charAt(z)).toString != "NaN") {
            number++;
        }
    }
    if (number < 4) {
        return false;
    }
    return true;
}

function openHelp(topic)
{
    var windowName = "_helpWindow";
    var windowFeatures = "width=420,height=350,top=30,left=30,resizable=no,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no";
    windowComment = window.open("/help.php?topic=" + topic, windowName, windowFeatures);
    windowComment.focus();
}


//-->
