function caseStudyImagesLoaded() {
    $(".preloader").hide();
    $("#caseStudyNav").css("left", "42px");
    $("body").css("overflow","hidden");
    $("#caseStudyImages").children("img").each(function(){
        var w = $(this).innerWidth();
        var h = $(this).innerHeight();
        var ww = $(window).width();
        var wh = $(window).height();
        var wr = w / ww;
        var hr = h / wh;
        var r = (wr < hr) ? wr : hr;
        $(this).attr("width",w / r);
        $(this).attr("height",h / r);
    });
    $("#caseStudyImages").css("margin", "0");
    $("#caseStudyNav").data("copyOpen",false);
    $("#caseStudyCopy div.closed").mouseenter(function(){
        if(!$("#caseStudyNav").data("copyOpen")) openCopy();
    });
    $("#caseStudyCopy div.open").mouseleave(function(){
        if($("#caseStudyNav").data("copyOpen")) closeCopy();
    });
    startSlideshow();
}

function startSlideshow() {
    if($("#caseStudyImages").children("img").length > 1){
        enableControls();
        clearInterval($("#caseStudyImages").data("caseStudyTimer"));
        $("#caseStudyImages").data("caseStudyTimer",setInterval('transImages(true)',5000));
    } else {
        $("#caseStudyBack").hide();
        $("#caseStudyPause").hide();
        $("#caseStudyForward").hide();
    }
}

function enableControls() {
    $("#caseStudyForward").click(function(){
        disableControls();
        $("#caseStudyPause").hide();
        $("#caseStudyPlay").show();
        clearInterval($("#caseStudyImages").data("caseStudyTimer"));
        transImages(true);
    });
    $("#caseStudyBack").click(function(){
        disableControls();
        $("#caseStudyPause").hide();
        $("#caseStudyPlay").show();
        clearInterval($("#caseStudyImages").data("caseStudyTimer"));
        transImages(false);
    });
    $("#caseStudyPause").click(function(){
        $(this).hide();
        $("#caseStudyPlay").show();
        clearInterval($("#caseStudyImages").data("caseStudyTimer"));
    });
    $("#caseStudyPlay").click(function(){
        disableControls();
        $(this).hide();
        $("#caseStudyPause").show();
        clearInterval($("#caseStudyImages").data("caseStudyTimer"));
        $("#caseStudyImages").data("caseStudyTimer",setInterval('transImages(true)',5000));
        transImages(true);
    });
}

function disableControls() {
    $("#caseStudyForward").unbind('click');
    $("#caseStudyBack").unbind('click');
    $("#caseStudyPause").unbind('click');
    $("#caseStudyPlay").unbind('click');
}

function initCaseStudy() {
    $(".preloader").onImagesLoad({
        selectorCallback: function(){
            $(".preloader").css("width",$(".preloader img").width()+"px");
            $(".preloader").css("height",$(".preloader img").height()+"px");
            $(".preloader").css("margin-top",Math.floor($(window).height() / 2 - $(".preloader img").height() / 2) + "px");
        }
    });
    $("#caseStudyImages").css("margin", "0 0 0 5000px");
    $("#caseStudyCopy").data("openWidth", $('#caseStudyCopy div.open').width());
    $("#caseStudyCopy").data("openHeight", $('#caseStudyCopy div.open').height());
    $("#caseStudyCopy").data("closedWidth", $('#caseStudyCopy div.closed').width());
    $("#caseStudyCopy").data("closedHeight", $('#caseStudyCopy div.closed').height());
    $('#caseStudyCopy div.open').children(":first-child").hide();
    $('#caseStudyImages').onImagesLoad({
        selectorCallback: caseStudyImagesLoaded
    });
    $("#caseStudyImages").children("img.inactive").each(function(){
        $(this).animate({
            left: $(window).width()
        }, 10);
    });
    $(window).resize(function(){
        $("#caseStudyImages").children("img").each(function(){
            var w = $(this).innerWidth();
            var h = $(this).innerHeight();
            var ww = $(window).width();
            var wh = $(window).height();
            var wr = w / ww;
            var hr = h / wh;
            var r = (wr < hr) ? wr : hr;
            $(this).attr("width",w / r);
            $(this).attr("height",h / r);
        });
    });
}
    
