var DOMAssistant=function(){var HTMLArray=function(){},w=window,_$=w.$,_$$=w.$$,isIE=/*@cc_on!@*/false,isIE5=isIE&&parseFloat(navigator.appVersion)<6,sort,tagCache={},lastCache={},useCache=true,slice=Array.prototype.slice,camel={"accesskey":"accessKey","class":"className","colspan":"colSpan","for":"htmlFor","maxlength":"maxLength","readonly":"readOnly","rowspan":"rowSpan","tabindex":"tabIndex","valign":"vAlign","cellspacing":"cellSpacing","cellpadding":"cellPadding"},regex={rules:/\s*,\s*/g,selector:/^(\w+|\*)?(#[\w\u00C0-\uFFFF\-=$]+)?((\.[\w\u00C0-\uFFFF\-]+)*)?((\[\w+\s*([~^$*|])?(=\s*([-\w\u00C0-\uFFFF\s.]+|"[^"]*"|'[^']*'))?\]+)*)?((:\w[-\w]*(\((odd|even|\-?\d*n?([-+]\d+)?|[:#]?[-\w\u00C0-\uFFFF.]+|"[^"]*"|'[^']*'|((\w*\.[-\w\u00C0-\uFFFF]+)*)?|(\[#?\w+([~^$*|])?=?[-\w\u00C0-\uFFFF\s.'"]+\]+)|(:\w[-\w]*\(.+\)))\))?)*)?([+>~])?/,selectorSplit:/(?:\[.*\]|\(.*\)|[^\s+>~[(])+|[+>~]/g,id:/^#([-\w\u00C0-\uFFFF=$]+)$/,tag:/^\w+/,relation:/^[+>~]$/,pseudo:/^:(\w[-\w]*)(\((.+)\))?$/,pseudos:/:(\w[-\w]*)(\((([^(]+)|([^(]+\([^(]+)\))\))?/g,attribs:/\[(\w+)\s*([~^$*|])?(=)?\s*([^\[\]]*|"[^"]*"|'[^']*')?\](?=$|\[|:|\s)/g,classes:/\.([-\w\u00C0-\uFFFF]+)/g,quoted:/^["'](.*)["']$/,nth:/^((odd|even)|([1-9]\d*)|((([1-9]\d*)?)n([-+]\d+)?)|(-(([1-9]\d*)?)n\+(\d+)))$/,special:/(:check|:enabl|\bselect)ed\b/},navigate=function(node,direction,checkTagName){var oldName=node.tagName;while((node=node[direction+"Sibling"])&&(node.nodeType!==1||(checkTagName?node.tagName!==oldName:node.tagName==="!"))){}return node},def=function(obj){return typeof obj!=="undefined"},sortDocumentOrder=function(elmArray){return(sortDocumentOrder=elmArray[0].compareDocumentPosition?function(elmArray){return elmArray.sort(function(a,b){return 3-(a.compareDocumentPosition(b)&6)})}:isIE?function(elmArray){return elmArray.sort(function(a,b){return a.sourceIndex-b.sourceIndex})}:function(elmArray){return elmArray.sort(function(a,b){var range1=document.createRange(),range2=document.createRange();range1.setStart(a,0);range1.setEnd(a,0);range2.setStart(b,0);range2.setEnd(b,0);return range1.compareBoundaryPoints(Range.START_TO_END,range2)})})(elmArray)};var pushAll=function(set1,set2){set1.push.apply(set1,slice.apply(set2));return set1};if(isIE){pushAll=function(set1,set2){if(set2.slice){return set1.concat(set2)}var i=0,item;while((item=set2[i++])){set1[set1.length]=item}return set1}}return{isIE:isIE,camel:camel,def:def,allMethods:[],publicMethods:["prev","next","hasChild","cssSelect","elmsByClass","elmsByAttribute","elmsByTag"],harmonize:function(){w.$=_$;w.$$=_$$;return this},initCore:function(){this.applyMethod.call(w,"$",this.$);this.applyMethod.call(w,"$$",this.$$);w.DOMAssistant=this;if(isIE){HTMLArray=Array}HTMLArray.prototype=[];(function(H){H.each=function(fn,context){for(var i=0,il=this.length;i<il;i++){if(fn.call(context||this[i],this[i],i,this)===false){break}}return this};H.first=function(){return def(this[0])?DOMAssistant.addMethodsToElm(this[0]):null};H.end=function(){return this.previousSet};H.indexOf=H.indexOf||function(elm){for(var i=0,il=this.length;i<il;i++){if(i in this&&this[i]===elm){return i}}return-1};H.map=function(fn,context){var res=[];for(var i=0,il=this.length;i<il;i++){if(i in this){res[i]=fn.call(context||this[i],this[i],i,this)}}return res};H.filter=function(fn,context){var res=new HTMLArray();res.previousSet=this;for(var i=0,il=this.length;i<il;i++){if(i in this&&fn.call(context||this[i],this[i],i,this)){res.push(this[i])}}return res};H.every=function(fn,context){for(var i=0,il=this.length;i<il;i++){if(i in this&&!fn.call(context||this[i],this[i],i,this)){return false}}return true};H.some=function(fn,context){for(var i=0,il=this.length;i<il;i++){if(i in this&&fn.call(context||this[i],this[i],i,this)){return true}}return false}})(HTMLArray.prototype);this.attach(this)},addMethods:function(name,method){if(!def(this.allMethods[name])){this.allMethods[name]=method;this.addHTMLArrayPrototype(name,method)}},addMethodsToElm:function(elm){for(var method in this.allMethods){if(def(this.allMethods[method])){this.applyMethod.call(elm,method,this.allMethods[method])}}return elm},applyMethod:function(method,func){if(typeof this[method]!=="function"){this[method]=func}},attach:function(plugin){var publicMethods=plugin.publicMethods;if(!def(publicMethods)){for(var method in plugin){if(method!=="init"&&def(plugin[method])){this.addMethods(method,plugin[method])}}}else if(publicMethods.constructor===Array){for(var i=0,current;(current=publicMethods[i]);i++){this.addMethods(current,plugin[current])}}if(typeof plugin.init==="function"){plugin.init()}},addHTMLArrayPrototype:function(name,method){HTMLArray.prototype[name]=function(){var elmsToReturn=new HTMLArray();elmsToReturn.previousSet=this;for(var i=0,il=this.length;i<il;i++){elmsToReturn.push(method.apply(DOMAssistant.$$(this[i]),arguments))}return elmsToReturn}},cleanUp:function(elm){var children=elm.all||elm.getElementsByTagName("*");for(var i=0,child;(child=children[i++]);){if(child.hasData&&child.hasData()){if(child.removeEvent){child.removeEvent()}child.unstore()}}elm.innerHTML=""},setCache:function(cache){useCache=cache},$:function(){var obj=arguments[0];if(arguments.length===1&&(typeof obj==="object"||(typeof obj==="function"&&!!obj.nodeName))){return DOMAssistant.$$(obj)}var elm=!!obj?new HTMLArray():null;for(var i=0,arg,idMatch;(arg=arguments[i]);i++){if(typeof arg==="string"){arg=arg.replace(/^[^#\(]*(#)/,"$1");if(regex.id.test(arg)){if((idMatch=DOMAssistant.$$(arg.substr(1),false))){elm.push(idMatch)}}else{var doc=(document.all||document.getElementsByTagName("*")).length;elm=(!document.querySelectorAll&&useCache&&lastCache.rule&&lastCache.rule===arg&&lastCache.doc===doc)?lastCache.elms:pushAll(elm,DOMAssistant.cssSelection.call(document,arg));lastCache={rule:arg,elms:elm,doc:doc}}}}return elm},$$:function(id,addMethods){var elm=(typeof id==="object"||typeof id==="function"&&!!id.nodeName)?id:document.getElementById(id),applyMethods=def(addMethods)?addMethods:true,getId=function(el){var eid=el.id;return typeof eid!=="object"?eid:el.attributes.id.nodeValue};if(typeof id==="string"&&elm&&getId(elm)!==id){elm=null;for(var i=0,item;(item=document.all[i]);i++){if(getId(item)===id){elm=item;break}}}if(elm&&applyMethods&&!elm.next){DOMAssistant.addMethodsToElm(elm)}return elm},prev:function(){return DOMAssistant.$$(navigate(this,"previous"))},next:function(){return DOMAssistant.$$(navigate(this,"next"))},hasChild:function(elm){return this===document||this!==elm&&(this.contains?this.contains(elm):!!(this.compareDocumentPosition(elm)&16))},getSequence:function(expression){var start,add=2,max=-1,modVal=-1,pseudoVal=regex.nth.exec(expression.replace(/^0n\+/,"").replace(/^2n$/,"even").replace(/^2n+1$/,"odd"));if(!pseudoVal){return null}if(pseudoVal[2]){start=(pseudoVal[2]==="odd")?1:2;modVal=(start===1)?1:0}else if(pseudoVal[3]){start=max=parseInt(pseudoVal[3],10);add=0}else if(pseudoVal[4]){add=pseudoVal[6]?parseInt(pseudoVal[6],10):1;start=pseudoVal[7]?parseInt(pseudoVal[7],10):0;while(start<1){start+=add}modVal=(start>=add)?(start-add)%add:start}else if(pseudoVal[8]){add=pseudoVal[10]?parseInt(pseudoVal[10],10):1;start=max=parseInt(pseudoVal[11],10);while(start>add){start-=add}modVal=(max>=add)?(max-add)%add:max}return{start:start,add:add,max:max,modVal:modVal}},cssByDOM:function(cssRule){var prevParents,currentRule,cssSelectors,childOrSiblingRef,nextTag,nextRegExp,current,previous,prevParent,notElm,addElm,iteratorNext,childElm,sequence,anyTag,elm=new HTMLArray(),index=elm.indexOf,prevElm=[],matchingElms=[],cssRules=cssRule.replace(regex.rules,",").split(","),splitRule={};function clearAdded(elm){elm=elm||prevElm;for(var n=elm.length;n--;){elm[n].added=null;elm[n].removeAttribute("added")}}function clearChildElms(){for(var n=prevParents.length;n--;){prevParents[n].childElms=null}}function subtractArray(arr1,arr2){for(var i=0,src1;(src1=arr1[i]);i++){var found=false;for(var j=0,src2;(src2=arr2[j]);j++){if(src2===src1){found=true;arr2.splice(j,1);break}}if(found){arr1.splice(i--,1)}}return arr1}function getAttr(elm,attr){return(isIE||regex.special.test(attr))?elm[camel[attr.toLowerCase()]||attr]:elm.getAttribute(attr,2)}function attrToRegExp(attrVal,substrOperator){attrVal=attrVal?attrVal.replace(regex.quoted,"$1").replace(/(\.|\[|\])/g,"\\$1"):null;return{"^":"^"+attrVal,"$":attrVal+"$","*":attrVal,"|":"^"+attrVal+"(\\-\\w+)*$","~":"\\b"+attrVal+"\\b"}[substrOperator]||(attrVal!==null?"^"+attrVal+"$":attrVal)}function notComment(el){return(el||this).tagName!=="!"}function getTags(tag,context){return isIE5?(tag==="*"?context.all:context.all.tags(tag)):context.getElementsByTagName(tag)}function getElementsByTagName(tag,parent){tag=tag||"*";parent=parent||document;return(parent===document||parent.lastModified)?tagCache[tag]||(tagCache[tag]=getTags(tag,document)):getTags(tag,parent)}function getElementsByPseudo(previousMatch,pseudoClass,pseudoValue){prevParents=[];var pseudo=pseudoClass.split("-"),matchingElms=[],idx=0,checkNodeName=/\-of\-type$/.test(pseudoClass),recur,match={first:function(el){return!navigate(el,"previous",checkNodeName)},last:function(el){return!navigate(el,"next",checkNodeName)},empty:function(el){return!el.firstChild},enabled:function(el){return!el.disabled&&el.type!=="hidden"},disabled:function(el){return el.disabled},checked:function(el){return el.checked},contains:function(el){return(el.innerText||el.textContent||"").indexOf(pseudoValue.replace(regex.quoted,"$1"))>-1},other:function(el){return getAttr(el,pseudoClass)===pseudoValue}};function basicMatch(key){while((previous=previousMatch[idx++])){if(notComment(previous)&&match[key](previous)){matchingElms[matchingElms.length]=previous}}return matchingElms}var word=pseudo[0]||null;if(word&&match[word]){return basicMatch(word)}switch(word){case"only":var kParent,kTag;while((previous=previousMatch[idx++])){prevParent=previous.parentNode;var q=previous.nodeName;if(prevParent!==kParent||q!==kTag){if(match.first(previous)&&match.last(previous)){matchingElms[matchingElms.length]=previous}kParent=prevParent;kTag=q}}break;case"nth":if(pseudoValue==="n"){matchingElms=previousMatch}else{var direction=(pseudo[1]==="last")?["lastChild","previousSibling"]:["firstChild","nextSibling"];sequence=DOMAssistant.getSequence(pseudoValue);if(sequence){while((previous=previousMatch[idx++])){prevParent=previous.parentNode;prevParent.childElms=prevParent.childElms||{};var p=previous.nodeName;if(!prevParent.childElms[p]){var childCount=0;iteratorNext=sequence.start;childElm=prevParent[direction[0]];while(childElm&&(sequence.max<0||iteratorNext<=sequence.max)){var c=childElm.nodeName;if((checkNodeName&&c===p)||(!checkNodeName&&childElm.nodeType===1&&c!=="!")){if(++childCount===iteratorNext){if(c===p){matchingElms[matchingElms.length]=childElm}iteratorNext+=sequence.add}}childElm=childElm[direction[1]]}if(anyTag){sort++}prevParent.childElms[p]=true;prevParents[prevParents.length]=prevParent}}clearChildElms()}}break;case"target":var hash=document.location.hash.slice(1);if(hash){while((previous=previousMatch[idx++])){if(getAttr(previous,"name")===hash||getAttr(previous,"id")===hash){matchingElms[matchingElms.length]=previous;break}}}break;case"not":if((recur=regex.pseudo.exec(pseudoValue))){matchingElms=subtractArray(previousMatch,getElementsByPseudo(previousMatch,recur[1]?recur[1].toLowerCase():null,recur[3]||null))}else{for(var re in regex){if(regex[re].lastIndex){regex[re].lastIndex=0}}pseudoValue=pseudoValue.replace(regex.id,"[id=$1]");var notTag=regex.tag.exec(pseudoValue);var notClass=regex.classes.exec(pseudoValue);var notAttr=regex.attribs.exec(pseudoValue);var notRegExp=new RegExp(notAttr?attrToRegExp(notAttr[4],notAttr[2]):"(^|\\s)"+(notTag?notTag[0]:notClass?notClass[1]:"")+"(\\s|$)","i");while((notElm=previousMatch[idx++])){addElm=null;if(notTag&&!notRegExp.test(notElm.nodeName)||notClass&&!notRegExp.test(notElm.className)){addElm=notElm}else if(notAttr){var att=getAttr(notElm,notAttr[1]);if(!def(att)||att===false||typeof att==="string"&&!notRegExp.test(att)){addElm=notElm}}if(addElm&&!addElm.added){addElm.added=true;matchingElms[matchingElms.length]=addElm}}}break;default:return basicMatch("other")}return matchingElms}function pushUnique(set1,set2){var i=0,s=set1,item;while((item=set2[i++])){if(!s.length||s.indexOf(item)<0){set1.push(item)}}return set1}sort=-1;for(var a=0,tagBin=[];(currentRule=cssRules[a]);a++){if(!(cssSelectors=currentRule.match(regex.selectorSplit))||a&&index.call(cssRules.slice(0,a),currentRule)>-1){continue}prevElm=[this];for(var i=0,rule;(rule=cssSelectors[i]);i++){matchingElms=[];if((childOrSiblingRef=regex.relation.exec(rule))){var idElm=null,nextWord=cssSelectors[i+1];if((nextTag=regex.tag.exec(nextWord))){nextTag=nextTag[0];nextRegExp=new RegExp("(^|\\s)"+nextTag+"(\\s|$)","i")}else if(regex.id.test(nextWord)){idElm=DOMAssistant.$(nextWord)||null}for(var j=0,prevRef;(prevRef=prevElm[j]);j++){switch(childOrSiblingRef[0]){case">":var children=idElm||getElementsByTagName(nextTag,prevRef);for(var k=0,child;(child=children[k]);k++){if(child.parentNode===prevRef){matchingElms[matchingElms.length]=child}}break;case"+":if((prevRef=navigate(prevRef,"next"))){if((idElm&&idElm[0]===prevRef)||(!idElm&&(!nextTag||nextRegExp.test(prevRef.nodeName)))){matchingElms[matchingElms.length]=prevRef}}break;case"~":while((prevRef=prevRef.nextSibling)&&!prevRef.added){if((idElm&&idElm[0]===prevRef)||(!idElm&&(!nextTag||nextRegExp.test(prevRef.nodeName)))){prevRef.added=true;matchingElms[matchingElms.length]=prevRef}}break}}prevElm=matchingElms;clearAdded();rule=cssSelectors[++i];if(/^\w+$/.test(rule)||regex.id.test(rule)){continue}prevElm.skipTag=true}var cssSelector=regex.selector.exec(rule);splitRule={tag:cssSelector[1]?cssSelector[1]:"*",id:cssSelector[2],allClasses:cssSelector[3],allAttr:cssSelector[5],allPseudos:cssSelector[10]};anyTag=(splitRule.tag==="*");if(splitRule.id){var u=0,DOMElm=document.getElementById(splitRule.id.slice(1));if(DOMElm){while(prevElm[u]&&!DOMAssistant.hasChild.call(prevElm[u],DOMElm)){u++}matchingElms=(u<prevElm.length&&(anyTag||splitRule.tag===DOMElm.tagName.toLowerCase()))?[DOMElm]:[]}prevElm=matchingElms}else if(splitRule.tag&&!prevElm.skipTag){if(i===0&&!matchingElms.length&&prevElm.length===1){prevElm=matchingElms=pushAll([],getElementsByTagName(splitRule.tag,prevElm[0]))}else{for(var l=0,ll=prevElm.length,tagCollectionMatches,tagMatch;l<ll;l++){tagCollectionMatches=getElementsByTagName(splitRule.tag,prevElm[l]);for(var m=0;(tagMatch=tagCollectionMatches[m]);m++){if(!tagMatch.added){tagMatch.added=true;matchingElms[matchingElms.length]=tagMatch}}}prevElm=matchingElms;clearAdded()}}if(!matchingElms.length){break}prevElm.skipTag=false;if(splitRule.allClasses){var n=0,matchingClassElms=[],allClasses=splitRule.allClasses.split(".").slice(1);while((current=prevElm[n++])){var matchCls=true,elmClass=current.className;if(elmClass&&elmClass.length){elmClass=elmClass.split(" ");for(var o=allClasses.length;o--;){if(elmClass.indexOf(allClasses[o])<0){matchCls=false;break}}if(matchCls){matchingClassElms[matchingClassElms.length]=current}}}prevElm=matchingElms=matchingClassElms}if(splitRule.allAttr){var matchAttr,r=0,regExpAttributes=[],matchingAttributeElms=[],allAttr=splitRule.allAttr.match(regex.attribs);for(var specialStrip=/^\[(selected|readonly)(\s*=.+)?\]$/,q=0,ql=allAttr.length,attributeMatch,attrVal;q<ql;q++){regex.attribs.lastIndex=0;attributeMatch=regex.attribs.exec(allAttr[q].replace(specialStrip,"[$1]"));attrVal=attrToRegExp(attributeMatch[4],attributeMatch[2]||null);regExpAttributes[q]=[(attrVal?new RegExp(attrVal):null),attributeMatch[1]]}while((current=matchingElms[r++])){for(var s=0,sl=regExpAttributes.length;s<sl;s++){var attributeRegExp=regExpAttributes[s][0],currentAttr=getAttr(current,regExpAttributes[s][1]);matchAttr=true;if(!attributeRegExp&&currentAttr===true){continue}if((!attributeRegExp&&(!currentAttr||typeof currentAttr!=="string"||!currentAttr.length))||(!!attributeRegExp&&!attributeRegExp.test(currentAttr))){matchAttr=false;break}}if(matchAttr){matchingAttributeElms[matchingAttributeElms.length]=current}}prevElm=matchingElms=matchingAttributeElms}if(splitRule.allPseudos){var allPseudos=splitRule.allPseudos.match(regex.pseudos);for(var t=0,tl=allPseudos.length;t<tl;t++){regex.pseudos.lastIndex=0;var pseudo=regex.pseudos.exec(allPseudos[t]);var pseudoClass=pseudo[1]?pseudo[1].toLowerCase():null;var pseudoValue=pseudo[3]||null;matchingElms=getElementsByPseudo(matchingElms,pseudoClass,pseudoValue);clearAdded(matchingElms)}prevElm=matchingElms}}elm=((tagBin.length&&(anyTag||index.call(tagBin,splitRule.tag)>=0||index.call(tagBin,"*")>=0))?pushUnique:pushAll)(elm,prevElm);tagBin.push(splitRule.tag);if(isIE&&anyTag){elm=elm.filter(notComment)}}return((elm.length>1&&cssRules.length>1)||sort>0)?sortDocumentOrder(elm):elm},cssByXpath:function(cssRule){var ns={xhtml:"http://www.w3.org/1999/xhtml"},prefix=(document.documentElement.namespaceURI===ns.xhtml)?"xhtml:":"",nsResolver=function lookupNamespaceURI(prefix){return ns[prefix]||null};DOMAssistant.cssByXpath=function(cssRule){var currentRule,cssSelectors,xPathExpression,cssSelector,splitRule,sequence,elm=new HTMLArray(),cssRules=cssRule.replace(regex.rules,",").split(",");function attrToXPath(wrap){var pre=wrap?"[":"",post=wrap?"]":"";return function(match,p1,p2,p3,p4){p4=(p4||"").replace(regex.quoted,"$1");if(p1===p4&&p1==="readonly"){p3=null}return pre+({"^":"starts-with(@"+p1+", \""+p4+"\")","$":"substring(@"+p1+", (string-length(@"+p1+") - "+(p4.length-1)+"), "+p4.length+") = \""+p4+"\"","*":"contains(concat(\" \", @"+p1+", \" \"), \""+p4+"\")","|":"@"+p1+"=\""+p4+"\" or starts-with(@"+p1+", \""+p4+"-\")","~":"contains(concat(\" \", @"+p1+", \" \"), \" "+p4+" \")"}[p2]||("@"+p1+(p3?"=\""+p4+"\"":"")))+post}}function pseudoToXPath(tag,pseudoClass,pseudoValue){tag=/\-child$/.test(pseudoClass)?"*":tag;var pseudo=pseudoClass.split("-"),position=((pseudo[1]==="last")?"(count(following-sibling::":"(count(preceding-sibling::")+tag+") + 1)",recur,hash;switch(pseudo[0]){case"nth":return(pseudoValue!=="n"&&(sequence=DOMAssistant.getSequence(pseudoValue)))?((sequence.start===sequence.max)?position+" = "+sequence.start:position+" mod "+sequence.add+" = "+sequence.modVal+((sequence.start>1)?" and "+position+" >= "+sequence.start:"")+((sequence.max>0)?" and "+position+" <= "+sequence.max:"")):"";case"not":return"not("+((recur=regex.pseudo.exec(pseudoValue))?pseudoToXPath(tag,recur[1]?recur[1].toLowerCase():null,recur[3]||null):pseudoValue.replace(regex.id,"[id=$1]").replace(regex.tag,"self::$0").replace(regex.classes,"contains(concat(\" \", @class, \" \"), \" $1 \")").replace(regex.attribs,attrToXPath()))+")";case"first":return"not(preceding-sibling::"+tag+")";case"last":return"not(following-sibling::"+tag+")";case"only":return"not(preceding-sibling::"+tag+" or following-sibling::"+tag+")";case"empty":return"not(child::*) and not(text())";case"contains":return"contains(., \""+pseudoValue.replace(regex.quoted,"$1")+"\")";case"enabled":return"not(@disabled) and not(@type=\"hidden\")";case"disabled":return"@disabled";case"target":return"@name=\""+(hash=document.location.hash.slice(1))+"\" or @id=\""+hash+"\"";default:return"@"+pseudoClass+"=\""+pseudoValue+"\""}}for(var i=0;(currentRule=cssRules[i]);i++){if(!(cssSelectors=currentRule.match(regex.selectorSplit))||i&&elm.indexOf.call(cssRules.slice(0,i),currentRule)>-1){continue}xPathExpression=xPathExpression?xPathExpression+" | .":".";for(var j=0,jl=cssSelectors.length;j<jl;j++){cssSelector=regex.selector.exec(cssSelectors[j]);splitRule={tag:prefix+(cssSelector[1]?cssSelector[1]:"*"),id:cssSelector[2],allClasses:cssSelector[3],allAttr:cssSelector[5],allPseudos:cssSelector[10],tagRelation:cssSelector[20]};xPathExpression+=(splitRule.tagRelation?({">":"/","+":"/following-sibling::*[1]/self::","~":"/following-sibling::"}[splitRule.tagRelation]||""):((j>0&&regex.relation.test(cssSelectors[j-1]))?splitRule.tag:("//"+splitRule.tag)))+(splitRule.id||"").replace(regex.id,"[@id = \"$1\"]")+(splitRule.allClasses||"").replace(regex.classes,"[contains(concat(\" \", @class, \" \"), \" $1 \")]")+(splitRule.allAttr||"").replace(regex.attribs,attrToXPath(true));if(splitRule.allPseudos){var allPseudos=splitRule.allPseudos.match(regex.pseudos);for(var k=0,kl=allPseudos.length;k<kl;k++){regex.pseudos.lastIndex=0;var pseudo=regex.pseudos.exec(allPseudos[k]),pseudoClass=pseudo[1]?pseudo[1].toLowerCase():null,pseudoValue=pseudo[3]||null,xpath=pseudoToXPath(splitRule.tag,pseudoClass,pseudoValue);if(xpath.length){xPathExpression+="["+xpath+"]"}}}}}try{var xPathNodes=document.evaluate(xPathExpression,this,nsResolver,7,null),node,p=0;while((node=xPathNodes.snapshotItem(p++))){elm.push(node)}}catch(e){}return elm};return DOMAssistant.cssByXpath.call(this,cssRule)},cssSelection:function(cssRule){if(!cssRule){return null}var special=regex.special.test(cssRule);try{if(document.querySelectorAll&&!special){return pushAll(new HTMLArray(),this.querySelectorAll(cssRule))}}catch(e){}return((document.evaluate&&!special&&!/-of-type/.test(cssRule))?DOMAssistant.cssByXpath:DOMAssistant.cssByDOM).call(this,cssRule)},cssSelect:function(cssRule){return DOMAssistant.cssSelection.call(this,cssRule)},elmsByClass:function(className,tag){var cssRule=(tag||"")+"."+className;return DOMAssistant.cssSelection.call(this,cssRule)},elmsByAttribute:function(attr,attrVal,tag,substrMatchSelector){var cssRule=(tag||"")+"["+attr+((attrVal&&attrVal!=="*")?((substrMatchSelector||"")+"="+attrVal+"]"):"]");return DOMAssistant.cssSelection.call(this,cssRule)},elmsByTag:function(tag){return DOMAssistant.cssSelection.call(this,tag)}}}();DOMAssistant.initCore();DOMAssistant.Storage=function(){var uniqueId=1,data=[],expando="_da"+ +new Date();return{hasData:function(){var uid=this[expando];return!!uid&&!!data[uid]},retrieve:function(key){if(!DOMAssistant.def(key)){return this[expando]||(this[expando]=uniqueId++)}if(!this[expando]||!data[this[expando]]){return}return data[this[expando]][key]},store:function(key,val){var uid=this[expando]||(this[expando]=uniqueId++);data[uid]=data[uid]||{};if(typeof key==="object"){for(var i in key){if(typeof i==="string"){data[uid][i]=key[i]}}}else{data[uid][key]=val}return this},unstore:function(key){var uid=this[expando]||(this[expando]=uniqueId++);if(data[uid]){if(DOMAssistant.def(key)){delete data[uid][key]}else{data[uid]=null}}return this}}}();DOMAssistant.attach(DOMAssistant.Storage);DOMAssistant.AJAX=function(){var globalXMLHttp=null,readyState=0,status=-1,statusText="",requestPool=[],createAjaxObj=function(url,method,callback,addToContent){var params=null;if(/POST/i.test(method)){url=url.split("?");params=url[1];url=url[0]}return{url:url,method:method,callback:callback,params:params,headers:{},responseType:"text",addToContent:addToContent||false}};return{publicMethods:["ajax","get","post","load"],initRequest:function(){var XMLHttp=null;if(!!window.XMLHttpRequest&&!DOMAssistant.isIE){XMLHttp=new XMLHttpRequest();DOMAssistant.AJAX.initRequest=function(){return requestPool.length?requestPool.pop():new XMLHttpRequest()}}else if(!!window.ActiveXObject){var XMLHttpMS=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];for(var i=0;i<XMLHttpMS.length;i++){try{XMLHttp=new window.ActiveXObject(XMLHttpMS[i]);DOMAssistant.AJAX.initRequest=function(){return requestPool.length?requestPool.pop():new window.ActiveXObject(XMLHttpMS[i])};break}catch(e){XMLHttp=null}}}return XMLHttp},ajax:function(ajaxObj){if(!ajaxObj.noParse&&ajaxObj.url&&/\?/.test(ajaxObj.url)&&ajaxObj.method&&/POST/i.test(ajaxObj.method)){var url=ajaxObj.url.split("?");ajaxObj.url=url[0];ajaxObj.params=url[1]+((url[1].length>0&&ajaxObj.params)?("&"+ajaxObj.params):"")}return DOMAssistant.AJAX.makeCall.call(this,ajaxObj)},get:function(url,callback,addToContent){return DOMAssistant.AJAX.makeCall.call(this,createAjaxObj(url,"GET",callback,addToContent))},post:function(url,callback){return DOMAssistant.AJAX.makeCall.call(this,createAjaxObj(url,"POST",callback))},load:function(url,addToContent){this.get(url,DOMAssistant.AJAX.replaceWithAJAXContent,addToContent)},makeCall:function(ajaxObj){var XMLHttp=DOMAssistant.AJAX.initRequest();if(XMLHttp){globalXMLHttp=XMLHttp;(function(elm){var url=ajaxObj.url,method=ajaxObj.method||"GET",callback=ajaxObj.callback,params=ajaxObj.params,headers=ajaxObj.headers,responseType=ajaxObj.responseType||"text",addToContent=ajaxObj.addToContent,timeout=ajaxObj.timeout||null,ex=ajaxObj.exception,timeoutId=null,done=false;XMLHttp.open(method,url,true);XMLHttp.setRequestHeader("AJAX","true");XMLHttp.setRequestHeader("X-Requested-With","XMLHttpRequest");if(method==="POST"){XMLHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");XMLHttp.setRequestHeader("Content-length",params?params.length:0);if(XMLHttp.overrideMimeType){XMLHttp.setRequestHeader("Connection","close")}}if(responseType==="json"){XMLHttp.setRequestHeader("Accept","application/json, text/javascript, */*")}for(var i in headers){if(typeof i==="string"){XMLHttp.setRequestHeader(i,headers[i])}}if(typeof callback==="function"){XMLHttp.onreadystatechange=function(){try{if(XMLHttp.readyState===4&&!done){window.clearTimeout(timeoutId);done=true;status=XMLHttp.status;statusText=XMLHttp.statusText;readyState=4;if((status||location.protocol!=="file:")&&(status<200||status>=300)){throw new Error(statusText);}var response=/xml/i.test(responseType)?XMLHttp.responseXML:XMLHttp.responseText;if(/json/i.test(responseType)&&!!response){response=(typeof JSON==="object"&&typeof JSON.parse==="function")?JSON.parse(response):eval("("+response+")")}globalXMLHttp=null;XMLHttp.onreadystatechange=function(){};requestPool.push(XMLHttp);callback.call(elm,response,addToContent)}}catch(e){globalXMLHttp=XMLHttp=null;if(typeof ex==="function"){ex.call(elm,e);ex=null}}}}XMLHttp.send(params);if(timeout){timeoutId=window.setTimeout(function(){if(!done){XMLHttp.abort();done=true;if(typeof ex==="function"){readyState=0;status=408;statusText="Request timeout";globalXMLHttp=XMLHttp=null;ex.call(elm,new Error(statusText));ex=null}}},timeout)}})(this)}return this},replaceWithAJAXContent:function(content,add){if(add){this.innerHTML+=content}else{DOMAssistant.cleanUp(this);this.innerHTML=content}},getReadyState:function(){return(globalXMLHttp&&DOMAssistant.def(globalXMLHttp.readyState))?globalXMLHttp.readyState:readyState},getStatus:function(){return status},getStatusText:function(){return statusText}}}();DOMAssistant.attach(DOMAssistant.AJAX);DOMAssistant.CSS=function(){var def=DOMAssistant.def,direct={display:true};return{addClass:function(className){if(!this.hasClass(className)){var currentClass=this.className;this.className=currentClass+(currentClass.length?" ":"")+className}return this},removeClass:function(className){return this.replaceClass(className)},replaceClass:function(className,newClass){var classToRemove=new RegExp(("(^|\\s)"+className+"(\\s|$)"),"i");this.className=this.className.replace(classToRemove,function(match,p1,p2){return newClass?(p1+newClass+p2):" "}).replace(/^\s+|\s+$/g,"");return this},hasClass:function(className){return(" "+this.className+" ").indexOf(" "+className+" ")>-1},setStyle:function(style,value){var css=this.style;if("filters"in this&&(typeof style==="string"?/opacity/i.test(style):def(style.opacity))){css.zoom=1;css.filter=(css.filter||"").replace(/alpha\([^)]*\)/,"")+"alpha(opacity="+(def(style.opacity)?style.opacity:value)*100+")"}if(def(css.cssText)){var styleToSet=css.cssText;if(typeof style==="object"){for(var i in style){if(typeof i==="string"){if(direct[i]){css[i]=style[i]}styleToSet+=";"+i+":"+style[i]}}}else{if(direct[style]){css[style]=value}styleToSet+=";"+style+":"+value}css.cssText=styleToSet}return this},getStyle:function(cssRule){var val="",f;cssRule=cssRule.toLowerCase();if(document.defaultView&&document.defaultView.getComputedStyle){val=document.defaultView.getComputedStyle(this,"").getPropertyValue(cssRule)}else if(this.currentStyle){if("filters"in this&&cssRule==="opacity"){val=(f=this.style.filter||this.currentStyle.filter)&&f.indexOf("opacity=")>=0?parseFloat(f.match(/opacity=([^)]*)/)[1])/100:1}else{cssRule=cssRule.replace(/^float$/,"styleFloat").replace(/\-(\w)/g,function(match,p1){return p1.toUpperCase()});val=this.currentStyle[cssRule]}if(val==="auto"&&/^(width|height)$/.test(cssRule)&&this.currentStyle.display!=="none"){val=this["offset"+cssRule.charAt(0).toUpperCase()+cssRule.substr(1)]+"px"}}return val}}}();DOMAssistant.attach(DOMAssistant.CSS);DOMAssistant.Content=function(){var D$=DOMAssistant.$$;return{init:function(){DOMAssistant.setCache(false)},create:function(name,attr,append,content){var elm=D$(document.createElement(name));if(attr){elm=elm.setAttributes(attr)}if(DOMAssistant.def(content)){elm.addContent(content)}if(append){this.appendChild(elm)}return elm},setAttributes:function(attr){if(DOMAssistant.isIE){var setAttr=function(elm,att,val){var attLower=att.toLowerCase();switch(attLower){case"name":case"type":case"multiple":return D$(document.createElement(elm.outerHTML.replace(new RegExp(attLower+"(=[a-zA-Z]+)?")," ").replace(">"," "+attLower+"="+val+">")));case"style":elm.style.cssText=val;return elm;default:elm[DOMAssistant.camel[attLower]||att]=val;return elm}};DOMAssistant.Content.setAttributes=function(attr){var elem=this;var parent=this.parentNode;for(var i in attr){if(typeof attr[i]==="string"||typeof attr[i]==="number"){var newElem=setAttr(elem,i,attr[i]);if(parent&&/(name|type)/i.test(i)){if(elem.innerHTML){newElem.innerHTML=elem.innerHTML}parent.replaceChild(newElem,elem)}elem=newElem}}return elem}}else{DOMAssistant.Content.setAttributes=function(attr){for(var i in attr){if(/class/i.test(i)){this.className=attr[i]}else{this.setAttribute(i,attr[i])}}return this}}return DOMAssistant.Content.setAttributes.call(this,attr)},addContent:function(content){var type=typeof content;if(type==="string"||type==="number"){if(!this.firstChild){this.innerHTML=content}else{var tmp=document.createElement("div");tmp.innerHTML=content;for(var i=tmp.childNodes.length-1,last=null;i>=0;i--){last=this.insertBefore(tmp.childNodes[i],last)}}}else if(type==="object"||(type==="function"&&!!content.nodeName)){this.appendChild(content)}return this},replaceContent:function(content){DOMAssistant.cleanUp(this);return this.addContent(content)},replace:function(content,returnNew){var type=typeof content;if(type==="string"||type==="number"){var parent=this.parentNode;var tmp=DOMAssistant.Content.create.call(parent,"div",null,false,content);for(var i=tmp.childNodes.length;i--;){parent.insertBefore(tmp.childNodes[i],this.nextSibling)}content=this.nextSibling;parent.removeChild(this)}else if(type==="object"||(type==="function"&&!!content.nodeName)){this.parentNode.replaceChild(content,this)}return returnNew?content:this},remove:function(){DOMAssistant.cleanUp(this);if(this.hasData()){if(this.removeEvent){this.removeEvent()}this.unstore()}this.parentNode.removeChild(this);return null}}}();DOMAssistant.attach(DOMAssistant.Content);DOMAssistant.Events=function(){var handler,key="_events",w3cMode=!!document.addEventListener,useCapture={focus:true,blur:true},translate=DOMAssistant.isIE?{focus:"activate",blur:"deactivate",mouseenter:"mouseover",mouseleave:"mouseout"}:{mouseenter:"mouseover",mouseleave:"mouseout"},regex={special:/^submit|reset|change|select$/i,mouseenterleave:/^mouse(enter|leave)$/i,dom:/^DOM/,on:/^on/i},special=function(e){return DOMAssistant.isIE&&regex.special.test(e)},fix=function(e){return translate[e]||e},createEvent=function(e,type,target){e=e||window.event||{};if(e.event){return e}var event={event:e,type:type||e.type,bubbles:e.bubbles||true,cancelable:e.cancelable||false,target:target||e.target||e.srcElement,clientX:e.clientX||0,clientY:e.clientY||0,altKey:e.altKey||false,ctrlKey:e.ctrlKey||false,shiftKey:e.shiftKey||false,button:e.button||null,timeStamp:+new Date(),preventDefault:function(){if(e.preventDefault){e.preventDefault()}this.returnValue=e.returnValue=false},stopPropagation:function(){if(e.stopPropagation){e.stopPropagation()}this.cancelBubble=e.cancelBubble=true}};if(event.target&&3===event.target.nodeType){event.target=event.target.parentNode}event.currentTarget=event.target;event.relatedTarget=e.relatedTarget||(e.fromElement===event.target?e.toElement:e.fromElement)||null;var de=document.documentElement,b=document.body;event.pageX=DOMAssistant.def(e.pageX)?e.pageX:(event.clientX+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||0));event.pageY=DOMAssistant.def(e.pageY)?e.pageY:(event.clientY+(de.scrollTop||b.scrollTop)-(de.clientTop||0));if("number"===typeof e.which){event.keyCode=e.keyCode;event.charCode=event.which=e.which}else if(e.keyCode){event.keyCode=event.charCode=e.keyCode}return event};return{publicMethods:["triggerEvent","addEvent","removeEvent","relayEvent","unrelayEvent","preventDefault","cancelBubble"],init:function(){DOMAssistant.preventDefault=this.preventDefault;DOMAssistant.cancelBubble=this.cancelBubble;handler=this.handleEvent},triggerEvent:function(evt,target,e){var fevt=fix(evt),events=this.retrieve(key),event=e||createEvent(e,fevt,target||this);event.currentTarget=this;if(events&&events[fevt]){for(var i=0,iL=events[fevt].length;i<iL;i++){if(events[fevt][i].call(this,event)===false){event.stopPropagation()}}}else if(typeof this["on"+fevt]==="function"){this["on"+fevt].call(this,event)}var p=DOMAssistant.$$(this.parentNode);if(!event.cancelBubble&&p&&p.nodeType===1){p.triggerEvent(fevt,target,event)}return this},addEvent:function(evt,func,relay,proxy,selector){var existingEvent,fevt=fix(evt),uid=fevt+this.retrieve(),onevt="on"+fevt;if(!(func.attachedElements&&func.attachedElements[uid])){var events=this.retrieve(key)||{};if(!events[fevt]){events[fevt]=[];existingEvent=this[onevt];this[onevt]=null}if(typeof this.window==="object"){this.window[onevt]=handler}else if(!events[fevt].length){if(w3cMode){this.addEventListener(fevt,handler,useCapture[fevt])}else{this[onevt]=handler}}if(existingEvent){events[fevt].push(existingEvent)}if(fevt!==evt){func.evt=evt}func.relay=relay;func.proxy=proxy;func.selector=selector;func.attachedElements=func.attachedElements||{};func.attachedElements[uid]=true;events[fevt].push(func);this.store(key,events)}return this},handleEvent:function(evt){var currentEvt=(evt&&regex.dom.test(evt.type)&&w3cMode)?evt:createEvent(evt),type=fix(currentEvt.type),targ=currentEvt.target,relatedTarg=currentEvt.relatedTarget,eventColl=this.retrieve(key)[type].slice(0),eventCollLength,eventReturn,oevt;if((eventCollLength=eventColl.length)){for(var i=0;i<eventCollLength;i++){if(typeof eventColl[i]==="function"){if((oevt=eventColl[i].evt)&&oevt!==type){currentEvt.type=oevt;if(relatedTarg&&regex.mouseenterleave.test(oevt)){if(eventColl[i].relay){var elms=eventColl[i].elms||(eventColl[i].elms=this.cssSelect(eventColl[i].selector));if(elms.indexOf(targ)<0||!DOMAssistant.hasChild.call(relatedTarg,targ)){continue}}else if(this===relatedTarg||this.hasChild(relatedTarg)){continue}}}eventReturn=eventColl[i].call(this,currentEvt)}}if(eventReturn===false){currentEvt.stopPropagation()}return eventReturn}},removeEvent:function(evt,func,relay,proxy){var uid=(evt=fix(evt))+this.retrieve(),events=this.retrieve(key),onevt="on"+evt;if(events&&!evt){for(var ev in events){if(events[ev].length){this.removeEvent(ev)}}var attr=this.attributes;for(var att,j=attr.length;j--;){att=attr[j].nodeName.toLowerCase();if(regex.on.test(att)&&typeof this[att]==="function"){this[att]=null}}}else if(events&&events[evt]){var eventColl=events[evt];for(var fn,i=eventColl.length;i--;){fn=func||eventColl[i];if(eventColl[i]===fn&&relay===fn.relay&&proxy===fn.proxy){eventColl.splice(i,1);if(!!proxy&&fn.selector){this.cssSelect(fn.selector).removeEvent(proxy)}if(fn.attachedElements){fn.attachedElements[uid]=null}}}if(!events[evt].length){if(w3cMode){this.removeEventListener(evt,handler,useCapture[evt])}else{this[onevt]=null}}}else if(this[onevt]&&!func&&!relay){this[onevt]=null}return this},relayEvent:function(evt,selector,fn,proxy){if(special(evt)){this.relayEvent("focus",selector,function(){DOMAssistant.$$(this).removeEvent(evt).addEvent(evt,function(e){return fn.call(this,createEvent(e))})},evt).relayEvent("blur",selector,function(){DOMAssistant.$$(this).removeEvent(evt)},evt);return this}return this.addEvent(evt,function(e){e=createEvent(e);var target=e.target,args=arguments,i=0,elm,elms=this.cssSelect(selector);while((elm=elms[i++])){if((elm===target||DOMAssistant.hasChild.call(elm,target))&&!elm.disabled){e.currentTarget=elm;var retVal=fn.apply(elm,args);if(!retVal){e.preventDefault()}return retVal}}},true,proxy,selector)},unrelayEvent:function(evt){if(special(evt)){return this.removeEvent("focus",null,true,evt).removeEvent("blur",null,true,evt)}return this.removeEvent(evt,null,true)},preventDefault:function(evt){if(evt.preventDefault){evt.preventDefault()}evt.returnValue=false},cancelBubble:function(evt){if(evt.stopPropagation){evt.stopPropagation()}evt.cancelBubble=true}}}();DOMAssistant.attach(DOMAssistant.Events);DOMAssistant.DOMLoad=function(){var DOMLoaded=false,DOMLoadTimer=null,functionsToCall=[],addedStrings={},errorHandling=null,execFunctions=function(){for(var i=0,il=functionsToCall.length;i<il;i++){try{functionsToCall[i]()}catch(e){if(errorHandling&&typeof errorHandling==="function"){errorHandling(e)}}}functionsToCall=[]},DOMHasLoaded=function(){if(DOMLoaded){return}DOMLoaded=true;execFunctions()};/*@cc_on@if(@_win32||@_win64)document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");document.getElementById("ieScriptLoad").onreadystatechange=function(){if(this.readyState==="complete"){DOMHasLoaded()}};@end@*/if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMHasLoaded,false)}if(/KHTML|WebKit|iCab/i.test(navigator.userAgent)){DOMLoadTimer=setInterval(function(){if(/loaded|complete/i.test(document.readyState)){DOMHasLoaded();clearInterval(DOMLoadTimer)}},10)}window.onload=DOMHasLoaded;return{DOMReady:function(){for(var i=0,il=arguments.length,funcRef;i<il;i++){funcRef=arguments[i];if(!funcRef.DOMReady&&!addedStrings[funcRef]){if(typeof funcRef==="string"){addedStrings[funcRef]=true;funcRef=new Function(funcRef)}funcRef.DOMReady=true;functionsToCall.push(funcRef)}}if(DOMLoaded){execFunctions()}},setErrorHandling:function(funcRef){errorHandling=funcRef}}}();DOMAssistant.DOMReady=DOMAssistant.DOMLoad.DOMReady;
