var errores = "";
//Filtros
var filters = {
    requerido: function(el) {return ($(el).val() != '' && $(el).val() != -1);},
	///^[A-Za-z\.][A-Za-z0-9_\.\-\_]*@[A-Za-z0-9_]+[\.\-\_][A-Za-z0-9_.]+[A-za-z]$/
    email: function(el) {return /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|cat|tv)$/.test($(el).val());},
	fecha: function(el) {return /(?:0[1-9]|[12][0-9]|3[01])\/(?:0[1-9]|1[0-2])\/(?:19|20\d{2})/.test($(el).val());},
	cp: function (el) {return /^[0-9]{5}$/.test($(el).val());},
	numerico: function (el) {return /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)|(^-?\d\d*\,\d*$)|(^-?\d\d*$)|(^-?\,\d\d*$)/.test($(el).val());},
	 
	expedicion: function (el) {return /^[0-9\/]{13}$/.test($(el).val());},
	nif: function (el) {return compruebaIdentificacion('nif-nie',$(el).val());},
	nifcif: function (el) {return compruebaIdentificacion('both',$(el).val());},
    telefono: function(el) { 
		if((/^[0-9]{9}$/.test($(el).val())) && ($(el).val() != '') && ($(el).val() != -1) ) {
			return true;
		} else {
			return false;
		}
	}
};
// Extensiones
$.extend({
	stop: function(e){
        if (e.preventDefault) e.preventDefault();
        if (e.stopPropagation) e.stopPropagation();
    }
});

$(document).ready(function(){
	$("#mrw-finder-follow-code").focusin(function() {
		if ($(this).attr("title") == $(this).val()) {
			$(this).val("");
		}
    });
	
	$("#mrw-finder-follow-code").focusout(function() {
		if ($(this).val() == "") {
			$(this).val($(this).attr("title"));
		}
    });
	
	$("#mrw-finder-offices-code").focusin(function() {
		if ($(this).attr("title") == $(this).val()) {
			$(this).val("");
		}
    });
	
	$("#mrw-finder-offices-code").focusout(function() {
		if ($(this).val() == "") {
			$(this).val($(this).attr("title"));
		}
    });
	$("form").find("input, textarea, select, checkbox").each(function(x,xl){
	    if ($(xl).attr("className") != 'undefined') {
			$.each(new String($(xl).attr("className")).split(" "), function(x, klas){
				switch(klas) {
					case 'fecha':
						$(xl).mask("99/99/9999");
					break;
					case 'fecha_not_required':
						$(xl).mask("99/99/9999");
					break;
					case 'fecha-no-valided':
						$(xl).mask("99/99/9999");
					break;
					case 'telefono':
						$(xl).mask("999999999");
					break;
					case 'cp':
						$(xl).mask("99999");
					break;
					case 'edad':
						$(xl).mask("99");
					break;
					case 'expedicion':
						$(xl).mask("99999/9999999");
					break;
					case 'envio-not-valided':
						$(xl).mask("99999/9999999");
					break;
				}
			});
		}
	});

   $("#particular").click(function(evento){
      if ($("#particular").attr("checked")){
		$("#client-label").hide("fast");
	  }
   });
   
   $("#empresa").click(function(evento){
      if ($("#empresa").attr("checked")){
		$("#client-label").show("fast");
      }
   });
	$("form").bind("submit", function(e){
		errores = "";
		if (typeof filters == 'undefined') return;
	    $(this).find("input, textarea, select, checkbox").each(function(x,el){
			if($(el).attr("name") == 'normas') {
				if(!$(el).attr("checked")) {
					$("#legal").addClass("error");
					$(el).addClass("error");
				} else {
					$(el).removeClass("error");
					$("#legal").removeClass("error");
					$("#legal").addClass("succeed");
				}
			}
	        if ($(el).attr("className") != 'undefined') {
				$.each(new String($(el).attr("className")).split(" "), function(x, klass){
						if ($.isFunction(filters[klass]))
							if (!filters[klass](el)) {
								//alert("no:" + klass);
								if($(el).attr("name") == 'client') {
									if(!$("#particular").attr("checked")) {
										$(el).addClass("error");
									} else {
										$(el).removeClass("error");
									}
								} else {	
									$(el).addClass("error");
								}
							} else {
								//alert("si:" + klass);
								$(el).removeClass("error");
								$(el).addClass("succeed");
							}
						});
	        }
	    });
		if ($(this).find(".error").size() > 0) {
			$.stop(e || window.event);
			$("#respuesta").html('<p>La informaci&oacute;n introducida no es correcta.<br />Por favor, revise los campos coloreados en rojo.</p>');
			$("#respuesta").addClass("error");
			//$(this).stop(e || window.event);
			return false;
		}
	    return true;
	});
});

