// Cerébro Melhor
// Funções auxiliares

// Globais

var xmlHttp = null;
var objResponse = null;


// funções

function getInternetExplorerVersion() {
	var rv = -1;
	if (navigator.appName == 'Microsoft Internet Explorer') {
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null) {
			rv = parseFloat( RegExp.$1 );
		}
	}
	return rv;
}

function redirectIncompatible() {
	var ver = getInternetExplorerVersion();
	if ( ver > -1 ) {
		if ( ver < 6.0 ) {
			window.location.href = 'incompativel.asp';
		}
	}
	var agent=navigator.userAgent.toLowerCase();
	if((agent.indexOf('iphone')!=-1)){
		window.location.href='iphone.html';
	}
}

function checkLogin() {
	if(document.loginForm.login.value.length==0){
		alert('Por favor, digite seu login corretamente!');
		document.loginForm.login.focus();
		return false;
	}
	if(document.loginForm.senha.value.length<6){
		alert('Por favor, digite sua senha corretamente!');
		document.loginForm.senha.focus();
		return false;
	}
	document.loginForm.submit();
}

function checkEmail(email) {
	if(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/.test(email)){
		return true;
	} else {
		return false;
	}
}

function checkDate(d) {
	var date=d;
	var ardt=new Array;
	var ExpReg=new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
	ardt=date.split("/");
	err=false;
	if ( date.search(ExpReg)==-1){
		err = true;
		}
	else if (((ardt[1]==4)||(ardt[1]==6)||(ardt[1]==9)||(ardt[1]==11))&&(ardt[0]>30))
		err = true;
	else if ( ardt[1]==2) {
		if ((ardt[0]>28)&&((ardt[2]%4)!=0))
			err = true;
		if ((ardt[0]>29)&&((ardt[2]%4)==0))
			err = true;
	}
	return !err;
}

function trim(aString) {
    return String.replace(/^\s+/, "").replace(/\s+$/, "");
}

function isNumeric(sText) {
   var validChars = "0123456789.-Rr";
   var isNumber=true;
   var char;

   for (i=0;i<sText.length && isNumber==true;i++){ 
      char = sText.charAt(i); 
      if (validChars.indexOf(char) == -1){
         isNumber = false;
      }
   }
   return (isNumber && (sText.length>0));   
}


function getFlashMovie(movieName) {
   var isIE = navigator.appName.indexOf("Microsoft") != -1;
   return (isIE) ? window[movieName] : document[movieName];
}

function popup(url) {
	params  = 'width='+screen.width;
 	params += ', height='+screen.height;
 	params += ', top=0, left=0'
 	params += ', fullscreen=yes';

 	newwin=window.open(url,'popup', params);
 	if (window.focus) {newwin.focus()}
 	return false;
}

function popupCenter(page,name,w,h){
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	params = 'height=' + h + ', width=' + w + ', top=' + wint + ', left=' + winl + ', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no';
	win = window.open(page,name, params)
	if(parseInt(navigator.appVersion) >= 4){
		win.window.focus();
	}
}

function getInputRadioValue(obj) {
	var checkedIndex = -1;
	for(i = 0; i < obj.length; i++){
    	if (obj[i].checked) {
			checkedIndex = i;
    		break;
		}
	}
	return (checkedIndex != -1 ? obj[i].value : null);
}

