var elements=false;

function addLightboxOpenEvent() {
    if ($('portal-column-content')) {
        elements=$('portal-column-content').getElementsByClassName('lightbox')
        var newDiv = document.createElement("div");
        newDiv.id='lightbox-input';
        document.body.appendChild(newDiv);

        for (var i = 0; i <elements.length; i++) {
            var element=elements[i];
            element.onclick=openLightboxImg;
            element.onmouseover=element.style.cursor='pointer';
        }
    }
}

function extractUidImg(element) {
    var splittedUrl=element.src.split('/');
    if (element.src.indexOf('resolveUid')==-1) {
        if (element.src.indexOf('resolveuid')==-1) {
            return element.src;
        }
    }
    if (splittedUrl[splittedUrl.length-1].substring(0,5)=='image') {
        var uid=splittedUrl[splittedUrl.length-2];
    } else {
        var uid=splittedUrl[splittedUrl.length-1];
    }
    return uid;
}

function openLightboxImg() {

    uid=extractUidImg(this);
    getLightBoxImg(uid);
}

function openLightboxFlash(uid) {

    getLightBoxFlash(uid);
}

function getLightBoxImg(uid) {
    new Ajax.Request('@@lightbox/render', {
        method: 'post',
        parameters: '?uid='+uid,
        onSuccess: onLightboxSuccess,
        onComplete:onLightboxComplete
        }
    );
}

function getLightBoxFlash(uid) {
    new Ajax.Request('render_lightbox_flash', {
        method: 'post',
        parameters: '?uid='+uid,
        onSuccess: onLightboxSuccess,
        onComplete:onLightboxComplete
        }
    );
}

function onLightboxComplete(transport) {
}

function onLightboxSuccess(transport) {
    var element=document.getElementById('lightbox-input');
    element.innerHTML=transport.responseText;
    var lightboxImage=document.getElementById('lightbox-image');
    var Imglight=document.getElementById('lightbox-image-preview');
    var lightboxContainer=document.getElementById('lightbox-container');
    lightboxContainer.style.height=document.body.offsetHeight+'px';
    lightboxContainer.style.display='';
    Effect.Appear('lightbox-image', { duration: 2.0 });

    if(Prototype.Browser.IE) {
        imgWidth=lightboxImage.width;
        imgHeight=lightboxImage.height;
    } else {
        imgWidth=Imglight.width;
        imgHeight=Imglight.height;
    }

    Element.setStyle(lightboxImage,{margin:'-'+((imgHeight/2)+10)+'px 0px 0px -'+((imgWidth/2)+10)+'px'});

    document.getElementById('lightbox-info').style.width=(Imglight.width)+'px';
}

function closeLightbox() {
    document.getElementById('lightbox-image').style.display='none';
    document.getElementById('lightbox-container').style.display='none';
}


function getNextLightboxImage(currentUid) {
    for (var i = 0; i <elements.length; i++) {
        var element=elements[i];
        uid=extractUid(element);
        if (currentUid==uid) {
            if (i<elements.length-1) {
                uid=extractUid(elements[i+1]);
                return getLightBox(uid);
            }
        }
    }
}

function getPrevLightboxImage(currentUid) {
    for (var i = 0; i <elements.length; i++) {
        var element=elements[i];
        uid=extractUid(element);
        if (currentUid==uid) {
            if (i-1>=0) {
                uid=extractUid(elements[i-1]);
                getLightBox(uid);
            }
        }
    }
}

registerPloneFunction(addLightboxOpenEvent);


