var gOLOpen = false;
var gOLOpenCounter = 0;
var gOLOnlyOpen = false;
var gOLContentRemove = false;
var gOLBoxHash = new LAHash();
var gContentAsText = false;
var gOLIntervalAktiv;
var gOLObjExists = false;
var gBoxLayerWidth = 0;
var gBoxLayerHeight = 0;
var gEscCloseEnabled = true;



function ftOpenOverlay(sObjIds, sEscCloseEnabled){
     var lOL = ge('PageOverlay');
     var lOLBox = ge('PageOverlayBox');
     
     var fadeEl = $('#PageOverlay');
     
     if (typeof(sEscCloseEnabled) != 'undefined')
        gEscCloseEnabled = sEscCloseEnabled;
     lOL.style.top = '0px';
     lOL.style.left = '0px';

     lOL.style.height = document.body.offsetHeight + 16 + 'px';
     lOL.style.width = document.body.offsetWidth + 'px';
     lOL.style.display = 'block';
     //positionOverlay();
     //setupOverlay(1);
	
     if (!gOLOpen){
        fadeEl.fadeTo(400, 0.5);
        gOLOpen = true;
        ftHandleElem('none',sObjIds);
        gOLOpenCounter = 0;
     }
     gOLBoxHash.set('PageOverlayBox','1');
     
     lOLBox.style.display = 'block';
     //ftPOBoxPosition();
     ftPOResize();
     lOLBox.style.visibility = 'visible';
     ftPOScroll();
}

/*function positionOverlay() {
    var win = $(window);
    var operaFix = window.opera && (document.compatMode == "CSS1Compat") && ($.browser.version >= 9.3);
	var l = win.scrollLeft();
	var w = operaFix ? documentElement.clientWidth : win.width();
	$('#PageOverlay').css({left: l, top: win.scrollTop(), width: w, height: win.height()});
}*/

function setupOverlay(open) {
    var win = $(window);
    var fn = open ? "bind" : "unbind";
	win[fn]("scroll resize", positionOverlay);
}

function ftCloseOverlay(sObj){
    if (!gOLObjExists){
         var lOL = ge('PageOverlay');
         var fadeEl = $('#PageOverlay');
         var lObj = null;
         
         ftRemoveOverlayContent(); 
         
         gOLOpenCounter -= 1;
         if (gOLBoxHash.has('PageOverlayBox'))
            gOLBoxHash.erase('PageOverlayBox');
         
         //if (gOLOpenCounter <= 0){
         if (gOLBoxHash.getLength() <= 0){
             fadeEl.fadeTo(400, 0.0,function() {lOL.style.display = 'none';});
             gOLOpen = false;
             ftHandleElem('block');
         }
         ftHandleBlindLayer(0);
         onClosePageOverlay();
    }
}

function onClosePageOverlay(){
    ftHandleBlindLayer(0);
}

function ftRemoveOverlayContent(){
     var lOLBox = ge('PageOverlayBox');
     var lOLBoxCont = ge('PageOverlayBoxContent');
     var lOLBoxContentBox = ge('PageOverlayBoxContentBox');
     var lOLBoxContentBoxHidden = ge('PageOverlayBoxHidden')
     var lOLPageOverCont = ge('pageOverlayContainer');

     if (typeof(sObj)!='undefined'){
        lObj = sObj;
        lObj.innerHTML = '';
     }
     lOLBox.style.display = 'none';
     lOLBoxCont.style.visibility = 'hidden';
     lOLBox.style.visibility = 'hidden';
     if (!gOLContentRemove){
        if (lOLBoxContentBox.firstChild)
            lOLBoxContentBoxHidden.appendChild(lOLBoxContentBox.firstChild);
     }
     else{
        if (lOLBoxContentBox.firstChild)
            lOLBoxContentBox.removeChild(lOLBoxContentBox.firstChild);
      
     }
     gOLContentRemove = false;
     if (gContentAsText)
        lOLBoxContentBox.innerHTML = '';
}

