String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') };

var filter= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var tel_filter = /^[0-9]+$/;


function FormField(selector){
	this.obj = null;
	this.defaultText = '';
	this.onFocus = function(){
		if ($(this.obj).val() == this.defaultText)
			$(this.obj).val('');
	};
	this.onBlur = function(){
		if ($(this.obj).val().length ==0)
			$(this.obj).val(this.defaultText);
	};
	this.init = function(selector){
		this.obj = $(selector);
		this.defaultText = $(this.obj).val();
		var objRef = this;
		$(this.obj).focus(function(){
			objRef.onFocus();
		});
		$(this.obj).blur(function(){
			objRef.onBlur();
		});
	};
	this.init(selector);
}

$.validator.addMethod('nombre_valido', function(value, element) {
    if (element.value == 'Nombre' || element.value.trim().length==0)
	return false;
    return true;
},'*');

$.validator.addMethod('apellido_materno_valido', function(value, element) {
    if (element.value == '*Apellido materno' || element.value.trim().length==0)
	return false;
    return true;
},'*');

$.validator.addMethod('apellido_paterno_valido', function(value, element) {
    if (element.value == '*Apellido paterno' || element.value.trim().length==0)
	return false;
    return true;
},'*');

$.validator.addMethod('telefono_valido', function(value, element) {
    if (element.value == '*Lada/Tel\u00E9fono' || element.value.trim().length==0)
	return false;
    return true;
},'*');


$.validator.addMethod('select_valido', function(value, element) {
    if (value == '00')
	return false;
    return true;
},'*');

$.validator.addMethod('comentario_valido', function(value, element) {
    if (element.value == 'Comentarios')
	element.value = '';
    return true;
},'*');

$(document).ready(function() {
	var nombre = new FormField('#nombre');
	var apellidop = new FormField('#apellidop');
	var apellidom = new FormField('#apellidom');
	var telefono = new FormField('#telefono');
	var email = new FormField('#email');
	var comentarios = new FormField('#comentarios');
	$.validator.messages.required = "*";
	form = $("#formulario");
	$(form).validate({
		ignore: [],	
		invalidHandler: function(form, validator) {
		      var errors = validator.numberOfInvalids();
		      if (errors) {
			alert('Proporciona la informaci\u00F3n de los campos requeridos');
		      } 
		},
		submitHandler: function(form) {
			form.action = "gracias.php";
			form.submit();
		},
		rules      : {
			'nombre'   : {
				'nombre_valido' : true
			},
			'apellidop' : {
				'apellido_paterno_valido' : true
			},
			'apellidom'   : {
				'apellido_materno_valido' : true
			},
			'telefono' : {
				'telefono_valido' : true,
				digits: true
			},
			'email' : {
				'required' : true,
				'email' : true
			},
			'campus' : {
				'select_valido' : true
			},
			'comentarios' : {
				'comentario_valido' : true
			},
			'privacidad' : {
				'required' : true
			}
		},
		messages : {
			'email' : {
				'required' : '*',
				'email' :  '*'
			},
			'telefono' : {
				digits :  '*'
			},
			'privacidad' : {
				'required' : '*'
			}
		}
	});
});

