var gui=window.gui||{};gui.event={loaded:false,buffered:[],events:[],addEvent:function(elm,evt,fn,capture){if(elm.constructor==Array){for(var i=0;i<elm.length;++i){this.addEvent(elm[i],evt,fn,capture);}return;}else{if(!this.loaded&&evt!='load'){this.buffered[this.buffered.length]={elm:elm,evt:evt,fn:fn,capture:capture};return;}if(typeof(elm)=='string'){elm=document.getElementById(elm);}var wrappedFn=function(e){return fn.call(elm,gui.event.getEvent(e),capture);};this.events[this.events.length]={elm:elm,evt:evt,fn:fn,capture:capture,wrappedFn:wrappedFn};if(elm.addEventListener){elm.addEventListener(evt,wrappedFn,capture);}else if(elm.attachEvent){elm.attachEvent('on'+evt,wrappedFn);}else{elm['on'+evt]=wrappedFn;}}},removeEvent:function(elm,evt,fn){if(elm.constructor==Array){for(var i=0;i<elm.length;++i){this.removeEvent(elm[i],evt,fn);}return;}else{if(typeof(elm)=='string'){elm=document.getElementById(elm);}if(elm.removeEventListener){elm.removeEventListener(evt,this._getFn(fn).wrappedFn,false);}else if(elm.detachEvent){elm.detachEvent('on'+evt,this._getFn(fn).wrappedFn);}else{elm["on"+evt]=null;}}},getEvent:function(e){return e||window.event;},getTarget:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;return(e.target)?e.target:((e.srcElement)?e.srcElement:null);},getMousePos:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;return [(e.clientX||0),(e.clientY||0)];},getMouseX:function(e){return this.getMousePos(e)[0];},getMouseY:function(e){return this.getMousePos(e)[1];},getRelatedTarget:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;var target=e.relatedTarget;if(!target){if(e.type=='mouseover'){target=e.fromElement;}else if(e.type=='mouseout'){target=e.toElement;}}return target;},getCharCode:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;return(e.charCode)?e.charCode:((e.keyCode)?e.keyCode:0);},getEventTime:function(e){return new Date().getTime();},stopPropagation:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;if(e.stopPropagation){e.stopPropagation();}else{e.cancelBubble=true;}},preventDefault:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}},stopEvent:function(e){e=(typeof(e)!='undefined')?this.getEvent(e):e;this.stopPropagation(e);this.preventDefault(e);},addCapture:function(e){var target=this.getTarget(e);if(target.setCapture){target.setCapture();}},removeCapture:function(e){var target=this.getTarget(e);if(target.releaseCapture){target.releaseCapture();}},_getFn:function(fn){for(var i=0;i<this.events.length;++i){var e=this.events[i];if(e&&e.fn==fn){return e;}}return null;},_load:function(){var self=gui.event;self.loaded=true;for(var i=0;i<self.buffered.length;++i){self.addEvent(self.buffered[i].elm,self.buffered[i].evt,self.buffered[i].fn,self.buffered[i].capture);}self.buffered=[];},_unload:function(){var self=gui.event;for(var i=0;i<self.events.length;++i){self.removeEvent(self.events[i].elm,self.events[i].evt,self.events[i].fn,self.events[i].capture);}self.events=[];}};gui.event.addEvent(window,'load',gui.event._load);gui.event.addEvent(window,'unload',gui.event._unload);
gui.system={flash:{baseVersion:6,build:[],parseBuild:function(build){this.build[0]=parseInt(build[0])||0;this.build[1]=parseInt(build[1])||0;this.build[2]=parseInt(build[2])||0;},getBuild:function(){this.detect();return this.build;},detect:function(v){var plugin,version;var self=gui.system.flash;var mt=navigator.mimeTypes;v=(typeof(v)=='undefined')?this.baseVersion:v;if(mt&&mt['application/x-shockwave-flash']){try{plugin=mt['application/x-shockwave-flash'].enabledPlugin;version=navigator.plugins["Shockwave Flash"].description;version=version.replace(/([a-z]|[A-Z]|\s)+/,'');version=version.replace(/(\s+r|\s+b[0-9]+)/,'.');version=version.split('.');self.parseBuild(version);return(this.build[0]>=v)?true:false;}catch(e){}}else{try{plugin=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version=plugin.GetVariable("$version");version=version.split(" ")[1];version=version.split(",");self.parseBuild(version);return(this.build[0]>=v)?true:false;}catch(e){}}return false;}}};
var flashObj=function(id,movie,h,w,bgColor){this.id=id;this.height=h;this.width=w;this.classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000';this.codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0';this.type='application/x-shockwave-flash';this.pluginspage='http://www.macromedia.com/go/getflashplayer';this.flashInstalled=gui.system.flash.detect();this.flashReqVer = gui.system.flash.requiredVerInstalled;this.params={loop:'true',menu:'false',movie:movie,quality:'high',bgcolor:((bgColor) ? bgColor : '#FFF')};this.setParam = function(param){if (param.constructor == Array){for(var i=0; i<param.length; ++i){this.setParam(param[i]);}}else{this.params[param.name] = param.value;}};this.setHTML = function(){var flashHTML = '';flashHTML += '<object classid="'+ this.classid +'" codebase="'+ this.codebase +'" id="'+ this.id +'" width="'+ this.width +'" height="'+ this.height +'">';for(p in this.params){flashHTML+='<param name="'+p+'" value="'+this.params[p] +'">';}flashHTML+='<embed width="'+this.width+'" height="'+this.height+'" type="'+this.type+'" pluginspage="'+this.pluginspage+'"';for(p in this.params){if(p=='movie'){flashHTML+= ' src="'+this.params[p]+'"';}else{flashHTML+=' '+p+'="'+this.params[p]+'"';}}flashHTML+='><\/embed>';flashHTML+='<\/object>';return flashHTML;};};