var Core={createClass:function(_1,_2){return function(){this.initialize.apply(this,arguments);if(typeof _1!=="undefined"){this.name=_1;}else{Core.createStaticClassError("Core.createClass()","You must specify a NAME when creating a new Class.");}if(typeof _2!=="undefined"){this.version=_2;}else{this.version="1.0.0";}};},createStaticClass:function(_3,_4){return new function(){if(typeof _3!=="undefined"){this.name=_3;}else{Core.createStaticClassError("Core.createClass()","You must specify a NAME when creating a new Class.");}if(typeof _4!=="undefined"){this.version=_4;}else{this.version="1.0.0";}return this;};},createNamespace:function(){var _5=arguments.length;var _6=null;var _7=window;var _8=0;var j=0;var i=0;for(i=0;i<_5;i++){_6=arguments[i].split(".");_8=_6.length;for(j=0;j<_8;j++){if(!_7[_6[j]]){_7[_6[j]]={};}_7=_7[_6[j]];}}delete _6;delete _7;},purge:function(d){if(typeof d==="undefined"||d===null){return false;}var a=d.attributes,i,l,n;if(a){l=a.length;for(i=0;i<l;i+=1){n=a[i].name;if(typeof d[n]==="function"){d[n]=null;}}}a=d.childNodes;if(a){l=a.length;for(i=0;i<l;i+=1){Core.purge(d.childNodes[i]);}}delete d;},Error:function(_d,_e,_f){throw (new Error("Error: "+_d,_e));},Warning:function(_10,_11){throw (new Error("Warning: "+_10,_11));},Info:function(_12,_13){throw (new Error("Info: "+_12,_13));},Debug:function(_14,_15){throw (new Error("Debug: "+_14,_15));}};if(!Function.prototype.apply){Function.prototype.apply=function(_1,_2){var _3=[];if(!_1){_1=window;}if(!_2){_2=[];}for(var i=0;i<_2.length;i++){_3[i]="parameters["+i+"]";}_1.__apply__=this;var _5=eval("object.__apply__("+_3.join(", ")+")");_1.__apply__=null;return _5;};}if(!Function.prototype.bind){Function.prototype.bind=function(_6){var _7=this;return function(){try{_7.apply(_6,arguments);}catch(e){}};};}if(!Object.prototype.extend){Object.prototype.extend=function(_8){var _9;for(_9 in _8){this[_9]=_8[_9];}return this;};}if(!Object.prototype.clone){Object.prototype.clone=function(){var _a=new Object();for(var _b in this){_a[_b]=(typeof this[_b]==="object")?_a[_b]=this[_b].clone():_a[_b]=this[_b];}return _a;};}Object.toString=function(){var _c=[];var _d=null;for(_d in this){switch((typeof this[_d]).toLowerCase()){case "function":break;default:_c.push(_d+"="+this[_d].toString());}}return "{"+_c.join(",")+"}";};if(!Function.prototype.clone){Function.prototype.clone=function(_e){return function(){}.apply(_e);};}if(!String.prototype.lTrim){String.prototype.lTrim=function(){return this.replace(/^\s*/,"");};}if(!String.prototype.rTrim){String.prototype.rTrim=function(){return this.replace(/\s*$/,"");};}if(!String.prototype.trim){String.prototype.trim=function(){return this.rTrim().lTrim();};}if(!String.prototype.endsWith){String.prototype.endsWith=function(_f){return this.substr(this.length-_f.length)===_f;};}if(!String.prototype.startsWith){String.prototype.startsWith=function(e){return this.substr(0,e.length)===e;};}if(!String.prototype.decodeURI){String.prototype.decodeURI=function(){return unescape(this);};}if(!String.prototype.encodeURI){String.prototype.encodeURI=function(){var _11;_11=escape(this);_11=_11.replace(/\+/g,"%2B");return _11;};}if(!String.prototype.replaceAll){String.prototype.replaceAll=function(_12,_13){var _14=0;var _15="";while(this.indexOf(_12,_14)!==-1){_15+=this.substring(_14,this.indexOf(_12,_14));_15+=_13;_14=(this.indexOf(_12,_14)+_12.length);}_15+=this.substring(_14,this.length);return _15;};}if(!String.prototype.camelize){String.prototype.camelize=function(){var i=0;var s=null;var _18=null;var _19=null;var _1a=0;_18=this.split("-");if(_18.length===1){return _18[0];}camelizedString=this.indexOf("-")==0?_18[0].charAt(0).toUpperCase()+_18[0].substring(1):_18[0];for(i=1,_1a=_18.length;i<len;i++){s=_18[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}return camelizedString;};}if(!Array.prototype.remove){Array.prototype.remove=function(_1b){var i=this.indexOf(_1b);if(i>-1){this.splice(i,1);}return i>-1;};}if(!Array.prototype.push){Array.prototype.push=function(){var _1d=this.length;var i=0;for(i=0;i<arguments.length;i++){this[_1d+i]=arguments[i];}return this.length;};}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(_1f){var i=0;for(i=0;i<this.length;i++){if(this[i]===_1f){return i;}}return -1;};}if(!Array.prototype.contains){Array.prototype.contains=function(_21){var _22=this.indexOf(_21);return _22>=0;};}if(!Array.prototype.clear){Array.prototype.clear=function(){if(this.length>0){this.splice(0,this.length);}};}if(!Array.prototype.insert){Array.prototype.insert=function(_23,_24){this.splice(_23,0,_24);};}if(typeof Document!=="undefined"){Document.prototype.__defineGetter__("xml",function(){return (new XMLSerializer()).serializeToString(this);});}if(typeof Element!=="undefined"){Element.prototype.__defineGetter__("xml",function(){return (new XMLSerializer()).serializeToString(this);});Element.prototype.__defineSetter__("innerHTML",function(){var r=this.ownerDocument.createRange();r.selectNodeContents(this);r.deleteContents();var df=r.createContextualFragment(str);this.appendChild(df);});Element.prototype.__defineSetter__("outerHTML",function(){var r=this.ownerDocument.createRange();r.setStartBefore(this);var df=r.createContextualFragment(str);this.parentNode.replaceChild(df,this);});}Core.createNamespace("Core");Iterator=Core.createClass("Iterator","1.0.0");Iterator.prototype.extend({initialize:function(_1,_2){this.location=-1;this.keysDefined=false;this.keys=typeof _2!=="undefined"?_2:null;this.keysDefined=this.keys!==null?true:false;this.hash=typeof _1!=="undefined"?_1:null;},hasNext:function(){if(this.keysDefined){return (++this.location<this.keys.length?true:false);}else{if(this.hash!==null){return (++this.location<this.hash.length?true:false);}else{return false;}}},next:function(){if(this.keysDefined){return {key:this.keys[this.location],value:this.hash[this.keys[this.location]],toString:function(){return this.key+"="+this.value;}};}else{return this.hash[this.location];}}});