var scrollableApi = null;

$(document).ready(function(){
    //initialize scrollable
    scrollableApi = $("div.scrollable").scrollable({
        size: 3,
        onBeforeSeek: function(event, i) {
            highlightSelectedApp(i);
        },
        onSeek: function(event, i) {
            showAppContent(i);
        },
        keyboard: false
    }).circular({
        api: true
    });
    
    var fragment = location.hash;
    if(fragment == null || fragment == undefined || fragment === "") {
        $("#app_scroll .items img:first[class!=cloned]").click();
    }
    else {
        fragment = fragment.replace("#","");
        var selectedApp = $("#app_scroll .items img[data-screenshot-id='" + fragment + "_screenshot']:last");
        if(selectedApp.size() > 0) {
            selectedApp.click();
        }
        else {
            $("#app_scroll .items img:first").click();
        }
    }
    
    if(navigator.userAgent.match("iPod") || navigator.userAgent.match("iPad") || navigator.userAgent.match("iPhone")) {
        var destURL = contextPath + "/mgallery";
        $(".app_buttons .images_link").click(function(event){
            //Get all the images that go with me.
            var fancyboxRelAttr = $(this).attr("rel");
            var imgLinks = $("a[rel='" + fancyboxRelAttr + "']");
            //Make up a form because AJAX doesn't help us here
            var form = $("<form>").css("display", "none").attr("method", "post").attr("action",destURL);
            
            imgLinks.each(function(i, elem){
                var hidden = $("<input type='hidden'>").attr("name", "imgURL").attr("value", encodeURI($(elem).attr("href")));
                form.append(hidden);
            });
            
            var headerImgURL = encodeURI($(event.target).parents(".app_content").children(".app_header").attr("src"));
            var hidden = $("<input type='hidden'>").attr("name", "headerImgURL").attr("value", headerImgURL);
            form.append(hidden);
            
            var returnFragment = $(event.target).parents(".app_content").attr("id");
            returnFragment = "#" + returnFragment.substring(0, returnFragment.lastIndexOf("_app_content"));
            hidden = $("<input type='hidden'>").attr("name", "returnFragment").attr("value", returnFragment);
            form.append(hidden);
            
            $("body").append(form);
            form.submit();
            return false;
        })
    }
    else {
        //activate the galleries
        $("a.images_link[rel^='fancybox']").fancybox({
            overlayOpacity: 0.6,
            overlayColor: '#000000',
            titleShow: false
        });
    }
    
    
    if(hasflash()) {
        //activate the videos
        $("a.video_link[rel^='fancybox']").fancybox({
            overlayOpacity: 0.6,
            overlayColor: '#000000',
            titleShow: false,
            type: 'swf',
            swf: {
                wmode: 'transparent'
            }
        });
    }
});

function highlightSelectedApp(appIndex) {
    var newSelectedApp = scrollableApi.getItems().get(appIndex+1);

    var imgSrc = null;
    $("#app_scroll .items img").each(function(i, elem){
        imgSrc = $(this).attr("src");
        imgSrc = imgSrc.replace("ON", "OFF");
        $(this).attr("src", imgSrc);
    });

    imgSrc = $(newSelectedApp).attr("src");
    imgSrc = imgSrc.replace("OFF", "ON");
    $(newSelectedApp).attr("src", imgSrc);
}

function showAppContent(appIndex) {
    var newSelectedApp = scrollableApi.getItems().get(appIndex+1);

    var newAppScreenshotId = $(newSelectedApp).attr("data-screenshot-id");
    $("#iphone_app_screenshot img").fadeOut();
    $("#" + newAppScreenshotId).fadeIn("slow");
    
    var newAppContentId = $(newSelectedApp).attr("data-content-id");
    $("#content_box .app_content").fadeOut();
    $("#" + newAppContentId).fadeIn("slow");
}
