////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// $Id: _boot.js 185 2009-03-19 07:05:02Z admin $
//   -requires jQuery
//
// Provides: isDefined, objdump, namespace, dynload
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;(function(){if(!jQuery._boot_included){jQuery._boot_included = true;// Load only once
jQuery.require = function(url,tmout){if(!tmout||tmout<1){tmout:7000};return jQuery.ajax({url:url,cache:true,timeout:tmout,async:false,dataType:'script'});};
//----------------------------------------------------------------------------------------------------------------------
jQuery.isDefined = function (svariable){return eval('typeof('+svariable+') != "undefined"');};
jQuery.objdump = function (o) {var t='';for(var e in o){t+=e+": "+o[e]+"\r\n";}return t;};
jQuery.namespace = function(name){
    if(name in this)
        return this[name];
    return (this[name] = new Object());
};
jQuery.dynload = new Object;
jQuery.dynload.loaded = new Object();
jQuery.dynload.load_cb = function(url,d,t){
	var u = url.split("?")[0];
	if (u in jQuery.dynload.loaded)
		jQuery.dynload.loaded[u] = true;
};
jQuery.dynload.isLoaded = function(url){
	return !!jQuery.dynload.loaded[url];
};
jQuery.dynload.js = function(url,force,callback,failure,tmout){
	//jQuery.dynload.load('js',url,force,callback);
    var _url = url.split('?')[0];
   	if (_url in jQuery.dynload.loaded)
	    {if(!force){if(callback){callback();}; return;}}
    jQuery.dynload.loaded[_url]=false;
    if(!tmout||tmout<1){tmout:5000};
    var opt = {url:url,cache:true,timeout:tmout,async:true,dataType:'script'};
    opt.success = function(d,t){
        jQuery.dynload.load_cb(this.url,d,t);
        if(callback){callback.apply(3,[url,d,t]);}
    };
    if(failure){
        opt.error = function(o,t,e){
            failure.apply(5,[url,o,t,e,this]);
        };
    }
    jQuery.ajax(opt);
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
} // Load only once
})(); //(function(){

