/*
	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/community/licensing.shtml
*/


dojo._xdResourceLoaded({depends:[["provide","dojo.io.script"]],defineResource:function(_1){if(!_1._hasResource["dojo.io.script"]){_1._hasResource["dojo.io.script"]=true;_1.provide("dojo.io.script");_1.io.script={get:function(_2){var _3=this._makeScriptDeferred(_2);var _4=_3.ioArgs;_1._ioAddQueryToUrl(_4);this.attach(_4.id,_4.url);_1._ioWatch(_3,this._validCheck,this._ioCheck,this._resHandle);return _3;},attach:function(id,_6){var _7=_1.doc.createElement("script");_7.type="text/javascript";_7.src=_6;_7.id=id;_1.doc.getElementsByTagName("head")[0].appendChild(_7);},remove:function(id){_1._destroyElement(_1.byId(id));if(this["jsonp_"+id]){delete this["jsonp_"+id];}},_makeScriptDeferred:function(_9){var _a=_1._ioSetArgs(_9,this._deferredCancel,this._deferredOk,this._deferredError);var _b=_a.ioArgs;_b.id="dojoIoScript"+(this._counter++);_b.canDelete=false;if(_9.callbackParamName){_b.query=_b.query||"";if(_b.query.length>0){_b.query+="&";}_b.query+=_9.callbackParamName+"=dojo.io.script.jsonp_"+_b.id+"._jsonpCallback";_b.canDelete=true;_a._jsonpCallback=this._jsonpCallback;this["jsonp_"+_b.id]=_a;}return _a;},_deferredCancel:function(_c){_c.canceled=true;if(_c.ioArgs.canDelete){_1.io.script._deadScripts.push(_c.ioArgs.id);}},_deferredOk:function(_d){if(_d.ioArgs.canDelete){_1.io.script._deadScripts.push(_d.ioArgs.id);}if(_d.ioArgs.json){return _d.ioArgs.json;}else{return _d.ioArgs;}},_deferredError:function(_e,_f){if(_f.ioArgs.canDelete){if(_e.dojoType=="timeout"){_1.io.script.remove(_f.ioArgs.id);}else{_1.io.script._deadScripts.push(_f.ioArgs.id);}}console.debug("dojo.io.script error",_e);return _e;},_deadScripts:[],_counter:1,_validCheck:function(dfd){var _11=_1.io.script;var _12=_11._deadScripts;if(_12&&_12.length>0){for(var i=0;i<_12.length;i++){_11.remove(_12[i]);}_1.io.script._deadScripts=[];}return true;},_ioCheck:function(dfd){if(dfd.ioArgs.json){return true;}var _15=dfd.ioArgs.args.checkString;if(_15&&eval("typeof("+_15+") != 'undefined'")){return true;}return false;},_resHandle:function(dfd){if(_1.io.script._ioCheck(dfd)){dfd.callback(dfd);}else{dfd.errback(new Error("inconceivable dojo.io.script._resHandle error"));}},_jsonpCallback:function(_17){this.ioArgs.json=_17;}};}}});
