/*
    @author Jacob Overgaard
    @company SmartWeb ApS
    @file jquery.mainslider.js
*/

var flagActive = false;
jQuery(function(){
    if (!jQuery.browser.msie || (jQuery.browser.msie && jQuery.browser.version >= 8.0)) {
        // Register listeners
        jQuery("#MainArrowLeft").click(function() {
            getContent('left');
        });
        jQuery("#MainArrowRight").click(function() {
            getContent('right');
        });
        bindMenu();
    }
    leftColumn();
    
    setTimeout('FB.XFBML.parse()', 2000);
});

function bindMenu() {
    jQuery("#NavigationMenu >a").not('a#Bestil').click(function(e) {
        e.preventDefault();
        var direction = null;
        if (jQuery(this).nextAll('a.active').length > 0) {
            direction = 'left';
        } else {
            direction = 'right';
        }
        getContent(direction, jQuery(this));
    });
}

function leftColumn() {
    jQuery("#LeftColumn").load('/turneplan/ #Events', function() {     
        refreshCufon();
    });
}

function getContent(direction, init) {
    if (!flagActive) {
        flagActive = true;
        var slider = jQuery("#Wrapper");
        slider.css('position', 'relative');
        var el = jQuery("#NavigationMenu a.active");
        var distance = direction == 'left' ? '+=100%' : '-=100%';
        slider.animate({
            left: distance
        }, 250, function() {
            if (direction == 'left')
                slider.css('left', '-100%');
            else
                slider.css('left', '100%');
            var maincon = "#MainContent";
            var url = null;
            var active = null;
            if (direction == 'left' && init == null) {
                var prev = el.attr('id') == 'Start' ? jQuery("#NavigationMenu a:last-child") : (el.attr('id') == "Kontakt" ? jQuery(el).prev().prev().prev().prev() : jQuery(el).prev().prev());
                active = prev;
                url = prev.attr('href') == null ? '/' : prev.attr('href');
            }
            else if (direction == 'right' && init == null) {
                var next = el.attr('id') == 'Kontakt' ? jQuery("#NavigationMenu a:first-child") : (el.attr('id') == "Pressekit" ? jQuery(el).next().next().next().next() : jQuery(el).next().next());
                active = next;
                url = next.attr('href') == null ? '/' : next.attr('href');
            }
            else if (init != null) {
                active = init;
                url = init.attr('href') == null ? '/' : init.attr('href');
            }
            else {
                url = '/';
            }
            
            // Main loader //
            jQuery(maincon).load(url + ' ' + maincon, function() {
                jQuery("#Navigation").css('position', 'fixed');
                if (active.attr('id') == 'Pressekit' || active.attr('id') == 'Kontakt') {
                    jQuery("#Preben,#AndersThomas").show();
                } else {
                    jQuery("#Preben,#AndersThomas").hide();
                }
                //Classes
                jQuery("#Wrapper").attr('class', jQuery("#BodyClasses").html());
                bindMenu();
                if (active.attr('id') == 'Biografi') {
                    biografiMenu();
                    jQuery("#Navigation").css('position', 'relative');
                }
                if (active.attr('id') == 'Start') {
                    leftColumn();
                }
                refreshCufon();
                
                slider.animate({
                    left: distance
                }, 250, function() {
                    // Scrollpane
                    /*
                    jQuery("#TextWrapper").not('#Wrapper.biografi #TextWrapper').jScrollPane({
                        showArrows: true,
                        verticalGutter: -41,
                        verticalDragMinHeight: 41,
                        verticalDragMaxHeight: 41
                    });
                    */
                    setTimeout('FB.XFBML.parse()', 2000);
                    flagActive = false;
                });
                
                frontpageNews();
            });
            // ----- //
        });
    }
}
