var blocksales = {
    currentPosition: 0, 
    itemOffsetWidth: null,
    canMove: true,
    isLoaded: true,
    language: null,
    pages: [
        {url: '/', id: 'page_home', menuSelector: ''},
        {url: '/content/about-us.html', id: 'page_content_about-us', menuSelector: 'li.about-us'},
        {url: '/content/team.html', id: 'page_content_team', menuSelector: 'li.about-us'},
        {url: '/content/strategies.html', id: 'page_content_strategies', menuSelector: 'li.about-us'},
        {url: '/business', id: 'page_business', menuSelector: 'li.business'},
        {url: '/press', id: 'page_press', menuSelector: 'li.press'},
        {url: '/press/clipping', id: 'page_press_clipping', menuSelector: 'li.press'},
        {url: '/press/resources', id: 'page_press_resources', menuSelector: 'li.press'},
        {url: '/press/news', id: 'page_press_news', menuSelector: 'li.press'},
        {url: '/innovation', id: 'page_innovation', menuSelector: 'li.innovation'},
        //{url: '/innovation/laboratory', id: 'page_innovation_laboratory', menuSelector: 'li.innovation'},
        {url: '/contact', id: 'page_contact', menuSelector: 'li.contact'}
    ],
    init: function() {
        if(location.hash) {
            var hash = ( location.hash.replace( /^#/, '' ) || '' );
            location.href = hash;
	}
        
        if(blocksales.language == null)
            blocksales.language = $('html').attr('lang');
        blocksales.itemOffsetWidth = $('.pages > div.page').width();
        //debugger;
        var uri = window.location.pathname.replace(/^\/(\w{2})(\/)?/g, '/');
        var previous = true;
        for(var i in blocksales.pages) {
            if(blocksales.pages[i].url == uri) {
                previous = false;
                $('#'+blocksales.pages[i].id).attr('source', '/'+blocksales.language+blocksales.pages[i].url);
                continue;
            }
            var newPage = $('<div class="page" id="'+blocksales.pages[i].id+'" source="/'+blocksales.language+blocksales.pages[i].url+'"></div>');
            if(previous) {
                $('.pages .page:last').before(newPage);
                $('.pages').css('left', (parseInt($('.pages').css('left'), 10)-blocksales.itemOffsetWidth)+'px');
                blocksales.currentPosition++;
            }
            else {
                $('.pages .page:last').after(newPage);
            }
        }
        blocksales.setArrows();
        blocksales.setMenuBehaviors();
        blocksales.setExpose();
    },
    move: function(dPositions) {
        if(typeof dPositions == 'undefined') {
            dPositions = +1;
        }
        if(!blocksales.canMove || (dPositions > 0 && blocksales.currentPosition+dPositions >= $('.pages > div.page').length) || (dPositions < 0 && blocksales.currentPosition+dPositions < 0)) {
            return false;
        }
        blocksales.canMove = false;
        blocksales.isLoaded = false;
        blocksales.currentPosition = blocksales.currentPosition + dPositions;
        $.get($('.pages .page:eq('+blocksales.currentPosition+')').attr('source'), function(response, status, xhr) {
            $('.pages .page:eq('+blocksales.currentPosition+')').replaceWith(response);
            var currentUrl = '/'+blocksales.language+blocksales.pages[blocksales.currentPosition].url;
            $('.pages .page:eq('+blocksales.currentPosition+')').attr('source', currentUrl);
            try{
                pageTracker._trackPageview(currentUrl);
            } catch(e) {}
        })
        .error(function() {
            alert("Sorry but there was an error");
        });
        $('.pages').animate({left: (parseInt($('.pages').css('left'), 10)-(dPositions*blocksales.itemOffsetWidth))+'px'}, 1000, 
            function() {blocksales.canMove = true; 
        });
        
        $('.menu ul li.selected').removeClass('selected');
        $(blocksales.pages[blocksales.currentPosition].menuSelector).addClass('selected');
        
        location.hash = $('.pages .page:eq('+blocksales.currentPosition+')').attr('source');
        //debugger;
        $('.mainContainer .browse.next').css('display', (blocksales.currentPosition >= (blocksales.pages.length-1)) ? 'none' : 'block');
        $('.mainContainer .browse.previous').css('display', (blocksales.currentPosition <= 0) ? 'none' : 'block');
        return true;
    },
    setArrows: function() {
        $('.mainContainer').append($('<a href="#" class="browse previous">Anterior</a>'));
        $('.mainContainer').append($('<a href="#" class="browse next">Siguiente</a>'));
        
        $('.mainContainer .browse.previous').click(function() {blocksales.move(-1);return false;});
        $('.mainContainer .browse.next').click(function() {blocksales.move(+1);return false;});
        
        $('.mainContainer .browse.next').css('display', (blocksales.currentPosition >= (blocksales.pages.length-1)) ? 'none' : 'block');
        $('.mainContainer .browse.previous').css('display', (blocksales.currentPosition <= 0) ? 'none' : 'block');
    },
    setMenuBehaviors: function() {
        $('.menu li > a[target!="_blank"], a.menu_link').live('click', function() {
            if(blocksales.canMove) {
                var self = $(this);
                var indexPosition = $('.pages .page').index($('.pages .page[source="'+self.attr('href')+'"]'));
                if(indexPosition > 0 && indexPosition-blocksales.currentPosition != 0) {
                    blocksales.move(indexPosition-blocksales.currentPosition);
                }
            }
            return false;
        });
        $('.header .logo a').click(function() {
            if(blocksales.canMove) {
                var self = $(this);
                if(blocksales.currentPosition > 0) {
                    blocksales.move(blocksales.currentPosition*(-1));
                }
            }
            return false;
        });
    },
    setExpose: function() {
        $('.mainContainer').append($('<div class="expose left"></div>'));
        $('.mainContainer').append($('<div class="expose right"></div>'));
    }
};

window.onload = blocksales.init;

$('a.expande').live('click', function() {
    $(this).parents('li').find('.expandible').slideToggle();
    return false;
});
