﻿function __PopupImage(sImg) 
{
    window.open("../image.aspx?" + sImg, "", "resizable=0,height=200,width=200");
}

function SetObjectVisibility(sID) 
{
    var oObject;

    oObject = document.getElementById(sID);
    
    if (oObject.style.display == "") 
    {
        oObject.style.display = "none";
    }
    else 
    {
        oObject.style.display = "";
    }
}

function SetObjectVisibility(sID,bVisible) 
{
    var oObject;

    oObject = document.getElementById(sID);

    if (!bVisible) 
    {
        oObject.style.display = "none";
    }
    else 
    {
        oObject.style.display = "";
    }
}

function GetDateString() {
    var res;

    res = GetDayName(0) + " " + GetTodayDate("d") + " " + GetMonthName(GetTodayDate("m")) + " " + GetTodayDate("y");

    return (res);
}

function GetDayName(nDate, bAbbrev) {
    var d;
    var m;
    var sDate;
    var nDay;
    var res;

    if (nDate == 0) {
        nDate = GetTodayDate("d") + "/" + GetTodayDate("m");
    }

    d = GetListItem(nDate, 1, "/");
    m = GetListItem(nDate, 2, "/");

    sDate = m + "/" + d + "/" + GetTodayDate("yyyy");

    var objDate = new Date(sDate);

    nDay = objDate.getDay();

    switch (nDay) {
        case 0:
            res = (bAbbrev == true) ? "Sun" : "Sunday";
            break;
        case 1:
            res = (bAbbrev == true) ? "Mon" : "Monday";
            break;
        case 2:
            res = (bAbbrev == true) ? "Tues" : "Tuesday";
            break;
        case 3:
            res = (bAbbrev == true) ? "Wed" : "Wednesday";
            break;
        case 4:
            res = (bAbbrev == true) ? "Thurs" : "Thursday";
            break;
        case 5:
            res = (bAbbrev == true) ? "Fri" : "Friday";
            break;
        case 6:
            res = (bAbbrev == true) ? "Sat" : "Saturday";
            break;
    }
    return (res);
}


function GetListItem(sList, nItem, sSep) {
    var npos1 = 0;
    var npos2 = 0;
    var res;
    var i = 0;


    for (i = 1; i <= nItem - 1; i++) {
        npos1 = sList.indexOf(sSep, npos1 + 1)
    }

    if (npos1 != -1) {
        npos2 = sList.indexOf(sSep, npos1 + 1);
        if (npos2 == -1) {
            npos2 = sList.length;
        }
    }

    if (npos1 == 0) {
        npos1 = -1;
    }

    res = sList.substring(npos1 + 1, npos2);
    return (res);
}

function GetMonthName(nMonth, bAbbrev) {
    var sMonth;

    if (nMonth.indexOf("0") == 0) {
        nMonth = nMonth.replace('0', '');
    }

    nMonth = parseInt(nMonth);

    if (arguments.length == 1) {
        bAbbrev = 0;
    }
    switch (nMonth) {
        case 1:
            sMonth = "January";
            break;
        case 2:
            sMonth = "February";
            break;
        case 3:
            sMonth = "March";
            break;
        case 4:
            sMonth = "April";
            break;
        case 5:
            sMonth = "May";
            break;
        case 6:
            sMonth = "June";
            break;
        case 7:
            sMonth = "July";
            break;
        case 8:
            sMonth = "August";
            break;
        case 9:
            sMonth = "September";
            break;
        case 10:
            sMonth = "October";
            break;
        case 11:
            sMonth = "November";
            break;
        case 12:
            sMonth = "December";
            break;
        case 13:
            sMonth = "Nov/Dec";
            break;
    }

    return (sMonth);
}

function GetQS(qs, code) {
    //qs is of the form ?a=b&c=d&e=f
    //code is a and it returns b

    var s = "";
    var npos1;
    var npos2;
    var npos3;

    if (qs.indexOf("?") != -1) {
        npos1 = qs.indexOf(code);
        npos2 = qs.indexOf("=", npos1);
        npos3 = qs.indexOf("&", npos2);
        if (npos3 = -1) {
            npos3 = qs.length - 1;
        }
        s = qs.substring(npos2 + 1, npos3 + 1);
    }
    return (s);
}

function GetTodayDate(formatIN) 
{
    //format can be d,m,y or any combination
    var d = new Date();
    var dd;
    var mm;
    var yyyy;
    var SEP = "/";
    var res;
    var bD = 0;
    var bM = 0;
    var bY = 0;

    if (arguments.length == 0) {
        //default case
        format = "dmy";
        bD = 1;
        bM = 1;
        bY = 1;
    }
    else {
        formatIN = formatIN.toUpperCase();
        if (formatIN.indexOf("D") != -1) {
            bD = 1;
        }
        if (formatIN.indexOf("M") != -1) {
            bM = 1;
        }
        if (formatIN.indexOf("Y") != -1) {
            bY = 1;
        }
    }
    dd = d.getDate() + "";     //quick step to cast as string
    mm = d.getMonth() + 1;
    mm = mm + "";
    yyyy = d.getYear() + "";

    if (dd.length == 1) {
        dd = "0" + dd;
    }
    if (mm.length == 1) {
        mm = "0" + mm;
    }
    if (yyyy.length == 2) {
        if (yyyy == "99") {
            yyyy = "1999";
        }
        else {
            yyyy = "20" + yyyy;
        }
    }
    if (bD == 1) {
        res = dd;
    }
    if (bM == 1) {
        if (bD == 1) {
            res = dd + SEP + mm;
        }
        else {
            res = mm;
        }
    }
    if (bY == 1) {
        if ((bD == 1) || (bM == 1)) {
            res = dd + SEP + mm + SEP + yyyy;
        }
        else {
            res = yyyy;
        }
    }
    return (res);
}

function AddQuotes(s) 
{
    return ("\"" + s + "\"");
}

function IsValidEmail(sEmail) 
{
    var bRes;
    
    AtPos = sEmail.indexOf("@")
    StopPos = sEmail.lastIndexOf(".")
    bRes = true;

    if (sEmail == "") {
        bRes = false;
    }

    if (AtPos == -1 || StopPos == -1) {
        bRes = false;
    }

    if (StopPos < AtPos) {
        bRes = false;
    }

    if (StopPos - AtPos == 1) {
        bRes = false;
    }

    return bRes;
}


