[].indexOf||(Array.prototype.indexOf=function(v,n){n=(n==null)?0:n;var m=this.length;for(var i=n;i<m;i++){if(this[i]==v){return i}}return -1});(function($){DUI={version:"0.0.4"};DUI.Class={_dontEnum:["_ident","_dontEnum","create","namespace","ns","supers","sup","init","each"],create:function(){var _this=this;var s=(arguments.length>0&&arguments[arguments.length-1].constructor==Boolean)?arguments[arguments.length-1]:false;var c=s?{}:function(){this.init.apply(this,arguments)};var methods={_ident:{library:"DUI.Class",version:"0.0.4",dynamic:true},_dontEnum:this._dontEnum,ns:[],supers:{},init:function(){},namespace:function(ns){if(!ns){return null}var _this=this;if(ns.constructor==Array){$.each(ns,function(){_this.namespace.apply(_this,[this])});return}else{if(ns.constructor==Object){for(var key in ns){if([Object,Function].indexOf(ns[key].constructor)>-1){if(!this.ns){this.ns=[]}this.ns[key]=ns[key];this.namespace.apply(this,[key])}}return}}var levels=ns.split(".");var nsobj=this.prototype?this.prototype:this;$.each(levels,function(){nsobj[this]=_this.ns[this]||nsobj[this]||window[this]||DUI.Class.create(true);if(_this.prototype&&DUI.isClass(nsobj[this])&&nsobj[this].prototype){_this[this]=nsobj[this]}delete _this.ns[this];nsobj=nsobj[this]});return nsobj},create:function(){var args=Array.prototype.slice.call(arguments);var name=args.shift();var temp=DUI.Class.create.apply(DUI.Class,args);var ns={};ns[name]=temp;this.namespace(ns)},each:function(cb){if(!$.isFunction(cb)){throw new Error("DUI.Class.each must be called with a function as its first argument.")}var _this=this;$.each(this,function(key){if(_this._dontEnum.indexOf(key)!=-1){return}cb.apply(this,[key,this])})},sup:function(){try{var caller=this.sup.caller.name;this.supers[caller].apply(this,arguments)}catch(noSuper){return false}}};s?delete methods.init:null;s?methods._ident.dynamic=false:null;$.extend(c,methods);if(!s){$.extend(c.prototype,methods)}var extendee=s?c:c.prototype;$.each(arguments,function(){if(this.constructor==Object||typeof this.init!=undefined){for(i in this){if($.isFunction(extendee[i])&&_this._dontEnum.indexOf(i)==-1){this[i].name=extendee[i].name=i;extendee.supers[i]=extendee[i]}if(i=="dontEnum"&&this[i].constructor==Array){extendee._dontEnum=$.merge(extendee._dontEnum,this[i])}extendee[i]=this[i]}}});return c}}})(jQuery);DUI.isClass=function(check,type){type=type||false;try{if(check._ident.library=="DUI.Class"){if((type=="dynamic"&&!check._ident.dynamic)||(type=="static"&&check._ident.dynamic)){return false}return true}}catch(noIdentUhOh){return false}return false};