

var oPALLayout = null;

function PALLayout() {
    this.htmMenu = null;
    this.htmIcon = null;
    this.htmTimerId = 0;
    this.relatedItemsMenu = null;
    this.relatedItemsIcon = null;
    this.relatedItemsTimerId = 0;
}

function getPALLayout() {
    if (oPALLayout == null) {

        oPALLayout = new PALLayout();
        oPALLayout.htmMenu = document.getElementById("HtmMenu");
        oPALLayout.htmIcon = document.getElementById("HtmIcon");

        oPALLayout.relatedItemsMenu = document.getElementById("RelatedItemsMenu");
        oPALLayout.relatedItemsIcon = document.getElementById("RelatedItemsIcon");

    }

    return (oPALLayout);
}

function showHtmMenu() {

    var layout;
    var pos;
    var newX;
    var newY;

    layout = getPALLayout();
    if (layout.htmMenu != null) {
        resetHideHtmMenu();

        pos = contextMenuFindPos(layout.htmIcon);
        newX = pos[0] + 10;
        newY = pos[1] + 40;

        if ((layout.htmMenu.style.left != (newX + "px")) || (layout.htmMenu.style.top != (newY + "px"))) {
            layout.htmMenu.style.left = newX + "px";
            layout.htmMenu.style.top = newY + "px";
        }

        layout.htmMenu.style.display = "block";
    }

}

function hideHtmMenu() {
    var layout;

    layout = getPALLayout();
    if (layout.htmMenu != null) {
        resetHideHtmMenu();

        layout.htmTimerId = window.setTimeout("hideHtmMenuElapsed();", 50);
    }
}

function resetHideHtmMenu() {
    var layout;

    layout = getPALLayout();
    if (layout.htmTimerId != 0) {
        window.clearTimeout(layout.htmTimerId);
        layout.htmTimerId = 0;
    }
}

function hideHtmMenuElapsed() {

    var layout;

    layout = getPALLayout();

    if (layout.htmTimerId != 0) {
        layout.htmTimerId = 0;

        layout.htmMenu.style.display = "none";
    }

}


function showRelatedItemsMenu() {

    var layout;
    var pos;
    var newX;
    var newY;

    layout = getPALLayout();
    if (layout.relatedItemsMenu != null) {
        resetHideRelatedItemsMenu();

        pos = contextMenuFindPos(layout.relatedItemsIcon);
        newX = pos[0] + 10;
        newY = pos[1] + 40;

        if ((layout.relatedItemsMenu.style.left != (newX + "px")) || (layout.relatedItemsMenu.style.top != (newY + "px"))) {
            layout.relatedItemsMenu.style.left = newX + "px";
            layout.relatedItemsMenu.style.top = newY + "px";
        }

        layout.relatedItemsMenu.style.display = "block";
    }

}

function hideRelatedItemsMenu() {
    var layout;

    layout = getPALLayout();
    if (layout.relatedItemsMenu != null) {
        resetHideRelatedItemsMenu();

        layout.relatedItemsTimerId = window.setTimeout("hideRelatedItemsMenuElapsed();", 50);
    }
}

function resetHideRelatedItemsMenu() {
    var layout;

    layout = getPALLayout();
    if (layout.relatedItemsTimerId != 0) {
        window.clearTimeout(layout.relatedItemsTimerId);
        layout.relatedItemsTimerId = 0;
    }
}

function hideRelatedItemsMenuElapsed() {

    var layout;

    layout = getPALLayout();

    if (layout.relatedItemsTimerId != 0) {
        layout.relatedItemsTimerId = 0;

        layout.relatedItemsMenu.style.display = "none";
    }

}

function contextBarSubMenuItemLinkMouseOver(sender) {
    sender.style.backgroundColor = "#555555";
}

function contextBarSubMenuItemLinkMouseOut(sender) {
    sender.style.backgroundColor = "";
}


function palOpenPrintPopUpWindow(url) {
    palOpenWindow(url, "", 950, 600, true, true);
}

function startAutoPrint() {
    window.setTimeout("window.print();", 500);
}

function palOpenWindow(url, name, width, height, scrollBars, resizable) {
    var sb;
    var rz;

    if (scrollBars == true) {
        sb = "yes";
    }
    else {
        sb = "no";
    }

    if (resizable == true) {
        rz = "yes";
    }
    else {
        rz = "no";
    }

    return (window.open(url, name, "width=" + width + ",height=" + height + ",scrollbars=" + sb + ",resizable=" + rz));
}

function palOpenWindowVoid(url, name, width, height, scrollBars, resizable) {
    palOpenWindow(url, name, width, height, scrollBars, resizable);
}

//based on http://www.quirksmode.org/js/findpos.html 
function contextMenuFindPos(obj) {

    var curleft = 0;
    var curtop = 0;

    if (obj.offsetParent) {

        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
        while (obj = obj.offsetParent);
    }

    return [curleft, curtop];
}


function palTableRowMouseOver(ctl) {
    ctl.style.backgroundColor = "#EEEEEE";

    if (ctl.style.cursor == "") {
        ctl.style.cursor = "pointer";
    }
}

function palTableRowMouseOut(ctl) {
    ctl.style.backgroundColor = "";
}

function palTableRowClick(ctl, articleId) {

    var productUrl;

    productUrl = "index.php?option=com_content&view=article&id=" + articleId + "&fsingle=1";

    window.location = productUrl;
}