function checkNewAccountForm() {
	with(document.frmCadastro){
		usr_birth.value = dnd.options[dnd.selectedIndex].value + '/' + dnm.options[dnm.selectedIndex].value + '/' + dna.options[dna.selectedIndex].value;
		if(usr_name.value.length<1){
			alert('Por favor, informe seu nome.');
		  	usr_name.focus();
		  	return false;
	  	}
		if((usr_nickname.value.length<2)||(usr_nickname.value.length>12)){
			alert('Por favor, informe seu apelido com no mínimo 2 caracteres e no máximo 12 caracteres.');
		  	usr_nickname.focus();
		  	return false;
	  	}
		if(!checkDate(usr_birth.value)){
			alert('Por favor, informe sua data de nascimento corretamente.');
		  	dnd.focus();
		  	return false;
	  	}
		if(!(usr_gender[0].checked)&&!(usr_gender[1].checked)){
			alert('Por favor, selecione "masculino" ou "feminino".');
		  	usr_gender[0].focus();
		  	return false;
	  	}
		if(usr_graduation.selectedIndex<1){
			alert('Por favor, selecione a sua escolaridade.');
		  	usr_graduation.focus();
		  	return false;
	  	}
		if(usr_state.selectedIndex<1){
			alert('Por favor, selecione o seu estado.');
		  	usr_state.focus();
		  	return false;
	  	}
		if(usr_city.selectedIndex<1){
			alert('Por favor, selecione a sua cidade.');
		  	usr_city.focus();
		  	return false;
	  	}
		if(usr_ddd.value!=''){
			if(!isNumeric(usr_ddd.value)){
				alert('Por favor, preencha o DDD usando apenas números.');
		  		usr_ddd.focus();
		  		return false;
			}
			if(!isNumeric(usr_phone.value)){
				alert('Por favor, preencha o campo telefone corretamente.');
		  		usr_phone.focus();
		  		return false;
			}
	  	}
		if(usr_phone.value!=''){
			if(!isNumeric(usr_ddd.value)){
				alert('Por favor, preencha o DDD usando apenas números.');
		  		usr_ddd.focus();
		  		return false;
			}
			if(!isNumeric(usr_phone.value)){
				alert('Por favor, preencha o campo telefone corretamente.');
		  		usr_phone.focus();
		  		return false;
			}
	  	}
		if(!checkEmail(usr_email.value)){
			alert('Por favor, informe uma conta de email válida.');
		  	usr_email.focus();
		  	return false;
	  	}
		if(usr_email.value!=usr_conf_email.value){
			alert('O email digitado não confere. Por favor verifique se digitou o email corretamente nos dois campos.');
		  	usr_email.focus();
		  	return false;
	  	}
		if((usr_password.value.length<6)||(usr_password.value.length>12)){
			alert('Por favor, informe uma senha com no mínimo 6 e no máximo 12 caracteres.');
		  	usr_password.focus();
		  	return false;
	  	}
		if((usr_password.value.indexOf("'")>=0)||(usr_password.value.indexOf(" ")>=0)||(usr_password.value.indexOf("`")>=0)||(usr_password.value.indexOf("&")>=0)||(usr_password.value.indexOf("/")>=0)||(usr_password.value.indexOf("\\")>=0)){
			alert('Caracteres inválidos na senha. Utilize apenas caracteres alfanuméricos.');
		  	usr_password.focus();
		  	return false;
	  	}
		if(usr_password.value!=usr_conf_password.value){
			alert('A senha digitada não confere. Por favor verifique se digitou a senha corretamente nos dois campos.');
		  	usr_password.focus();
		  	return false;
	  	}
		if(!concordo.checked){
			alert("Você precisa concordar com os termos de uso do serviço para continuar.");
			concordo.focus();
			return false;
		}
  	}
	addNewUser(document.frmCadastro);
}

function checkTermosForm() {
	if(!document.termosForm.concordo.checked){
		alert("Você precisa concordar com os termos do serviço para continuar.");
		document.termosForm.concordo.focus();
		return false;
	}
	enableAccount();
}