function ftPOBoxPosition(){
    var lOLBox = ge('PageOverlayBox');
    if (lOLBox){
    	if (document.all){
			lOLBox.style.left = (document.body.offsetWidth/2 - lOLBox.offsetWidth/2) + "px";
			lOLBox.style.top = (document.documentElement.scrollTop + document.body.offsetHeight/2 - lOLBox.offsetHeight/2) + "px";
		}
		else{
			lOLBox.style.left = (document.width/2 - lOLBox.offsetWidth/2) + "px";
			lOLBox.style.top = (document.documentElement.scrollTop + window.innerHeight/2 - lOLBox.offsetHeight/2) + "px";
		}
	}
}
function ftHandleElem(sDisplay, sObjIds){
    sObjIds = ';jQuery_history;' + sObjIds + ';';
    for (var li=0;li<document.getElementsByTagName('select').length;li++){
        var obj = document.getElementsByTagName('select')[li];
        var selectHide = true;
        if (obj.getAttribute('nothide'))
            selectHide = false;
        if (sObjIds.indexOf(';'+obj.id+';') < 0 && selectHide)
            obj.style.display=sDisplay;
    }
    for (var li=0;li<document.getElementsByTagName('iframe').length;li++){
        var obj = document.getElementsByTagName('iframe')[li];
        if (sObjIds.indexOf(';'+obj.id+';') < 0)
            obj.style.display=sDisplay;
    }
    for (var li=0;li<document.getElementsByTagName('object').length;li++){
        var obj = document.getElementsByTagName('object')[li];
        if (sObjIds.indexOf(';'+obj.id+';') < 0){
            if (sDisplay == 'block')
                obj.style.visibility='visible';
            else
                obj.style.visibility='hidden';
        }
    }
}


if (document.attachEvent) 
	window.attachEvent("onresize", ftPOResize);
else if	(document.addEventListener)
	window.addEventListener("resize", ftPOResize, false);

function ftPOResize(){
     var lOL = ge('PageOverlay');
     var lOLBox = ge('PageOverlayBox');

     if (gOLOpen && lOLBox){
        if (document.all){
		    lOLBox.style.left = (document.body.offsetWidth/2 - lOLBox.offsetWidth/2) + "px";
		    lOLBox.style.top = (ftOLGetScrollTop() + document.documentElement.clientHeight/2 - lOLBox.offsetHeight/2) + "px";
	    }
	    else{
		    lOLBox.style.left = (document.body.offsetWidth/2 - lOLBox.offsetWidth/2) + "px";
		    lOLBox.style.top = (ftOLGetScrollTop() + window.innerHeight/2 - lOLBox.offsetHeight/2) + "px";
	    }
	    
	    if (ftPOOhneScrollbalken)
		    lOL.style.width = document.documentElement.clientWidth + "px";
	    else
		    lOL.style.width = document.documentElement.scrollWidth + "px";
    }
}

function ftRevalPO(sContentObj, sHeight, sWidth){
    var lOLBoxCont = ge('PageOverlayBoxContentBox')
    var lHeight = sContentObj.offsetHeight;
    var lWidth = sContentObj.offsetWidth;
    
    if (typeof(sHeight)!='undefined')
        lHeight = sHeight;
    if (typeof(sWidth)!='undefined')
        lWidth = sWidth;
    
    sContentObj.style.display = 'block';
    if (lHeight > 0)
        lOLBoxCont.style.height = lHeight + 'px';
    else
        lOLBoxCont.style.height = sContentObj.style.height;
        
    if (lWidth > 0)
        lOLBoxCont.style.width = lWidth + 'px';
    else
        lOLBoxCont.style.width = sContentObj.style.width;
}

function ftHandleBlindLayer(sHandle){
    var bLayer = ge('PageOverlayBoxContentBoxLay');
    if (sHandle == 1)
        bLayer.style.display = 'block';
    else    
        bLayer.style.display = 'none';
}

function ftSetPOContentDim(sWidth, sHeight){
    gBoxLayerWidth = sWidth;
    gBoxLayerHeight = sHeight;
}

