﻿var ll = null;

function showLockLayer(showHandler, clickHandler) {
	ll = Ekina.UI.createLockLayer(50, "black", function() {
		if (clickHandler) clickHandler();
	}, function() {
		if (showHandler) showHandler();
	}, true, .25);
};

function hideLockLayer() {
	if (!ll) return;
	
	ll.hide(.25);
};

function position(div, top) {
	div.style.left = ((window.document.body.offsetWidth / 2) - (div.offsetWidth / 2)) + "px";
	div.style.top = (document.documentElement.scrollTop + (top || 50)) + "px";
};

function showImage(el, showFlash) {
    showLockLayer(function() {
    _showImage(el, showFlash);
    }, hideImage);
}

//function _showImage(src, desc) {
function _showImage(el, showFlash) {

    var span = el.getElementsByTagName("DIV");

    for (var i = 0; i < el.childNodes.length; i++) {
        if (el.childNodes[i].className == "hide") {
            span = el.childNodes[i];
            break;
        }
    }
    
	var div = $("lightbox");
	div.style.display = "block";
	$('galleryTitle').innerHTML = "<span class=\"highlight\">CASE STUDIES:</span> " + el.title;
	$("largeImg_desc").innerHTML = arrDescriptions[el.index] || "";
	
	if (showFlash)
	{
	    $("largeImg_inner").style.background = "none";
        if ($("galleryFlash"))
            swfobject.removeSWF("galleryFlash");
        else
	        $('<div id="galleryFlash"></div>').appendTo($('largeImg_inner'));
	    
	    if (el.href.contains(".flv")) {
	            
	        swfobject.embedSWF("/_images/videoplayer.swf?path=" + el.href, "galleryFlash", "465", "261", "9.0.0");
	    } else {
	        swfobject.removeSWF("galleryFlash");
	        swfobject.embedSWF(el.href, "galleryFlash", "465", "262", "9.0.0");
	    }
	}
	else
	{
	    swfobject.removeSWF("galleryFlash");
	    $("largeImg_inner").style.background = "url(" + el.href + ") no-repeat center center";
	}
	
	div.fadeIn(100, .25);
	
	var p = div.parentNode;
	
	position(div);
	
	window.onresize = function() {
		position(div);
	};
};

function hideImage() {
    if ($("galleryFlash"))
        swfobject.removeSWF("galleryFlash");
	$("lightbox").fadeOut(0, .25, function() {
		$("lightbox").hide();            
		hideLockLayer();
	});
	return false;
};

Ekina.Events.register(window, "ondomready", function() {


    // Create DIV Image markup
    var divImg = $('<div id="lightbox"></div>').appendTo(document.body);
    var divTitle = $('<div id="galleryTitle"></div>').appendTo(divImg);
    var divGalleryItem = $('<div id="galleryItem"></div>').appendTo(divImg);

    var divInner = $('<div id="largeImg_inner"></div>').appendTo(divGalleryItem);
    var divDesc = $('<div id="largeImg_desc"></div>').appendTo(divGalleryItem);
    var divClearFix = $('<div style="clear:both;"></div>').appendTo(divGalleryItem);
    var divControls = $('<div id="largeImg_controls"></div>').appendTo(divImg);
    //    $('<span id="largeImg_desc"></span>').appendTo(divControls);
    $('<a href="#" onclick="return hideImage();"></a>').appendTo(divControls); //.innerHTML = "CLOSE";

    var anchors = document.getElementsByTagName("a");
    var j = 0;
    for (var i = 0; i < anchors.length; i++) {
        var a = anchors[i];
        if ($string(a.rel)) {
            switch (a.rel) {
                case "lightbox":
                    a.index = j++;
                    a.onclick = function() {
                        //showImage(this.href, span[0].innerHTML);
                        showImage(this, false);
                        return false;
                    };
                    break;

                case "lightbox_flash":
                    a.index = j++;
                    a.onclick = function() {
                        showImage(this, true);
                        return false;
                    };
                    break;

            }
        }
    }
});