﻿/*  homedia.ch 
    v1.0 | 20110318
    Thierry Maillard
*/

function displayPopup(element, posX, posY, noFilter) {

    if (element) {
        if (!document.getElementById('filter')) {
            //create the filter div
        }

        if (noFilter != true) {
            document.getElementById('filter').style.display = 'block';
            document.getElementById('filter').onclick = function () { closePopupById(element.id) };
        }
        else {
            element.onmouseover = function () { displayPopup(element, posX, posY, noFilter) };
            element.onmouseout = function () { closePopup(element) };
        }
        
        element.style.display = 'block';

        if (!(posX >= 0 && posY >= 0)) {
            posX = document.body.clientWidth / 2 - element.offsetWidth / 2
            posY = document.body.clientHeight / 2 - element.offsetHeight / 2
        }

        element.style.top = posY + "px";
        element.style.left = posX + "px";
    }
}

function displayPopupById(id, posX, posY, noFilter) {
    displayPopup(document.getElementById(id), posX, posY, noFilter);
}

function displayPopupByIdEvent(id, event, noFilter) {

    if (event) {
    
        if (event.clientX && event.clientY) {
            //IE
            posX = event.clientX + document.documentElement.scrollLeft - 1;
            posY = event.clientY + document.documentElement.scrollTop - 1;
        }
        else if (event.mouseX && event.mouseY) {
            posX = event.mouseX + document.documentElement.scrollLeft - 1;
            posY = event.mouseY + document.documentElement.scrollTop - 1;
        }
        else {
            posX = document.body.clientWidth / 2 - element.offsetWidth / 2
            posY = document.body.clientHeight / 2 - element.offsetHeight / 2
        }
    }
    else {
        posX = document.body.clientWidth / 2 - element.offsetWidth / 2
        posY = document.body.clientHeight / 2 - element.offsetHeight / 2
    }

    displayPopup(document.getElementById(id), posX, posY, noFilter);
}

function closePopup(element) {
    if (element) {
        element.style.display = 'none';
        if (document.getElementById('filter'))
            document.getElementById('filter').style.display = 'none';
    }
}

function closePopupById(id) {
    closePopup(document.getElementById(id));
}
