/*!
	Author: Dimitar Marinov bai huio
	di.marinov@gmail.com
*/

(function($){

function hideAll(obj) {
	$('.tab', obj).each(function() {
		$(this).hide();
	});
	
	$('ul>li', obj).each(function() {
		$(this).removeClass("active");
		$(this).removeClass("hover");
	});
}

function setAjaxContent(obj, index, url) {
	i = 0;
	$('.tab', obj).each(function() {
		if ( i == index ) { $(this).load(url); $(this).show(); }
		i++;
	});
}

/**
Kogato ima remember e true, i ima selectedIndex, 1viq put shte izbere selectedIndexa, i ot tam samo rememberedTab
za da izbira samo selectedIndex, remember triaa da e false ili da ne e setnato
*/

$.fn.tabs = function(data) {
	id = this.attr("id");
  
	var self = this;
	selectedIndex = data.selectedIndex;
	var remember = data.rememberTab;
	rememberedTab = getCookie("tabs_"+id);
	$(this).attr("remember", remember);
	if ( !selectedIndex && remember ) selectedIndex = rememberedTab;
	
	if ( rememberedTab != selectedIndex && rememberedTab != null && remember ) selectedIndex = rememberedTab;
 	if ( selectedIndex == null ) selectedIndex = 0;
 	
 	
	tabs_container = this;
	var i = 0;

	$('.tab', self).each(function() {
		 
		if ( i != selectedIndex ) $(this).hide();
		i++;
	});

	i = 0;
	$('.tabs li', self).each(function() {
		if ( i == selectedIndex ) $(this).addClass("active");
		i++;
	});

	$('.tabs li ', self).each(function(index) {		 
		$(this).bind ("click", function(){ 
			id = $(this).parent().parent().attr("id");
			 
			remember = $(this).parent().parent().attr("remember");
			
			action = $("a", $(this)).attr("href");
			rel = $("a", $(this)).attr("rel");
			if ( rel == 'clean' ) {
				document.location = action;
				return;
			}
			
 
			hideAll(self);
			if ( remember ) setCookie('tabs_'+id, index);
			$(this).addClass("active");
			
		 /*	$(this).unbind("mouseover");
		 	$(this).unbind("mouseout");*/
		 	
			if ( rel == 'ajax' ) { // imame ajax tab
				setAjaxContent(self, index, action);
			}
			else  // obiknoven tab
				$(action).show();
				
			$("a", $(this)).blur();
			$(this).blur();
			return false;
		});
	});
}

})(jQuery);

