function logout() {
	var ajax = new G.ajax( {
		pagina : "interceptor.php",
		post : {
			__quien : "admin",
			__accion : "logout"
		},
		accion : function() {
			redirectHimself();
		}
	});
	ajax.enviar();
	return false;
}
function procesarRespuesta() {
	var doc = this.contentWindow.document;
	if (doc) {
		var body = G.dom.$$$("body", 0, doc);
		if (body) {
			var json;
			try {
				eval("json=" + body.innerHTML);
				if (this.onjsonready) {
					this.onjsonready(json);
				}
			} catch (e) {

			}
		}
	}
	return true;
}

function mensaje(t, error) {
	var r = G.dom.$("respuesta");
	if (r) {
		if (error) {
			r.className = "falla";
		} else {
			r.className = "exito";
		}
		r.innerHTML = t;
	}
}
function esInt(el, nombre) {
	return errorField("El campo " + nombre + " debe ser Entero.", el,
			G.valid.isInt, true);
}
function esFloat(el, nombre) {
	return errorField("El campo " + nombre + " debe ser Decimal.", el,
			G.valid.isFloat, true);
}
function esVacio(el, nombre) {
	return errorField("El campo " + nombre + " es requerido.", el,
			G.valid.isEmpty);
}

function sonIguales(els, nombres) {
	return errorField("El campo " + nombres + " deben ser iguales.", els,
			G.valid.areEquals, true);
}

function esEmail(el, nombre) {
	return errorField("El campo " + nombre + " no tiene formato de Email.", el,
			G.valid.isEmail, true);
}

function errorField(m, el, f, dir, clase) {
	if (f) {
		var res;
		var val = el.value;
		if (el.length > 0) {
			val = el;
		}
		if (dir) {
			res = !f(val);
		} else {
			res = f(val);
		}
		if (res) {
			mensaje(m, true);
			if (el.length > 0) {
				el = el[0].focus();
			}
			el.focus();
			if (clase) {
				el.className += " " + clase;
				el.clase = clase;
				G.event.addEvent(el, "blur", campoRequerido);
			}
			return (dir ? false : true);
		}

	}
	mensaje("");
	return (dir ? true : false);
}
function campoRequerido(event) {
	if (G.util.trim(this.value) !== "") {
		this.className = this.className.replace(" " + this.clase, "");
		G.event.removeEvent(this, "blur", campoRequerido);
	}
}
function processJSON(json) {
	if (json) {
		if (json.success) {
			mensaje(json.mensaje);
			if (this.formRequest) {
				this.formRequest.reset();
			}
		} else if (json.error) {
			mensaje(json.error, true);
			if (json.tabla && json.campo) {
				if (json.tabla === "proyecto") {
					json.campo = "proy__" + json.campo;
				}
				var el = G.dom.$(json.campo);
				if (el) {
					el.clase = "requerido";
					el.className += " " + el.clase;
					G.event.addEvent(el, "blur", campoRequerido);
					el.focus();
				}
			}
		}
		return json.success;
	}
	return false;
};
function processLogin() {
	this.onjsonready = function(json) {
		if (json.success) {
			redirectHimself();
		} else {
			mensaje(json.error, true);
		}
	};
	return procesarRespuesta.call(this);
}

function redirectHimself() {
	var dir = location.href;
	dir = dir.split("#");
	location.href = dir[0];
}

function lookExtension(ex, el, t) {
	var f = function() {
		if (G.util.trim(this.value) != "") {
			if (this.types) {
				var ext = G.util.getExt(this.value);
				if (G.util.arraySearch(this.types, ext, true) >= 0) {
					mensaje("");
					return true;
				} else {
					mensaje("El campo " + this.title
							+ ", solo admite los siguientes tipos de archivo: "
							+ this.types, true);
				}
			}
			return false;
		} else {
			return true;
		}
	};
	el.types = ex;
	el.title = t;
	return f;
}
function noRealizar() {
	return false;
}

function agregarFavoritos() {
	var dir = location.href;
	dir = dir.split("/");
	dir = "http://" + dir[2];
	nom = "Red Line Motors Sports";
	if (G.nav.isIE) {
		window.external.AddFavorite(dir, mom);
	} else if (G.nav.isNS) {
		window.sidebar.addPanel(nom, dir, '');
	} else if (G.nav.isOP) {
		this.href = dir;
		return true;
	} else {
		setTimeout("alert('Presione [Ctrl]+[D] para aņadir a faboritos')", 100);
	}
	return false;
}

function readLanguage(lang) {
	location.href = G.url._setGET("lg", lang);
}
