var GC = {

callAction: function(url, cbSuccess, cbError) {
	if (url.indexOf(WEB_ROOT) != 0) url = WEB_ROOT+url;
	$.getJSON(url, function(result) {
		var isError = false;
		if (result.flashMessage && result.flashMessage.message) {
			isError = 
				result.flashMessage.params && 
				result.flashMessage.params['class'] == 'error-message';
			$.jGrowl(result.flashMessage.message, {theme:isError ? 'error' : 'success'});
		}
		if (isError) {
			if (typeof cbError != 'undefined') cbError(result);
		} else {
			if (typeof cbSuccess != 'undefined') cbSuccess(result);
		}
	});
},
checkField: function(sel, fnc) {
	var flds = $(sel);
	if (typeof fnc == 'undefined') {
		fnc = function(val){ return val ? true : false; };
	}
	var ret = true;
	flds.each(function () {
		var fld = $(this);
		if (!fnc(fld.val())) {
			fld.parents('.input').addClass('error');
			if (ret) fld.focus();
			ret = false;
		} else {
			fld.parents('.input').removeClass('error');
		}
	});
	return ret;
}

}

