if(typeof MtJS=="undefined"||!MtJS){var MtJS={}}var initialMtJSLibrary=function(version){if(MtJS.Core){if(MtJS.Core.version){if(version!=MtJS.Core.version){alert("You are trying to load MtJS Version "+version+". Load failed since a different version ("+MtJS.Core.version+") of MtJS Library is already loaded in this page.")}MtJS.Logger.log(version);return }}MtJS.Core={};MtJS.Core.version="2.0.2";MtJS.Core.convertLibrary=function(){return MtJS};MtJS.Core.namespace=function(){var tmp;var a=arguments,o=null,i,j,d;for(i=0;i-1:this.indexOf(string)>-1},str_replace:function(searchString,replaceString){return this.split(searchString).join(replaceString)},strip_tags:function(allowed_tags){str=this;var key="",allowed=false;var matches=[];var allowed_array=[];var allowed_tag="";var i=0;var k="";var html="";if(allowed_tags){allowed_array=allowed_tags.match(/([a-zA-Z0-9]+)/gi)}str+="";matches=str.match(/(<\/?[\S][^>]*>)/gi);for(key in matches){if(isNaN(key)){continue}html=matches[key].toString();allowed=false;for(k in allowed_array){allowed_tag=allowed_array[k];i=-1;if(i!=0){i=html.toLowerCase().indexOf("<"+allowed_tag+">")}if(i!=0){i=html.toLowerCase().indexOf("<"+allowed_tag+" ")}if(i!=0){i=html.toLowerCase().indexOf("left_bracket&&posleft_bracket&&pos"}el=document.createElement(el)}el=MtJS.Dom.Selector.one(el);return(!props||!el)?el:el.applyAttributes(props)}});MtJS.Dom.Elements=new MtJS.Class({initialize:function(elements){return(elements)?MtJS.Util.extend(elements,this):this}});MtJS.Dom.Elements.extendNative=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=MtJS.Util.extendNative.generic(prop)}};MtJS.Dom.includeInCollection=function(array){for(var i=0,l=array.length;i0&&fKey<13){this.key="f"+fKey}}this.key=this.key||String.fromCharCode(this.code).toLowerCase()}else{if(this.type.test(/(click|mouse|menu)/)){this.page={x:event.pageX||event.clientX+document.documentElement.scrollLeft,y:event.pageY||event.clientY+document.documentElement.scrollTop};this.client={x:event.pageX?event.pageX-window.pageXOffset:event.clientX,y:event.pageY?event.pageY-window.pageYOffset:event.clientY};this.rightClick=(event.which==3)||(event.button==2);switch(this.type){case"mouseover":this.relatedTarget=event.relatedTarget||event.fromElement;break;case"mouseout":this.relatedTarget=event.relatedTarget||event.toElement}this.fixRelatedTarget()}}}return this},stop:function(){return this.stopPropagation().preventDefault()},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation()}else{this.event.cancelBubble=true}return this},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault()}else{this.event.returnValue=false}return this}});MtJS.Dom.Trigger.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3){this.relatedTarget=this.relatedTarget.parentNode}},relatedTargetGecko:function(){try{MtJS.Dom.Trigger.fix.relatedTarget.call(this)}catch(e){this.relatedTarget=this.target}}};MtJS.Dom.Trigger.prototype.fixRelatedTarget=(MtJS.Env.Engine.gecko)?MtJS.Dom.Trigger.fix.relatedTargetGecko:MtJS.Dom.Trigger.fix.relatedTarget;MtJS.Dom.Trigger.keys=new MtJS.Util.createAbstract({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46,shift:16,caps:20,ctrl:17});MtJS.Dom.Element.Methods.Triggers={trigger:function(type,fn){this.$triggers=this.$triggers||{};this.$triggers[type]=this.$triggers[type]||{keys:[],values:[]};if(this.$triggers[type].keys.containsItem(fn)){return this}this.$triggers[type].keys.push(fn);var realType=type;var custom=MtJS.Dom.Element.Triggers[type];if(custom){if(custom.add){custom.add.call(this,fn)}if(custom.map){fn=custom.map}if(custom.type){realType=custom.type}}if(!this.addEventListener){fn=fn.createClosure({bind:this,event:true})}this.$triggers[type].values.push(fn);return(MtJS.Dom.Element.NativeEvents.containsItem(realType))?this.attachListenerObject(realType,fn):this},deleteTrigger:function(type,fn){if(!this.$triggers||!this.$triggers[type]){return this}var pos=this.$triggers[type].keys.indexOf(fn);if(pos==-1){return this}var key=this.$triggers[type].keys.splice(pos,1)[0];var value=this.$triggers[type].values.splice(pos,1)[0];var custom=MtJS.Dom.Element.Triggers[type];if(custom){if(custom.expungeItem){custom.expungeItem.call(this,fn)}if(custom.type){type=custom.type}}return(MtJS.Dom.Element.NativeEvents.containsItem(type))?this.detachListenerObject(type,value):this},triggers:function(source){return this.attempMultipleCalls("trigger",source)},deleteTriggers:function(type){if(!this.$triggers){return this}if(!type){for(var evType in this.$triggers){this.deleteTriggers(evType)}this.$triggers=null}else{if(this.$triggers[type]){this.$triggers[type].keys.forEach(function(fn){this.deleteTrigger(type,fn)},this);this.$triggers[type]=null}}return this},fireTrigger:function(type,args,delay){if(this.$triggers&&this.$triggers[type]){this.$triggers[type].keys.forEach(function(fn){fn.createClosure({bind:this,delay:delay,"arguments":args})()},this)}return this},cloneTriggers:function(from,type){if(!from.$triggers){return this}if(!type){for(var evType in from.$triggers){this.cloneTriggers(from,evType)}}else{if(from.$triggers[type]){from.$triggers[type].keys.forEach(function(fn){this.trigger(type,fn)},this)}}return this}};window.extendNative(MtJS.Dom.Element.Methods.Triggers);document.extendNative(MtJS.Dom.Element.Methods.Triggers);MtJS.Dom.Element.extendNative(MtJS.Dom.Element.Methods.Triggers);MtJS.Dom.Element.Triggers=new MtJS.Util.createAbstract({mouseenter:{type:"mouseover",map:function(event){event=new MtJS.Dom.Trigger(event);if(event.relatedTarget!=this&&!this.isParentOf(event.relatedTarget)){this.fireTrigger("mouseenter",event)}}},mouseleave:{type:"mouseout",map:function(event){event=new MtJS.Dom.Trigger(event);if(event.relatedTarget!=this&&!this.isParentOf(event.relatedTarget)){this.fireTrigger("mouseleave",event)}}},mousewheel:{type:(MtJS.Env.Engine.gecko)?"DOMMouseScroll":"mousewheel"}});MtJS.Dom.Element.NativeEvents=["click","dblclick","mouseup","mousedown","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","keydown","keypress","keyup","load","unload","beforeunload","resize","move","focus","blur","change","submit","reset","select","error","abort","contextmenu","scroll"];Function.extendNative({bindWithTrigger:function(bind,args){return this.createClosure({bind:bind,"arguments":args,event:MtJS.Dom.Trigger})}});MtJS.Dom.Element.Triggers.documentready={add:function(fn){if(window.domDocumentLoaded){fn.call(this);return }var documentReady=function(){if(window.domDocumentLoaded){return }window.domDocumentLoaded=true;window.domTimer=MtJS.Util.clear(window.domTimer);this.fireTrigger("documentready")}.bindAndPass(this);if(document.readyState&&MtJS.Env.Engine.webkit){window.domTimer=(function(){if(["loaded","complete"].containsItem(document.readyState)){documentReady()}}).repeatExec(50)}else{if(document.readyState&&MtJS.Env.Agent.name=="msie"){if(!MtJS.one("mtjs_ie_ready")){var src=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('