function COOKIEITEM(name,value,days){this.m_Name=name;this.m_Value=new Array();if(value==null){var expiryDate=new Date();this.m_Value[0]=expiryDate.getTime()+days*86400000;}else this.m_Value=value.split(COOKIEITEM.arguments[3]);}function Cookie(delim){this.m_delim=delim||".";this.m_Cookie=new Array();function GetCookieIndex(name){for(var i=0;i<this.m_Cookie.length;i++){if(this.m_Cookie[i].m_Name==name)return i;}return-1;}function Fetch(index){return this.m_Cookie[index].m_Name;}function GetCookieCount(){return this.m_Cookie.length;}function Create(name,days){this.m_Cookie[this.m_Cookie.length]=new COOKIEITEM(name,null,days);}function Modify(name,days){this.m_Cookie[this.GetCookieIndex(name)].m_Value[0]=days;}function Delete(name){this.Modify(name,0);}function GetCount(name){return this.m_Cookie[this.GetCookieIndex(name)].m_Value.length-1;}function AddItem(name,value){var nIndex=this.GetCookieIndex(name);var nItems=this.m_Cookie[nIndex].m_Value.length;this.m_Cookie[nIndex].m_Value[nItems]=value;}function GetItem(name,index){return this.m_Cookie[this.GetCookieIndex(name)].m_Value[index+1];}function ModItem(name,index,value){this.m_Cookie[this.GetCookieIndex(name)].m_Value[index+1]=value;}function DelItem(name,index){this.m_Cookie[this.GetCookieIndex(name)].m_Value[index+1]=null;}function Load(){var cookieData=unescape(document.cookie);if(cookieData.length){var NameValue=new Array();var extCookie;var start=0;for(i=0;i<cookieData.length+2;i++){extCookie=cookieData.substring(start,i-1);if(cookieData.charAt(i-1)==";"){start=i+1;NameValue=extCookie.split("=");this.m_Cookie[this.m_Cookie.length]=new COOKIEITEM(NameValue[0],NameValue[1],null,this.m_delim);}}NameValue=extCookie.split("=");this.m_Cookie[this.m_Cookie.length]=new COOKIEITEM(NameValue[0],NameValue[1],null,this.m_delim);return true;}return false;}function Save(){for(var i=0;i<this.m_Cookie.length;i++){var expires=new Date();expires.setTime(this.m_Cookie[i].m_Value[0]);var newName=this.m_Cookie[i].m_Name;if(newName==null){alert("Error! Save() cannot serialize un-named cookies.  Your cookies may not function properly now");return;}var newValue="";for(var j=0;j<this.m_Cookie[i].m_Value.length;j++){if(this.m_Cookie[i].m_Value[j]){if(this.m_Cookie[i].m_Value.length-1==j)newValue+=this.m_Cookie[i].m_Value[j];else newValue+=this.m_Cookie[i].m_Value[j]+this.m_delim;}}document.cookie=escape(newName)+"="+escape(newValue)+"; expires="+expires;}}this.Fetch=Fetch;this.Create=Create;this.Modify=Modify;this.Delete=Delete;this.GetCookieIndex=GetCookieIndex;this.GetCookieCount=GetCookieCount;this.GetCount=GetCount;this.AddItem=AddItem;this.GetItem=GetItem;this.ModItem=ModItem;this.DelItem=DelItem;this.Load=Load;this.Save=Save;}