/*
	DOMAssistant is developed by Robert Nyman, http://www.robertnyman.com, and it is released according to the
	Creative Commons Deed license (http://creativecommons.org/licenses/GPL/2.0/)
	For more information, please see http://www.robertnyman.com/domassistant
*/
var DOMAssistant={methodsToAdd:[],baseMethodsToAdd:["elmsByClass","elmsByAttribute"],init:function(){this.applyMethod.call(window,"$",this.$);window.DOMAssistant=this;if(window.ActiveXObject&&document.all){HTMLArray=Array;}HTMLArray.prototype=new Array;HTMLArray.prototype.DOM=this;var _1;for(var i=0;i<this.baseMethodsToAdd.length;i++){_1=this.baseMethodsToAdd[i];this.methodsToAdd.push([_1,this[_1]]);HTMLArray.prototype[_1]=HTMLArrayBaseMethods[_1];}},applyMethod:function(_3,_4){if(typeof this[_3]!="function"){this[_3]=_4;}},addMethods:function(_5){if(_5){var _6=(_5.constructor==Array)?_5:[_5];for(var i=0;i<_6.length;i++){for(var j=0;j<this.methodsToAdd.length;j++){this.applyMethod.call(_6[i],this.methodsToAdd[j][0],this.methodsToAdd[j][1]);}}}},$:function(){var _9=null;if(document.getElementById){_9=(arguments.length>1)?new HTMLArray():null;var _a;for(var i=0;i<arguments.length;i++){_a=arguments[i];if(typeof _a!="object"){_a=document.getElementById(_a);}if(arguments.length>1){_9.push(_a);}else{_9=_a;}}DOMAssistant.addMethods(_9);}return _9;},elmsByClass:function(_c,_d){var _e=new HTMLArray();if(document.evaluate){var _f=document.evaluate(".//"+(_d||"*")+"[contains(concat(' ', @class, ' '), ' "+_c+" ')]",this,null,0,null);var _10=_f.iterateNext();while(_10){_e.push(_10);_10=_f.iterateNext();}}else{var _11=this.getElementsByTagName(_d||"*");var _12=new RegExp("(^|\\s)"+_c+"(\\s|$)");var elm;var _14=_11.length;for(var i=0;i<_14;i++){elm=_11[i];if(_12.test(elm.className)){_e.push(elm);}}}return _e;},elmsByAttribute:function(_16,_17,tag){var _19=new HTMLArray();if(document.evaluate){var _1a=document.evaluate(".//"+(tag||"*")+"[@"+_16+((typeof _17!="undefined")?(" = '"+_17+"'"):"")+"]",this,null,0,null);var _1b=_1a.iterateNext();while(_1b){_19.push(_1b);_1b=_1a.iterateNext();}}else{var _1c=((!tag||tag=="*")&&this.all)?this.all:this.getElementsByTagName(tag||"*");if(typeof _17!="undefined"){var _1d=new RegExp("(^|\\s)"+_1d+"(\\s|$)");}var _1e;var _1f;var _20=_1c.length;for(var i=0;i<_20;i++){_1e=_1c[i];_1f=_1e.getAttribute(_16);if(typeof _1f=="string"&&_1f.length>0){if(typeof _1d=="undefined"||(_1d&&_1d.test(_1f))){_19.push(_1e);}}}}return _19;}};function HTMLArray(){}var HTMLArrayBaseMethods={elmsByClass:function(_22,tag){var _24=new HTMLArray();var _25;for(var i=0;i<this.length;i++){_25=this.DOM.elmsByClass.call(this[i],_22,tag);for(var j=0;j<_25.length;j++){_24.push(_25[j]);}}return _24;},elmsByAttribute:function(_28,_29,tag){var _2b=new HTMLArray();var _2c;for(var i=0;i<this.length;i++){_2c=this.DOM.elmsByAttribute.call(this[i],_28,_29,tag);for(var j=0;j<_2c.length;j++){_2b.push(_2c[j]);}}return _2b;}};DOMAssistant.init();DOMAssistant.functionsToCall=[];DOMAssistant.DOMReady=function(){var _1;var _2;for(var i=0;i<arguments.length;i++){_1=arguments[i];_2=(typeof _1=="function")?_1:new Function(_1);this.functionsToCall.push(_2);}};DOMAssistant.initLoad=function(){this.DOMLoaded=false;this.DOMLoadTimer=null;};DOMAssistant.DOMHasLoaded=function(){if(DOMAssistant.DOMLoaded){return;}DOMAssistant.DOMLoaded=true;DOMAssistant.execFunctions();};DOMAssistant.execFunctions=function(){if(this.DOMLoaded){clearInterval(this.DOMLoadTimer);}var _4;for(var i=0;i<this.functionsToCall.length;i++){try{this.functionsToCall[i]();}catch(e){}}};/*@cc_on @*//*@if (@_win32)if(document.getElementById){document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");document.getElementById("ieScriptLoad").onreadystatechange=function(){if(this.readyState=="complete"){DOMAssistant.DOMHasLoaded();}};}/*@end @*/if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMAssistant.DOMHasLoaded,false);}if(navigator.userAgent.search(/WebKit/i)!=-1){DOMAssistant.DOMLoadTimer=setInterval(function(){if(document.readyState.search(/loaded|complete/i)!=-1){DOMAssistant.DOMHasLoaded();}},10);}window.onload=DOMAssistant.DOMHasLoaded;DOMAssistant.initLoad();DOMAssistant.CSSMethodsToAdd=["addClass","removeClass","hasClass","getStyle"];DOMAssistant.initCSS=function(){var _1;for(var i=0;i<this.CSSMethodsToAdd.length;i++){_1=this.CSSMethodsToAdd[i];this.methodsToAdd.push([_1,this[_1]]);HTMLArray.prototype[_1]=HTMLArrayCSSMethods[_1];}};DOMAssistant.addClass=function(_3){var _4=this.className;if(!new RegExp(("(^|\\s)"+_3+"(\\s|$)"),"i").test(_4)){this.className=_4+((_4.length>0)?" ":"")+_3;}return this;};DOMAssistant.removeClass=function(_5){var _6=new RegExp(("(^|\\s)"+_5+"(\\s|$)"),"i");this.className=this.className.replace(_6,function(_7){var _8="";if(new RegExp("^\\s+.*\\s+$").test(_7)){_8=_7.replace(/(\s+).+/,"$1");}return _8;}).replace(/^\s+|\s+$/g,"");return this;};DOMAssistant.hasClass=function(_9){return new RegExp(("(^|\\s)"+_9+"(\\s|$)"),"i").test(this.className);};DOMAssistant.getStyle=function(_a){var _b="";if(document.defaultView&&document.defaultView.getComputedStyle){_b=document.defaultView.getComputedStyle(this,"").getPropertyValue(_a);}else{if(this.currentStyle){_b=_a.replace(/\-(\w)/g,function(_c,p1){return p1.toUpperCase();});_b=this.currentStyle[_b];}}return _b;};var HTMLArrayCSSMethods={addClass:function(_e){for(var i=0;i<this.length;i++){this.DOM.addClass.call(this[i],_e);}return this;},removeClass:function(_10){for(var i=0;i<this.length;i++){this.DOM.removeClass.call(this[i],_10);}return this;},hasClass:function(_12){var _13=[];for(var i=0;i<this.length;i++){_13.push(this.DOM.hasClass.call(this[i],_12));}return _13;},getStyle:function(_15){var _16=[];for(var i=0;i<this.length;i++){_16.push(this.DOM.getStyle.call(this[i],_15));}return _16;}};DOMAssistant.initCSS();DOMAssistant.EventMethodsToAdd=["addEvent","removeEvent"];DOMAssistant.initEvents=function(){var _1;for(var i=0;i<this.EventMethodsToAdd.length;i++){_1=this.EventMethodsToAdd[i];this.methodsToAdd.push([_1,this[_1]]);HTMLArray.prototype[_1]=HTMLArrayEventMethods[_1];}};DOMAssistant.addEvent=function(_3,_4){if(this.addEventListener){this.addEventListener(_3,_4,false);}else{if(!this.events){this.events={};}if(!this.events[_3]){this.events[_3]=[];}this.events[_3].push(_4);this["on"+_3]=DOMAssistant.handleEvent;if(typeof this.window=="object"){this.window["on"+_3]=DOMAssistant.handleEvent;}}return this;};DOMAssistant.handleEvent=function(_5){var _6=_6||event;var _7=_6.type;var _8=this.events[_7];for(var i=0;i<_8.length;i++){_8[i].call(this,_6);}};DOMAssistant.removeEvent=function(_a,_b){if(this.removeEventListener){this.removeEventListener(_a,_b,false);}else{if(this.events){var _c=this.events[_a];for(var i=0;i<_c.length;i++){if(_c[i]==_b){delete _c[i];_c.splice(i,1);}}}}return this;};DOMAssistant.preventDefault=function(_e){if(_e&&_e.preventDefault){_e.preventDefault();}else{event.returnValue=false;}};DOMAssistant.cancelBubble=function(_f){if(_f&&_f.stopPropagation){_f.stopPropagation();}else{event.cancelBubble=true;}};var HTMLArrayEventMethods={addEvent:function(evt,_11){for(var i=0;i<this.length;i++){this.DOM.addEvent.call(this[i],evt,_11);}return this;},removeEvent:function(evt,_14){for(var i=0;i<this.length;i++){this.DOM.removeEvent.call(this[i],evt,_14);}return this;}};DOMAssistant.initEvents();DOMAssistant.ContentMethodsToAdd=["prev","next","create","setAttributes","addContent","replaceContent","remove"];DOMAssistant.initContent=function(){var _1;for(var i=0;i<this.ContentMethodsToAdd.length;i++){_1=this.ContentMethodsToAdd[i];this.methodsToAdd.push([_1,this[_1]]);HTMLArray.prototype[_1]=HTMLArrayContentMethods[_1];}};DOMAssistant.prev=function(){var _3=this.previousSibling;while(_3&&_3.nodeType!=1){_3=_3.previousSibling;}return _3;};DOMAssistant.next=function(){var _4=this.nextSibling;while(_4&&_4.nodeType!=1){_4=_4.nextSibling;}return _4;};DOMAssistant.create=function(_5,_6,_7,_8){var _9=document.createElement(_5);_9=DOMAssistant.$(_9);if(_6){_9.setAttributes(_6);}if(typeof _8!="undefined"){_9.addContent(_8);}if(_7){DOMAssistant.addContent.call(this,_9);}return _9;};DOMAssistant.setAttributes=function(_a){for(var i in _a){if(/class/i.test(i)){this.className=_a[i];}else{this.setAttribute(i,_a[i]);}}return this;};DOMAssistant.addContent=function(_c){var _d=null;if(typeof _c=="string"){_d=this.innerHTML+=_c;}else{_d=this.appendChild(_c);}return this;};DOMAssistant.replaceContent=function(_e){for(var i=(this.childNodes.length-1);i>=0;i--){this.childNodes[i].parentNode.removeChild(this.childNodes[i]);}this.addContent(_e);return this;};DOMAssistant.remove=function(){this.parentNode.removeChild(this);return null;};var HTMLArrayContentMethods={prev:function(){var _10=new HTMLArray();var elm;for(var i=0;i<this.length;i++){elm=this.DOM.prev.call(this[i]);if(elm){_10.push(elm);}}return _10;},next:function(){var _13=new HTMLArray();var elm;for(var i=0;i<this.length;i++){elm=this.DOM.next.call(this[i]);if(elm){_13.push(elm);}}return _13;},create:function(_16,_17,_18,_19){var _1a=new HTMLArray();var elm;for(var i=0;i<this.length;i++){elm=this.DOM.create.call(this[i],_16,_17,_18,_19);if(elm){_1a.push(elm);}}return _1a;},setAttributes:function(_1d){for(var i=0;i<this.length;i++){this.DOM.setAttributes.call(this[i],_1d);}return this;},addContent:function(_1f){for(var i=0;i<this.length;i++){this.DOM.addContent.call(this[i],_1f);}return this;},replaceContent:function(_21){for(var i=0;i<this.length;i++){this.DOM.replaceContent.call(this[i],_21);}return this;},remove:function(){for(var i=0;i<this.length;i++){this.DOM.remove.call(this[i]);}return this;}};DOMAssistant.initContent();DOMAssistant.AJAX={XMLHttp:null,callbackFunction:null,response:null,init:function(){if(!this.XMLHttp){if(typeof XMLHttpRequest!="undefined"){this.XMLHttp=new XMLHttpRequest();}else{if(typeof window.ActiveXObject!="undefined"){try{this.XMLHttp=new ActiveXObject("Msxml2.XMLHTTP.4.0");}catch(e){try{this.XMLHttp=new ActiveXObject("MSXML2.XMLHTTP");}catch(e){try{this.XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){this.XMLHttp=null;}}}}}}return this.XMLHttp;},get:function(_1,_2){if(this.init()){if(typeof _2!="undefined"){this.callbackFunction=_2;}this.XMLHttp.onreadystatechange=function(){};this.XMLHttp.abort();this.XMLHttp.open("GET",_1,true);this.XMLHttp.onreadystatechange=this.contentReady;this.XMLHttp.send(null);}},contentReady:function(){var _3=DOMAssistant.AJAX;if(_3.XMLHttp&&_3.XMLHttp.readyState==4){_3.response=_3.XMLHttp.responseText;if(_3.callbackFunction&&typeof _3.callbackFunction=="function"){_3.callbackFunction(_3.response);}}}};