﻿// JScript File

function hideShow(event, divID, optWidth) {
    if (!event) event = window.event;
    var obj = document.getElementById(divID);
    if (obj.style.visibility == 'hidden') {
        obj.style.width = optWidth;
        var x = event.clientX;
        var y = event.clientY;
        var rightedge = iecompattest().clientWidth - (x + 20);
        if (rightedge < optWidth) {
            //move the horizontal position of the menu to the left by it's width
            obj.style.left = iecompattest().scrollLeft + x - optWidth - 10 + "px";
        } else {
            //position the horizontal position of the menu where the mouse was clicked
            obj.style.left = iecompattest().scrollLeft + x + 10 + "px";
        }
        obj.style.visibility = 'visible';
    } else {
        obj.style.visibility = 'hidden';
    }
}

function iecompattest() {
    return (document.compatMode && document.compatMode.indexOf("CSS") != -1) ? document.documentElement : document.body;
}

/* check valid date on client
function checkDateFrom() {
    var fromDate = document.getElementById('searchFrom').value;
    var lDateError = document.getElementById('lDateError');
    if (fromDate != "") {
        var dateFormat = document.getElementById('hfFormat').value;
        if (!parseDate(fromDate, dateFormat)) {
            lDateError.innerHTML = 'Invalid Date';
        }
        else {
            var currentDate = new Date();
            currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), 0, 0, 0);
            var passDate = addMonth(currentDate, -12);
            passDate = new Date(passDate.getFullYear(), passDate.getMonth(), passDate.getDate(), 0, 0, 0);
            var selectedDate = parseDate(fromDate, dateFormat);
            selectedDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), selectedDate.getDate(), 0, 0, 0);

            if (selectedDate < passDate || selectedDate > currentDate) {
                lDateError.innerHTML = 'This tool only displays past 12 months news';
            }
        }
    }
}

function checkDateEnd() {
    var endDate = document.getElementById('searchTo').value;
    var lDateError = document.getElementById('lDateError');
    if (endDate != "") {
        var dateFormat = document.getElementById('hfFormat').value;
        if (!parseDate(endDate, dateFormat)) {
            lDateError.innerHTML = 'Invalid Date';
        }
    }
}

function parseDate(str, fmt) {
    var dateReturn;
    var y = 0;
    var m = -1;
    var d = 0;
    var a = str.split(/\W+/);
    var b = fmt.match(/%./g);
    var i = 0, j = 0;
    var hr = 0;
    var min = 0;
    for (i = 0; i < a.length; ++i) {
        if (!a[i])
            continue;
        switch (b[i]) {
            case "%d":
            case "%e":
                d = parseInt(a[i], 10);
                if (d > 31 || d <= 0) return undefined;
                break;

            case "%m":
                m = parseInt(a[i], 10) - 1;
                if (m > 12 || m <= 0) return undefined;
                break;

            case "%Y":
            case "%y":
                y = parseInt(a[i], 10);
                (y < 100) && (y += (y > 29) ? 1900 : 2000);
                break;

            case "%H":
            case "%I":
            case "%k":
            case "%l":
                hr = parseInt(a[i], 10);
                break;

            case "%P":
            case "%p":
                if (/pm/i.test(a[i]) && hr < 12)
                    hr += 12;
                break;

            case "%M":
                min = parseInt(a[i], 10);
                break;
        }
    }
    if (y != 0 && m != -1 && d != 0) {
        dateReturn = new Date(y, m, d, hr, min, 0);
    }
    y = 0; m = -1; d = 0;
    for (i = 0; i < a.length; ++i) {
        if (a[i].search(/[a-zA-Z]+/) != -1) {
            var t = -1;
            if (t != -1) {
                if (m != -1) {
                    d = m + 1;
                }
                m = t;
            }
        } else if (parseInt(a[i], 10) <= 12 && m == -1) {
            m = a[i] - 1;
        } else if (parseInt(a[i], 10) > 31 && y == 0) {
            y = parseInt(a[i], 10);
            (y < 100) && (y += (y > 29) ? 1900 : 2000);
        } else if (d == 0) {
            d = a[i];
        }
    }
    if (y == 0) {
        var today = new Date();
        y = today.getFullYear();
    }
    if (m != -1 && d != 0) {
        dateReturn = new Date(y, m, d, hr, min, 0);
    }
    return dateReturn;
};
*/
