var separator = ';';
$(document).ready(function(){
//	$('.accordion').click(toggleAccordionTab);
	$('.block_manager').click(function(){
		blockName = $(this).attr('href').replace('#','');
		openAccordionTab(blockName);
	});
	
	$('.accordion a').click(onAccordionClick);
	
});

function onAccordionClick(event){
	var href = $(this).attr('href').replace(/^#/, '');
	
	url = $.address.value().replace(/~/g, '');
	url = url.replace(/\//g, '');
	tab_ids = url.split(separator);
	
	if($.address.value() == '/'){
		var request = [];

		$('.accordion a[href!=#'+href+']').each(function(){
			request.push($(this).attr("href").replace(/^#/, ''));
		});
		address_value = request.join(separator);
	} else if(jQuery.inArray( href, tab_ids ) >= 0){
		tab_ids.splice(jQuery.inArray( href, tab_ids ), 1);
		address_value = tab_ids.join(separator);
	} else {
		if(url == ''){
			address_value = $(this).attr('href').replace(/^#/, '');
		}else{
			address_value = url + separator + $(this).attr('href').replace(/^#/, '');
		}
	}
	if(address_value == ''){
		address_value = '~';
	}
	$.address.value(address_value);
	return false;
}

$.address.change(function(event) {
	if(event.value != '/'){
		//if the address is changed from the menu and not the accordion tab
//		if(event.value[0] != "_"){
//			$(".blockContent_container").hide();
//			$(".accordion.accordion_active").removeClass("accordion_active");
//			openAccordionTab(event.value);
//			setActiveLink(event.value);
//		}else{
//			event.value = event.value.substring(1);
			toggleAccordionTabs(event);
//		}
	}else{
		openAccordionTab();
		setActiveLink();
	}
	
});

function openAccordionTab(tabId){
	var tab;
	if(tabId == null){
		tab = $('.accordion');
	}
	else
	{
		tab = $('#' + tabId);
	}
	
	tab.addClass('accordion_active');
	tab.next().show(200);
	return false;
}

function closeAccordionTab(tabId){
	$('#' + tabId).removeClass('accordion_active');
	$('#' + tabId).next().hide(200);
}

function setActiveLink(href) {
	if(href == null) {
		$("a.block_manager").removeClass("block_manager_active");
	} else {
		$("a.block_manager").removeClass("block_manager_active");
		$("a[href="+href+"]").addClass("block_manager_active");
	}
}

function toggleAccordionTabs(event){
	url = event.value;
	url = url.replace(/\//g, '');
	tab_ids = url.split(separator);
	
	for(var i = 0; i < tab_ids.length; i ++) {
		tab_ids[i] = "tab_" + tab_ids[i].toLowerCase().replace(/ /gi, "_");
	}
	if(tab_ids.length == 1){
		setActiveLink($("#"+tab_ids[0] + " a").attr("href"));
	}
	else{
		setActiveLink();
	}
	$('.accordion').each(function(){
//		alert(tab_ids.indexOf( $(this).attr('id')));
		if(jQuery.inArray( $(this).attr('id'), tab_ids ) == -1){ // tab should be closed
//		if(tab_ids.indexOf( $(this).attr('id')) == -1){ // tab should be closed
			closeAccordionTab($(this).attr('id'));
		} else { // tab should be open
			openAccordionTab($(this).attr('id'));
		}
	});
}