window.init[window.init.length]=function(){
	var serialiseArray=function(array){
		var result=new String();
		for(var i=0;i<array.length;i++){
			result+=escape(array[i].toString());
			if(i!=(array.length-1)){
				result+="!";
			}
		}
		return result;
	}
	var deserialiseArray=function(string){
		var result=new Array();
		var input=string.split("!");
		for(var i=0; i<input.length; i++){
			result[i]=unescape(input[i]);
		}
		return result;
	}
	var setArray=function(key, array){
		var now=new Date();
		var nextWeek=new Date(now.getTime()+(1000*60*60*24*7));
		document.cookie=key+"="+serialiseArray(array)+"; path=/; expires="+nextWeek.toUTCString();
	}	
	var getArray=function(key){
		var rasins=document.cookie;
		var dough=key+"\s*=\s*([^;]*)(;|$)";
		var chocolateChips=new RegExp(dough, "");
		var milk=chocolateChips.exec(rasins);
		if(milk!=null && milk.length>=1){
			return deserialiseArray(milk[1]);
		}else{
			return new Array();
		}
	}
	var realClickHandler=ManusCat.prototype.handleClick;
	ManusCat.prototype.handleClick=function(tabPrefix, clickedTab){
		var prefix;
		var savedSettings=getArray("ManusCatPersistedTabs");
		var putIndex=savedSettings.length;
		for(var i=0; i<savedSettings.length; i++){
			prefix=savedSettings[i].split("=")[0];
			if(prefix==tabPrefix){
				putIndex=i;
				break;
			}
		}
		savedSettings[putIndex]=tabPrefix+"="+this.tabNumber(tabPrefix, clickedTab);
		setArray("ManusCatPersistedTabs", savedSettings);
		realClickHandler.call(this, tabPrefix, clickedTab);
	};
	var savedSettings=getArray("ManusCatPersistedTabs");
	for(var i=0; i<savedSettings.length; i++){
		var splitter=savedSettings[i].split("=");
		var tab=document.getElementById(splitter[0]+"Tab"+splitter[1]);
		if(tab){
			document.manusCat.handleClick(splitter[0], tab);
		}
	}
};