function ftSetPOContent(sContent, sAppendAsChild, sShowCloseButton, sRemoveObj, sScrollingAuto){
    var lOLBox = ge('PageOverlayBox');
    var lOLBoxTop = ge('PageOverlayBoxTop');
    var lOLBoxCont = ge('PageOverlayBoxContentBox')
    var lCloseButton = true;
    var lObjExists = false;
    var lContHeight = sContent.offsetHeight;
    var lContWidth = sContent.offsetWidth;
    var lContent = null;
    var lDimExists = false;
    var lScrollingAuto = false;
    var lScrollWidth = 0;
    
    if (typeof(sShowCloseButton)!='undefined')
        lCloseButton = sShowCloseButton;
    if (typeof(sRemoveObj)!='undefined')
        gOLContentRemove = sRemoveObj;
    if (typeof(sScrollingAuto)!='undefined')
        lScrollingAuto = sScrollingAuto;
    
    lContent = sContent;
    
    if (lScrollingAuto){
        lScrollWidth = 20;
        lOLBoxCont.style.overflow = 'auto';
    }
    
    if (gBoxLayerWidth > 0 && gBoxLayerHeight > 0){
        lOLBoxTop.style.width = gBoxLayerWidth + lScrollWidth + 'px';
        lOLBoxCont.style.width = gBoxLayerWidth + lScrollWidth + 'px';
        lOLBoxTop.style.height = gBoxLayerHeight + 'px';
        lOLBoxCont.style.height = gBoxLayerHeight + 'px';
        lDimExists = true;
    } 
    
    
    
    if (!lCloseButton){
        lOLBoxTop.style.display = 'none';
        lOLBoxCont.style.padding = '0px';
    }
    else{
        lOLBoxTop.style.display = 'block';
        lOLBoxCont.style.padding = '0px 16px 16px 16px';
        if (gBoxLayerWidth > 0 && gBoxLayerHeight > 0){
            lOLBoxCont.style.width = (gBoxLayerWidth - 32) + lScrollWidth + 'px';
        }
    }

    if (typeof(sAppendAsChild)!='undefined' && sAppendAsChild){
        lContent.style.display = 'block';
        if (lContHeight > 0)
            lOLBoxCont.style.height = lContHeight + 'px';
        else
            lOLBoxCont.style.height = lContent.style.height;
        if (lContWidth > 0)
            lOLBoxCont.style.width = lContWidth + lScrollWidth + 'px';
        else
            lOLBoxCont.style.width = lContent.style.width;
        
        
        lOLBoxCont.appendChild(lContent);
        lContent.style.visibility = 'visible';
        gContentAsText = false;
    }
    else{
        if (!lDimExists){
            lOLBoxCont.style.height = '';
            lOLBoxCont.style.width = '';
        }    
        lOLBoxCont.innerHTML = sContent;
        gContentAsText = true;
    }
}

function ftShowPOContent(){
    var lOLBox = ge('PageOverlayBox');
    lOLBox.style.visibility = 'visible';
    var lOLBoxCont = ge('PageOverlayBoxContent')
    lOLBoxCont.style.visibility = 'hidden';
    var lOLBoxContTop = ge('PageOverlayBoxTop')
    var lOLBoxContentBox = ge('PageOverlayBoxContentBox');
    
    if ((window.innerHeight-64) < lOLBoxContentBox.offsetHeight){
        lOLBoxContentBox.style.height = (window.innerHeight-64)+'px';
        lOLBoxContentBox.style.overflow = 'scroll';
        lOLBox.style.width = lOLBoxContentBox.offsetWidth + 'px';
        lOLBox.style.height = lOLBoxContentBox.style.height + 'px';
    }
    else{
        lOLBox.style.width = lOLBoxContentBox.offsetWidth + 'px';
        lOLBox.style.height = lOLBoxContentBox.offsetHeight + 'px';
    }
    
    lOLBoxContTop.style.width = ge('PageOverlayBoxContentBox').offsetWidth + 'px';

    ftPOResize();
    
    lOLBoxCont.style.visibility = 'visible';
    
}

function ftPOOhneScrollbalken(){
    var ohneScrollBalken = false;
    if (document.documentElement.clientWidth != document.documentElement.scrollWidth)
		    ohneScrollBalken = true;
}

function ftOLGetScrollTop(){
    var lScrTop = 0;
    
    if( typeof( window.pageYOffset ) == 'number' ) {
        //Netscape compliant
        lScrTop = window.pageYOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        lScrTop = document.body.scrollTop;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        lScrTop = document.documentElement.scrollTop;
    }
    return lScrTop;
}


if (document.attachEvent) 
	window.attachEvent("onscroll", ftPOScroll);
else if	(document.addEventListener)
	window.addEventListener("scroll", ftPOScroll, false);
	
