﻿/* script pop(up) */
var cms_pop_initComplete = false;
var cms_pop_color;
var cms_pop_opacity;
var cms_pop_closeDown;
var cms_pop_lngTop;
var cms_pop_lngBottom;
var cms_pop_lngLftRgt;
var cms_pop_closeUrl;
var cms_pop_closeHtml = 'X';

function cms_pop_setCloseUrl(url)  { cms_pop_closeUrl = url;   }
function cms_pop_setCloseHtml(html){ cms_pop_closeHtml = html; }



function cms_pop_init(color, opacity, closeDown, lngTop, lngBottom, lngLftRgt) {
    if (color == null) {
        cms_pop_color = 'black';
    } else {
        cms_pop_color = color;
    }
    if (opacity == null || opacity < 0 || opacity > 100 || isNaN(opacity)) {
        cms_pop_opacity = 50;
    } else {
        cms_pop_opacity = opacity;
    }
    if (lngTop == null || lngTop < 0 || isNaN(lngTop)) {
        cms_pop_lngTop = 100;
    } else {
        cms_pop_lngTop = lngTop;
    }
    if (closeDown == 'down') {
        cms_pop_closeDown = 'down';
    } else {
        cms_pop_closeDown = 'up';
    }
    if (lngBottom == null || lngBottom < 0 || isNaN(lngBottom)) {
        cms_pop_lngBottom = 100;
    } else {
        cms_pop_lngBottom = lngBottom;
    }
    if (lngLftRgt == null || lngLftRgt < 0 || isNaN(lngLftRgt)) {
        cms_pop_lngLftRgt = 100;
    } else {
        cms_pop_lngLftRgt = lngLftRgt;
    }
    cms_pop_initComplete = true;
}

