/* Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ if(!dojo._hasResource["dojox.dtl.contrib.dom"]){dojo._hasResource["dojox.dtl.contrib.dom"]=true;dojo.provide("dojox.dtl.contrib.dom");dojo.require("dojox.dtl.dom");(function(){var dd=dojox.dtl;var _1=dd.contrib.dom;var _2={render:function(){return this.contents;}};_1.StyleNode=dojo.extend(function(_3){this.contents={};this._current={};this._styles=_3;for(var _4 in _3){if(_3[_4].indexOf("{{")!=-1){var _5=new dd.Template(_3[_4]);}else{var _5=dojo.delegate(_2);_5.contents=_3[_4];}this.contents[_4]=_5;}},{render:function(_6,_7){for(var _8 in this.contents){var _9=this.contents[_8].render(_6);if(this._current[_8]!=_9){dojo.style(_7.getParent(),_8,this._current[_8]=_9);}}return _7;},unrender:function(_a,_b){this._current={};return _b;},clone:function(_c){return new this.constructor(this._styles);}});_1.BufferNode=dojo.extend(function(_d,_e){this.nodelist=_d;this.options=_e;},{_swap:function(_f,_10){if(!this.swapped&&this.parent.parentNode){if(_f=="node"){if((_10.nodeType==3&&!this.options.text)||(_10.nodeType==1&&!this.options.node)){return;}}else{if(_f=="class"){if(_f!="class"){return;}}}this.onAddNode&&dojo.disconnect(this.onAddNode);this.onRemoveNode&&dojo.disconnect(this.onRemoveNode);this.onChangeAttribute&&dojo.disconnect(this.onChangeAttribute);this.onChangeData&&dojo.disconnect(this.onChangeData);this.swapped=this.parent.cloneNode(true);this.parent.parentNode.replaceChild(this.swapped,this.parent);}},render:function(_11,_12){this.parent=_12.getParent();if(this.options.node){this.onAddNode=dojo.connect(_12,"onAddNode",dojo.hitch(this,"_swap","node"));this.onRemoveNode=dojo.connect(_12,"onRemoveNode",dojo.hitch(this,"_swap","node"));}if(this.options.text){this.onChangeData=dojo.connect(_12,"onChangeData",dojo.hitch(this,"_swap","node"));}if(this.options["class"]){this.onChangeAttribute=dojo.connect(_12,"onChangeAttribute",dojo.hitch(this,"_swap","class"));}_12=this.nodelist.render(_11,_12);if(this.swapped){this.swapped.parentNode.replaceChild(this.parent,this.swapped);dojo.destroy(this.swapped);}else{this.onAddNode&&dojo.disconnect(this.onAddNode);this.onRemoveNode&&dojo.disconnect(this.onRemoveNode);this.onChangeAttribute&&dojo.disconnect(this.onChangeAttribute);this.onChangeData&&dojo.disconnect(this.onChangeData);}delete this.parent;delete this.swapped;return _12;},unrender:function(_13,_14){return this.nodelist.unrender(_13,_14);},clone:function(_15){return new this.constructor(this.nodelist.clone(_15),this.options);}});dojo.mixin(_1,{buffer:function(_16,_17){var _18=_17.contents.split().slice(1);var _19={};var _1a=false;for(var i=_18.length;i--;){_1a=true;_19[_18[i]]=true;}if(!_1a){_19.node=true;}var _1b=_16.parse(["endbuffer"]);_16.next_token();return new _1.BufferNode(_1b,_19);},html:function(_1c,_1d){dojo.deprecated("{% html someVariable %}","Use {{ someVariable|safe }} instead");return _1c.create_variable_node(_1d.contents.slice(5)+"|safe");},style_:function(_1e,_1f){var _20={};_1f=_1f.contents.replace(/^style\s+/,"");var _21=_1f.split(/\s*;\s*/g);for(var i=0,_22;_22=_21[i];i++){var _23=_22.split(/\s*:\s*/g);var key=_23[0];var _24=dojo.trim(_23[1]);if(_24){_20[key]=_24;}}return new _1.StyleNode(_20);}});dd.register.tags("dojox.dtl.contrib",{"dom":["html","attr:style","buffer"]});})();}