$(document).ready(function () {
	main_menu();
	home_imgs();
	init_gallery();
	init_form();
});

function init_gallery() {
	var gallery = $("div.galeria div.image a.gal");
	if (gallery.size() == 0) return false;
	gallery.fancybox({
		'zoomSpeedIn': 500,
		'zoomSpeedOut': 500,
		'zoomSpeedChange': 500
	});
}

function main_menu () {
	$("#main-menu div.submenu").each(function () {
		$(this).attr("sizey",$(this).height()).height("0px");
		$(this).prepend("<div class='bg'></div>");
		$(this).find(".bg").height($(this).attr("sizey")+"px");
		$(this).find("a:first").css("border-top","none");
	});
	$("#main-menu table td, #main-menu div.cell").hover(
		function () {
			$(this).find("div.submenu").stop();
			$(this).find("div.submenu").css("z-index","2");
			$(this).find("div.submenu").animate({"height":$(this).find("div.submenu").attr("sizey")});
		},
		function () {
			$(this).find("div.submenu").stop();
			$(this).find("div.submenu").css("z-index","1");
			$(this).find("div.submenu").animate({"height":"0px"});
		}
	);
}

function home_imgs() {
	$("#img-selector a.active:not(:first)").removeClass("active");

	if ($("#home").size() == 0) return false;
	var showing = false;
	var hidding = false;
	$("#home-img").hover(
		function () {
			if (hidding) {
				$("#img-selector").stop().css("opacity","");
				hidding = false;
			}
			if (showing) return false;
			showing = true;
			$("#img-selector").fadeIn("slow", function () {
				showing = false;
			});
		},
		function () {
			if (showing) {
				$("#img-selector").stop().css("opacity","");
				showing = false;
			}
			if (hidding) return false;
			hidding = true;
			$("#img-selector").fadeOut("slow", function () {
				hidding = false;
			});
		}
	);

	$("#main-img > img").click(function () {
		_get_next().click();
	});

	$("#img-selector a").click(function (e) {
		e.preventDefault();
		$(this).siblings("a").removeClass("active");
		$(this).addClass("active");
		_show_image($(this).attr("href"),$(this).attr("title"));
	});

	function _get_next() {
		var a = $("#img-selector a.active");
		if (a.next().is("a")) return a.next();
		else return $("#img-selector a:first");
	}

	function _show_image(img,txt) {
		$("#main-img img").addClass("old");
		$("#main-img p").addClass("old");
		var p = $("<p class='old' style='display:none;'>"+txt+"</p>");
		var newimg = $("#main-img img.old").clone(true);
		newimg.attr("src",img);
		newimg.attr("alt",txt);
		newimg.attr("title",txt);
		newimg.css("display","none");
		newimg.removeClass("old");
		$("#main-img img.old").fadeOut("normal",function () {
			$(this).remove();
		});
		$("#main-img p.old").fadeOut("normal",function () {
			$(this).remove();
		});
		$("#main-img").append(p);
		$("#main-img").append(newimg);
		p.fadeIn();
		newimg.fadeIn();
	}
}

function init_form() {
	var form = $("input[name=formulario]");
	if (form.size() == 0) return false;

	form.find("input:not(.submit),textarea").each(function () {
		$(this).attr("default",$(this).val());
		$(this).attr("change","no");
	});

	form.find("input:not(.submit),textarea").focus(function () {
		if ($(this).attr("change") == "no") {
			$(this).val("");
			$(this).attr("change","yes");
		}
	});

	form.find("input:not(.submit),textarea").blur(function () {
		if ($(this).attr("change") == "yes" && $.trim($(this).val()) == "") {
			$(this).val($(this).attr("default"));
			$(this).attr("change","no");
		}
	});

	form.find("input.submit").click(function (e) {
		e.preventDefault();
		var valid = true;
		var email = form.find("input[name=email]");
		form.find("input:not(.submit),textarea").each(function () {
			if ($.trim($(this).val()) == "" || $(this).attr("change") == "no") {
				valid = false;
				$(this).addClass("error");
			}
			else {
				$(this).removeClass("error");
			}
		});
		if (!is_mail( email.val() ) ) {
			valid = false;
			email.addClass("error");
		}
		else {
			email.removeClass("error");
		}
		if (valid) form.submit();
	});
}

function is_mail(texto)
{
	var mailres = true;
	var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";

	var arroba = texto.indexOf("@",0);
	if ( ( texto.lastIndexOf("@") ) != arroba)
		arroba = -1;

	var punto = texto.lastIndexOf(".");

	for (var contador = 0 ; contador < texto.length ; contador++) {
		if (cadena.indexOf(texto.substr(contador, 1),0) == -1) {
			mailres = false;
			break;
		}
	}

	if ( (arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length) ) && (mailres == true) && (texto.indexOf("..",0) == -1) )
		mailres = true;
	else
		mailres = false;

	return mailres;
}

