$( function(){
	$("#rf_pais").change(function() {
		if($(this).val()=='0') {
			$(this).replaceWith('<span id="rf_pais">Obteniendo lista de paises...</span>');
			$.get('/ws/' + makeToken('misc0listaPaises') + '/misc/0.listaPaises.html','',function(data){ $("#rf_pais").replaceWith(data);})
		}
	});
	$("#rf_pass").blur(function(){
		if (!$(this).val().match(/^([a-zA-Z0-9áéíóúñÁÉÍÓÚÑ$-\.,]{5,10})$/)){
			makeMessage(2,$(this),"Tu password debe contener entre 5 y 10 caracteres alfanumericos")
		}else{
			makeMessage(9,$(this),"");
		}
	})
	$("#rf_nombre").blur(function(){
		if (!$(this).val().match(/^([a-zA-ZáéíóúñÁÉÍÓÚÑ][a-zA-ZáéíóúñÁÉÍÓÚÑ ]{5,60})$/)){
			makeMessage(2,$(this),"Tu nombre no puede tener menos de 6 caracteres alfanumericos");
		}else{
			makeMessage(9,$(this),"");
		}
	});
	$("#rf_email").blur(function(){
		var emaildir = $(this).val();
		if(emaildir != ""){
			var thisToken = makeToken('misc0verificaEmail');
			makeMessage(1,$(this),"Verificando direccion de e-mail...")
			$.post('/ws/' +  thisToken + '/misc/0.verificaEmail.html',{email:emaildir},function(data){
				var theJQElement = $("#rf_email");
				if(data.result==0) {
					makeMessage(2,theJQElement,data.message);
				} else {
					if(data.message > 0) {
						makeMessage(2,theJQElement,"Alguien ya se registró con esa dirección de e-mail");
					} else {
						if(data.message == -1) {
							makeMessage(2,theJQElement,"El email ingresado no tiene formato de e-mail");
						} else {
							makeMessage(9,theJQElement,"");
						}

					}
				}
			},'json')
		} else {
			makeMessage(2,$(this),"El email no puede estar vacío");
		}
	});
	$("#rf_confirm_pass").blur(function(){
		var password_c = $(this).val();
		var password_o = $("#rf_pass").val();
		if (password_o != ""){
			if (password_o === password_c) {
				makeMessage(9,$(this),"");
				} else {
				makeMessage(2,$(this),"Revisa tu password, no coincide con la confirmación");
			}
		}
	});

	$("input[@name='rf_genero']").click(function() {
		cleanMessage($(this));
	});
});

var cleanMessage = function(jqelement) {
	jqelement.removeClass('frmerror').removeClass('frmok').removeClass('frmmessage');
	$(".frm_message",jqelement[0].parentNode.parentNode).empty().removeClass('msgerror').removeClass('msgok').removeClass('msgmessage');
}

var makeMessage = function(level,jqelement,msg) {
	cleanMessage(jqelement);
	var messageHolder = $(".frm_message",jqelement[0].parentNode.parentNode);
	switch(level) {
		case 1:
			//Mensaje
			messageHolder.addClass('msgmessage').html(msg);
			jqelement.addClass('frmmessage');
			break;
		case 2:
			//Error
			messageHolder.addClass('msgerror').html(msg);
			jqelement.addClass('frmerror');
			break;
		case 9:
			//Bien
			messageHolder.addClass('msgok').html(msg);
			jqelement.addClass('frmok');
			break;
	}
}