function ftPOScroll(){
    var lOL = ge('PageOverlay');
    var lOLBox = ge('PageOverlayBox');
    var lScrTop = ftOLGetScrollTop();

    if ((gOLOpen || gOLOnlyOpen) && lOL){
        if (gOLOpen){
	        if (document.all){
		        lOLBox.style.top = (lScrTop + document.documentElement.offsetHeight/2 - lOLBox.offsetHeight/2) + "px";
	        }
	        else {
		        lOLBox.style.top = (lScrTop + window.innerHeight/2 - lOLBox.offsetHeight/2) + "px";
            }
        }
        lOL.style.top = lScrTop  + "px"
        //if (gOLOnlyOpen)
        //    alert(lOL.style.top);
        //lOL.style.left = document.documentElement.scrollLeft + "px"
    }   
}

function ftPOOnKeyPress(e) {
    if (gEscCloseEnabled){
	    var kC  = (window.event) ? event.keyCode : e.keyCode;
	    //var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE
	    //var enter = (window.event) ? 13 : e.DOM_VK_RETURN

	    var Esc = 27;
	    var enter = 13;

        if (gOLOpen){
            if(kC==Esc)
   	            ftCloseOverlay();
            //else if (kC==enter)
	        //    ftCloseOverlay();
	    }
	    else{
	        if(kC==Esc)
	            return false;
	    }
	}
}

$(document).keypress(function(e){ftPOOnKeyPress(e)});


/*if (document.attachEvent)
    window.attachEvent("onkeypress", ftPOOnKeyPress);
else if (document.addEventListener)
    window.addEventListener("keypress", ftPOOnKeyPress, false);*/

	

