
window.addEvent('domready', function(){
	validator.init();
});


qgDbElementSave = function(el){
	var TEl = el.getParentOrSelf('[qgDbTable]');
	var t = TEl.getAttribute('qgDbTable');

	var EEl = el.getParentOrSelf('[qgDbEntry]');
	var e = EEl.getAttribute('qgDbEntry');

	var FEl = el.getParentOrSelf('[qgDbField]');
	if(!FEl){
		var td = el.get('tag')==='td' ? el : el.getParent(td);
		if(td){
			var th = td.getParent('table').getElement('thead tr :nth-child('+(td.cellIndex+1)+')');
			FEl = th.hasAttribute('qgDbField') ? th : null;
		}
	}
	var f = FEl.getAttribute('qgDbField');

	$fn('e::setField')(t,e,f,el.getV()).run();
};
document.addEvent('domready', function(){
	$(document.body).qgDelegate('blur','.qgDbField', function(e){
		var el = e.target;
		if(!el.hasClass('qgDbField')){ return; }
		qgDbElementSave(el);
	})
});
/* document.addEvent('keyup', function(e){
	var el = e.target;
	if(!el.hasClass('qgDbField')){ return; }
	qgDbElementSave(el);
});
*/







qg.req = function(url,cb,eb){
	var ext = url.replace(/.*\./,'');
	switch(ext){
		case 'js':
			var name = url.replace(/.*\//,'').replace(/\.js$/,'');
			if(window[name]){
				cb( window[name] );
			} else {
				var myScript = new Asset.javascript(url, {
					onload: function(){
						cb(window[name])
					}
				});
			}
			break;
		case 'css':
			new Asset.css(url);
	}
};

