//CODIFICA UNA URL AL ESTILO DE urlencode de PHP
function urlencode( str ) {  
	var histogram = {}, histogram_r = {}, code = 0, tmp_arr = [];  
    var ret = str.toString();  
    
	var replacer = function(search, replace, str) {  
		var tmp_arr = [];  
		tmp_arr = str.split(search);  
		return tmp_arr.join(replace);  
	};  
    // The histogram is identical to the one in urldecode.  
	histogram['!']   = '%21';  
	histogram['%20'] = '+';  
  
	// Begin with encodeURIComponent, which most resembles PHP's encoding functions  
	ret = encodeURIComponent(ret);  
	for (search in histogram) {  
		replace = histogram[search];  
		ret = replacer(search, replace, ret) // Custom replace. No regexing  
	}  
  	// Uppercase for full PHP compatibility  
	return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {  
		return "%"+m2.toUpperCase();  
	});  
	return ret;  
} 

$(document).ready(function(){	
	var objetivo = $("#form_contactar");
	objetivo.validate({
		errorElement: "em",
		errorPlacement: function(error, element) {
			error.appendTo(element.parent("p"));
		},
		rules: {
			nombre:  { required: true, minlength: 3},
			telefono:{ required: true, minlength: 9, number: true},
			email:   { required: true, email: true},
			asunto:   { required: true},
			mensaje:   { required: true }
		},
		messages: {
			nombre:  { required: "Requerido.", minlength: "Mínimo 3 caracteres."},
			telefono:{ required: "Requerido", minlength: "Deben ser 9 caracteres.", number: "Introduzca sólo números"},
			email:   { required: "Requerido", email: "Email no valido"},
			asunto:  { required: "Requerido"},
			mensaje:   { required: "Requerido" }
		},
		submitHandler: function(form){
			$('.envio_correcto').load('js/validate/contactar_accion.php?nombre=' + urlencode($('form #nombre').val()) + '&telefono=' + urlencode($('form #telefono').val()) + '&email=' + urlencode($('form #email').val()) + '&texto=' + urlencode($('form #mensaje').val())+ '&asunto=' + urlencode($('form #asunto').val()),function(){}).slideDown('slow').delay(12000).slideUp('slow');
         	return false;
      	}
	});
});
