//Filtros
var filters = {
    requerido: function(el) {return ($(el).val() != '' && $(el).val() != -1);},
    email: function(el) {return /^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/.test($(el).val());},
    telefono: function(el){return /^[0-9]*$/.test($(el).val());}};
// Extensiones
$.extend({
	stop: function(e){
        if (e.preventDefault) e.preventDefault();
        if (e.stopPropagation) e.stopPropagation();
    }
});
// C�digo
$(document).ready(function(){
	$("form.validable").bind("submit", function(e){
		if (typeof filters == 'undefined') return;
	    $(this).find("input, textarea, select").each(function(x,el){
            if($(el).attr("type") == "checkbox"){
                if($(el).attr('checked')==false) $(el).addClass("error");
                else $(el).removeClass("error");
            }
            else{
                if ($(el).attr("className") != 'undefined') {
                    $.each(new String($(el).attr("className")).split(" "), function(x, klass){
                        if ($.isFunction(filters[klass]))
                            if (!filters[klass](el)){
                                $(el).addClass("error");
                            }else{
                                $(el).removeClass("error");
                            }
                    });
                }
            }
	    });
        
		if ($(this).find(".error").size() > 0) {
			$.stop(e || window.event);
			return false;
		}
	    return true;
	});
});
