function formhash(form, password) {
// Cria um novo elemento de entrada, como um campo de entrada de senha sem hash.
var p = document.createElement("input");
p.setAttribute("name", "p");
p.setAttribute("type", "hidden");
p.setAttribute("value", hex_sha512(password.value));
// Certifica que senhas em texto plano n�o sejam enviadas.
// Adiciona o novo elemento ao nosso formul�rio.
form.appendChild(p);

password.value = "";
// Finalmente, submete o formul�rio.
form.submit();
}
function regformhash(form, uid, email, password, conf) {
// Confira se cada campo tem um valor
if (uid.value == ''         || 
email.value == ''     || 
password.value == ''  || 
conf.value == ''      
) {
alert('Verifique se Existe Campo Vázio. E Tente Novamente');
return false;
}



// Verifique o nome de usuário
re = /^\w+$/; 
if(!re.test(form.username.value)) { 
alert("Username must contain only letters, numbers and underscores. Please try again"); 
form.username.focus();
return false; 
}

// Confira se a senha é comprida o suficiente (no mínimo, 6 caracteres)
// A verificação é duplicada abaixo, mas o cuidado extra é para dar mais 
// orientações específicas ao usuário
if (password.value.length < 6) {
alert('Senha Muito Curta Deve Conter no Minimo 6 Caracteres .');
form.password.focus();
return false;
}
// Pelo menos um número, uma letra minúscula e outra maiúscula 
// Pelo menos 6 caracteres 
var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/; 
if (!re.test(password.value)) {
alert('A Senha Deve Conter :Pelo menos uma letra maiúscula (A..Z),Pelo menos uma letra minúscula (a..z),Pelo menos um número (0..9) Verifique e Tente Novamente');
return false;
}
// Verificar se a senha e a confirmação são as mesmas
if (password.value != conf.value) {
alert('Verifique as Senhas Digitadas.As Duas Não Conferem ');
form.password.focus();
return false;
}
var p = document.createElement("input");
// Adicione o novo elemento ao nosso formulário. 
p.setAttribute("name", "p");
p.setAttribute("type", "hidden");
p.setAttribute("value", hex_sha512(password.value));
// Cuidado para não deixar que a senha em texto simples não seja enviada. 
// Crie um novo elemento de input, o qual será o campo para a senha com hash. 

form.appendChild(p);
password.value = "";
conf.value = "";
// Finalizando, envie o formulário.  
form.submit();
return true;
}
function regformhash2(form, password, conf) {
// Confira se cada campo tem um valor
if (  
password.value == ''  || 
conf.value == '') {
alert('Verifique se Existe Campo Vázio. E Tente Novamente');
return false;
}
// Confira se a senha é comprida o suficiente (no mínimo, 6 caracteres)
// A verificação é duplicada abaixo, mas o cuidado extra é para dar mais 
// orientações específicas ao usuário
if (password.value.length < 6) {
alert('Senha Muito Curta Deve Conter no Minimo 6 Caracteres .');
form.password.focus();
return false;
}
// Pelo menos um número, uma letra minúscula e outra maiúscula 
// Pelo menos 6 caracteres 
var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/; 
if (!re.test(password.value)) {
alert('A Senha Deve Conter :Pelo menos uma letra maiúscula (A..Z),Pelo menos uma letra minúscula (a..z),Pelo menos um número (0..9) Verifique e Tente Novamente');
return false;
}
// Verificar se a senha e a confirmação são as mesmas
if (password.value != conf.value) {
alert('Verifique as Senhas Digitadas.As Duas Não Conferem ');
form.password.focus();
return false;
}
// Crie um novo elemento de input, o qual será o campo para a senha com hash. 
var p = document.createElement("input");
p.setAttribute("name", "p");
p.setAttribute("type", "hidden");
p.setAttribute("value", hex_sha512(password.value));
// Adicione o novo elemento ao nosso formulário. 
form.appendChild(p);
// Cuidado para não deixar que a senha em texto simples não seja enviada. 
password.value = "";
conf.value = "";
// Finalizando, envie o formulário.  
form.submit();
return true;}