// <![CDATA[
$(document).ready(function(){
	// Posicionar el cursor
	$('#inputUsername').focus();
	estados($('#inputPais').val());
	
	
	function eligeValor(values)
	{
		if(values.valor == 0 || values.valor == '0' )
		return {valid:false, message: values.msg}
		else
		return {valid:true}
	};
	
	function confirmPassword(args){
	if(args.password == args.check)
		return {valid:true}
	else
		return {valid:false, message:'Las contraseñas no coinciden'}
	}	
	
	function comprobarigualdad(args){
	if(args.val1 == args.val2)
		return {valid:true}
	else
		return {valid:false, message: args.msg}
	}

	$('#inputUsername').change(
	function(){
		$('#inputUsername').attr('value', jQuery.trim($('#inputUsername').val()));		
	}
	);
	
	$('#inputUsername,#inputPassword,#inputEmail,#inputPais').valid8();	
	$('#inputUsername').valid8({
		regularExpressions: [
		{expression: /^[a-zA-Z0-9\*-]{3,30}$/, errormessage: 'Haz elegido un usuario inválido'}
		],ajaxRequests: [
		{ url: 'do/getUser.php', loadingmessage: 'verificando disponibilidad...'}
		]
	});
	
	$('#inputPassword').valid8({
		regularExpressions: 
		[
			{ expression: /^([^\';].{2,20})$/, errormessage: 'Mínimo de 3 caracteres, máximo 30.'
			}
		]					
	});//'Una contrasena es requerida'
	

	
	
	$('#inputEmail').valid8({
		regularExpressions: [
			{expression: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel.ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|.fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|.il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\b$/
			, errormessage: 'No podemos enviarte el correo a esta dirección, elije otro por favor!'}
		]
	});
	


		
		
		$('#inputPais').valid8({
			regularExpressions:[
			{expression: /^[A-Z]{2}$/, errormessage: 'Es necesario elegir tu país de procedencia.'}
			]
		});	
		

		
		$('#buttonSignup').click(function(){	
		if($('#inputUsername').isValid()){
			$('#inputSex').valid8();
				$('#inputSex').valid8({
				regularExpressions:[
				{expression: /^(1|2){1}$/, errormessage: 'Es necesario especificar tu sexo'}
				]
				});			
				if($('#inputSex').isValid()){
					//alert('sexo valido');
					$('#inputConfirmPassword').valid8();
						// Confirm password 
						$('#inputConfirmPassword').valid8({
						regularExpressions: [
							{expression: /^.+$/, errormessage: 'Requerido'}
						],
						jsFunctions:[
							{ 'function': comprobarigualdad, 'values': function(){
								return {val1: $('#inputPassword').val(), val2: $('#inputConfirmPassword').val(),msg:"Las contraseñas no coinciden"}
							}}
						]
						});
					if( $('#inputPassword').isValid() && $('#inputConfirmPassword').isValid() ){
					//alert('sexo y password ok');
						$('#inputConfirmEmail').valid8();
						// Confirm Email 
						$('#inputConfirmEmail').valid8({
						regularExpressions: [
							{expression: /^.+$/, errormessage: 'Requerido'}
						],
						jsFunctions:[
							{ 'function': comprobarigualdad, 'values': function(){
								return {val1: $('#inputEmail').val(), val2: $('#inputConfirmEmail').val(),msg:"Los correos no coinciden"}
							}}
						]
						});
						if( $('#inputEmail').isValid() && $('#inputConfirmEmail').isValid() ){
							//alert('email correcto');
								if( $('#inputPais').isValid() ){
									//alert('pais valido');
									if($('#inputEstado').length>=1){
										//alert('ESTADO');
										$('#inputEstado').valid8();
										$('#inputEstado').valid8({
											jsFunctions: [
												{ 
												'function': eligeValor, 'values': function(){
														return { valor: $('#inputEstado').val(), msg: 'Es necesario especificar el estado'}
													}
												}
											]
										});
										//es necesario especificar el municipio
										if($('#inputEstado').isValid()){		
											if($('#inputMunicipio').length>=1){
												$('#inputMunicipio').valid8();
												$('#inputMunicipio').valid8({
													jsFunctions: [
														{ 
														'function': eligeValor, 'values': function(){
																return { valor: $('#inputMunicipio').val(), msg: 'Se requiere especificar una ciudad/municipio'}
															}
														}
													]
												});
												if($('#inputMunicipio').isValid()){
												$('#municipio').toggleClass('w valid',true);	
													//alert('enviar formulario');
													$('#registro').submit();
												}
											}else{
												if($('#inputEstado').length==0){
													$('#registro').submit();
												}
											}
										}else{
											$('#ubicacion>.w').toggleClass('w error',true);
											if($('#inputEstado').length==0){
												$('#registro').submit();
											}
										}
									}else{
										//alert('no tenemos los estados del pais');
										$('#registro').submit();
									}
								}else{
									//alert('pais invalido');
									$('#inputPais').focus();
								}
						}else{
						//alert('email incorrecto');
						$('#inputConfirmEmail').focus();
						}
					}else{
						//alert('passwords invalidos');
						$('#inputConfirmPassword').focus();
					}
				}else{
					//alert('no ha elegido el sexo');
					$('#inputSex').focus();
				}

			}else{//usuario invalido
			
			}	
			});
	
	
 });//fin document ready

//inicio de funciones 
	function estados(sPais){
	$("#estado").html('<img src="media/loader.white.gif" />');
	$.get("do/listar_estados.php", { pais: sPais},
	  function(data){
		 $("#estado").html(data);
	  });  
	  municipios(0);
	}
	function municipios(nEstado){
	$("#municipio").html('<img src="media/loader.white.gif" />');
	$.get("do/listar_municipios.php", { pais: $('#inputPais').val(), estado: nEstado},
	  function(data){
		 $("#municipio").html(data);
	  });  
	}
	

	
//fin de funciones
// ]]>
  




