

function initTabs(){
	if( ! $$('a.switch-tab') ){
		return;
	}
	$$('a.switch-tab').each(
		function(tab,index){
			if(tab.hasClass('selected')) switchTab(tab);

			tab.addEvent('click',
				function(event){
					event.stop();
					switchTab(this);
				}
			);
		}
	);

	if(!$$('a.switch-tab.selected').length ){
		switchTab($$('a.switch-tab')[0]);
	}
	else{
		$$('a.switch-tab.selected') .each(
			function(tab){
				switchTab(tab);
			}
		);
	}
	
	
	
}

function initToggle(){
	if( ! $$('a.toggle-item').length ){
		return;
	}
	$$('a.toggle-item').each(function(item){
			if(item.rel && $(item.rel)){
				if($(item.rel).hasClass('hidden')){
					switchClass($(item.rel),'hidden','hide');
					item.removeClass('expand');
					item.addClass('collapse');
				}
				else{
					item.addClass('expand');
					item.removeClass('collapse');
					$(item.rel).addClass('show');
				}
			}
			item.addEvent('click', function(event){
					event.stop();
					if(this.rel && $(this.rel)){
						switchClass($(this.rel),"show","hide");
						switchClass(this,"collapse","expand");
					}
				}
			);
		}
	);
}

function switchClass(elem,class1,class2){
	if(elem.hasClass(class1)){
		elem.removeClass(class1);
		elem.getElements('.'+class1).each(function(item){item.removeClass('hide')});
		elem.addClass(class2);
		elem.getElements('.'+class2).each(function(item){item.addClass('hide')});
		
	}
	else if(elem.hasClass(class2)){
		elem.removeClass(class2);
		elem.getElements('.'+class2).each(function(item){item.removeClass('hide')});
		elem.addClass(class1);
		elem.getElements('.'+class1).each(function(item){item.addClass('hide')});
	}
}

function switchTab(tab){
	if(!tab)return;

	var tabs = new Elements();
	
	var tabParent = tab.getParent();
	while(tabs.length <= 1 && tabParent){
		tabs =tabParent.getElements('a.switch-tab');
		tabParent = tabParent.getParent();
	}
	
	if(tabs.length > 1) tabs.each(
		function(elem){
			if(elem == tab){
				elem.addClass('selected');
				if($(elem.rel)) $(elem.rel).removeClass('hide');
			}
			else{
				if($(elem.rel)) $(elem.rel).addClass('hide');
				if(elem.hasClass('selected')) elem.removeClass('selected');
				
			}
		}
	);
}

//to prevent loading toggle twice, if toggle has been loaded set toggleLoaded = true
if(typeof toggleLoaded != 'boolean' || !toggleLoaded ){
	window.addEvent('domready', initToggle);
	window.addEvent('domready', initTabs);
}