function ShowFotoshow(el_id, inet_lfdnr) {
    var divFotoshow = ge(el_id);
    var posX = parseInt(GetWindowWidth() / 2 - (680 / 2))
    var posY = parseInt(GetWindowHeight() / 2 - (450 / 2));
    
    if (posX < 0) posX = 0;
    if (posY < 0) posY = 0;
    
	var top = posY; //getTop(el) + 50;
	var left = posX; //getLeft(el) - 80;
	
	ftOpenOverlay();
	ftSetPOContent(divFotoshow, true, false);
	ftShowPOContent();
	LayerFotoshow_0.Play(true);
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//                    Klasse pageOverlay
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function PageOverlay(sID){
    var _self = this;
    var _ID = gOLOpenCounter;
    if (typeof(sID)!='undefined')
        _ID = sID;
    var _ContentRemove = false;
    var _ObjOL = ge('PageOverlay');
    var _ObjOLCloseImg = ge('PageOverlayCloseImg').src;
    var _ObjOLBox = null;
    var _ObjOLBoxCont = null;
    var _ObjOLBoxContentBox = null;
    var _ObjOLBoxContentBoxHidden = null;
    var _ObjOLBoxTop = null;
    var _fadeEl = $('#PageOverlay');
    var _ObjOLBoxOpen = false;
    var _OLPageOverCont = ge('pageOverlayContainer');
    var _BoxLayerWidth = 0;
    var _BoxLayerHeight = 0;
    var _OLIntervalAktiv = null;
    
    
    this.id = _ID;
    this.escCloseEnabled = true;
    this.boxBGClass = 'bgWhite';
    
    this.OpenOverlay = function(sObjIds, sEscCloseEnabled){
        gOLObjExists = true;
        if (typeof(sEscCloseEnabled) != 'undefined')
            _self.escCloseEnabled = sEscCloseEnabled;
        
        var poCont = ge('pageOverlayContainer');
        
            
            var lNewDiv = document.createElement('div');
            lNewDiv.id = 'PageOverlay'+_ID;
            lNewDiv.className = 'pageOverlay';
            lNewDiv.style.display = 'none';
            var zIndex = 10000 + gOLOpenCounter;
            lNewDiv.style.zIndex = zIndex;
            poCont.appendChild(lNewDiv);
            _fadeEl = $('#PageOverlay'+_ID);
        
        _ObjOL = lNewDiv;
        _ObjOL.style.top = '0px';
        _ObjOL.style.left = '0px';
        
        _ObjOL.style.height = document.body.offsetHeight + 16 + 'px';
        _ObjOL.style.width = document.body.offsetWidth + 'px';
        _ObjOL.style.display = 'block';
        
         //if (!gOLOpen){
             _fadeEl.fadeTo(400, 0.5);
             gOLOpen = true;
             _HandleElem('none',sObjIds);
         /*}
         else
            window.clearInterval(gOLIntervalAktiv);  
         */
         
         gOLOpenCounter += 1;
         gOLBoxHash.set('PageOverlayBox'+_ID,'1');
         
         
         
         if (!ge('PageOverlayBox'+_ID)){
            _OLGenerateDiv();
         }
         else{
            _ObjOLBox = ge('PageOverlayBox'+_ID);
            _ObjOLBoxCont = ge('PageOverlayBoxContent'+_ID);
            _ObjOLBoxContentBox = ge('PageOverlayBoxContentBox'+_ID);
            _ObjOLBoxContentBoxHidden = ge('PageOverlayBoxHidden'+_ID);
            _ObjOLBoxTop = ge('PageOverlayBoxTop'+_ID);
         }
         
         _ObjOLBoxOpen = true;
         _ObjOLBox.style.display = 'block';
         _OLResize();
         _ObjOLBox.style.visibility = 'visible';
         _OLScroll();
    }
    
    function _OLGenerateDiv(){
        var lHTML = '';
        var poCont = ge('pageOverlayContainer');
        try{
            
            var lNewDiv = document.createElement('div');
            lNewDiv.id = 'PageOverlayBox'+_ID;
            lNewDiv.style.display = 'none';
            lNewDiv.style.position = 'absolute';
            var zIndex = 10000 + gOLOpenCounter;
            lNewDiv.style.zIndex = zIndex;
            lNewDiv.style.visibility = 'hidden';
            poCont.appendChild(lNewDiv);
            
            lNewDiv = document.createElement('div');
            lNewDiv.id = 'PageOverlayBoxHidden'+_ID;
            lNewDiv.style.display = 'none';
            poCont.appendChild(lNewDiv);
            
            _ObjOLBox = ge('PageOverlayBox'+_ID);
            _ObjOLBoxContentBoxHidden = ge('PageOverlayBoxHidden'+_ID);
            
            lNewDiv = document.createElement('div');
            lNewDiv.id = 'PageOverlayBoxContent'+_ID;
            lNewDiv.style.visibility = 'hidden';
            
            _ObjOLBox.appendChild(lNewDiv);
            
            _ObjOLBoxCont = ge('PageOverlayBoxContent'+_ID);
            
            lNewDiv = document.createElement('div');
            lNewDiv.id = 'PageOverlayBoxTop'+_ID;
            lNewDiv.style.height = '16px';
            lNewDiv.className = _self.boxBGClass;
            _ObjOLBoxCont.appendChild(lNewDiv);
            _ObjOLBoxTop = ge('PageOverlayBoxTop'+_ID);
            
            lNewDiv = document.createElement('div');
            lNewDiv.id = 'PageOverlayBoxContentBox'+_ID;
            lNewDiv.style.padding = '0 16px 16px 16px';
            lNewDiv.className = _self.boxBGClass+' flL';
            lNewDiv.style.overflow = 'hidden';
            _ObjOLBoxCont.appendChild(lNewDiv);
            _ObjOLBoxContentBox = ge('PageOverlayBoxContentBox'+_ID);

            var lNewImg = document.createElement('img');
            lNewImg.id = "imgPOClose" + _ID;
            lNewImg.onclick = _self.CloseOverlay;
            lNewImg.style.cursor = 'pointer';
            lNewImg.style.display = 'inline';
            lNewImg.style.marginRight = '3px';
            lNewImg.style.marginTop = '3px';
            lNewImg.src = _ObjOLCloseImg;
            lNewImg.border = '0';
            lNewImg.align = 'right';
            _ObjOLBoxTop.appendChild(lNewImg);
            
            /*lHTML += '<div id="PageOverlayBox'+_ID+'" style="display:none;position:absolute;z-Index:1001;visibility:hidden;">'
                lHTML += '<div id="PageOverlayBoxContent'+_ID+'" style="visibility:hidden;">'
                    lHTML += '<div id="PageOverlayBoxTop'+_ID+'" class="bgWhite" style="height:16px;">'
                    lHTML += '<img onclick="'+_ID+'.CloseOverlay()" style="cursor:pointer;display:inline;margin-right:3px;margin-top:3px;" align=right src="'+_ObjOLCloseImg+'" border=0>'
                    lHTML += '</div>'
                    lHTML += '<div id="PageOverlayBoxContentBox'+_ID+'" class="bgWhite" style="float:left;padding:0 16px 16px 16px;"></div>'
                lHTML += '</div>'
            lHTML += '</div>'*/
            //lHTML += '<div id="PageOverlayBoxHidden'+_ID+'" style="display:none;"></div>'

            
            
            //alert(_ObjOLBox.id)
            //_ObjOLBox.innerHTML = lHTML; //Problem IE8
            
            //_ObjOLBoxCont = ge('PageOverlayBoxContent'+_ID);
            
            
            
        }
        catch (e) {alert('Pageoverlay._OLGenerateDiv() - ' + e)}
    }
    
    this.CloseOverlay = function(sEvent, sForceOpen){
        var fadeEl = $('#PageOverlay'+_ID);
        var lObj = null;
        var lForceOpen = false;
        if (typeof(sForceOpen)!='undefined')
            lForceOpen = sForceOpen;
        _RemoveOverlayContent(); 
        gOLOpenCounter -= 1;
        
        if (gOLBoxHash.has('PageOverlayBox'+_ID)){
            gOLBoxHash.erase('PageOverlayBox'+_ID);
            if (!lForceOpen){
                _OLIntervalAktiv = window.setInterval(_fadeOutOL,100)
                fadeEl.remove();
            }
        }
        //if (gOLOpenCounter <= 0){
        if (gOLBoxHash.getLength() <= 0){
             if (!lForceOpen){
                if (_OLIntervalAktiv == null){
                    _OLIntervalAktiv = window.setInterval(_fadeOutOL,100)
                    fadeEl.remove();
                }
                gOLOpen = false;
             }
             ftHandleElem('block');
        }
        gOLObjExists = false;
        _self.OnCloseOverlay();
    }
    
    this.HideBox = function(){
        _ObjOLBox.style.display = 'none';
        _ObjOLBoxCont.style.visibility = 'hidden';
        _ObjOLBox.style.visibility = 'hidden';
    }
    
    function _fadeOutOL(){
        _fadeEl.fadeTo(400, 0.0);
         _ObjOL.style.display = 'none';
         gOLOpen = false;
         _HandleElem('block');
         window.clearInterval(_OLIntervalAktiv);
    }
    
    function _RemoveOverlayContent(){
         if (typeof(sObj)!='undefined'){
            lObj = sObj;
            lObj.innerHTML = '';
         }
         if (_ObjOLBox){
             _ObjOLBox.style.display = 'none';
             _ObjOLBoxCont.style.visibility = 'hidden';
             _ObjOLBox.style.visibility = 'hidden';
             //if (!gOLContentRemove){
             if (!_ContentRemove){
                if (_ObjOLBoxContentBox.firstChild)
                    _ObjOLBoxContentBoxHidden.appendChild(_ObjOLBoxContentBox.firstChild);
             }
             else{
                if (_ObjOLBoxContentBox.firstChild)
                    _ObjOLBoxContentBox.removeChild(_ObjOLBoxContentBox.firstChild);
                else{
                    _OLPageOverCont.removeChild(_ObjOLBox);
                    _OLPageOverCont.removeChild(_ObjOLBoxContentBoxHidden);
                }
             }
         }
         _ContentRemove = false;
    }

/*
    function ftPOBoxPosition(){
        var lOLBox = ge('PageOverlayBox');
        
        if (document.all){
		    lOLBox.style.left = (document.body.offsetWidth/2 - lOLBox.offsetWidth/2) + "px";
		    lOLBox.style.top = (document.documentElement.scrollTop + document.body.offsetHeight/2 - lOLBox.offsetHeight/2) + "px";
	    }
	    else{
		    lOLBox.style.left = (document.width/2 - lOLBox.offsetWidth/2) + "px";
		    lOLBox.style.top = (document.documentElement.scrollTop + window.innerHeight/2 - lOLBox.offsetHeight/2) + "px";
	    } 
    }
*/    
    function _HandleElem(sDisplay, sObjIds){
        sObjIds = ';jQuery_history;' + sObjIds + ';';
        for (var li=0;li<document.getElementsByTagName('select').length;li++){
            var obj = document.getElementsByTagName('select')[li];
            var selectHide = true;
            if (obj.getAttribute('nothide'))
                selectHide = false;
            if (sObjIds.indexOf(';'+obj.id+';') < 0 && selectHide)
                obj.style.display=sDisplay;
        }
        for (var li=0;li<document.getElementsByTagName('iframe').length;li++){
            var obj = document.getElementsByTagName('iframe')[li];
            if (sObjIds.indexOf(';'+obj.id+';') < 0)
                obj.style.display=sDisplay;
        }
        for (var li=0;li<document.getElementsByTagName('object').length;li++){
            var obj = document.getElementsByTagName('object')[li];
            if (sObjIds.indexOf(';'+obj.id+';') < 0){
                if (sDisplay == 'block')
                    obj.style.visibility='visible';
                else
                    obj.style.visibility='hidden';
            }
        }
    }
    
    if (document.attachEvent) 
	    window.attachEvent("onresize", _OLResize);
    else if	(document.addEventListener)
	    window.addEventListener("resize", _OLResize, false);

    function _OLResize(){
         if (gOLOpen && _ObjOLBox){
            if (document.all){
		        _ObjOLBox.style.left = (document.body.offsetWidth/2 - _ObjOLBox.offsetWidth/2) + "px";
		        _ObjOLBox.style.top = (_OLGetScrollTop() + document.documentElement.clientHeight/2 - _ObjOLBox.offsetHeight/2) + "px";
	        }
	        else{
		        _ObjOLBox.style.left = (document.body.offsetWidth/2 - _ObjOLBox.offsetWidth/2) + "px";
		        _ObjOLBox.style.top = (_OLGetScrollTop() + window.innerHeight/2 - _ObjOLBox.offsetHeight/2) + "px";
	        }
    	    
	        if (_OLOhneScrollbalken)
		        _ObjOL.style.width = document.documentElement.clientWidth + "px";
	        else
		        _ObjOL.style.width = document.documentElement.scrollWidth + "px";
        }
    }

    this.RevalPO = function(sContentObj, sHeight, sWidth){
        var lHeight = sContentObj.offsetHeight;
        var lWidth = sContentObj.offsetWidth;
        
        if (typeof(sHeight)!='undefined')
            lHeight = sHeight;
        if (typeof(sWidth)!='undefined')
            lWidth = sWidth;
        
        sContentObj.style.display = 'block';
        
        if (lHeight > 0){
            _ObjOLBoxCont.style.height = lHeight + 'px';
            _ObjOLBoxContentBox.style.height = lHeight + 4 + 'px';
        }
        else{
            _ObjOLBoxCont.style.height = sContentObj.style.height;
        }
        if (lWidth > 0)
            _ObjOLBoxCont.style.width = lWidth + 'px';
        else
            _ObjOLBoxCont.style.width = sContentObj.style.width;
    }
    
    this.ReDimPOContent = function(sContentObj, sAddHeight, sAddWidth){
        var lHeight = sContentObj.offsetHeight;
        var lWidth = sContentObj.offsetWidth;
        
        if (typeof(sAddHeight)!='undefined')
            lHeight += sAddHeight;
        if (typeof(sAddWidth)!='undefined')
            lWidth += sAddWidth;
        _self.RevalPO(sContentObj, lHeight, lWidth);       
    }
    
    this.SetDimPOContent = function(sWidth, sHeight){
        _BoxLayerWidth = sWidth;
        _BoxLayerHeight = sHeight;
    }
    
    this.SetPOContent = function(sContent, sAppendAsChild, sShowCloseButton, sRemoveObj){
        var lCloseButton = true;
        var lObjExists = false;
        var lContHeight = sContent.offsetHeight;
        var lContWidth = sContent.offsetWidth;
        var lContent = null;
        var lDimExists = false;
        
        if (typeof(sShowCloseButton)!='undefined')
            lCloseButton = sShowCloseButton;
        if (typeof(sRemoveObj)!='undefined'){
            //gOLContentRemove = sRemoveObj;
            _ContentRemove = sRemoveObj;
        }
        lContent = sContent;
        
        if (_BoxLayerWidth > 0 && _BoxLayerHeight > 0){
            _ObjOLBoxTop.style.width = _BoxLayerWidth + 'px';
            _ObjOLBoxContentBox.style.width = _BoxLayerWidth + 'px';
            //_ObjOLBoxTop.style.height = _BoxLayerHeight + 'px';
            _ObjOLBoxContentBox.style.height = _BoxLayerHeight + 'px';
            lDimExists = true;
        }
        
        if (!lCloseButton){
            _ObjOLBoxTop.style.display = 'none';
            _ObjOLBoxContentBox.style.padding = '0px';
        }
        else{
            _ObjOLBoxTop.style.display = 'block';
            _ObjOLBoxContentBox.style.padding = '0px 16px 16px 16px';
            if (_BoxLayerWidth > 0 && _BoxLayerHeight > 0)
                _ObjOLBoxContentBox.style.width = (_BoxLayerWidth -32) + 'px';
        }

        if (typeof(sAppendAsChild)!='undefined' && sAppendAsChild){
            lContent.style.display = 'block';
            if (lContHeight > 0)
                _ObjOLBoxContentBox.style.height = lContHeight + 'px';
            else
                _ObjOLBoxContentBox.style.height = lContent.style.height;
            if (lContWidth > 0)
                _ObjOLBoxContentBox.style.width = lContWidth + 'px';
            else
                _ObjOLBoxContentBox.style.width = lContent.style.width;
            
            
            _ObjOLBoxContentBox.appendChild(lContent);
            lContent.style.visibility = 'visible';
        }
        else{
            if (!lDimExists){
                _ObjOLBoxContentBox.style.height = '';
                _ObjOLBoxContentBox.style.width = '';
            }    
            _ObjOLBoxContentBox.innerHTML = sContent;
        }
    }

    this.ShowPOContent = function(){
        _ObjOLBox.style.visibility = 'visible';
        _ObjOLBoxCont.style.visibility = 'hidden';
        _ObjOLBox.style.width = _ObjOLBoxContentBox.offsetWidth + 'px';
        _ObjOLBox.style.height = _ObjOLBoxContentBox.offsetHeight + 'px';
        
        _ObjOLBoxTop.style.width = _ObjOLBoxContentBox.offsetWidth + 'px';

        _OLResize();
        
        _ObjOLBoxCont.style.visibility = 'visible';
        
    }
    
    function _OLOhneScrollbalken(){
        var ohneScrollBalken = false;
        if (document.documentElement.clientWidth != document.documentElement.scrollWidth)
		        ohneScrollBalken = true;
    }

    function _OLGetScrollTop(){
        var lScrTop = 0;
        
        if( typeof( window.pageYOffset ) == 'number' ) {
            //Netscape compliant
            lScrTop = window.pageYOffset;
        } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
            //DOM compliant
            lScrTop = document.body.scrollTop;
        } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
            //IE6 standards compliant mode
            lScrTop = document.documentElement.scrollTop;
        }
        return lScrTop;
    }
    
    if (document.attachEvent) 
	    window.attachEvent("onscroll", _OLScroll);
    else if	(document.addEventListener)
	    window.addEventListener("scroll", _OLScroll, false);
    	
    function _OLScroll(){
        var lScrTop = _OLGetScrollTop();

        if (gOLOpen || gOLOnlyOpen){
            if (gOLOpen && _ObjOLBox){
	            if (document.all){
	            
	                _ObjOLBox.style.top = (lScrTop + document.documentElement.offsetHeight/2 - _ObjOLBox.offsetHeight/2) + "px";
		            //_ObjOLBox.style.top = (lScrTop + document.body.offsetHeight/2 - _ObjOLBox.offsetHeight/2) + "px";
	            }
	            else {
		            _ObjOLBox.style.top = (lScrTop + window.innerHeight/2 - _ObjOLBox.offsetHeight/2) + "px";
                }
            }
            _ObjOL.style.top = lScrTop  + "px"
        }   
    }

    function _OLOnKeyPress(e) {
        if (_self.escCloseEnabled){
	        var kC  = (window.event) ? event.keyCode : e.keyCode;
	        /*var Esc = (window.event) ?  27 : e.DOM_VK_ESCAPE
	        var enter = (window.event) ?  13 : e.DOM_VK_RETURN*/
	        
	        var Esc = 27;
	        var enter = 13;
	        
	        if (gOLOpen){
                if(kC==Esc){
   	                _self.CloseOverlay(_ID);
   	                _self.OnCloseOverlay();
   	            }
	        }
	        else{
	            if(kC==Esc){
	                return false;
	            }
	        } 
	    }
    }
    /*
    if (document.attachEvent) 
	    window.attachEvent("onkeypress", _OLOnKeyPress);
    else if	(document.addEventListener)
	    window.addEventListener("keypress", _OLOnKeyPress, false);
*/
    $(document).keypress(function(e){_OLOnKeyPress(e)});
    
    this.OnCloseOverlay = function(){}
}