function closeCaseStudy() {
    $("body").css("overflow","visible");
    clearInterval($("#caseStudyImages").data("caseStudyTimer"));
}

function closeCopy() {
    $("#caseStudyCopy div.closed").unbind("mouseenter");
    $("#caseStudyCopy div.open").unbind("mouseleave");
    $().unbind("mousemove");
    var w = $("#caseStudyCopy").data("closedWidth");
    var h = $("#caseStudyCopy").data("closedHeight");
    $('#caseStudyCopy div.open').children(":first-child").hide();
    $('#caseStudyCopy div.open').animate({
        width: w,
        height: h
    },300, function(){
        $(this).hide();
        $("#caseStudyCopy div.closed").show();
        if($("#caseStudyImages").children("img").length > 1) {
            clearInterval($("#caseStudyImages").data("caseStudyTimer"));
            $("#caseStudyImages").data("caseStudyTimer",setInterval('transImages(true)',5000));
            $("#caseStudyPause").show();
            $("#caseStudyPlay").hide();
            enableControls();
        }
        $("#caseStudyNav").data("copyOpen",false);
        $("#caseStudyCopy div.closed").mouseenter(function(){
            if(!$("#caseStudyNav").data("copyOpen")) openCopy();
        });
        $("#caseStudyCopy div.open").mouseleave(function(){
            if($("#caseStudyNav").data("copyOpen")) closeCopy();
        });
    });
}

function openCopy() {
    $("#caseStudyCopy div.closed").unbind("mouseenter");
    $("#caseStudyCopy div.open").unbind("mouseleave");
    $().unbind("mousemove");
    if($("#caseStudyImages").children("img").length > 1) {
        disableControls();
        $("#caseStudyPause").hide();
        $("#caseStudyPlay").show();
        clearInterval($("#caseStudyImages").data("caseStudyTimer"));
    }
    var w = $("#caseStudyCopy").data("openWidth");
    var h = $("#caseStudyCopy").data("openHeight");
    $("#caseStudyCopy div.closed").hide();
    $('#caseStudyCopy div.open').show();
    $('#caseStudyCopy div.open').animate({
        width: w,
        height: h
    },300, function(){
        $(this).children(":first-child").fadeIn(100, function(){
            $().mousemove(function(e){
                var offset = $("#caseStudyCopy div.open").offset();
                var xMin = offset.left;
                var yMin = offset.top;
                var xMax = xMin + $("#caseStudyCopy div.open").width();
                var yMax = yMin + $("#caseStudyCopy div.open").height();
                if(e.pageX < xMin || e.pageX > xMax || e.pageY < yMin || e.pageY > yMax) {
                    closeCopy();
                }
            });
            $("#caseStudyNav").data("copyOpen",true);
            $("#caseStudyCopy div.closed").mouseenter(function(){
                if(!$("#caseStudyNav").data("copyOpen")) openCopy();
            });
            $("#caseStudyCopy div.open").mouseleave(function(){
                if($("#caseStudyNav").data("copyOpen")) closeCopy();
            });
        });
    });
}

function transImages(forward) {
    disableControls();
    var $currImage = $("#caseStudyImages img.active");
    var currImageNewX = 0;
    var nextImageX = 0;
    var $nextImage = '';
    if(forward == 1) {
        $nextImage = ($currImage.is(":last-child") == 1) ? $("#caseStudyImages").children(":first-child") : $currImage.next();
        currImageNewX = - $currImage.width();
        nextImageX = $(window).width();
    }else {
        $nextImage = ($currImage.is(":first-child") == 1) ? $("#caseStudyImages").children(":last-child") : $currImage.prev();
        currImageNewX = $(window).width();
        nextImageX = - $nextImage.width();
    }
    $currImage.removeClass("active");
    $nextImage.removeClass("inactive");
    $nextImage.addClass("active");
    
    $nextImage.animate({
        left: nextImageX
    },10,function(){
        $currImage.animate({
            left: currImageNewX
        },800,function(){
            $(this).addClass("inactive");
        });
        $nextImage.animate({
            left: "0px"
        },800,function(){
            enableControls();
        });
    });
}
