(function($){$.Tache={Data:[],Delete:function(a){Delete(a)},DeleteAll:function(){DeleteAll()},Get:function(a){Get(a)},SetTimeout:function(a){SetTimeout(a)},Timeout:600};function CreateID(oAJAX){var sIdentifier=oAJAX.url;sIdentifier+=((typeof oAJAX.data=="string")?oAJAX.data:"");sIdentifier+=((typeof oAJAX.dataType=="string")?oAJAX.dataType:"");sIdentifier+=((typeof oAJAX.type=="string")?oAJAX.type:"");return sIdentifier;}
function Delete(oAJAX){if(typeof oAJAX.url!="string"){alert("No AJAX URL passed");return;}
var sIdentifier=CreateID(oAJAX);var dtNow=new Date();for(var i=$.Tache.Data.length;i>0;i--){if((((dtNow.valueOf()-$.Tache.Data[i-1].dtAge.valueOf())/1000)>$.Tache.Timeout)||($.Tache.Data[i-1].sIdentifier==sIdentifier)){$.Tache.Data.splice(i-1,1);}}}
function DeleteAll(){$.Tache.Data=[];}
function Get(oAJAX){if(typeof oAJAX.url!="string"){alert("No AJAX URL passed");return;}
var sIdentifier=CreateID(oAJAX);var dtNow=new Date();for(var i=$.Tache.Data.length;i>0;i--){if(((dtNow.valueOf()-$.Tache.Data[i-1].dtAge.valueOf())/1000)>$.Tache.Timeout){$.Tache.Data.splice(i-1,1);}else if($.Tache.Data[i-1].sIdentifier==sIdentifier){oAJAX.success($.Tache.Data[i-1].oData);return;}}
var oCallback=oAJAX.success;oAJAX.success=function(oNewData){$.Tache.Data.push({sIdentifier:sIdentifier,oData:oNewData,dtAge:new Date()});oCallback(oNewData);}
$.ajax(oAJAX);}
function SetTimeout(iSeconds){$.Tache.Timeout=iSeconds;}})(jQuery);