(function($){
	$.sl = $.sl || {};
	/**
	 * Zwraca liczbe milisekund jakie uplynely
	 * od 1970 roku do podanej daty
	 *
	 * @day		- dzien
	 * @month	- miesiac
	 * @year	- rok
	 *
	 * @return integer
	 */
	$.sl.dateToMiliseconds = function(day, month, year){
		if(arguments.length == 0){
			var Now		= new Date();
			var day		= Now.getDay();
			var month	= Now.getMonth();
			var year	= Now.getFullYear();
		}else{
			var day		= parseInt(day);
			var month	= parseInt(month);
			var year	= parseInt(year);
		}
		if(isNaN(day) || isNaN(month) || isNaN(year))
			return false;

		if(year < 1970)
			return false;

		var D = new Date(year, (month -1), day);
		return D.getTime();
	}

	$.sl.tabs = function (options){
		var classTab			=	options.classTab;
		var classTabContent		=	options.classTabContent;
		var classTabSelected	=	options.classTabSelected;

		function getTabSelectedFromUrl(){
			var anchor = $.trim(window.location.hash.replace("#", ""));
			console.log("anchor", anchor);
			var idTabSelected = "";
			if(anchor.indexOf("__") > 0){
				idTabSelected = anchor.split("__")[0];
			}else{
				idTabSelected = anchor;
			}
			console.log("idTabSelected", idTabSelected);
			if(!idTabSelected.length){
				return null;
			}

			var el = $("#" + idTabSelected);
			if(!el){
				return null;
			}
			
		    if(!el.hasClass(classTab)){
				return null;
			}

			return el;
		}

		function callbackClick(el){
			var elementSelected;

			if(!el){
				elementSelected = $("." + classTabSelected);
			}else{
				elementSelected = $(el);
			}

			if(elementSelected.hasClass(classTabSelected)){
				return;
			}

			$("." + classTabContent).hide();
			$("." + classTab).each(function(){
				$(this).removeClass(classTabSelected);
			});

			var idTabToDisplay = elementSelected.attr("id") + '-content';

			elementSelected.addClass(classTabSelected);
			$("#" + idTabToDisplay).show();
		}


		$("." + classTab).click(function(event){
			event.preventDefault();
			callbackClick(this);
		});

		callbackClick(getTabSelectedFromUrl());
	}


})(jQuery);
