
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - linkpopper.js - */
linkpopperWhiteList = [
        window.location.hostname
];

function isInWhiteList(href){
    domain = href.split('/')[2];
    for (var i=0; i<linkpopperWhiteList.length; i++){
        if (domain.indexOf(linkpopperWhiteList[i])!=-1) {
            return true;
        }
    }
    return false;
}

function makeExternalLinksPopup() {
    // Fetch all the a elements in the document.
    var links = document.getElementsByTagName('a');

    // Loop through the a elements in reverse order
    // for speed.
    for (var i = links.length; i != 0; i--) {
        
        // Pull out the element for this iteration.
        var a = links[i-1];
        
        // If the element doesn't have an href, skip it.
        if (!a.href) continue;        
        
        // If the url is not http or https skip it
        if (!a.href.match(/https?:\/\//)) continue;
        
        // If its in the white list skip it
        if (isInWhiteList(a.href)) continue;

        // Set link target to _blank
        a.setAttribute('target', '_blank')
        a.setAttribute('title', 'link zewnętrzny otwierający nowe okno przeglądarki')
    }
}

registerPloneFunction(makeExternalLinksPopup);


/* - lightbox.js - */
// http://www.uzp.gov.pl/portal_javascripts/lightbox.js?original=1
var loadingImage='laduje.gif';var closeButton='close.gif';
function getPageScroll(){var yScroll;if(self.pageYOffset){yScroll=self.pageYOffset} else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop} else if(document.body){yScroll=document.body.scrollTop}
arrayPageScroll=new Array('',yScroll)
return arrayPageScroll}
function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY} else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight} else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight} else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight} else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight}
if(yScroll<windowHeight){pageHeight=windowHeight} else{pageHeight=yScroll}
if(xScroll<windowWidth){pageWidth=windowWidth} else{pageWidth=xScroll}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize}
function pause(numberMillis){var now=new Date();var exitTime=now.getTime()+numberMillis;while(true){now=new Date();if(now.getTime()>exitTime)
return}}
function getKey(e){if(e==null){keycode=event.keyCode} else{keycode=e.which}
key=String.fromCharCode(keycode).toLowerCase();if(key=='x'){hideLightbox()}}
function listenKey(){document.onkeypress=getKey}
function showLightbox(objLink){var objOverlay=document.getElementById('overlay');var objLightbox=document.getElementById('lightbox');var objCaption=document.getElementById('lightboxCaption');var objImage=document.getElementById('lightboxImage');var objLoadingImage=document.getElementById('loadingImage');var objLightboxDetails=document.getElementById('lightboxDetails');var arrayPageSize=getPageSize();var arrayPageScroll=getPageScroll();if(objLoadingImage){objLoadingImage.style.top=(arrayPageScroll[1]+((arrayPageSize[3]-35-objLoadingImage.height)/2)+'px');objLoadingImage.style.left=(((arrayPageSize[0]-20-objLoadingImage.width)/2)+'px');objLoadingImage.style.display='block'}
objOverlay.style.height=(arrayPageSize[1]+'px');objOverlay.style.display='block';imgPreload=new Image();imgPreload.onload=function(){objImage.src=objLink.href;var lightboxTop=arrayPageScroll[1]+((arrayPageSize[3]-35-imgPreload.height)/2);var lightboxLeft=((arrayPageSize[0]-20-imgPreload.width)/2);objLightbox.style.top=(lightboxTop<0)?"0px":lightboxTop+"px";objLightbox.style.left=(lightboxLeft<0)?"0px":lightboxLeft+"px";objLightboxDetails.style.width=imgPreload.width+'px';if(objLink.getAttribute('title')){objCaption.style.display='block';objCaption.innerHTML=objLink.getAttribute('title')} else{objCaption.style.display='none'}
if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250)}
if(objLoadingImage){objLoadingImage.style.display='none'}
selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="hidden"}
objLightbox.style.display='block';arrayPageSize=getPageSize();objOverlay.style.height=(arrayPageSize[1]+'px');listenKey();return false}
imgPreload.src=objLink.href}
function hideLightbox(){objOverlay=document.getElementById('overlay');objLightbox=document.getElementById('lightbox');objOverlay.style.display='none';objLightbox.style.display='none';selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="visible"}
document.onkeypress=''}
function initLightbox(){if(!document.getElementsByTagName){return}
var anchors=document.getElementsByTagName("a");for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute("href")&&(anchor.getAttribute("rel")=="lightbox")){anchor.onclick=function(){showLightbox(this);return false}}}
var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id','overlay');objOverlay.onclick=function(){hideLightbox();return false}
objOverlay.style.display='none';objOverlay.style.position='absolute';objOverlay.style.top='0';objOverlay.style.left='0';objOverlay.style.zIndex='90';objOverlay.style.width='100%';objBody.insertBefore(objOverlay,objBody.firstChild);var arrayPageSize=getPageSize();var arrayPageScroll=getPageScroll();var imgPreloader=new Image();imgPreloader.onload=function(){var objLoadingImageLink=document.createElement("a");objLoadingImageLink.setAttribute('href','#');objLoadingImageLink.onclick=function(){hideLightbox();return false}
objOverlay.appendChild(objLoadingImageLink);var objLoadingImage=document.createElement("img");objLoadingImage.src=loadingImage;objLoadingImage.setAttribute('id','loadingImage');objLoadingImage.style.position='absolute';objLoadingImage.style.zIndex='150';objLoadingImageLink.appendChild(objLoadingImage);imgPreloader.onload=function(){};return false}
imgPreloader.src=loadingImage;var objLightbox=document.createElement("div");objLightbox.setAttribute('id','lightbox');objLightbox.style.display='none';objLightbox.style.position='absolute';objLightbox.style.zIndex='100';objBody.insertBefore(objLightbox,objOverlay.nextSibling);var objLink=document.createElement("a");objLink.setAttribute('href','#');objLink.setAttribute('title','Zamknij okienko');objLink.onclick=function(){hideLightbox();return false}
objLightbox.appendChild(objLink);var imgPreloadCloseButton=new Image();imgPreloadCloseButton.onload=function(){var objCloseButton=document.createElement("img");objCloseButton.src=closeButton;objCloseButton.setAttribute('id','closeButton');objCloseButton.style.position='absolute';objCloseButton.style.zIndex='200';objLink.appendChild(objCloseButton);return false}
imgPreloadCloseButton.src=closeButton;var objImage=document.createElement("img");objImage.setAttribute('id','lightboxImage');objLink.appendChild(objImage);var objLightboxDetails=document.createElement("div");objLightboxDetails.setAttribute('id','lightboxDetails');objLightbox.appendChild(objLightboxDetails);var objCaption=document.createElement("div");objCaption.setAttribute('id','lightboxCaption');objCaption.style.display='none';objLightboxDetails.appendChild(objCaption)}
function addLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func} else{window.onload=function(){oldonload();func()}}}
addLoadEvent(initLightbox);
