$(document).ready(function(){

    var img_cache = [];
    $('img.image-text').each(function(){
    
        // Cache mouseover images
        var im = document.createElement('img');
        im.src = $(this).attr('src').replace('.png', '_over.png');
        img_cache.push(im);
                
        // Swap image on hover
        $(this).parent().hover(
            function(){
                $(this).find('img').attr('src', $(this).find('img').attr('src').replace('.png', '_over.png'));
            },
            function(){
                $(this).find('img').attr('src', $(this).find('img').attr('src').replace('_over.png', '.png'));
            }
        );
    });
    
    $('a.box').fancybox({
    	transitionIn	    :	'elastic',
		transitionOut	    :	'fade',
		speedIn		        :	600, 
		speedOut		    :	200, 
		cyclic              :   true,
		overlayShow	        :	true,
		overlayOpacity      :   0.8,
		overlayColor        :   '#000',
		hideOnOverlayClick  :   false,
		
		
    });
    
    $('a.button, a.login').fancybox({
        transitionIn	    :	'fade',
		transitionOut	    :	'fade',
		speedIn		        :	600, 
		speedOut		    :	200, 
		cyclic              :   true,
		overlayShow	        :	true,
		overlayOpacity      :   0.8,
		overlayColor        :   '#000',
		hideOnOverlayClick  :   false,
		titleShow           :   false
    
    });

    $('#viewport').data('index', 0);
    var seek = function(index) {
        if (index > $('#pages .page').length-1){
            index = 0;
        }
        if (index < 0){
            index = $('#pages .page').length-1;
        }
        $('#viewport').data('index', index);
        $('#pages').animate({
            left: -$('#pages .page:eq('+ index +')').position().left
        });
    }
    
    $('#carousel-left').click(function(){
        seek($('#viewport').data('index')-1);
    });
    $('#carousel-right').click(function(){
        seek($('#viewport').data('index')+1);
    });
    
    setTimeout(function(){
        $('#carousel-left span, #carousel-right span').fadeOut();
    }, 1000)
    
    
    
    $('body.admin ul.sortable li').each(function(){
        $(this).append('<span class="handle"></span>');
    });
    
    
    $('body.admin ul.sortable li:has(ul)').each(function(){
        $(this).prepend('<span class="drop inactive"></span>');
    });
    
    $('body.admin ul.sortable').sortable({
        handle: '.handle',
        update: function(event, ui){
            var order = $(this).sortable('serialize').replace(/\[\]/g, '');
            $.get('/admin/sort/?' + order);
        }
    });
    
    
    var store_drop = function(){
        var opens = [];
        $('span.drop.active').parent('li').each(function(){
            opens.push($(this).attr('id'));
        });
        $.cookie('admin_state', opens, { expires: 365 });
    };
    
    var restore_drop = function(){
        var opens = $.cookie('admin_state').split(',')
        for (var i in opens){
            var e = $('#' + opens[i] + ' span.drop:first');
            e.addClass('active').removeClass('inactive');
            e.siblings('ul').show();
            e.siblings('.info').show();
        }
    };
    
    $('ul .drop.active').live('click',
        function(){
            $(this).removeClass('active').addClass('inactive');
            $(this).siblings('ul,.info').slideUp();
            store_drop();
        });
    
    $('ul .drop.inactive').live('click',
        function(){
            $(this).addClass('active').removeClass('inactive');
            $(this).siblings('ul,.info').slideDown();
            store_drop();
        });
    
    if ($('body').hasClass('admin')){
        restore_drop();
    } 
    
});

