$(document).ready(function() {

	$("#enviarComentario").click(function(){
		if($("form#commentform").valid()) {
			$('#commentform').submit();			
		}
		return false;
	});
	
	$('input').keypress(function() {
		$(this).parents("form:first").find('.globoError').fadeOut();
		if($(this).get(0).disableError) $(this).get(0).disableError();
	});
	
	$('select').change(function() {
		$(this).parents("form:first").find('.globoError').fadeOut();
		if($(this).get(0).disableError) $(this).get(0).disableError();
	});
	
});

$(document).ready(function() {
	
	/*
	 * Validacion de formulario Newsletter
	 */
	$("form#suscrtipcionNewsletter").each(function (){
		var numero = $(this).find("#numero");
		
		// Agrego globo para mensajes de error en el body
		var $globo = $('<div class="globoError mensaje"><div class="alerta_top mensaje"></div><div class="alerta_centro"><table><tr><td class="body">msg</td></tr></table></div><div class="alerta_bottom"></div></div>')
			.css({top: "-999px", left: "-999px", position: 'absolute' });
		$(this).find(".globoError").remove();
		$(this).append($globo);
		$(this).validate({
		
			onkeyup: false,
			onfocusout: false,
			rules: {
				nombre: {
					required: true
				},
				direccion: {
					required: true
				},
				ciudad: {
					required: true
				},
				pais: {
					required: true
				},
				email: {
					required: true,
					email: true
				},
				numero_telefono: {
					required: true,
					minlength:6
				},
				terminos: {
					required: true
				}
			},
			messages: {
				nombre:{
					required:"Ingresa tu nombre."
				},
				direccion:{
					required:"Ingresa tu direcci&oacute;n."
				},
				ciudad:{
					required:"Ingresa el nombre de tu ciudad."
				},
				pais:{
					required:"Ingresa el nombre de tu pa&iacute;s."
				},
				email:{
					required:"Ingresa tu direcci&oacute;n de correo electr&oacute;nico.",
					email:"Ingresa un correo electr&oacute;nico v&aacute;lido."
				},
				numero_telefono:{
					required:"Ingresa tu n&uacute;mero de tel&eacute;fono.",
					minlength:"Ingresa un n&uacute;mero de tel&eacute;fono v&aacute;lido."
				},
				terminos: {
					required: "Debes aceptar las pol&iacute;ticas de privacidad."
				}
			},
			errorPlacement: function(error, element) {
				
				var $form = element.parents('form:first');
				var firstError = $form.validate().errorList[0].message;
				
				$form.find('.globoError:first').find('td:first').html(firstError);
				showGlobo($form.validate().errorList[0].element);
			}
		});
	});
	
	/*
	 * Validacion de formulario Newsletter
	 */
	$("form#formularioContactenos").each(function (){
		var numero = $(this).find("#numero");
		
		// Agrego globo para mensajes de error en el body
		var $globo = $('<div class="globoError mensaje"><div class="alerta_top mensaje"></div><div class="alerta_centro"><table><tr><td class="body">msg</td></tr></table></div><div class="alerta_bottom"></div></div>')
			.css({top: "-999px", left: "-999px", position: 'absolute' });
		$(this).find(".globoError").remove();
		$(this).append($globo);
		$(this).validate({
		
			onkeyup: false,
			onfocusout: false,
			rules: {
				nombre: {
					required: true
				},
				email: {
					required: true,
					email: true
				},
				numero_telefono: {
					required: true,
					minlength:6
				},
				motivo: {
					required: true,
					min: 1
				}
			},
			messages: {
				nombre:{
					required:"Ingresa tu nombre."
				},
				email:{
					required:"Ingresa tu direcci&oacute;n de correo electr&oacute;nico.",
					email:"Ingresa un correo electr&oacute;nico v&aacute;lido."
				},
				numero_telefono:{
					required:"Ingresa tu n&uacute;mero de tel&eacute;fono.",
					minlength:"Ingresa un n&uacute;mero de tel&eactue;fono v&aacute;lido"
				},
				motivo: {
					min:"Selecciona el motivo de tu contacto."
				}
			},
			errorPlacement: function(error, element) {
				
				var $form = element.parents('form:first');
				var firstError = $form.validate().errorList[0].message;
				
				$form.find('.globoError:first').find('td:first').html(firstError);
				showGlobo($form.validate().errorList[0].element);
			}
		});
	});
	
	/*
	 * Validacion de formulario de Actualizacion de Correo electronico
	 */
	$("form#actualizarNewsletter").each(function (){
		var numero = $(this).find("#numero");
		
		// Agrego globo para mensajes de error en el body
		var $globo = $('<div class="globoError mensaje"><div class="alerta_top mensaje"></div><div class="alerta_centro"><table><tr><td class="body">msg</td></tr></table></div><div class="alerta_bottom"></div></div>')
			.css({top: "-999px", left: "-999px", position: 'absolute' });
		$(this).find(".globoError").remove();
		$(this).append($globo);
		$(this).validate({
		
			onkeyup: false,
			onfocusout: false,
			rules: {
				email: {
					required: true,
					email: true
				},
				emailnuevo: {
					required: true,
					email: true
				},
				emailnuevo2: {
					required: true,
					email: true,
					equalTo: "#emailnuevo"

				}
			},
			messages: {
				email:{
					required:"Ingresa tu direcci&oacute;n de correo electr&oacute;nico.",
					email:"Ingresa un correo electr&oacute;nico v&aacute;lido."
				},
				emailnuevo:{
					required:"Ingresa tu direcci&oacute;n de correo electr&oacute;nico.",
					email:"Ingresa un correo electr&oacute;nico v&aacute;lido."
				},
				emailnuevo2: {
					required:"Ingresa tu direcci&oacute;n de correo electr&oacute;nico.",
					email:"Ingresa un correo electr&oacute;nico v&aacute;lido.",
					equalTo: "Las direcciones de email no coinciden"
				}
			},
			errorPlacement: function(error, element) {
				
				var $form = element.parents('form:first');
				var firstError = $form.validate().errorList[0].message;
				
				$form.find('.globoError:first').find('td:first').html(firstError);
				showGlobo($form.validate().errorList[0].element);
			}
		});
	});
	
	$(".inputBox").keypress(function(){
		$(this).parents("form:forst").find(".globoError").fadeOut(200);
	});

	/*
	 * Validacion de formulario comentarios
	 */
	$("form#commentform").each(function (){
		
		// Agrego globo para mensajes de error en el body
		var $globo = $('<div class="globoError mensaje"><div class="alerta_top mensaje"></div><div class="alerta_centro"><table><tr><td class="body">msg</td></tr></table></div><div class="alerta_bottom"></div></div>')
			.css({top: "-999px", left: "-999px", position: 'absolute' });
		$(this).find(".globoError").remove();
		$(this).append($globo);
		$(this).validate({
		
			onkeyup: false,
			onfocusout: false,
			rules: {
				author: {
					required: true
				},
				email: {
					required: true,
					email: true
				},
				comment: {
					required: true
				}
			},
			messages: {
				author:{
					required:"Ingresa tu nombre."
				},
				email:{
					required:"Ingresa tu direcci&oacute;n de correo electr&oacute;nico.",
					email:"Ingresa un correo electr&oacute;nico v&aacute;lido."
				},
				comment: {
					required:"Ingresa tu comentario."
				}
			},
			errorPlacement: function(error, element) {
				
				var $form = element.parents('form:first');
				var firstError = $form.validate().errorList[0].message;
				
				$form.find('.globoError:first').find('td:first').html(firstError);
				showGlobo($form.validate().errorList[0].element);
			}
		});
	});
	
	$(".inputBox").keypress(function(){
		$(this).parents("form:forst").find(".globoError").fadeOut(200);
	});
});

function showGlobo(el) {
	
	pintaCampoRojo(el);
	
	var $input = $(el).parents('.campo:first'); //.parents('.campo:first');
	var punto = $input.offset();
	var $globo = $(el).parents("form:first").find('.globoError');
		
	punto.left += parseInt($input.width()) + 5;
	punto.top += parseInt($input.height())/2 - parseInt($globo.css('height'))/2;
		
	if ($globo.is(':hidden')) {
		$globo.fadeIn(200, function() {
			$(el).focus();							
		});
	}
	
	$globo.css({
		'top': punto.top,
		'left': punto.left
	});
	
	return false;
	
}

