$(document).ready(function() {
/***** $(document).ready() *****/

var curImg = 0;
var startw = 0;
var starth = 0;
var startl = 0;
var startt = 0;
var images = null;

$("body").prepend("<div id='df_lightbox'></div>");

var lb = $("#df_lightbox");
lb.prepend("<img src='../../casestudy_images/blank.gif' alt='' />");
lb.prepend("<div class='background'></div>");
lb.append("<div class='nav'><a href='#' class='prev'>Previous</a><a href='#' class='next'>Next</a></div>");
var endw = lb.outerWidth();
var endh = lb.outerHeight();

lb.children("div.background").width(endw + parseInt(lb.css("padding-left")) + parseInt(lb.css("padding-right")));
lb.children("div.background").height(endh + parseInt(lb.css("padding-top")) + parseInt(lb.css("padding-bottom")));

lb.find("div.nav a.prev").click(function() {
    if (curImg != 0)
        lb.children("img").attr("src", images[--curImg]);
        
    if (curImg == 0) {
        $(this).hide();
        $(this).siblings("a.next").show();
    }
    
    if (curImg > 0) {
        $(this).siblings("a.next").show();
    }
    
    return false;
});

lb.find("div.nav a.next").click(function() {
    if (curImg+1 < images.length)
        lb.children("img").attr("src", images[++curImg]);
        
    if (curImg+1 == images.length)
        $(this).hide();
    
    if (curImg > 0)
        $(this).siblings("a.prev").show();
        
    return false;
});

lb.children("div.background, img").click(function() {
    lb.children("div.background").animate({
        opacity: 0,
        easing: 'easeInCirc'
    }, 200);

    lb.animate({
        width: startw,
        height: starth,
        left: startl,
        top: startt,
        easing: 'easeInCirc'
    }, 290, function() { $(this).hide(); });
    
});

lb.hide();

$("img.df_lightbox").each(function(idx) {
    var myImage = $(this);
    var image = $(this).attr("src");

    $(this).wrap("<div class='df_lightbox_holder'></div>");
        
    $(this).parent().prepend("<a href='"+image+"'></a>");
    
    var link = $(this).parent();
    
    link.click(function() {
        curImg = 0;
        
        images = myImage.attr("alt").split(",");
        
        lb.find("div.nav a.prev").hide();
        
        if (images.length == 1)
            lb.find("div.nav a.next").hide();
        else
            lb.find("div.nav a.next").show();
        
        if (images.length == 1)
            lb.children(".nav").hide();
        else
            lb.children(".nav").show();
        
        lb.children("img").attr("src", images[0]);
        
        startw = myImage.width();
        starth = myImage.height();
        startl = myImage.offset().left +
            parseInt(myImage.css("border-left-width")) +
            parseInt(myImage.css("padding-left")) -
            parseInt(lb.css("padding-left"));
        startt = myImage.offset().top +
            parseInt(myImage.css("border-top-width")) +
            parseInt(myImage.css("padding-top")) -
            parseInt(lb.css("padding-top"));
        
        lb.css("left", startl);
        lb.css("top", startt);
        lb.width(startw);
        lb.height(starth);
        
        lb.children("div.background").css("opacity", "");
        $(this).show();

        lb.animate({
                width: endw,
                height: endh,
                left: ($("body").width() / 2) - ((endw + parseInt(lb.css("padding-left")) + parseInt(lb.css("padding-right")))/2),
                top: ($(window).height() / 2) - ((endh + parseInt(lb.css("padding-top")) + parseInt(lb.css("padding-bottom")))/2),
                easing: 'easeInCirc'
            }, 290);

        lb.children("div.background").animate({

            easing: 'easeInCirc'
        }, 250);
        
        return false;
    });

});

/***** / $(document).ready() *****/
});