function fill_val_uname(){uavail=trim(get_cnt('response_value'));if(uavail=='True'){fill_tag('flag_avail',okimg);vuser=true;}else{fill_tag('flag_avail',ximg);}}
function uNameAvailable(){vuser=false;var nameval=fetch_obj('username').value;if(!empty(nameval)){assign('username',nameval.toLowerCase());fill_tag('flag_avail',wimg);var url=chkuri+'?mode=uname&q='+nameval;Get_A_Page(url,'response_value',fill_val_uname);}else{fill_tag('flag_avail',ximg);}}
function newCaptcha(){fetch_obj('imgcaptcha').src='../common/captcha.php?'+Math.floor(Math.random()*(500000));vcaptcha=false;assign('mscaptcha','');empty_tag('flag_captcha');}
function fill_val_captcha(){valcaptcha=trim(get_cnt('response_value'));if(valcaptcha=='True'){fill_tag('flag_captcha',okimg);vcaptcha=true;}else{fill_tag('flag_captcha',ximg);}}
function ChkCaptcha(){vcaptcha=false;if(!empty(fetch_obj('mscaptcha').value)){fill_tag('flag_captcha',wimg);var url=chkuri+'?mode=captcha&q='+fetch_obj('mscaptcha').value;Get_A_Page(url,'response_value',fill_val_captcha);}else{fill_tag('flag_captcha',ximg);}}
function val(){
	if(!vuser){uNameAvailable();}
	if(!vpass){ValPass();}
	if(!vcfpass){ConfPass();}
	if(!vemail){ValEmail();}
	if(!vmemo){ValMemo();}
	if(!vbday){ValBday();}
	if(!vcaptcha){ChkCaptcha();}
	var message='';
	if(!vuser){message+='• El identificador de usuario no es válido o ya está en uso.\n';}
	if(!vpass){message+='• La contraseña no es válida. Por favor verifiquela.\n';}
	if(!vcfpass){message+='• La contraseña y su confirmación no coinciden.\n';}
	if(!vemail){message+='• La dirección e-mail no es correcta o ya está asociada a un usuario.\n';}
	if(!vmemo){message+='• La palabra memorable ingresada no es correcta.\n';}
	if(!vbday){message+='• La fecha de nacimiento no es correcta.\n';}
	if(!vcaptcha){message+='• Los caracteres de la imagen de confirmación no coinciden.\n';}
	if(fetch_obj('acepto').checked!=true){message+='• Debe aceptar los Términos de Servicio y Política de Privacidad.\n';}
	if(empty(message)){return true;}
	else{message='Por favor corrija lo siguiente para continuar:\n\n'+message;alert(message);}
	return false;
}