var BASE = $('base').attr('href');

//store panels
var panels = {};
var paneltab = null;

function showPanel(html) {
    $('#panel').html(html).css('height', 'auto');
    if (paneltab.attr('id') == 'all-products') {
    	$('#panel').css('left', '182px').css('right', '0px');
    } else {
    	var tabpos = paneltab.position();
    	$('#panel').css('left', (tabpos.left + 182) + 'px').css('right', (960 - tabpos.left - 532) + 'px');
    }
    $('#panel').stop(true, true).slideDown();
}

function closePanel() {
    $('#panel').delay(1000).slideUp(function () {
	setActiveTab(null);
    });
}

function setActiveTab(tab) {
    paneltab = tab;
    $('#tabs li').removeClass('on');
    if (tab) {
	tab.addClass('on');
    }
}

function setupTabs() {
    $('#panel').hide();
    $('#tabs li').hover(function () {
	var url = $('a', this).attr('data-panel');
	if (!url) return;
	url = BASE + url;
	var tab = $(this);
	var panel = $('#panel');
	if (panels[url]) {
	    setActiveTab(tab);
	    paneltab = tab;
	    showPanel(panels[url]);
	} else {
	    $.get(url, {}, function (data, textStatus, transport) {
		setActiveTab(tab);
		paneltab = tab;
		panels[url] = transport.responseText;
		showPanel(transport.responseText);
	    });
	}
    },
    closePanel
    );

    $('#panel').hover(function () {
	$(this).stop(true, true);
    },
    closePanel);
}

$(document).ready(function () {
    $('#basket-extended').hide();
    document.basket_hidden = true;
    setupTabs();

    $('#basket-toggle').click(function () {
        $('#basket-extended').slideToggle();
	$('#basket-toggle').toggleClass('open');
    });
});

