function x08226313404(){var browser="None";if(navigator.appName.indexOf("Netscape")>=0&&parseFloat(navigator.appVersion)>=4){browser="NS4";version=4;}if(document.getElementById){browser="NS6";if(navigator.userAgent.indexOf("6.01")!=-1||navigator.userAgent.indexOf("6.0")!=-1){version=6;}else{version=6.1;}}if(document.all){if(document.getElementById){version=5;}else{version=4;}browser="IE";}if(navigator.userAgent.indexOf("Opera")!=-1){browser="Opera";}return browser;};function x065309(){var os=navigator.userAgent;if(os.indexOf("Mac")!=-1){os="Mac";}else{os="Win";}return os;};function x0584468753(evt){if(browser=="NS4"){return(evt.pageX);}if(browser=="IE"){return(event.x+document.body.scrollLeft);}if(browser=="NS6"){return(evt.pageX);}if(browser=="Opera"){return(event.clientX);}};function x1324826050(evt){if(browser=="NS4"){return(evt.pageY);}if(browser=="IE"){return(event.y+document.body.scrollTop);}if(browser=="NS6"){return(evt.pageY);}if(browser=="Opera"){return(event.clientY);}};function x1155295267(layerName,parentName){if(browser=="NS4"){if(arguments.length==2){return(document.layers[parentName].document.layers[layerName]!=undefined);}else{return(document.layers[layerName]!=undefined);}}if(browser=="IE"){return(document.all[layerName]!=null);}if(browser=="NS6"||browser=="Opera"){return(document.getElementById(layerName)!=null);}};function x1096653463(element){if(browser=="NS4"){if(document.layers[element]!=undefined){if(document.layers[element].visibility=="show"){return true;}else{return false;}}}if(browser=="IE"){if(document.all[element]!=null){if(document.all[element].style.visibility=="visible"){return true;}else{return false;}}}if(browser=="NS6"||browser=="Opera"){if(document.getElementById(element)!=null){if(document.getElementById(element).style.visibility=="visible"){return true;}else{return false;}}}};function x2826022670(element,show){if(browser=="NS4"){if(document.layers[element]!=undefined){if(show){document.layers[element].visibility="show";}else{document.layers[element].visibility="hide";}}}if(browser=="IE"){if(document.all[element]!=null){if(show){document.all[element].style.visibility="visible";}else{document.all[element].style.visibility="hidden";}}}if(browser=="NS6"||browser=="Opera"){if(document.getElementById(element)!=null){if(show){document.getElementById(element).style.visibility="visible";}else{document.getElementById(element).style.visibility="hidden";}}}};function x2657480876(element,bgColor,parent){if(browser=="NS4"){if(arguments.length>=3){if(bgColor=="transparent"){document.layers[parent].document.layers[element].bgColor=null;}else{document.layers[parent].document.layers[element].bgColor=bgColor;}}else{if(bgColor=="transparent"){document.layers[element].bgColor=null;}else{document.layers[element].bgColor=bgColor;}}}if(browser=="IE"){document.all[element].style.backgroundColor=bgColor;}if(browser=="NS6"){document.getElementById(element).style.backgroundColor=bgColor;}if(browser=="Opera"){document.getElementById(element).style.background=bgColor;}};function x2498849083(element,fgColor,parent){if(x1155295267(element)){if(browser=="IE"){document.all[element].style.color=fgColor;}if(browser=="NS6"||browser=="Opera"){document.getElementById(element).style.color=fgColor;}}};function x3329217(element,left,parent){if(browser=="NS4"){if(arguments.length>=3){document.layers[parent].document.layers[element].left=left;}else{document.layers[element].left=left;}}if(browser=="IE"){document.all[element].style.left=left;}if(browser=="NS6"||browser=="Opera"){document.getElementById(element).style.left=left;}};function x3169675(element,parent){if(browser=="NS4"){if(arguments.length>=2){return(document.layers[parent].document.layers[element].left);}else{return(document.layers[element].left);}}if(browser=="IE"){return(document.all[element].offsetLeft);}if(browser=="NS6"){var tmp=document.getElementById(element).style.left;tmp=parseInt(tmp.substring(0,tmp.length-2));return tmp;}if(browser=="Opera"){return(document.getElementById(element).style.pixelLeft);}};function x3990044603(element,parent){if(browser=="NS4"){if(arguments.length>=2){return(document.layers[parent].document.layers[element].pageX);}else{return(document.layers[element].pageX);}}if(browser=="IE"){return(document.all[element].offsetLeft);}if(browser=="NS6"){return(document.getElementById(element).offsetLeft);}if(browser=="Opera"){return(document.getElementById(element).style.pixelLeft);}};function x483140(element,top,parent){if(browser=="NS4"){if(arguments.length>=3){document.layers[parent].document.layers[element].top=top;}else{document.layers[element].top=top;}}if(browser=="IE"){document.all[element].style.top=top;}if(browser=="NS6"||browser=="Opera"){document.getElementById(element).style.top=top;}};function x466187111(element,parent){if(browser=="NS4"){if(arguments.length>=2){return(document.layers[parent].document.layers[element].pageY);}else{return(document.layers[element].pageY);}}if(browser=="IE"){return(document.all[element].offsetTop);}if(browser=="NS6"){return(document.getElementById(element).offsetTop);}if(browser=="Opera"){return(document.getElementById(element).style.pixelTop);}};function x449223(element,parent){if(browser=="NS4"){if(arguments.length>=2){return(document.layers[parent].document.layers[element].top);}else{return(document.layers[element].top);}}if(browser=="IE"){return(document.all[element].offsetTop);}if(browser=="NS6"){var tmp=document.getElementById(element).style.top;tmp=parseInt(tmp.substring(0,tmp.length-2));return tmp;}if(browser=="Opera"){return(document.getElementById(element).style.pixelTop);}};function x533360852(element,height,parent){if(browser=="NS4"){if(arguments.length>=3){document.layers[parent].document.layers[element].clip.height=height;}else{document.layers[element].clip.height=height;}}if(browser=="IE"){document.all[element].style.height=height;}if(browser=="NS6"||browser=="Opera"){document.getElementById(element).style.height=height;}};function x516306672(element,parent){if(browser=="NS4"){if(arguments.length>=2){return(document.layers[parent].document.layers[element].clip.height);}else{return(document.layers[element].clip.height);}}if(browser=="IE"){return(document.all[element].offsetHeight);}if(browser=="NS6"){return(document.getElementById(element).offsetHeight);}if(browser=="Opera"){return(document.getElementById(element).style.pixelHeight);}};function x59044349(element,width,parent){if(browser=="NS4"){if(arguments.length>=3){document.layers[parent].document.layers[element].clip.width=width;}else{document.layers[element].clip.width=width;}}if(browser=="IE"){document.all[element].style.width=width;}if(browser=="NS6"||browser=="Opera"){document.getElementById(element).style.width=width;}};function x57358931(element,parent){if(browser=="NS4"){if(arguments.length>=2){return(document.layers[parent].document.layers[element].clip.width);}else{return(document.layers[element].clip.width);}}if(browser=="IE"){return(document.all[element].offsetWidth);}if(browser=="NS6"){return(document.getElementById(element).offsetWidth);}if(browser=="Opera"){return(document.getElementById(element).style.pixelWidth);}};function x6666261(){};function x640662054239249(str){};function x62(){};function x71784570651178462(ar){};
// Check that the number of characters in a string is between a max and a min
function isValidLength(string, min, max) {
        if (string.length < min || string.length > max) return false;
        else return true;
}

