
//-----------------------------------------------------------------------------
function init_whitepaper()
{
	$("#dataform").submit(form_envia);
	// click(function(){ $("#formulario").slideOut(); });

	$("#formulario input").hover(
			function(){ $(this).addClass("hover"); },
			function(){	$(this).removeClass("hover"); }
		).focus(
			function(){ $(this).addClass("glow"); }
		).blur(
			function(){ $(this).removeClass("glow"); }
		);

	$("#id_form_n").focus();

	vex_InitPopups();
}


//-----------------------------------------------------------------------------
function vex_InitPopups()
{
	$("a").each(function(){
		var __rel = $(this).attr("rel").split(" ");
		if (__rel.indexOf("popup") != -1) {
			$(this).click(vex_Popup);
			$(this).attr("title", $(this).attr("title") + " [Abre en ventana aparte]")
		}
	});
}

//-----------------------------------------------------------------------------
function vex_Popup(e)
{
	var w = 500;
	var h = 400;

	if (e.originalTarget.tagName.toUpperCase() == "A") {
		e.preventDefault();

		var __url = e.originalTarget.href;
		var __rel = e.originalTarget.rel.split(" ");
		if (__rel.length == 3) {
			w = parseInt(__rel[1]);
			h = parseInt(__rel[2]);
		}

		var __str = "resizable=no,toolbar=no,location=no,scrollbars=no,menubar=no,width=" + w + ",height=" + h;
		var __newWin = window.open(__url, "", __str);
		if (__newWin) __newWin.focus();
	}
}




//-----------------------------------------------------------------------------
function form_ok(data)
{
	$("#activity").slideOut();
	$("#formsend").removeClass("disabled");
	$("#dataform").find("input").attr("disabled", "");

	switch (data.status) {
		case 0:
			sacaOk();
			break;

		default:
			sacaError(data);
			break;
	}
}


//-----------------------------------------------------------------------------
function form_envia()
{
	// Primero, asumimos que todo es correcto.
	var status = true;

	// Comprobar las variables, vamos a ver los inputs requeridos, etc.
	$(this).find("input.required").each(function(){
		var value = $.trim($(this).val());
		var emailOk = true;
		if ($(this).is(".email")) emailOk = /^([\w.])+\@(([\w])+\.)[a-zA-Z0-9]{2,}/.test(value);

		if (this.type == "checkbox") {
			if (this.checked) {
				$(this).parent().removeClass("error");
			} else {
				$(this).parent().addClass("error");
				status = false;
			}
		} else if (value.length == 0 || !emailOk) {
			$(this).parent().addClass("error");
			status = false;
		} else {
			$(this).parent().removeClass("error");
		}
	});

	if (!status) {
		alert("Por favor, revisa los campos obligatorios...");
	} else {
		$("#activity").slideIn();
		$("#formsend").addClass("disabled");

		// Tenemos que extraer los datos ANTES de inhabilitar los campos. Si
		// están inhabilitados, no saldrán con "serialize".
		var theData = $(this).serializeArray();

		$(this).find("input").attr("disabled", "disabled");
		$.post( $(this).attr("action"), theData, form_ok, "json");
	}

	// return status;
	return false;
}


//-----------------------------------------------------------------------------
function sacaError(data)
{
	// Si ya hay un error en la página, no lo sacamos...
	if ($("#errores").length) return;

	var errorHtml = "<div id=\"errores\" class=\"grid_6 alpha omega\"><h1>" + data.status + "Los datos no son correctos</h1><p>Ha habido un error al procesar los datos que has enviado.<br />Por favor, vuelve a rellenar el formulario revisando los datos de nuevo.</p><p class=\"linkback\">&laquo; <a href=\"javascript:void(0);\">Volver a rellenar el formulario</a></p></div>";
	$(errorHtml).insertAfter($("#formulario")).slideIn();
	$("#formulario").slideOut();

	// Hay que activar el enlace que hay en el mensaje de error!
	$("#errores a").click(quitaError);
}

//-----------------------------------------------------------------------------
function quitaError()
{
	$("#formulario").slideIn(200, -20);
	$("#errores").slideOut(200, 20).queue(function(){$(this).remove();});
}

//-----------------------------------------------------------------------------
function sacaOk()
{
	$("#gracias").slideIn();
	$("#formulario").slideOut();
}



//=============================================================================
$(init_whitepaper);
