/*--------------------------------------------*/
/* Gestión del Medio Rural de Canarias - 2008 */
/*--------------------------------------------*/

$(document).ready(function() {

	if (typeof dwr != 'undefined')
	{
		// Se ejecuta cuando se inicia una peticion Ajax
		dwr.engine.setPreHook(function() { (($("#cargando").length <= 0)?$("<div id='cargando'>Cargando...</div>").appendTo("#ruta"):$("#cargando")).fadeIn("fast"); });

		// Se ejecuta cuando finaliza una peticion Ajax
		dwr.engine.setPostHook(function() {$("#cargando").fadeOut("fast");});
		
		
		// Se ejecuta cuando hay un error en la página
		dwr.engine.setErrorHandler(function(e) {Mensajes.mostrar(e || "Se ha producido un error durante el proceso.", Mensajes.ERROR);});

		dwr.engine.setTextHtmlHandler(function() {document.location = 'logout.jsf';});
	}


	// Probar esto para los enlaces activos
	$("#lateral a, #subcab a").each(function() {if (document.location.href == this.href) { $(this).addClass("actual"); return false; }});

	$("input:first").focus();
	
	/* Badges entorno de pruebas */
	if (window.location.hostname == "prepri.gmrcanarias.net")
		$("#cabecera").addClass("prepri");	

});

var Boton = {

	editar: function(onclick)
	{
		return '<a href="#" onclick="' + onclick + '(' + this.getParametros(arguments) + '); return false;" class="editar" title="Editar este registro">Editar</a>';
	},

	estado: function(onclick, id, estado)
	{
		if (estado == "A")
			return '<a href="#" onclick="' + onclick + '(' + this.getParametros(arguments) + '); return false;" class="eliminar" title="Eliminar este registro">Eliminar</a>';
		else
			return '<a href="#" onclick="' + onclick + '(' + this.getParametros(arguments) + '); return false;" class="activar" title="Activar este registro">Activar</a>';
	},
	
	ver: function(onclick)
	{
		return '<a href="#" onclick="' + onclick + '(' + this.getParametros(arguments) + '); return false;" class="ver" title="Ver este registro">Ver</a>';
	},

	archivo: function(onclick)
	{
		return '<a href="#" onclick="' + onclick + '(' + this.getParametros(arguments) + '); return false;" class="archivo" title="Ver este archivo">Ver archivo</a>';
	},

	getParametros: function(params)
	{
		var parametros = "";

		for(var i=1; i<params.length; i++)
		{
			parametros += '\'' + params[i] + '\', ';
		}

		return parametros.substr(0, parametros.length - 2);
	}
};


var Mensajes = {

	AVISO: "aviso",
	ERROR: "error",
	OK: "ok",

	mostrar: function(mensaje, tipo)
	{
		if ($.browser.msie && $.browser.version == 6)
		{
			alert(mensaje);
			return false;
		}
	
		clearTimeout(Mensajes.t2);

		var capa = $('#mensajesGMR');

		if (capa.length <= 0)
		{
			var contenido = $("#general");

			if (contenido.length <= 0) contenido = $("body");

			capa = $('<div id="mensajesGMR"></div>').appendTo(contenido);
		}

		capa.html("<p>" + mensaje + "<p>")
			.removeClass(this.AVISO + " " + this.ERROR + " " + this.OK)
			.addClass(tipo || Mensajes.OK)
			.animate({bottom: '0'}, 200);

		Mensajes.t1 = setTimeout(Mensajes.bindEvents, 700);
		Mensajes.t2 = setTimeout(Mensajes.ocultar, 5000);
	},

	bindEvents: function()
	{
		$(document).click(Mensajes.ocultar)
				   .keypress(Mensajes.ocultar);
	},

	ocultar: function()
	{
		$(document).unbind('click', Mensajes.ocultar)
				   .unbind('keypress', Mensajes.ocultar);

		$('#mensajesGMR').animate({bottom: '-35px'}, 200);
	}
};


var URL = {

	getParam: function (referencia)
	{
		var regexS = "[\\?&]"+ referencia +"=([^&#]*)";
		var regex = new RegExp ( regexS );
		var tmpURL = window.location.href;
		var results = regex.exec( tmpURL );
		if( results == null )
			return"";
		else
			return results[1];
	}
};