// Check that an email address is valid based on RFC 821 (?)
function isValidEmail(address) {
        if (address.indexOf('@') < 3) return false;
        var name = address.substring(0, address.indexOf('@'));
        var domain = address.substring(address.indexOf('@') + 1);
        if (name.indexOf('(') != -1 || name.indexOf(')') != -1 || name.indexOf('<') != -1 || name.indexOf('>') != -1 || name.indexOf(',') != -1 || name.indexOf(';') != -1 || name.indexOf(':') != -1 || name.indexOf('\\') != -1 || name.indexOf('"') != -1 || name.indexOf('[') != -1 || name.indexOf(']') != -1 || name.indexOf(' ') != -1) return false;
        if (domain.indexOf('(') != -1 || domain.indexOf(')') != -1 || domain.indexOf('<') != -1 || domain.indexOf('>') != -1 || domain.indexOf(',') != -1 || domain.indexOf(';') != -1 || domain.indexOf(':') != -1 || domain.indexOf('\\') != -1 || domain.indexOf('"') != -1 || domain.indexOf('[') != -1 || domain.indexOf(']') != -1 || domain.indexOf(' ') != -1) return false;
        return true;
}


// Check that a US zip code is valid
function isValidZipcode(zipcode) {
        zipcode = removeSpaces(zipcode);
        if (!(zipcode.length == 5) || !isNumeric(zipcode)) return false;
        return true;
}


