	jQuery.cookie = function (key, value, options) {
	    if (arguments.length > 1 && String(value) !== "[object Object]") {
	        options = jQuery.extend({ }, options);
	        if (value === null || value === undefined) {
	            options.expires = -1;
	        }
	        if (typeof options.expires === 'number') {
	            var days = options.expires, t = options.expires = new Date();
	            t.setDate(t.getDate() + days);
	        }
	        value = String(value);
	        return (document.cookie = [
	            encodeURIComponent(key), '=',
	            options.raw ? value : encodeURIComponent(value),
	            options.expires ? '; expires=' + options.expires.toUTCString() : '',
	            options.path ? '; path=' + options.path : '',
	            options.domain ? '; domain=' + options.domain : '',
	            options.secure ? '; secure' : ''
	        ].join(''));
	    };
	    options = value || { };
	    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
	    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
	};
	$(document).ready(function() {
			$("ul.tabs").each(function(tabsContainerIndex, tabsContainer) {
				var tabsContainerObject = $(tabsContainer);
				tabsContainerObject.find('li').each(function(index, item) {
					var currentItemObject = $(item);
					var currentItemId = currentItemObject.attr('id');
					currentItemObject.click(function() {
						var clickedTab = $(this);
						var clickedTabId = clickedTab.attr('id');
						var clickedTabParent = clickedTab.parent();
						var contentBoxSelector = 'div#' + clickedTabParent.attr('rel');
						$(contentBoxSelector + " > div:visible").hide();
						clickedTabParent.find("li.active").removeClass("active");
						$(contentBoxSelector + " > div").eq(clickedTab.prevAll().length).show();
						$(contentBoxSelector + " > div#" + clickedTab.attr('rel')).show();
						if (clickedTabId != null) {
							clickedTab.addClass('active');
							$.cookie('tab_' + clickedTabParent.attr('id'), clickedTabId, {expires: 100});
						}
					});
				});
				var selectedTab = $.cookie('tab_' + tabsContainerObject.attr('id'));
				if (selectedTab != null) {
					var selectedTabRel = tabsContainerObject.attr('rel');
					var selectedTabObject = tabsContainerObject.find('li#' + selectedTab);
					tabsContainerObject.find('li.active').removeClass('active');
					selectedTabObject.addClass('active');
					if (selectedTabObject.attr('rel') != null) {
						$("div#" + selectedTabRel + " > div.first").hide();
						$('div#' + tabsContainerObject.attr('rel') + ' > div').eq(selectedTabObject.prevAll().length).show();
					}
				}
			});
		});
