var sbBox = null;
var sbOverlay = null;
var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
var eventListeners = [];


function closeButtonClick() {
    var images = document.getElementsByTagName('body')[0];
    images.removeChild(sbBox);
    images.removeChild(sbOverlay);
    sbBox = null;
    sbOverlay = null;
}

function makeOverlay() {
    var overlay = document.createElement('div');
    overlay.style.position = "absolute";
    overlay.style.backgroundColor = "#000000";
    overlay.style.width = "100%";
    overlay.style.height = (iebody.scrollHeight > iebody.offsetHeight ? iebody.scrollHeight : iebody.offsetHeight) + "px";
    overlay.style.opacity = 0.5;
    overlay.style.top = 0;
    overlay.style.left = 0;
    overlay.style.filter = "alpha(opacity=50)";
    myAddEventListener(overlay, 'click', closeButtonClick);
    return overlay;
}

function makeBox(predniStrana, zadniStrana, info, nazevPodkladu, popisPodkladu, materialPodkladu, cesta, produkt) {
    var box = document.createElement('div');
    box.style.position = "absolute";
    box.style.backgroundColor = "#FFFFFF";
    box.style.borderWidth = "3px";
    box.style.borderColor = "#CCCCCC";
    box.style.borderStyle = "solid";
    box.style.textAlign = "right";
    box.style.paddingLeft = "9px";
    box.style.paddingRight = "9px";
    box.style.paddingTop = "30px";

    if (nazevPodkladu != null && nazevPodkladu != "") {
        var nazevPodkladuDIV = document.createElement('div');
        nazevPodkladuDIV.style.position = "absolute";
        nazevPodkladuDIV.style.left = "8px";
        nazevPodkladuDIV.style.top = "0";
        nazevPodkladuDIV.innerHTML = nazevPodkladu.replace(new RegExp("&quote;", "g"), "\"");
        nazevPodkladuDIV.style.color = "#666666";
        nazevPodkladuDIV.style.fontSize = "14px";
        nazevPodkladuDIV.style.fontWeight = "bold";
        nazevPodkladuDIV.style.lineHeight = "25px";
        nazevPodkladuDIV.style.textAlign = "left";
        nazevPodkladuDIV.style.width = "400px";
        nazevPodkladuDIV.style.overflow = "hidden";
        box.appendChild(nazevPodkladuDIV);
    }

    if (info != null && info != "") {
        var infoA = document.createElement('a');
        infoA.href = info;
        infoA.innerHTML = "koupit";
        infoA.style.display = "block";
        infoA.style.color = "#666666";
        infoA.style.cursor = "pointer";
        infoA.style.fontSize = "14px";
        infoA.style.fontWeight = "bold";
        infoA.style.lineHeight = "25px";
        infoA.style.textDecoration = "none";
        infoA.style.position = "absolute";
        infoA.style.left = "460px";
        infoA.style.top = "0";
        infoA.style.width = "70px";
        box.appendChild(infoA);
    }

    var closeDiv = document.createElement('div');
    closeDiv.innerHTML = "zav\u0159ít &times;";
    closeDiv.style.color = "#666666";
    closeDiv.style.cursor = "pointer";
    closeDiv.style.fontSize = "14px";
    closeDiv.style.fontWeight = "bold";
    closeDiv.style.lineHeight = "25px";
    closeDiv.style.position = "absolute";
    closeDiv.style.left = "530px";
    closeDiv.style.top = "0";
    closeDiv.style.width = "70px";
    box.appendChild(closeDiv);
    myAddEventListener(closeDiv, 'click', closeButtonClick);

    if (popisPodkladu != null && popisPodkladu != "") {
        var popisPodkladuDIV = document.createElement('div');
        popisPodkladuDIV.innerHTML = popisPodkladu.substring(0, popisPodkladu.indexOf("#")) + " Materiál: " + materialPodkladu.substring(0, materialPodkladu.indexOf("#")) + ".";
        popisPodkladuDIV.style.color = "#666666";
        popisPodkladuDIV.style.fontSize = "11px";
        popisPodkladuDIV.style.lineHeight = "14px";
        popisPodkladuDIV.style.textAlign = "left";
        popisPodkladuDIV.style.width = "600px";
        popisPodkladuDIV.style.paddingBottom = "10px";
        box.appendChild(popisPodkladuDIV);
    }

    if (cesta.length > 0) {
        var sbImg = document.createElement('img');
        sbImg.title = "Zav\u0159ít";
        sbImg.style.cursor = "pointer";
        sbImg.style.height = "600px";
        sbImg.style.width = "600px";
        if (predniStrana || !zadniStrana) {
            sbImg.src = cesta + "/" + produkt + "Pnormal.jpg";
        } else {
            sbImg.src = cesta + "/" + produkt + "Znormal.jpg";
        }
        box.appendChild(sbImg);
        myAddEventListener(sbImg, 'click', closeButtonClick);
    } else {
        var objectDIV = document.createElement('div');
        box.appendChild(objectDIV);
        objectDIV.innerHTML = '<object type="application/x-shockwave-flash" width="600" height="600" data="/flash/preview.swf?produktID=' + produkt +'"><param name="movie" value="/flash/preview.swf?produktID=' + produkt +'"/></object>';
    }
    
    box.appendChild(document.createElement('br'));

    if (predniStrana && zadniStrana) {
        box.appendChild(document.createElement('br'));

        var sbImgZ = document.createElement('img');
        sbImgZ.title = "Zav\u0159ít";
        sbImgZ.style.cursor = "pointer";
        sbImgZ.style.height = "600px";
        sbImgZ.style.width = "600px";
        if (zadniStrana) {
            sbImgZ.src = cesta + "/" + produkt + "Znormal.jpg";
        }
        box.appendChild(sbImgZ);
        myAddEventListener(sbImgZ, 'click', closeButtonClick);

        box.appendChild(document.createElement('br'));
    }

    if (info != null && info != "") {
        var infoA2 = document.createElement('a');
        infoA2.href = info;
        infoA2.innerHTML = "koupit";
        infoA2.style.color = "#666666";
        infoA2.style.cursor = "pointer";
        infoA2.style.fontSize = "14px";
        infoA2.style.fontWeight = "bold";
        infoA2.style.lineHeight = "25px";
        infoA2.style.paddingLeft = "15px";
        infoA2.style.paddingRight = "15px";
        infoA2.style.textDecoration = "none";
        box.appendChild(infoA2);
    }

    var closeDiv2 = document.createElement('span');
    closeDiv2.innerHTML = "zav\u0159ít &times;";
    closeDiv2.style.color = "#666666";
    closeDiv2.style.cursor = "pointer";
    closeDiv2.style.fontSize = "14px";
    closeDiv2.style.fontWeight = "bold";
    closeDiv2.style.lineHeight = "25px";
    closeDiv2.style.paddingLeft = "15px";
    box.appendChild(closeDiv2);
    myAddEventListener(closeDiv2, 'click', closeButtonClick);

    return box;
}

function sbShowImage(e, cesta, produkt, predniStrana, zadniStrana, info, nazevPodkladu, popisPodkladu, materialPodkladu) {
    if (sbBox == null) {
        var body = document.getElementsByTagName('body')[0];
        sbOverlay = makeOverlay();
        body.appendChild(sbOverlay);
        sbBox = makeBox(predniStrana, zadniStrana, info, nazevPodkladu, popisPodkladu, materialPodkladu, cesta, produkt);
        body.appendChild(sbBox);
    }
    var nn6 = document.getElementById&&!document.all;
    sbBox.style.left = ((document.documentElement.clientWidth - 600) / 2 + iebody.scrollLeft) + "px";
    sbBox.style.top = (parseFloat(nn6 ? e.pageY : event.clientY + iebody.scrollTop) - 100) + "px";
}

function myAddEventListener(node, event, handler) {
    if (!node.addEventListener) {
        node.attachEvent('on' + event, handler);
    } else {
        node.addEventListener(event, handler, false);
    }
    eventListeners.push({
        node: node,
        event: event,
        handler: handler
    });
}