// Check that a Canadian postal code is valid
function isValidPostalcode(postalcode) {
        if (postalcode.search) {
                postalcode = removeSpaces(postalcode);
                if (postalcode.length == 6 && postalcode.search(/^\w\d\w\d\w\d$/) != -1) return true;
                else if (postalcode.length == 7 && postalcode.search(/^\w\d\w\-d\w\d$/) != -1) return true;
                else return false;
        }
        return true;
}

// Check that a string contains only letters and numbers
function isAlphanumeric(string, ignoreWhiteSpace) {
        if (string.search) {
                if ((ignoreWhiteSpace && string.search(/[^\w\s]/) != -1) || (!ignoreWhiteSpace && string.search(/\W/) != -1)) return false;
        }
        return true;
}

// Check that a string contains only letters
function isAlphabetic(string, ignoreWhiteSpace) {
        if (string.search) {
                if ((ignoreWhiteSpace && string.search(/[^a-zA-Z\s]/) != -1) || (!ignoreWhiteSpace && string.search(/[^a-zA-Z]/) != -1)) return false;
        }
        return true;
}

// Check that a string contains only numbers
function isNumeric(string, ignoreWhiteSpace) {
        if (string.search) {
                if ((ignoreWhiteSpace && string.search(/[^\d\s]/) != -1) || (!ignoreWhiteSpace && string.search(/\D/) != -1)) return false;
        }
        return true;
}

// Remove characters that might cause security problems from a string
function removeBadCharacters(string) {
        if (string.replace) {
                string.replace(/[<>\"\'%;\)\(&\+]/, '');
        }
        return string;
}

// Remove all spaces from a string
function removeSpaces(string) {
        var newString = '';
        for (var i = 0; i < string.length; i++) {
                if (string.charAt(i) != ' ') newString += string.charAt(i);
        }
        return newString;
}

// Remove leading and trailing whitespace from a string
function trimWhitespace(string) {
        var newString  = '';
        var substring  = '';
        beginningFound = false;

        // copy characters over to a new string
        // retain whitespace characters if they are between other characters
        for (var i = 0; i < string.length; i++) {

                // copy non-whitespace characters
                if (string.charAt(i) != ' ' && string.charCodeAt(i) != 9) {

                        // if the temporary string contains some whitespace characters, copy them first
                        if (substring != '') {
                                newString += substring;
                                substring = '';
                        }
                        newString += string.charAt(i);
                        if (beginningFound == false) beginningFound = true;
                }

                // hold whitespace characters in a temporary string if they follow a non-whitespace character
                else if (beginningFound == true) substring += string.charAt(i);
        }
        return newString;
}

// Returns a checksum digit for a number using mod 10
function getMod10(number) {

        // convert number to a string and check that it contains only digits
        // return -1 for illegal input
        number = '' + number;
        number = removeSpaces(number);
        if (!isNumeric(number)) return -1;

        // calculate checksum using mod10
        var checksum = 0;
        for (var i = number.length - 1; i >= 0; i--) {
                var isOdd = ((number.length - i) % 2 != 0) ? true : false;
                digit = number.charAt(i);

                if (isOdd) checksum += parseInt(digit);
                else {
                        var evenDigit = parseInt(digit) * 2;
                        if (evenDigit >= 10) checksum += 1 + (evenDigit - 10);
                        else checksum += evenDigit;
                }
        }
        return (checksum % 10);
}