function checkUpdateAccountForm() {
	with(document.frmMeusDados){
		usr_birth.value = dnd.options[dnd.selectedIndex].value + '/' + dnm.options[dnm.selectedIndex].value + '/' + dna.options[dna.selectedIndex].value;
		if(usr_name.value.length<1){
			alert('Por favor, informe seu nome.');
		  	usr_name.focus();
		  	return false;
	  	}
		if((usr_nickname.value.length<2)||(usr_nickname.value.length>12)){
			alert('Por favor, informe seu apelido com no mínimo 2 caracteres e no máximo 12 caracteres.');
		  	usr_nickname.focus();
		  	return false;
	  	}
		if(!checkDate(usr_birth.value)){
			alert('Por favor, informe sua data de nascimento corretamente.');
		  	dnd.focus();
		  	return false;
	  	}
		if(!(usr_gender[0].checked)&&!(usr_gender[1].checked)){
			alert('Por favor, selecione "masculino" ou "feminino".');
		  	usr_gender[0].focus();
		  	return false;
	  	}
		if(usr_graduation.selectedIndex<1){
			alert('Por favor, selecione a sua escolaridade.');
		  	usr_graduation.focus();
		  	return false;
	  	}
		if(usr_state.selectedIndex<1){
			alert('Por favor, selecione o seu estado.');
		  	usr_state.focus();
		  	return false;
	  	}
		if(usr_city.selectedIndex<1){
			alert('Por favor, selecione a sua cidade.');
		  	usr_city.focus();
		  	return false;
	  	}
		if(usr_ddd.value!=''){
			if(!isNumeric(usr_ddd.value)){
				alert('Por favor, preencha o DDD usando apenas números.');
		  		usr_ddd.focus();
		  		return false;
			}
			if(!isNumeric(usr_phone.value)){
				alert('Por favor, preencha o campo telefone corretamente.');
		  		usr_phone.focus();
		  		return false;
			}
	  	}
		if(usr_phone.value!=''){
			if(!isNumeric(usr_ddd.value)){
				alert('Por favor, preencha o DDD usando apenas números.');
		  		usr_ddd.focus();
		  		return false;
			}
			if(!isNumeric(usr_phone.value)){
				alert('Por favor, preencha o campo telefone corretamente.');
		  		usr_phone.focus();
		  		return false;
			}
	  	}
		if(!checkEmail(usr_email.value)){
			alert('Por favor, informe uma conta de email válida.');
		  	usr_email.focus();
		  	return false;
	  	}
		if(usr_email.value!=usr_conf_email.value){
			alert('O email digitado não confere. Por favor verifique se digitou o email corretamente nos dois campos.');
		  	usr_email.focus();
		  	return false;
	  	}
		if((usr_password.value.length<6)||(usr_password.value.length>12)){
			alert('Por favor, informe uma senha com no mínimo 6 e no máximo 12 caracteres.');
		  	usr_password.focus();
		  	return false;
	  	}
		if((usr_password.value.indexOf("'")>=0)||(usr_password.value.indexOf(" ")>=0)||(usr_password.value.indexOf("`")>=0)||(usr_password.value.indexOf("&")>=0)||(usr_password.value.indexOf("/")>=0)||(usr_password.value.indexOf("\\")>=0)){
			alert('Caracteres inválidos na senha. Utilize apenas caracteres alfanuméricos.');
		  	usr_password.focus();
		  	return false;
	  	}
		if(usr_password.value!=usr_conf_password.value){
			alert('A senha digitada não confere. Por favor verifique se digitou a senha corretamente nos dois campos.');
		  	usr_password.focus();
		  	return false;
	  	}
  	}
	updateUser(document.frmMeusDados);
}

function checkTermosForm() {
	if(!document.termosForm.concordo.checked){
		alert("Você precisa concordar com os termos do serviço para continuar.");
		document.termosForm.concordo.focus();
		return false;
	}
	enableAccount();
}

function checkLoginForm() {
	with(document.frmLogin){
		if(!checkEmail(usr_email.value)){
			alert('Por favor, informe uma conta de email válida.');
		  	usr_email.focus();
		  	return false;
	  	}
		if((usr_password.value.length<6)||(usr_password.value.length>12)){
			alert('Por favor, informe uma senha com no mínimo 6 e no máximo 12 caracteres.');
		  	usr_password.focus();
		  	return false;
	  	}
		if((usr_password.value.indexOf("'")>=0)||(usr_password.value.indexOf(" ")>=0)||(usr_password.value.indexOf("`")>=0)||(usr_password.value.indexOf("&")>=0)||(usr_password.value.indexOf("/")>=0)||(usr_password.value.indexOf("\\")>=0)){
			alert('Caracteres inválidos na senha. Utilize apenas caracteres alfanuméricos.');
		  	usr_password.focus();
		  	return false;
	  	}
  	}
	loginUser(document.frmLogin);
}

function startCoachTraining() {
	popup(coachServerURL);
}

function refreshCoachSuggestions() {
	var swf = getFlashMovie("coachInterface");
	swf.refreshSuggestions();
}

