var levelsSelection = new Array(4)

function getNextLevelTab(divTab, level) {
	return jQuery("#"+divTab.attr("id").replace(level,level+1));
}

function getPrecLevelTab(divTab, level) {
	return jQuery("#"+divTab.attr("id").replace(level,level-1));
}


function tab_click(event) {
	var tabItem = jQuery(event.target);
	var level = event.data;
	
	show_breadcrumb(tabItem, level);
	var tabsItem = getNextLevelTab(tabItem,level);
	show_tabs(tabsItem,level+1)
}

function tab_select(divTab, level) {
	show_breadcrumb(divTab, level);
		
}

function show_breadcrumb(divTab, level) {
	currentLevel = level;
	jQuery(".breadcrumb-item").removeClass("item-on");
	divToSelect = divTab;
	while (currentLevel>0) {
		jQuery("#breadcrumb-item"+currentLevel).addClass("item-on");
		levelsSelection[currentLevel]=divToSelect;
		jQuery("#breadcrumbcontent"+currentLevel).text(divToSelect.text());
		divToSelect = getPrecLevelTab(divToSelect.parent(),currentLevel);
		currentLevel--;
	}	
}

function breadcrumb_select(breadcrumbItem, level) {
	//Renvoie le tab item qui correspond à ce que l'on vient de cliquer
	var tabItem;
	
	
	
	//On Récupère le groupe dans lequel figure ce tab
	var tabsItem;
	if (level==0) {
		tabsItem = jQuery("#tabs-level1");
		tabitem = null;
	}
	else {
		tabItem= levelsSelection[level];
		if (tabItem.hasClass("tab-final"))
			return;
		tabsItem = getNextLevelTab(tabItem,level);
	}
	

	show_tabs(tabsItem,level+1);
	tab_select(tabItem,level);
}

function show_tabs(tabsItem, level) {
	jQuery(".tabs-on").removeClass("tabs-on");
	
	tabsItem.addClass("tabs-on");
	jQuery(".tab-level"+(level),tabsItem).addClass("tab-on");

}

function breadcrumb_click(event) {
	var breadcrumbItem = jQuery(event.target);
	var level = event.data;
	
	breadcrumb_select(breadcrumbItem, level);
}

function clickit() {
	var search = window.location.search;
	var theIndex = search.indexOf("click="); 
	if (theIndex>=0) {
		theIndex+="click=".length;
		var lastIndexOfSlash = search.indexOf("&", theIndex);
		if (lastIndexOfSlash <0)
			lastIndexOfSlash = search.length;
		
		theId = search.substring(theIndex, lastIndexOfSlash);
		window.location.href=jQuery("#"+theId+" a").attr("href");
		return;
	}
}

function tri_change() {
	jQuery("#trierPar").submit();
}

$(function(){
	
	window.setTimeout("window.clickit()", 300);
	
	$('div.tab-level1').bind("click",1,tab_click);
	$('div.tab-level2').bind("click",2,tab_click);
	$('div.tab-level3').bind("click",3,tab_click);
	
	$('#sortCombo').bind("change",tri_change);
	
	$('#breadcrumb-item0').bind("click",0,breadcrumb_click);
	$('#breadcrumb-item1').bind("click",1,breadcrumb_click);
	$('#breadcrumb-item2').bind("click",2,breadcrumb_click);
	$('#breadcrumb-item3').bind("click",3,breadcrumb_click);
	
	
	
	var currentPageFull = window.location.pathname;
	if (currentPageFull=='' || currentPageFull=='/') {
		currentPageFull= window.defaultPage;
	}

	indexOfLastSlash = currentPageFull.lastIndexOf('/');
	
	currentPageFull=currentPageFull.substring(indexOfLastSlash)

	if (currentPageFull.charAt(0)=='/') {
		currentPageFull= currentPageFull.substring(1, currentPageFull.length);
	}
	
	itemToSelect = jQuery("#menu a[href$='"+currentPageFull+"']");

	if (itemToSelect.hasClass("tab-level1")) {
		currentLevel = 1;
	}
	if (itemToSelect.hasClass("tab-level2")) {
		currentLevel = 2;
	}
	if (itemToSelect.hasClass("tab-level3")) {
		currentLevel = 3;
	}
	
	tab_select(itemToSelect, currentLevel);
});
