/*
	Copyright (c) 2004-2007, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/book/dojo-book-0-9/introduction/licensing
*/


dojo._xdResourceLoaded({depends:[["provide","dijit._Templated"],["require","dijit._Widget"],["require","dojo.string"],["require","dojo.parser"]],defineResource:function(_1){if(!_1._hasResource["dijit._Templated"]){_1._hasResource["dijit._Templated"]=true;_1.provide("dijit._Templated");_1.require("dijit._Widget");_1.require("dojo.string");_1.require("dojo.parser");_1.declare("dijit._Templated",null,{templateNode:null,templateString:null,templatePath:null,widgetsInTemplate:false,containerNode:null,_skipNodeCache:false,buildRendering:function(){var _2=dijit._Templated.getCachedTemplate(this.templatePath,this.templateString,this._skipNodeCache);var _3;if(_1.isString(_2)){var _4=this.declaredClass,_5=this;var _6=_1.string.substitute(_2,this,function(_7,_8){if(_8.charAt(0)=="!"){_7=_5[_8.substr(1)];}if(typeof _7=="undefined"){throw new Error(_4+" template:"+_8);}if(!_7){return "";}return _8.charAt(0)=="!"?_7:_7.toString().replace(/"/g,"&quot;");},this);_3=dijit._Templated._createNodesFromText(_6)[0];}else{_3=_2.cloneNode(true);}this._attachTemplateNodes(_3);var _9=this.srcNodeRef;if(_9&&_9.parentNode){_9.parentNode.replaceChild(_3,_9);}this.domNode=_3;if(this.widgetsInTemplate){var _a=_1.parser.parse(_3);this._attachTemplateNodes(_a,function(n,p){return n[p];});}this._fillContent(_9);},_fillContent:function(_d){var _e=this.containerNode;if(_d&&_e){while(_d.hasChildNodes()){_e.appendChild(_d.firstChild);}}},_attachTemplateNodes:function(_f,_10){_10=_10||function(n,p){return n.getAttribute(p);};var _13=_1.isArray(_f)?_f:(_f.all||_f.getElementsByTagName("*"));var x=_1.isArray(_f)?0:-1;for(;x<_13.length;x++){var _15=(x==-1)?_f:_13[x];if(this.widgetsInTemplate&&_10(_15,"dojoType")){continue;}var _16=_10(_15,"dojoAttachPoint");if(_16){var _17,_18=_16.split(/\s*,\s*/);while(_17=_18.shift()){if(_1.isArray(this[_17])){this[_17].push(_15);}else{this[_17]=_15;}}}var _19=_10(_15,"dojoAttachEvent");if(_19){var _1a,_1b=_19.split(/\s*,\s*/);var _1c=_1.trim;while(_1a=_1b.shift()){if(_1a){var _1d=null;if(_1a.indexOf(":")!=-1){var _1e=_1a.split(":");_1a=_1c(_1e[0]);_1d=_1c(_1e[1]);}else{_1a=_1c(_1a);}if(!_1d){_1d=_1a;}this.connect(_15,_1a,_1d);}}}var _1f=_10(_15,"waiRole");if(_1f){dijit.setWaiRole(_15,_1f);}var _20=_10(_15,"waiState");if(_20){_1.forEach(_20.split(/\s*,\s*/),function(_21){if(_21.indexOf("-")!=-1){var _22=_21.split("-");dijit.setWaiState(_15,_22[0],_22[1]);}});}}}});dijit._Templated._templateCache={};dijit._Templated.getCachedTemplate=function(_23,_24,_25){var _26=dijit._Templated._templateCache;var key=_24||_23;var _28=_26[key];if(_28){return _28;}if(!_24){_24=dijit._Templated._sanitizeTemplateString(_1._getText(_23));}_24=_1.string.trim(_24);if(_24.match(/\$\{([^\}]+)\}/g)||_25){return (_26[key]=_24);}else{return (_26[key]=dijit._Templated._createNodesFromText(_24)[0]);}};dijit._Templated._sanitizeTemplateString=function(_29){if(_29){_29=_29.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var _2a=_29.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);if(_2a){_29=_2a[1];}}else{_29="";}return _29;};if(_1.isIE){_1.addOnUnload(function(){var _2b=dijit._Templated._templateCache;for(var key in _2b){var _2d=_2b[key];if(!isNaN(_2d.nodeType)){_1._destroyElement(_2d);}_2b[key]=null;}});}(function(){var _2e={cell:{re:/^<t[dh][\s\r\n>]/i,pre:"<table><tbody><tr>",post:"</tr></tbody></table>"},row:{re:/^<tr[\s\r\n>]/i,pre:"<table><tbody>",post:"</tbody></table>"},section:{re:/^<(thead|tbody|tfoot)[\s\r\n>]/i,pre:"<table>",post:"</table>"}};var tn;dijit._Templated._createNodesFromText=function(_30){if(!tn){tn=_1.doc.createElement("div");tn.style.display="none";_1.body().appendChild(tn);}var _31="none";var _32=_30.replace(/^\s+/,"");for(var _33 in _2e){var map=_2e[_33];if(map.re.test(_32)){_31=_33;_30=map.pre+_30+map.post;break;}}tn.innerHTML=_30;if(tn.normalize){tn.normalize();}var tag={cell:"tr",row:"tbody",section:"table"}[_31];var _36=(typeof tag!="undefined")?tn.getElementsByTagName(tag)[0]:tn;var _37=[];while(_36.firstChild){_37.push(_36.removeChild(_36.firstChild));}tn.innerHTML="";return _37;};})();_1.extend(dijit._Widget,{dojoAttachEvent:"",dojoAttachPoint:"",waiRole:"",waiState:""});}}});