function loadCoachSuggestions(id,name,difficulty) {
	var s = "";
	for(i=0;i<id.length;i++) {
		s += '<div class="jogoBox">';
		s += '<div class="jogoImagem" style="background:url(images/treinador/'+id[i]+'.jpg) left top no-repeat;">&nbsp;</div>';
		s += '<div class="jogoNivel" style="background: url(images/treinador/d'+difficulty[i]+'.png) center top no-repeat;">&nbsp;</div>';
		s += '</div>';
	}
	document.getElementById("jogosRelacao").innerHTML = s;
	coachServerURL = coachServerBaseURL + id[0] + coachServerCompURL;
}

function initAJAX() {
	if(!xmlHttp) {
		if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest(); 
		} else if (window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
		} else {
			return -1;
		}
	}
	return 0;
}

function submitNewsletter(obj, msg) {
	if(!checkEmail(obj.email.value)){
	    alert(msg);
	    obj.email.focus();
	} else {
		var txtEmail = escape(obj.email.value);		
		if(initAJAX()==0){
			xmlHttp.open("POST", "services/cmAddEmailMkt.asp", true); 
		    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		    xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    		xmlHttp.setRequestHeader("Pragma", "no-cache");
    	    xmlHttp.onreadystatechange = processRequestNewsletter;
			objResponse = obj.email;
			objResponse.value = "Enviando...";
			objResponse.disabled = true;
	    	xmlHttp.send("emk_email=" + txtEmail);
		} else {
			alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
		}
	}
}

function processRequestNewsletter() {
	if (xmlHttp.readyState == 4) {      
		if (xmlHttp.status == 200) {
			if(xmlHttp.responseText == "1") {
				objResponse.disabled = false;
				objResponse.value = "email";
				objResponse.blur();
				alert('Email cadastrado com sucesso. Obrigado!');
			} else {
				objResponse.disabled = false;
				objResponse.value = "email";
				objResponse.blur();
				alert(xmlHttp.responseText);
			}
		} else {
			objResponse.disabled = false;
			objResponse.value = "email";
			objResponse.focus();
			alert("Problemas no envio dos dados. Por favor tente novamente.");
		}
	}
}

function requestCities(uf,destObj) {
	if(uf.length == 0){
		destObj.options.length = 0;
		destObj.disabled = true;
		return false;
	} else {
		if(initAJAX()==0){
			xmlHttp.open("POST", "services/cmGetCities.asp", true); 
		    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		    xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    		xmlHttp.setRequestHeader("Pragma", "no-cache");
    	    xmlHttp.onreadystatechange = processRequestCities;
			objResponse = destObj;
			objResponse.options.length = 0;
			objResponse.options.add(new Option('Carregando...',''));
			objResponse.disabled = true;
	    	xmlHttp.send("uf=" + uf);
		} else {
			alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
		}
	}
}

