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 goPage(e, page)
{
    var e = e || window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    window.location = page;
}
function popUp(page)
{
    var nForm = document.createElement( "form" );
    document.body.appendChild(nForm);
    nForm.method = "POST";
    nForm.action = page;
    nForm.target = "_blank";
    nForm.submit();
    document.body.removeChild(nForm);
}
