Hashtable=function(){this.clear();};
HT_p = Hashtable.prototype;
HT_p.add=function(k,v){if((this._h["_"+k]||null)!=null)return false;this.set(k,v);return true;};
HT_p.set=function(k,v){this._h["_"+k]=v;};
HT_p.get=function(k){return this._h["_"+k]||null;};
HT_p.getKeys=function(){var a=new Array(),k,i=0;for(k in this._h)a[i++]=k.substring(1);return a;};
HT_p.getValues=function(){var a=new Array(),k,i=0;for(k in this._h) a[i++]=this._h[k];return a;};
HT_p.del=function(k){this._h["_"+k]=undefined;};
HT_p.clear=function(){this._h=new Object();};
HT_p.destroy=function(){delete this._h;};
delete HT_p;

Preloader=new Object();
Preloader._h=new Hashtable();
Preloader.load=function(){var a=arguments,i,img;for(i=0;i<a.length;i++){if(a[i]){(img=new Image()).src=a[i];Preloader._h.add(a[i],img);}}};
Preloader.get=function(u){return Preloader._h.get(u);};

Rollover=new Object();
Rollover._I=0;
Rollover._IO=1;
Rollover._II=2;
Rollover._IS=3;
Rollover._h = new Hashtable();
Rollover.add=function(id,i,iO,iI,iS){if(!Rollover._h.get(id)){Preloader.load(iO,iI,iS);Rollover._h.add(id,[i,iO,iI,iS]);if(id==Rollover._sID)i.src=iS;}};
Rollover.mouseover=function(id){Rollover._s(id,Rollover._II);};
Rollover.mouseout=function(id){Rollover._s(id,Rollover._IO);};
Rollover._s=function(id,i){var a=Rollover._h.get(id);if(a)a[Rollover._I].src=(id==Rollover._sID)?a[Rollover._IS]:a[i];};
Rollover.setSelected=function(id){Rollover._sID=id;};