var jsonrpc = null;

function initJSON() {
    try {
        if (jsonrpc == null) {
            jsonrpc = new JSONRpcClient(jsonurl);
        }
    } catch(e) {
        alert(e);
    }
}


function findAnchorPosition(img) {
    var offsetParent = img.offsetParent;
    var top = img.offsetTop;
    var left = img.offsetLeft;
    try {
        for (; ;) {
            top = top + offsetParent.offsetTop;
            left = left + offsetParent.offsetLeft;
            offsetParent = offsetParent.offsetParent;
        }
    } catch(e) {
    }

    return new Array(top, left);
}

function isZip(s)
{

     // Check for correct zip code
     reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);

     return reZip.test(s);
}


function formatPhone(m) {
    var re = /\D/;
    // test for this format: (xxx)xxx-xxxx
    var re2 = /^\({1}\d{3}\)\ \d{3}-\d{4}/;
    // test for this format: xxx-xxx-xxxx
    //var re2 = /^\d{3}-\d{3}-\d{4}/;

    //    var num = eval(nums[i] + '.value');
    var num = m.value;

    var newNum;
    if (num != "" && !re2.test(num)) {
        if (num != "") {
            while (re.test(num)) {
                num = num.replace(re, "");
            }
        }

        if (num.length != 10) {
            alert('Please enter a 10 digit phone number');
            eval(m).select();
            //            m.focus();
        }
        else {
            // for format (xxx)xxx-xxxx
            newNum = '(' + num.substring(0, 3) + ')' + ' ' + num.substring(3, 6) + '-' + num.substring(6, 10);
            // for format xxx-xxx-xxxx
            // newNum = num.substring(0,3) + '-' + num.substring(3,6) + '-' + num.substring(6,10);
            m.value = newNum;
        }
    }
}

//this function currently only checks format, but not the actual value,
//we should upgrade it some time
function fixDate(date) {
    var d = date.value;
    while (d.indexOf('-') >= 0) {
        d = d.replace('-', '/');
    }

    var dateIndex = d.indexOf('/') + 1;
    var yearIndex = d.lastIndexOf('/') + 1;

    if ((dateIndex - 1 != yearIndex - 1) && (d.substring(dateIndex).indexOf('/') + dateIndex == yearIndex - 1)) {
        var month = d.substring(0, dateIndex - 1);
        var day = d.substring(dateIndex, yearIndex - 1);
        var year = d.substring(yearIndex);

        if (month.length == 1) {
            month = '0' + month;
        }
        if (day.length == 1) {
            day = '0' + day;
        }
        if (year.length == 2) {
            if (year * 1 < 20) {
                year = '20' + year;
            } else {
                year = '19' + year;
            }
        }
        else if (year.length != 4)
        {
            alert('Invalid Start Date.  Please use MM/DD/YYYY format.');
        }
        date.value = month + '/' + day + '/' + year;
    }
    else if (date.value.length > 0)
    {
        alert('Invalid Start Date.  Please use MM/DD/YYYY format.');
    }
}
//var openerImage = new Image();
//openerImage.src = "http://wai.redskins.com/images/SubHeadArrowDown.gif";
//var closedB = new Image();
//closedB.src = "http://wai.redskins.com/images/SubheadArrow.gif";

//JAVASCRIPT DOES NOT HAVE BUILT IN STRING TRIM, SO WE MAKE OUR OWN!
function trimStr(str) {
    return str.replace(/^\s+|\s+$/g, '');
}

<!-- Script by hscripts.com -->
function alphanumeric(alphane)
{
    var numaric = alphane;
    for (var j = 0; j < numaric.length; j++)
    {
        var alphaa = numaric.charAt(j);
        var hh = alphaa.charCodeAt(0);
        if ((hh > 47 && hh < 59) || (hh > 64 && hh < 91) || (hh > 96 && hh < 123))
        {
        }
        else {
            return false;
        }
    }
    return true;
}
function IsNumeric(sText)

{
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber; i++)
    {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsNumber = false;
        }
    }
    return IsNumber;

}

function printExport() {
    window.print();
}