/*
	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["dojo.parser"]){dojo._hasResource["dojo.parser"]=true;dojo.provide("dojo.parser");dojo.require("dojo.date.stamp");dojo.parser=new function(){var d=dojo;this._attrName=d._scopeName+"Type";this._query="["+this._attrName+"]";function _1(_2){if(d.isString(_2)){return "string";}if(typeof _2=="number"){return "number";}if(typeof _2=="boolean"){return "boolean";}if(d.isFunction(_2)){return "function";}if(d.isArray(_2)){return "array";}if(_2 instanceof Date){return "date";}if(_2 instanceof d._Url){return "url";}return "object";};function _3(_4,_5){switch(_5){case "string":return _4;case "number":return _4.length?Number(_4):NaN;case "boolean":return typeof _4=="boolean"?_4:!(_4.toLowerCase()=="false");case "function":if(d.isFunction(_4)){_4=_4.toString();_4=d.trim(_4.substring(_4.indexOf("{")+1,_4.length-1));}try{if(_4.search(/[^\w\.]+/i)!=-1){return new Function(_4);}else{return d.getObject(_4,false);}}catch(e){return new Function();}case "array":return _4?_4.split(/\s*,\s*/):[];case "date":switch(_4){case "":return new Date("");case "now":return new Date();default:return d.date.stamp.fromISOString(_4);}case "url":return d.baseUrl+_4;default:return d.fromJson(_4);}};var _6={};dojo.connect(dojo,"extend",function(){_6={};});function _7(_8){if(!_6[_8]){var _9=d.getObject(_8);if(!d.isFunction(_9)){throw new Error("Could not load class '"+_8+"'. Did you spell the name correctly and use a full path, like 'dijit.form.Button'?");}var _a=_9.prototype;var _b={},_c={};for(var _d in _a){if(_d.charAt(0)=="_"){continue;}if(_d in _c){continue;}var _e=_a[_d];_b[_d]=_1(_e);}_6[_8]={cls:_9,params:_b};}return _6[_8];};this._functionFromScript=function(_f){var _10="";var _11="";var _12=_f.getAttribute("args");if(_12){d.forEach(_12.split(/\s*,\s*/),function(_13,idx){_10+="var "+_13+" = arguments["+idx+"]; ";});}var _14=_f.getAttribute("with");if(_14&&_14.length){d.forEach(_14.split(/\s*,\s*/),function(_15){_10+="with("+_15+"){";_11+="}";});}return new Function(_10+_f.innerHTML+_11);};this.instantiate=function(_16,_17,_18){var _19=[],dp=dojo.parser;_17=_17||{};_18=_18||{};d.forEach(_16,function(_1a){if(!_1a){return;}var _1b=dp._attrName in _17?_17[dp._attrName]:_1a.getAttribute(dp._attrName);if(!_1b||!_1b.length){return;}var _1c=_7(_1b),_1d=_1c.cls,ps=_1d._noScript||_1d.prototype._noScript;var _1e={},_1f=_1a.attributes;for(var _20 in _1c.params){var _21=_20 in _17?{value:_17[_20],specified:true}:_1f.getNamedItem(_20);if(!_21||(!_21.specified&&(!dojo.isIE||_20.toLowerCase()!="value"))){continue;}var _22=_21.value;switch(_20){case "class":_22="className" in _17?_17.className:_1a.className;break;case "style":_22="style" in _17?_17.style:(_1a.style&&_1a.style.cssText);}var _23=_1c.params[_20];if(typeof _22=="string"){_1e[_20]=_3(_22,_23);}else{_1e[_20]=_22;}}if(!ps){var _24=[],_25=[];d.query("> script[type^='dojo/']",_1a).orphan().forEach(function(_26){var _27=_26.getAttribute("event"),_1b=_26.getAttribute("type"),nf=d.parser._functionFromScript(_26);if(_27){if(_1b=="dojo/connect"){_24.push({event:_27,func:nf});}else{_1e[_27]=nf;}}else{_25.push(nf);}});}var _28=_1d.markupFactory||_1d.prototype&&_1d.prototype.markupFactory;var _29=_28?_28(_1e,_1a,_1d):new _1d(_1e,_1a);_19.push(_29);var _2a=_1a.getAttribute("jsId");if(_2a){d.setObject(_2a,_29);}if(!ps){d.forEach(_24,function(_2b){d.connect(_29,_2b.event,null,_2b.func);});d.forEach(_25,function(_2c){_2c.call(_29);});}});if(!_17._started){d.forEach(_19,function(_2d){if(!_18.noStart&&_2d&&_2d.startup&&!_2d._started&&(!_2d.getParent||!_2d.getParent())){_2d.startup();}});}return _19;};this.parse=function(_2e,_2f){var _30;if(!_2f&&_2e&&_2e.rootNode){_2f=_2e;_30=_2f.rootNode;}else{_30=_2e;}var _31=d.query(this._query,_30);return this.instantiate(_31,null,_2f);};}();(function(){var _32=function(){if(dojo.config.parseOnLoad){dojo.parser.parse();}};if(dojo.exists("dijit.wai.onload")&&(dijit.wai.onload===dojo._loaders[0])){dojo._loaders.splice(1,0,_32);}else{dojo._loaders.unshift(_32);}})();}