

	$.extend({
		stop: function(e){
	        if (e.preventDefault) e.preventDefault();
	        if (e.stopPropagation) e.stopPropagation();
	    }, 
	    alert: function(str) {
		$('#resultado').html('Error al procesar la peticion');	
	    }
	});


	
	$(document).ready(function(){

		$("form.jq").submit(function(e){
			var resultado='#'+$(this).attr('target');
			var miid='#'+$(this).attr('id');

			$(resultado).css('display','block');
			if (typeof filters == 'undefined') return;
		
			    $(this).find("input, textarea, select").each(function(x,el){ 
			        if ($(el).attr("className") != 'undefined') { 
					$(el).removeClass("error");
				        $.each(new String($(el).attr("className")).split(" "), function(x, klass){
				            if ($.isFunction(filters[klass]))
			                	if (!filters[klass](el))  $(el).addClass("error");
		               
			               
			       		 });
		        	}
		    	});
		    	
			if ($(this).find(".error").size() > 0) {
				$.stop(e || window.event);
				$(resultado).html('<div class="rojo">Error de formato o campos vacios</div>');
				return false;
			}else{
			
				$.ajax({
					async:false,
					beforeSend: function(objeto){
						$(miid+' '+resultado).html('<div style="text-align:center"><img alt="procesando datos" src="http://www.escortmagazine.es/imgs/loading.gif"/><br/><small>Cargando</small></div>');
						$(miid+' .campos').fadeOut(200);
					},
					complete: function(objeto, exito){
					
						if(exito=="success"){
							$('#volver').click(function(){
								$(miid+' '+resultado).fadeOut(200,function(){
									$(miid+' .campos').fadeIn(200);
								});
							});
								
							$(miid+' .campos').fadeOut(200);
						}else{
							$(miid+' '+resultado).html('<div class="rojo">Error al procesar los datos</div>');
						}
					},
					type: "POST",
					url: $(this).attr('action'),
					data: $(this).serialize(),
					success: function(data){
						$(resultado).html(data);
					}

				});

				return false;
					
			}
		});
	});

	


	

	
	
		var filters = {
				r: function(el) {return ($(el).val() != '' && $(el).val() != -1);},
				m: function(el) {return /^[A-Za-z0-9_.-]*@[A-Za-z0-9_.-]+\.[A-Za-z0-9_.-]+[A-za-z]$/.test($(el).val());},
				n: function(el){return /^[0-9.,]*$/.test($(el).val());}
		};
	
	
	
	
	
	
	
	
	
	
