Ext.Loader.setConfig({
	enabled: true,
	paths: {'Ext': urlExt+'/src'}
});
Ext.require('Ext.Ajax');



Ext.onReady(function(){
	Ext.Ajax.on('beforerequest',function(){
		
	});
	Ext.Ajax.on('requestcomplete',function(){
		//console.log('requestcomplete');
	});
	Ext.Ajax.on('requestexception',function(){
		alert('Request Exception');
	});
	var aGroup = {};
	Ext.getBody().on('click',function(ev,tr){
		var el = Ext.get(tr).findParent('a'),
			pra;
		if(el && (pra=el.getAttribute('pra'))){
			pra = Ext.decode(pra);
			ev.stopEvent();
			var url = pra.url || el.getAttribute('href'),
				tar = pra.tar || el.getAttribute('target'),
				tarEl = Ext.get(tar),
				loadEl = Ext.get(pra.loadEl) || Ext.get(el),
				fn = pra.callback || function(responseText){
					tarEl.update(responseText);
				},oldActive;
			if(tarEl == null)
				Ext.Error.raise('not defined target. ID#'+tar);
			loadEl.addCls('loading');
			Ext.Ajax.request({
				url: url,
				success: function(response, opts) {
					fn(response.responseText);
					loadEl.removeCls('loading');
					if(aGroup[pra.tar]){
						aGroup[pra.tar].removeCls('active');
					}else if(pra.oldactive){
						oldActive = Ext.get(pra.oldactive);
						if(oldActive) oldActive.removeCls('active');
					}
					(aGroup[pra.tar] = Ext.get(el)).addCls('active');
				}
			});
		}			
	});
});