function cms_pop(url) {
    try{if(typeof url == 'object'){url = url.href;}}catch(e){};
    
    if(!cms_pop_initComplete){
        cms_pop_init();
    }
    document.getElementsByTagName('html')[0].style.overflow = 'hidden';
    // table border html
    var htmlBorder = '<table class="LayPop" width="100%">';
    htmlBorder += '<tbody><tr class="LayTop">';
    htmlBorder +=  '<td class="LayTopLft"><div></div></td>';
    htmlBorder +=  '<td class="LayTopMid"><div></div></td>';
    htmlBorder +=  '<td class="LayTopRgh"><div></div></td>';
    htmlBorder += '</tr>';
    htmlBorder += '<tr class="LayCnt">';
    htmlBorder +=  '<td class="LayCntLft"></td>';
    htmlBorder +=  '<td class="LayCntMid"></td>';
    htmlBorder +=  '<td class="LayCntRgh"></td>';
    htmlBorder += '</tr>';
    htmlBorder += '<tr class="LayBtm">'
    htmlBorder +=  '<td class="LayBtmLft"></td>';
    htmlBorder +=  '<td class="LayBtmMid"></td>';
    htmlBorder +=  '<td class="LayBtmRgh"></td>';
    htmlBorder += '</tr></tbody>';
    htmlBorder += '</table>';                                            
    // div color overlay
    var htmlDiv = document.createElement('div');
    htmlDiv.id = 'cms_pop_htmlDiv';
    htmlDiv.style.opacity = cms_pop_opacity / 100;
    htmlDiv.style.filter = 'alpha(opacity=' + cms_pop_opacity + ')'; 
    htmlDiv.style.position = 'absolute';
    htmlDiv.style.zIndex = '5000';
    htmlDiv.style.cursor = 'pointer';
    htmlDiv.style.left = document.documentElement.scrollLeft;
    htmlDiv.style.top = document.documentElement.scrollTop;
    htmlDiv.style.backgroundColor = cms_pop_color;
    htmlDiv.onclick = cms_pop_stop;
    // div ( iframes: content + close )  
    var htmlFrameDiv = document.createElement('div');
    htmlFrameDiv.id = 'cms_pop_htmlFrameDiv';
    htmlFrameDiv.style.position = 'absolute';
    htmlFrameDiv.style.zIndex = '5000';
    htmlFrameDiv.style.left = document.documentElement.scrollLeft + cms_pop_lngLftRgt + 'px';
    htmlFrameDiv.style.top = document.documentElement.scrollTop + cms_pop_lngTop + 'px';
    htmlFrameDiv.style.backgroundColor = 'transparent';
    
    // iframe content
    var htmlIframe = document.createElement('iframe');
    htmlIframe.id = 'cms_pop_htmlContent';
    htmlIframe.style.width = '100%';
    htmlIframe.src = url;
    htmlIframe.frameBorder = 0;

    //htmlIframe.style.position = 'relative';
    //htmlIframe.style.zindex = '250';
    
    
    // iframe close 1
    var htmlIFrameClose = document.createElement('iframe');
    htmlIFrameClose.id = 'cms_pop_close';
    htmlIFrameClose.style.width = '100%';
    htmlIFrameClose.style.height = '20px';
    htmlIFrameClose.scrolling = 'no';
    htmlIFrameClose.frameBorder = 0;
    
    // merging
    document.body.appendChild(htmlDiv);    
    document.body.appendChild(htmlFrameDiv);
    htmlFrameDiv.innerHTML = htmlBorder;    
    if (cms_pop_closeDown == 'down') {
        htmlFrameDiv.getElementsByTagName('TD')[4].appendChild(htmlIframe); 
        htmlFrameDiv.getElementsByTagName('TD')[4].appendChild(htmlIFrameClose);        
    } else {
        htmlFrameDiv.getElementsByTagName('TD')[4].appendChild(htmlIFrameClose);  
        htmlFrameDiv.getElementsByTagName('TD')[4].appendChild(htmlIframe);        
    }
    
    // iframe close 2
    if(cms_pop_closeUrl != null && cms_pop_closeUrl != ''){
        htmlIFrameClose.src = cms_pop_closeUrl;
    }else{
        if(cms_pop_closeHtml == null || cms_pop_closeHtml.replace(/ /g, '') == ''){
            htmlIFrameClose.contentWindow.document.write('X');
        }else{
            htmlIFrameClose.contentWindow.document.write(cms_pop_closeHtml);
        }
        htmlIFrameClose.contentWindow.document.body.onclick = function () {parent.cms_pop_stop()};
        htmlIFrameClose.contentWindow.document.body.style.marginTop = '0';
    }
    
    // resize on    
    cms_pop_resize();
    window.onresize = function () {cms_pop_resize()};        
}

function cms_pop_stop() {
    document.body.removeChild(document.getElementById('cms_pop_htmlFrameDiv'));
    document.body.removeChild(document.getElementById('cms_pop_htmlDiv'));
    //resize off
    window.onresize = '';
    document.getElementsByTagName('html')[0].style.overflow = ''; 
}

function cms_pop_resize() {
    var iSize;
    document.getElementById('cms_pop_htmlDiv').style.width = document.documentElement.clientWidth + 'px';
    document.getElementById('cms_pop_htmlDiv').style.height = document.documentElement.clientHeight + 'px';        
    iSize = cms_pop_valSize(document.documentElement.clientWidth - 2 * cms_pop_lngLftRgt);    
    document.getElementById('cms_pop_htmlFrameDiv').style.width = iSize + 'px';    
    iSize = cms_pop_valSize(document.documentElement.clientHeight - cms_pop_lngBottom - cms_pop_lngTop);
    document.getElementById('cms_pop_htmlFrameDiv').style.height = iSize + 'px';    
    iSize = cms_pop_valSize(iSize - 20);
    document.getElementById('cms_pop_htmlContent').style.height = iSize + 'px';
}    

function cms_pop_valSize(iSize) {
    if (iSize < 0) {
        return 0;
    } else {
        return iSize;
    }
}
/* script pop(up) */

//main_log('pop(up) ingeladen');