
function forEach(fn,args){var res;for(var i=0;i<this.length;i++){res=fn(this[i],args);}
return res;}
Array.prototype.forEach=forEach;function __toObject(arr){var obj=new Object();for(var i=0;i<arr.length;i++){if(arr[i].id){obj[arr[i].id]=arr[i];}
__extend(obj[arr[i].id],objs.functions);}
return obj;}
var objs={rollover:{offsrc:'',onsrc:'',dwnsrc:'',active:true,currentState:'off',onchange:function(){}},functions:{rollover:function(){onsrc=arguments[0];dwnsrc=arguments.length==2?arguments[1]:false;try{for(ele in this){if(this[ele].src){rollover.add(this[ele],onsrc,dwnsrc);}}}catch(e){try{rollover.add(this,onsrc,dwnsrc);}catch(e){}}}}}
function __extend(){var args=arguments;for(var e=1;e<args.length;e++){for(prop in args[e]){args[0][prop]=args[e][prop];}}}
function __bin(){events.removeAll();}
function $id(id){var obj=document.getElementById(id);__extend(obj,objs.functions);return obj;}
function $tag(tag){var e=document.getElementsByTagName(tag);var obj=__toObject(e);__extend(obj,objs.functions);return obj;}
function $class(className){var allElements=document.getElementsByTagName('*');var r=new Array();for(var i=0;i<allElements.length;i++){var c=allElements[i].className;if(c.indexOf(className)!=-1){r.push(allElements[i]);}}
var obj=__toObject(r);__extend(obj,objs.functions);return obj;}
var events={eventArray:new Array(),add:function(obj,type,fn)
{if(obj.addEventListener)
obj.addEventListener(type,fn,false);else if(obj.attachEvent)
{obj["e"+type+fn]=fn;obj[type+fn]=function(){obj["e"+type+fn](window.event);}
obj.attachEvent("on"+type,obj[type+fn]);}
events.eventArray.push([obj,type,fn]);},remove:function(index){var i=events.eventArray[index];if(i=='removed'){return;}
events.removeManual(i[0],i[1],i[2]);i='removed';},removeAll:function(){for(var i=0;i<events.eventArray.length;i++){events.remove(i);}},removeManual:function(obj,type,fn)
{if(obj.removeEventListener)
obj.removeEventListener(type,fn,false);else if(obj.detachEvent)
{obj.detachEvent("on"+type,obj[type+fn]);obj[type+fn]=null;obj["e"+type+fn]=null;}}}
var rollover={objArray:new Array(),addSuffix:function(filename,suffix){var ext=filename.substring(filename.lastIndexOf('.'));var ret=filename.replace(ext,suffix+ext);return ret;},mouseon:function(){if(this.active==false){return;}
this.src=this.onsrc;this.currentState='on';this.onchange();},mouseoff:function(){if(this.active==false){return;}
this.src=this.offsrc;this.currentState='off';this.onchange();},buttondown:function(){if(this.dwnsrc==false){return;}
this.src=this.dwnsrc;this.currentState='down';this.onchange();},errorCatch:function(obj){obj.active=false;},errorCatchDown:function(obj){obj.dwnsrc=false;},preload_array:function(){var arg=arguments;for(var i=0;i<arg.length;i++){if(arg[i][1]){for(var j=0;j<arg[i].length;j++){var i=new Image();i.src=arg[i][j];}}}},preload_object:function(obj){var img=new Image();var dwnImg=new Image();img.onerror=function(){rollover.errorCatch(obj);}
dwnImg.onerror=function(){rollover.errorCatchDown(obj);}
img.src=obj.onsrc;if(obj.downsrc!=false){dwnImg.src=obj.dwnsrc;}},add:function(obj,onsrc,dwnsrc){__extend(obj,objs.rollover);obj.offsrc=obj.src;if(onsrc.indexOf('-')==0||onsrc.indexOf('_')==0){obj.onsrc=rollover.addSuffix(obj.src,onsrc);}else{obj.onsrc=onsrc;}
if(dwnsrc!=false&&(dwnsrc.indexOf('-')==0||dwnsrc.indexOf('_')==0)){obj.dwnsrc=rollover.addSuffix(obj.src,dwnsrc);}else{obj.dwnsrc=dwnsrc;}
rollover.preload_object(obj);events.add(obj,'mouseover',rollover.mouseon);events.add(obj,'mouseout',rollover.mouseoff);events.add(obj,'mousedown',rollover.buttondown);events.add(obj,'mouseup',rollover.mouseon);rollover.objArray.push(obj);}}
