jQuery(hookupMenuBanners);

var z_index = 100;

function getLoadingDiv(colour) {
    return jQuery('<div class="loading"></div>');
}

function hookupMenuBanners() {
    jQuery(document).find('body').css('overflow-x', 'hidden');

    jQuery("div.column:not(.last) .banner .expand_button a,div.column:not(.last) .banner .closed a").click(openBanner);
    jQuery("div.column.last .banner .expand_button a,div.column.last .banner .closed a").click(openRightBanner);

    jQuery('div.banner').click(function() {
        jQuery(this).css("z-index", ++z_index);
    });
}

function openBanner() {
    var banner = jQuery(this).parents('div.banner');
    banner.css("left", "0");
    banner.css("top", "0");
    banner.css("z-index", ++z_index);

    var button = banner.find('.expand_button a,.closed a');
    button.parent().toggleClass('opened');
    button.unbind('click');
    var wrapper = banner.find('.wrap');
    //wrapper.css('height', wrapper.height() + 'px');
    var div = getLoadingDiv('green');
    banner.addClass('transition');
    
    if(typeof ie6menu_banners_fix != 'undefined') {
    	 ie6menu_banners_fix(banner);
    }

    wrapper.find('.inner_wrapper').fadeOut('fast', function() {
        wrapper.append(div);
        banner.animate({ width: "640px" }, 700, function() {
            //wrapper.css('height', 'auto');
            banner.find('.closed').hide();
            banner.find('.open').show();
            div.remove();
            banner.removeClass('transition');
            banner.parents('.banner_wrapper').addClass('expanded');
            wrapper.find('.inner_wrapper').fadeIn('fast');
            button.click(closeBanner);
            banner.find('.expand_button').effect('pulsate', { times: 10 }, 1000);
        });
    });    

    return false;
}

function closeBanner() {
    var banner = jQuery(this).parents('div.banner');
    var button = banner.find('.expand_button a,.closed a');
    button.parent().toggleClass('opened');
    button.unbind('click');
    var wrapper = banner.find('.wrap');
    wrapper.css('height', wrapper.height() + 'px');

    var div = getLoadingDiv();
    banner.addClass('transition');


    wrapper.find('.inner_wrapper').fadeOut('fast', function() {
        wrapper.append(div);
        banner.animate({ width: "305px" }, 700, function() {
            banner.find('.closed').show();
            banner.find('.open').hide();
            div.remove();
            banner.removeClass('transition');
            wrapper.find('.inner_wrapper').fadeIn('fast');
            wrapper.css('height', '');
            wrapper.parents('.banner_wrapper').removeClass('expanded');
            banner.css("z-index", '');
            button.click(openBanner);
            var throbber = banner.find('.expand_button');
            throbber.stop(true, true);
            throbber.css('opacity', '');
        });
    });

    return false;
}

function openRightBanner() {
    var banner = jQuery(this).parents('div.banner');
    var button = banner.find('.expand_button a,.closed a');
    button.parent().toggleClass('opened');
    button.unbind('click');
    var container = button.parents('div.banner_wrapper');
    banner.css('width', '305px');
    banner.css('float', 'right');
    banner.css("z-index", ++z_index);
    var wrapper = banner.find('.wrap')
    //wrapper.css('height', wrapper.height() + 'px');
   
    if(typeof ie6menu_banners_fix != 'undefined') {
    	 ie6menu_banners_fix(container);
    }     
   
    container.css('width', '640px');
    container.css('left',  '-335px');
	 //container.css('height', banner.height() + 'px');  

    var div = getLoadingDiv();
    var wrapper = banner.find('.wrap');
    banner.addClass('transition');

    wrapper.find('.inner_wrapper').fadeOut('fast', function() {
        wrapper.append(div);

        banner.animate({ width: "640px" }, 700, function() {
            banner.find('.closed').hide();
            banner.find('.open').show();
            div.remove();
            banner.addClass('expanded').removeClass('transition');
            wrapper.find('.inner_wrapper').fadeIn('fast');
            //wrapper.css('height', 'auto');
            wrapper.parents('.banner_wrapper').addClass('expanded');

            button.click(closeRightBanner);
            banner.find('.expand_button').effect('pulsate', { times: 10 }, 1000);
        });

    });    

    return false;
}

function closeRightBanner() {
    var banner = jQuery(this).parents('div.banner');
    var button = banner.find('.expand_button a,.closed a');
    button.parent().toggleClass('opened');
    button.unbind('click');
    var container = button.parents('div.banner_wrapper');
    banner.addClass('transition');

    var div = getLoadingDiv('red');
    var wrapper = banner.find('.wrap');
    wrapper.css('height', banner.find('.wrap').height() + 'px');
    wrapper.find('.inner_wrapper').fadeOut('fast', function(){
        wrapper.append(div);        
        
        banner.animate({width: "305px"}, 700, function(){
            banner.find('.closed').show();
            banner.find('.open').hide();
            div.remove();
            container.css('width', '305px');
            container.css('left',  '0');
            banner.removeClass('expanded').removeClass('transition');
            wrapper.find('.inner_wrapper').fadeIn('fast');
            wrapper.css('height', '');
            wrapper.parents('.banner_wrapper').removeClass('expanded');
            banner.css("z-index", '');
            button.click(openRightBanner);
            var throbber = banner.find('.expand_button');
            throbber.stop(true, true);
            throbber.css('opacity', '');
        });

    });    
   
    return false;
}