(function($){
  
    var cache = [];
    // Arguments are image paths relative to the current page.
    $.preLoadImages = function(){
        var args_len = arguments.length;
        for (var i = args_len; i--;) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)

var mainScroller, clientsScroller, clientLogoScroller, projectScroller, projectImageScroller;
projectImageScroller = new Array();
var currentSection = '#relationships';
$(document).ready(function(){

    //center the page
    $('#floater').center();
    //taking care of menu
    $("#main_navi a").live("click", function(){
        //remove .menu_active
        $('#main_navi a').each(function(){
            $(this).removeClass("menu_active");
        });
        //add .menu_active 
        $(this).addClass("menu_active");
    });
    
    // initialize OUR WORK scrollable
    
    $(".scrollable-main").scrollable({
        items: '.items-main',
        vertical: true,
        next: '.next-vertical',
        prev: '.prev-vertical',
        speed: 1,
        keyboard: false
    });
    mainScroller = $(".scrollable-main").data("scrollable");
    mainScroller.onSeek(function(){
        $('#relationships-vetical-scroller > .items-main > div').animate({
            'opacity': 'show',
            'filter': ''
        }, 400, function(){
        });
        $(".items-main").css('top','0'); //IE bug on logo click

        /*
         if (mainScroller.getIndex() != 0) {
         moveDownSandbar();
         }
         else {
         moveUpSandbar();
         };
         */
         
         if($('.client-logo2').length > 0){
             $('.vertical').css('z-index','10');
         }else{
            $('.vertical').css('z-index','0');
         }
    });
    
    mainScroller.onBeforeSeek(function(){
        $('#relationships-vetical-scroller > .items-main > div').css('display', 'none');
    });
    //mainScroller.seekTo(3,1);
    
    //set up individual client scrollers
    $("#our-work-scrollable").scrollable({
        items: '.clients',
        next: '.next-our-work',
        prev: '.prev-our-work',
        speed: 0,
        keyboard: false
    });
    
    clientsScroller = $("#our-work-scrollable").data('scrollable');
    clientsScroller.onSeek(function(e){
        //$('#client-logo-scrollable').fadeIn('slow');
        //$('.client-image').fadeIn('slow');
        
        $('.client-image').css('margin-left', '15px').css('display', 'none');
        $('.client-image').animate({
            'opacity': 'show',
            'margin-left': 0,
            'filter': ''
        }, 400, function(){
        });
    });
    
    clientsScroller.onBeforeSeek(function(e){
        //$('#client-logo-scrollable').fadeOut('fast');
        //$('.client-image').fadeOut('fast');
    });
    //event for the image click from main
    $("#our-work-scrollable a").click(function(e){
        $('.cssmenu').fadeOut('slow');
        projectImageScroller = new Array();
        projectScroller = '';
        moveDownSandbar();
        $.ajax({
            url: $(this).attr('href'),
            success: function(result){
                //$('#actual-content-holder').html(result).slideDown();
                mainScroller.addItem(result);
                
                $('.project-scrollable').scrollable({
                    items: '.project-images',
                    keyboard: false
                });
                
                $('.project-scrollable').each(function(index){
                    projectImageScroller.push($('.project-scrollable').eq(index).data('scrollable'));
                });
                
                $('#client-projects').scrollable({
                    vertical: true,
                    keyboard: false
                }).navigator('#main_navi');
                
                projectScroller = $('#client-projects').data('scrollable');
                
                $('.project-image-next').click(function(e){
                    var currentProjectIndex = projectScroller.getIndex();
                    var currentProjectImageIndex = projectImageScroller[currentProjectIndex].getIndex();
                    var currentProjectSize = projectImageScroller[currentProjectIndex].getSize();
                    //alert(currentProjectSize);
                    if (currentProjectImageIndex >= currentProjectSize - 1) {
                        projectImageScroller[currentProjectIndex + 1].seekTo(0, 0);
                        projectScroller.next(400);
                    }
                    else {
                        projectImageScroller[currentProjectIndex].next(400);
                    }
                });
                
                $('.project-image-prev').click(function(e){
                    var currentProjectIndex = projectScroller.getIndex();
                    var currentProjectImageIndex = projectImageScroller[currentProjectIndex].getIndex();
                    var currentProjectSize = projectImageScroller[currentProjectIndex].getSize();
                    //alert(currentProjectSize);
                    if (currentProjectImageIndex <= 0) {
                        projectImageScroller[currentProjectIndex - 1].seekTo(projectImageScroller[currentProjectIndex - 1].getSize() - 1, 0);
                        projectScroller.prev(400);
                    }
                    else {
                        projectImageScroller[currentProjectIndex].prev(400);
                    }
                });
                
                $('.client-close').click(function(e){
                    $('.relationships').click();
                })
                
                mainScroller.next(0);
                mainScroller.prev(400);
            }
        });
        e.preventDefault();
    });
    
    
    $("#client-logo-scrollable").scrollable({
        items: '.client-logos',
        next: '.next-our-work',
        prev: '.prev-our-work',
        keyboard: false
    });
    
    clientLogoScroller = $("#client-logo-scrollable").data('scrollable');
    
    clientLogoScroller.onSeek(function(e){
        //$('.client-logo-holder').fadeIn('fast');
        $('.client-logo').css('margin-left', '-15px').css('display', 'none');
        $('.client-logo').animate({
            'opacity': 'show',
            'margin-left': 0,
            'filter': ''
        }, 400, function(){
        });
    });
    
    $('.prev-our-work').click(function(e){
        clientLogoScroller.prev(0);
    });
    $('.next-our-work').click(function(e){
        clientLogoScroller.next(0);
    });
    
    // main navigation to other sections
    $('.abilities').click(function(){
        $('.client-logo').fadeOut('fast');
        $('.cssmenu a').removeClass('selected');
        $('.abilities a').addClass('selected');
        moveUpSandbar();
        $(currentSection).fadeOut('slow', function(e){
            $('#abilities').fadeIn('slow');
        });
        currentSection = '#abilities';
    });
    $('.relationships').click(function(){
        $('.cssmenu a').removeClass('selected');
        $('.relationships a').addClass('selected');
        moveUpSandbar();
        $(currentSection).fadeOut('slow', function(e){
            $('#relationships').fadeIn('slow');
            initRelationships();
        });
        currentSection = '#relationships';
    });
    $('.process').click(function(){
        $('.client-logo').fadeOut('fast');
        $('.cssmenu a').removeClass('selected');
        $('.process a').addClass('selected');
        moveUpSandbar();
        $(currentSection).fadeOut('slow', function(e){
            $('#process').fadeIn('slow');
        });
        currentSection = '#process';
    });
    $('.engage').click(function(){
        $('.client-logo').fadeOut('fast');
        $('.cssmenu a').removeClass('selected');
        $('.engage a').addClass('selected');
        
        $('#thankyou').hide();
        $('.main-form').show();
        moveUpSandbar();
        $(currentSection).fadeOut('slow', function(e){
            $('#engage').fadeIn('slow');
        });
        currentSection = '#engage';
    });
    
    $('#tytorean-home').click(function(e){
        $('.relationships').click();
    });
    
    //init contact form validation
    $('#engageForm').validate({
        submitHandler: function(){
            var submitData = $(this).serialize();
            $.ajax({
                url: 'https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8',
                method: 'POST',
                data: submitData,
                success: function(data){
                    $('.main-form').fadeOut('slow', function(e){
                        $('#thankyou').fadeIn();
                    });
                }
            });
            return false;
        }
    });
    
    $.preLoadImages('portfolio/cbdriver/CBDE-001.jpg', 'portfolio/cbdriver/CBDE-002.jpg', 'portfolio/cbdriver/CBDE-003.jpg', 'portfolio/cbdriver/CBDE-004.jpg', 'portfolio/cbdriver/CBDE-005.jpg');
});

function initRelationships(){
    $(".scrollable-main .items-main #client-main").remove();
    $('.tytorean-base > img').attr('src', 'images/tytoreanbase.png');
    clientsScroller.seekTo(0, 0);
    mainScroller.seekTo(0, 0);
    clientLogoScroller.seekTo(0, 0);
}

function moveDownSandbar(){
    $('.client-logo').fadeOut('fast');
    $('.tytorean-base > img').attr('src', 'images/tytoreanbase_dark.png');
    $('.footer').animate({
        top: '500px',
        'filter': ''
    }, 400);
    
}

function moveUpSandbar(){
    $('.cssmenu').fadeIn('fast');
    $('.footer').animate({
        top: '390px',
        'filter': ''
    }, 400);
}





