var Tabs = function()
{
	var hash_changed_handler = null;
	var old_hash = '';

	function check_hash()
	{
		if (window.location.hash != old_hash)
		{
			old_hash = window.location.hash;
			var hash = (old_hash.charAt(0)=='#' ? old_hash.substr(1) : old_hash);

			if (hash != '') hash_changed_handler(hash);
		}
	}

	return {
		init: function(on_hash_changed)
		{
			hash_changed_handler = on_hash_changed;
			setInterval(check_hash, 100);
		},

		select: function(selector)
		{
			jQuery(selector).parent().parent().find('.item-active').removeClass('item-active').addClass('item')
			jQuery(selector).parent().addClass('item-active');
		},

		def_hash_changed_handler: function(hash)
		{
			var els = jQuery('.id-tab-' + hash);

			if (els.size() > 0)
			{
				Tabs.select('.id-tab-' + hash);
				jQuery(els.get(0).getAttribute('_cont') || '.id-cont').hide();
				jQuery('.id-cont-' + hash).show();
			}
		}
	};
}();

jQuery(function(){ Tabs.init(Tabs.def_hash_changed_handler); });

