function getPage()
{
    var sPath = window.location.pathname;
    //    var sPage = sPath.substring(sPath.lastIndexOf('\\') + 1);
    var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
    return(sPage);
}
function GetLeft(ele)
{
    if (ele.offsetParent)
        return ele.offsetLeft + GetLeft(ele.offsetParent);
    else
        return ele.offsetLeft;
}

function GetTop(ele)
{
    if (ele.offsetParent)
        return (ele.offsetTop + GetTop(ele.offsetParent));
    else
        return (ele.offsetTop);
}
function getmouseleft(e)
{
    if (!e) var e = window.event;
    var pos_x = 0;
    if (e.pageX || e.pageY) {
        pos_x = e.pageX;
    }
    else if (e.clientX || e.clientY) {
        pos_x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    }
    return pos_x - 10;
}
function getmousetop(e)
{
    if (!e) var e = window.event;
    var pos_y = 0;
    if (!e) var e = window.event;
    if (e.pageY) {
        pos_y = e.pageY;
    }
    else if (e.clientY) {
        pos_y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
    }
    return pos_y - 10;
}
function iValue(tElem)
{
    switch(tElem.type)
    {
        case "text":
        case "textarea":
            return tElem.value;
            break;
        case "radio":
            if(tElem.checked)
                return tElem.value;
            else
                return false;
            break;
        case "checkbox":
            return tElem.checked;
            break;
        case "select-one":
        case "select-multiple":
            return tElem.value;
            break;
        default:
            return tElem.value;
            break;
    }
}
function collapse(button)
{
    if (button.indexOf("_show") == -1)
    {
        if (button.indexOf("_hide") != -1)
        {
            panel = document.getElementById(button.replace(/_hide/,""));
            panel.style.height=0+"px";
            panel = document.getElementById(button);
            if(!panel){
                return;
            }
            panel.id=button.replace(/_hide/,"_show");
            panel.src="images/sign_plus.gif";
        }
        else//neither hide nor show present
        {
            return;
        }
    }
    else
    {
        panel = document.getElementById(button.replace(/_show/,""));
        panel.style.height="auto";
        panel = document.getElementById(button);
        if(!panel){
            return;
        }
        panel.id=button.replace(/_show/,"_hide");
        panel.src="images/sign_minus.gif";
    }
}
function checkLength(elemID, maxLength)
{
    txtbox = document.getElementById(elemID);
    if(txtbox.value.length > maxLength)
    {
        txtbox.value = txtbox.value.substring(0, maxLength);
    //alert("You have reached the character limit for this field");
    }
}

function switchLists(from, to)
{
    var selIndex = from.selectedIndex;
    var selText = from.options[selIndex].text;
    var selValue = from.options[selIndex].value;

    status = selText;

    var index = to.options.length;

    to.options[index] = new Option(selText, selValue);
    from.options[selIndex] = null;
    sortSelect(to);
}
function sortFuncAsc(record1, record2)
{
    var value1 = record1.optText.toLowerCase();
    var value2 = record2.optText.toLowerCase();
    if (value1 > value2) return(1);
    if (value1 < value2) return(-1);
    return(0);
}

function sortFuncDesc(record1, record2)
{
    var value1 = record1.optText.toLowerCase();
    var value2 = record2.optText.toLowerCase();
    if (value1 > value2) return(-1);
    if (value1 < value2) return(1);
    return(0);
}

function sortSelect(selectToSort, ascendingOrder)
{
    if (arguments.length == 1) ascendingOrder = true;
    var myOptions = [];
    for (var loop=0; loop<selectToSort.options.length; loop++) {
        myOptions[loop] = {
            optText:selectToSort.options[loop].text,
            optValue:selectToSort.options[loop].value
        };
    }

    if (ascendingOrder) {
        myOptions.sort(sortFuncAsc);
    }
    else {
        myOptions.sort(sortFuncDesc);
    }

    // copy sorted options from array back to select box
    selectToSort.options.length = 0;
    for (var loop=0; loop<myOptions.length; loop++)
    {
        selectToSort.options.add(new Option(myOptions[loop].optText, myOptions[loop].optValue));
    }
}
function nextElemSibling(node)
{
    node = node.nextSibling;
    while (node && node.nodeType != 1)
    {
        node = node.nextSibling;
    }
    return node;
}
function previousElemSibling(node)
{
    node = node.previousSibling;
    while (node && node.nodeType != 1)
    {
        node = node.previousSibling;
    }
    return node;
}
function firstElemChild(node)
{
    node = node.firstChild
    while (node && node.nodeType != 1)
    {
        node = node.nextSibling;
    }
    return node;
}
function jsResp() {
//    alert(xmlHttp.responseText);
    eval(xmlHttp.responseText);
}
function isArray(obj) {
    return obj.constructor == Array;
}
function swapMenuImg(id)
{
    menuOpt = document.getElementById(id);
    menuOpt.src = "images/"+id+(((menuOpt.src).indexOf("off") == -1) ? "_off" : "_on")+".gif";
}
