var DL1 = (document.implementation && document.implementation.hasFeature && document.implementation.hasFeature("html","1.0")) ? true : false;
var IE4 = ((navigator.appName.indexOf("Microsoft") != -1) && document.all) ? true : false;
var NS4 = ((navigator.appName.indexOf("Netscape") != -1) && document.layers) ? true : false;

var isMac = (navigator.userAgent.indexOf("Mac") != -1) ? true : false;
var isWin = (navigator.userAgent.indexOf("Win") != -1) ? true : false;

var isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
var isNS = (navigator.appName.indexOf("Netscape") != -1) ? true : false;

var undefined;

function getWindowHeight() {
    if (isNS) {
        return self.innerHeight;
    } else if (isIE) {
        return document.body.clientHeight;
    }
}
function getWindowWidth() {
    if (isNS) {
        return self.innerWidth;
    } else if (isIE) {
        return document.body.clientWidth;
    }
}
function enableReloadResize() {
    window.onresize = function() {
        window.location.reload();
    }
}
function disableReloadResize() {
    window.onresize = function() {
        void 0;
    }
}
function outputStyle(ID, X, Y, W, H, Z, VISIBLE, EXTRA, DEBUG) {
    var isVisible = (VISIBLE) ? "visible" : "hidden";
    var xtraCSS = (EXTRA) ? EXTRA : "";
    var HTML = '<style type="text/css">\n#' + ID + ' { position: absolute; left: ' + X + 'px; top: ' + Y + 'px; width: ' + W + 'px; height: ' + H + 'px; z-index: ' + Z + '; visibility: ' + isVisible + ';' + xtraCSS + '}\n</style>';
    if (DEBUG) {
        alert(HTML);
    }
    document.write(HTML);
}
function request(NAME,WINDOW) {
    var tempStr = (WINDOW) ? WINDOW.location.href : window.location.href;
    tempStr = tempStr.substr(tempStr.indexOf("?") + 1);
    var value = "";
    var pairs = tempStr.split("&");
    for (var i in pairs) {
        pairs[i] = pairs[i].toString().split("=");
        if (pairs[i][0] == NAME) {
            value = unescape(pairs[i][1]);
        }
    }
    return value;
}
function getElement(sNAME) {
    if (DL1) {
        return document.getElementById(sNAME);
    } else if (IE4) {
        return document.all[sNAME];
    } else if (NS4) {
        return document.layers[sNAME];
    }
}
function center(VALUE1,VALUE2) {
    return (VALUE1 - VALUE2) / 2;
}
function disableScroll(WINDOW){
    WINDOW.document.body.style.overflow = 'hidden';
}
function hideScroll(WINDOW){
    WINDOW.document.body.style.overflow = 'auto';
}
function showScroll(WINDOW){
    WINDOW.document.body.style.overflow = '';
}
function getMonthName(NUM, sLANG) {
    var lang = (sLANG) ? sLANG : "en";
    var langArray=array();
    if (lang == "fr") {
        langArray = new Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "ao?t", "septembre", "octobre", "novembre", "décembre");
    } else {
        langArray = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    }
    return langArray[NUM];
}
function getDayName(NUM, sLANG) {
    var lang = (sLANG) ? sLANG : "en";
    var langArray=array();
    if (lang == "fr") {
        langArray = new Array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
    } else {
        langArray = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
    }
    return langArray[NUM];
}
function getFullDate(aDATE, sLANG) {
    if (sLANG == "fr") {
        return getDayName(aDATE.getDay(), sLANG) + " "  + aDATE.getDate() + " " + getMonthName(aDATE.getMonth(), sLANG) + " " + aDATE.getFullYear();
    } else {
        return getDayName(aDATE.getDay(), sLANG) + " " + getMonthName(aDATE.getMonth(), sLANG) + " " + aDATE.getDate() + ", " + aDATE.getFullYear();
    }
}
function getDateNoDay(aDATE, sLANG) {
    if (sLANG == "fr") {
        return aDATE.getDate() + " " + getMonthName(aDATE.getMonth(), sLANG) + " " + aDATE.getFullYear();
    } else {
        return getMonthName(aDATE.getMonth(), sLANG) + " " + aDATE.getDate() + ", " + aDATE.getFullYear();
    }
}
function getTime12(aDATE) {
    var hour = ((hour = aDATE.getHours()) > 12) ? hour - 12 : (hour == 0) ? 12 : hour;
    var minute = ((minute = aDATE.getMinutes()) < 10) ? "0" + minute : minute;
    var thing = (aDATE.getHours() >= 12) ? "PM" : "AM";
    return hour + ":" + minute + " " + thing;
}

function randomNumber(r1, r2) {
    if (r2 > r1) return (Math.round(Math.random()*(r2-r1))+r1);
    else return (Math.round(Math.random()*(r1-r2))+r2);
}

function fillDates(sNAME) {
    var e = document.forms[0].elements;
    var theMonthSel = Number(e[sNAME + "_m"].options[e[sNAME + "_m"].selectedIndex].value);
    var theDateSel = Number(e[sNAME + "_d"].options[e[sNAME + "_d"].selectedIndex].value);
    var theYearSel = Number(e[sNAME + "_y"].options[e[sNAME + "_y"].selectedIndex].value);
    var theDate = new Date(theYearSel, theMonthSel, 1);
    var options = e[sNAME + "_d"].options;
    options.length = 0;
    while (theDate.getMonth() == theMonthSel) {
        var theVal = theDate.getDate();
        options[options.length] = new Option(theVal, theVal, false, (theVal == theDateSel));
        theDate.setDate(theDate.getDate() + 1);
    }
}