function processRequestCities() {
	if (xmlHttp.readyState == 4) {      
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var items = xmlResponse.getElementsByTagName('cit_name');
			objResponse.disabled = false;
			objResponse.options.length = 0;
			if(items[0].firstChild.nodeValue!='null') {
				objResponse.options.add(new Option('Selecione...','Selecione...'));
				for(var i=0; i<items.length; i++) {
					objResponse.options.add(new Option(items[i].firstChild.nodeValue,items[i].firstChild.nodeValue));
				}
				objResponse.focus();
			} else {
				objResponse.disabled = true;
			}
		} else {
			objResponse.disabled = true;
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function addNewUser(destObj) {
	if(initAJAX()==0){
		xmlHttp.open("POST", "services/cmSetAccount.asp", true); 
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.onreadystatechange = processAddNewUser;
		objResponse = destObj;
		var parms = "";
		with(objResponse){
			parms  = "usr_name="+encodeURI(usr_name.value)+"&";
			parms += "usr_nickname="+encodeURI(usr_nickname.value)+"&";
			parms += "usr_birth="+usr_birth.value+"&";
			parms += "usr_gender="+( usr_gender[0].checked ? "1" : "2" )+"&";
			parms += "usr_graduation="+usr_graduation.options[usr_graduation.selectedIndex].value+"&";
			parms += "usr_state="+encodeURI(usr_state.options[usr_state.selectedIndex].value)+"&";
			parms += "usr_city="+encodeURI(usr_city.options[usr_city.selectedIndex].value)+"&";
			parms += "usr_ddd="+usr_ddd.value+"&";
			parms += "usr_phone="+usr_phone.value+"&";
			parms += "usr_email="+usr_email.value+"&";
			parms += "usr_password="+usr_password.value+"&";
			parms += "usr_newsletter="+(usr_newsletter.checked ? "1" : "0")+"&";
			parms += "usr_emailmkt="+(usr_emailmkt.checked ? "1" : "0");
		}
		xmlHttp.send(parms);
	} else {
		alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
	}
}

function processAddNewUser() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var status = xmlResponse.getElementsByTagName('status');
			switch(status[0].firstChild.nodeValue) {
				case "1":
					alert("Apelido já cadastrado. Por favor escolha outro.");
					objResponse.usr_nickname.focus();
					break;
				case "2":
					alert("Conta de email já cadastrada. Por favor escolha outra.");
					objResponse.usr_email.focus();
					break;
				case "3":
					alert("Falha de comunicação com o servidor HN. Por favor tente novamente.");
					objResponse.enviar.focus();
					break;
				case "0":
					window.location.href="cadastro_opcoes.asp";
					break;
			}
		} else {
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function loginUser(destObj) {
	if(initAJAX()==0){
		xmlHttp.open("POST", "services/cmLoginAccount.asp", true); 
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.onreadystatechange = processLoginUser;
		objResponse = destObj;
		var parms = "";
		with(objResponse){
			parms  = "usr_email="+usr_email.value+"&";
			parms += "usr_password="+usr_password.value;
		}
		xmlHttp.send(parms);
	} else {
		alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
	}
}

function processLoginUser() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var userId = xmlResponse.getElementsByTagName('userId');
			if(userId[0].firstChild.nodeValue=="0") {
				alert("Endereço de email ou senha não conferem. Por favor tente novamente.");
				objResponse.usr_email.focus();
			} else {
				// alert("Login efetuado com sucesso!");
				window.location.href='default.asp';
			}
		} else {
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function recoveryPassword(destObj) {
	if(!checkEmail(destObj.usr_email.value)){
		alert('Por favor, informe uma conta de email válida.');
		destObj.usr_email.focus();
		return false;
	}
	if(initAJAX()==0){
		xmlHttp.open("POST", "services/cmRecoveryPassword.asp", true); 
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.onreadystatechange = processRecoveryPassword;
		objResponse = destObj;
		var parms = "";
		with(objResponse){
			parms  = "usr_email="+usr_email.value;
		}
		xmlHttp.send(parms);
	} else {
		alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
	}
}

function processRecoveryPassword() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var userId = xmlResponse.getElementsByTagName('status');
			if(userId[0].firstChild.nodeValue=="0") {
				alert("Conta de email não cadastrada.\nPor favor verique se digitou corretamente.");
			} else {
				alert("Sua senha foi enviada com sucesso para o email informado.");
			}
		} else {
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function enableAccount() {
	if(initAJAX()==0){
		xmlHttp.open("POST", "services/cmEnableAccount.asp", true); 
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.onreadystatechange = processEnableAccount;
		xmlHttp.send("enable=1");
	} else {
		alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
	}
}

function processEnableAccount() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var result = xmlResponse.getElementsByTagName('status');
			if(result[0].firstChild.nodeValue=="0") {
				window.location.href="cadastro_opcoes.asp";
			} else {
				alert("Falha de comunicação com o servidor. Por favor tente novamente.");
			}
		} else {
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function updateUser(destObj) {
	if(initAJAX()==0){
		xmlHttp.open("POST", "services/cmUpdateAccount.asp", true); 
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.onreadystatechange = processUpdateUser;
		objResponse = destObj;
		var parms = "";
		with(objResponse){
			parms  = "usr_name="+encodeURI(usr_name.value)+"&";
			parms += "usr_nickname="+encodeURI(usr_nickname.value)+"&";
			parms += "usr_birth="+usr_birth.value+"&";
			parms += "usr_gender="+( usr_gender[0].checked ? "1" : "2" )+"&";
			parms += "usr_graduation="+usr_graduation.options[usr_graduation.selectedIndex].value+"&";
			parms += "usr_state="+encodeURI(usr_state.options[usr_state.selectedIndex].value)+"&";
			parms += "usr_city="+encodeURI(usr_city.options[usr_city.selectedIndex].value)+"&";
			parms += "usr_ddd="+usr_ddd.value+"&";
			parms += "usr_phone="+usr_phone.value+"&";
			parms += "usr_email="+usr_email.value+"&";
			parms += "usr_password="+usr_password.value+"&";
			parms += "usr_newsletter="+(usr_newsletter.checked ? "1" : "0")+"&";
			parms += "usr_emailmkt="+(usr_emailmkt.checked ? "1" : "0");
		}
		xmlHttp.send(parms);
	} else {
		alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
	}
}

function processUpdateUser() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var status = xmlResponse.getElementsByTagName('status');
			switch(status[0].firstChild.nodeValue) {
				case "1":
					alert("Apelido já cadastrado. Por favor escolha outro.");
					objResponse.usr_nickname.focus();
					break;
				case "2":
					alert("Conta de email já cadastrada. Por favor escolha outra.");
					objResponse.usr_email.focus();
					break;
				case "3":
					alert("Falha de comunicação com o servidor HN. Por favor tente novamente.");
					objResponse.enviar.focus();
					break;
				case "0":
					alert("Dados atualizados com sucesso.");
					break;
			}
		} else {
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function requestCEP(cep,destObj) {
	if(cep.length != 8){
		alert("O Campo CEP deve possuir 8 caracteres numéricos. Não use traço.");
		destObj.cep.focus();
		return false;
	} else {
		if(initAJAX()==0){
			xmlHttp.open("POST", "services/cmGetCep.asp", true); 
		    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		    xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    		xmlHttp.setRequestHeader("Pragma", "no-cache");
    	    xmlHttp.onreadystatechange = processRequestCEP;
			objResponse = destObj; 
	    	xmlHttp.send("cep=" + cep);
		} else {
			alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
		}
	}
}

function processRequestCEP() {
	if (xmlHttp.readyState == 4) {  
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var status = xmlResponse.getElementsByTagName('status');
			if(status[0].firstChild.nodeValue=='0') {
				objResponse.endereco.value = xmlResponse.getElementsByTagName('endereco')[0].firstChild.nodeValue;
				objResponse.bairro.value = xmlResponse.getElementsByTagName('bairro')[0].firstChild.nodeValue;
				objResponse.cidade.value = xmlResponse.getElementsByTagName('cidade')[0].firstChild.nodeValue;
				objResponse.estado.value = xmlResponse.getElementsByTagName('estado')[0].firstChild.nodeValue;
				objResponse.numero.focus();
			} else {
				alert("CEP Inválido! Por favor verifique se digitou corretamente.");
				objResponse.cep.focus();
			}
		} else {
			objResponse.disabled = true;
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

function checkCoupon(destObj) {
	if(destObj.cou_code.value.length == 0){
		alert("Por favor informe o código do cupom.");
		destObj.cou_code.focus();
		return false;
	} else {
		if(initAJAX()==0){
			xmlHttp.open("POST", "services/cmValidateCoupon.asp", true); 
		    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		    xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    		xmlHttp.setRequestHeader("Pragma", "no-cache");
    	    xmlHttp.onreadystatechange = processRequestCheckCoupon;
			objResponse = destObj;
	    	xmlHttp.send("cou_code=" + destObj.cou_code.value);
		} else {
			alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
		}
	}
}

function processRequestCheckCoupon() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			var xmlResponse = xmlHttp.responseXML;
			var status = xmlResponse.getElementsByTagName('status');
			switch(status[0].firstChild.nodeValue) {
				case "1":
					alert("Desculpe, você já utilizou esse cupom.");
					objResponse.cou_code.focus();
					break;
				case "2":
					alert("Código de cupom inválido. Por favor verifique se digitou corretamente.");
					objResponse.cou_code.focus();
					break;
				case "0":
					alert("Cupom aceito! Comece a desfrutar\agora mesmo de sua assinatura!");
					window.location.href='default.asp';
					break;
			}
		} else {
			alert("Falha de comunicação com o servidor. Por favor tente novamente.");
		}
	}
}

