/* fun??es para promo??op parceiro BrTurbo Empresas */

function mostra_esconde(id,path,caminhoImagem) {
		var valor = document.getElementById(id).style; 
		
		if(valor.display == "none" || valor.display =="") {
		
			valor.display = "block";
			
			if(id == "exemploDescontoMensalidade")
					document.images[caminhoImagem].src = path + "desconto1_sobe.gif"
			
			else 
					document.images[caminhoImagem].src = path + "desconto2_sobe.gif"		
		}
		else {
			esconde(id);
			
			if(id == "exemploDescontoMensalidade")
					document.images[caminhoImagem].src = path + "desconto1.gif"
			
			else
					document.images[caminhoImagem].src = path + "desconto2.gif"
			
		}
		
	}

//esconde o box
	function esconde(id) {
		var valor = document.getElementById(id).style;
		valor.display = "none";
	}
function soNumero(myfield, e, dec)
{
	var key;
	var keychar;
	if (dec == null) dec = "";
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	// control keys
	if ((key==null) || (key==0) || (key==8) ||
	    (key==9) || (key==13) || (key==27) )
	   return true;
	// numbers
	else if ((("0123456789" + dec).indexOf(keychar) > -1))
	   return true;
	// decimal point jump
	else
	   return false;
}


//Rotina para exibir popups.
bAvisoSenha = false;
function xcenter(xsize){
	var xpos;
	xpos = parseInt((screen.width - xsize) / 2);
	return(xpos);
}
function ycenter(ysize){
	var ypos;
	ypos = parseInt((screen.height - ysize) / 2);
	return(ypos);
}
function avisoSenha(endereco) {
	if (bAvisoSenha == false) {
		window.open(endereco, 'popSenha', 'scrollbars=ni,width=450,height=350,left='+xcenter(450) +', top='+ycenter(350));
	}
    bAvisoSenha = true;
}


//cep
var servletPath = "/brtsi"; 
var expressionWait = "Carregando...";

function setAjaxServletPath(path) {
	servletPath = path;
} 

function searchAddressByZipCode() {
	var requestData = "cliCep=" + escape(document.getElementById("cliCep").value);
	
	   bairro = document.getElementById("cliBairro").value;
   	   endereco = document.getElementById("cliEndereco").value;

	if(window.XMLHttpRequest) {
		req_ajaxSearchAddressByZipCode = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req_ajaxSearchAddressByZipCode = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	req_ajaxSearchAddressByZipCode.onreadystatechange = function(){ajaxSearchAddressByZipCode();};
	req_ajaxSearchAddressByZipCode.open("GET", servletPath + "/extranet/store/ajax/AjaxAddressByCep" + "?" + requestData, true);
	req_ajaxSearchAddressByZipCode.send(null);	
}

String.prototype.trim = function(){
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
}

var bairro;
var endereco; 
var cepOld = null;
function ajaxSearchAddressByZipCode() {
	// Message
	var messageElement = document.getElementById("zipcode_message");
	// Inputs
	
	var stateElement =document.getElementById("customerState");
	var cliEstUF = document.getElementById("cliEstUF");
	var cityElement = document.getElementById("cliCidade");
	var localityElement = document.getElementById("cliBairro");
	var addressElement = document.getElementById("cliEndereco");
	var numberElement = document.getElementById("cliEnderecoNumero");
	var complementElement = document.getElementById("cliEnderecoComplemento");
	var cepElement = new String(document.getElementById("cliCep").value);

 	var showMessage = function(message) {
 		var display = message ? true : false;
		if (messageElement && messageElement.style) {
			messageElement.style.display = display ? "block": "none";
			messageElement.style.fontWeight = "bolder";
			messageElement.innerHTML = message;
		}
 	};

 	var extractValue = function (node) {
 		var value = null;
 		
 		if (node && node.childNodes.length > 0 && new String(node.childNodes[0].nodeValue).trim().length > 1) {
 			value = node.childNodes[0].nodeValue;
 		}
 		if (value == "" || value == "N/D") {
	 		value = null;
 		}
 		return value;
 	};

	if(req_ajaxSearchAddressByZipCode.readyState == 4) {
		if(req_ajaxSearchAddressByZipCode.status == 200) {

			//ESTADO
			var state = extractValue(req_ajaxSearchAddressByZipCode.responseXML.getElementsByTagName("state")[0]);
			//CITY			
			var city = extractValue(req_ajaxSearchAddressByZipCode.responseXML.getElementsByTagName("city")[0]);
			//BAIRRO
			var locality = extractValue(req_ajaxSearchAddressByZipCode.responseXML.getElementsByTagName("locality")[0]);
			//ENDEREÇO
			var address = extractValue(req_ajaxSearchAddressByZipCode.responseXML.getElementsByTagName("address")[0]);
			
			if (state) {
				stateElement.value = state;
				stateElement.style.border = "none";
				stateElement.style.background = "none";
				
				cliEstUF.value = state;
			} else {
				stateElement.value = "";
			}

			if (city) {
				cityElement.value = city;
				cityElement.style.border = "none";
				cityElement.style.background = "none";
				
				setDisplayProperty('');
				
				//Se a cidade foi carregada é porque o CEP é válido.
				if (locality) {
					localityElement.value = locality;
					setElementStyle(localityElement, 'none');									
					localityElement.readOnly = true;
				} else if (bairro) {
					if (valorCep != null && cepOld != cepElement) {
						localityElement.value = "";
					} else {
						localityElement.value = bairro;
					}
					
					setElementStyle(localityElement, 'default');
					localityElement.readOnly = false;
				} else {
					localityElement.value = "";
					setElementStyle(localityElement, 'default');
					localityElement.readOnly = false;
				}
				
				if (address) {
					addressElement.value = address;
					setElementStyle(addressElement, 'none');				
					addressElement.readOnly = true;
				} else if (endereco) {
					if (valorCep != null && cepOld != cepElement) {
						addressElement.value = "";
					} else {
						addressElement.value = endereco;
					}					
					setElementStyle(addressElement, 'default');
					addressElement.readOnly = false;
				} else {
					addressElement.value = "";
					setElementStyle(addressElement, 'default');
					addressElement.readOnly = false;
				}
				
				showMessage(false);
				
			if (cepElement != null && cepElement.substring(5,8) == "000" && locality == null && adress == null) {
			   numberElement.value = "";
			   complementElement.value = "";
			   localityElement.value = "";
       		   addressElement.value  = "";
       		   setElementStyle(addressElement, 'default');
       		   setElementStyle(localityElement, 'default');
       		   addressElement.readOnly = false;
       		   localityElement.readOnly = false;
       		   flag = true;
			}

			} else {
				cityElement.value = "";
				
				//Se a cidade não foi carregada é porque o CEP é inválido.
				localityElement.value = "";
				localityElement.readOnly = true;
				
				addressElement.value = "";
				addressElement.readOnly = true;
				
				numberElement.value = "";
				complementElement.value = "";
												
				// Mensagem de CEP Inválido.
				showMessage("N&atilde;o foi poss&iacute;vel localizar o CEP informado.");
				
				setDisplayProperty('none');
			}
		} else {
			// Erro
			showMessage("Erro ao carregar dados");
		}
	} else {
		// Carregando
		showMessage("Carregando...");
	}
}
		
function setElementStyle(element, styleType) {
	if (styleType == 'default') {
		element.style.fontWeight = 'bolder';
		element.style.color = 'black';
		element.style.borderTop = '1px solid #949BAB';
		element.style.borderRight = '1px solid #DDDFE4';
		element.style.borderBottom = '1px solid #DDDFE4'; 
		element.style.borderLeft = '1px solid #949BAB';
		element.style.background = "";
	} else if (styleType == 'none') {
		element.style.fontWeight = '';
		element.style.color = '';
		element.style.border = "none";
		element.style.background = "none";		
	}
}

function setDisplayProperty(displayValue) {
	document.getElementById("trEnderecoEstado").style.display = displayValue;
	document.getElementById("trEnderecoCidade").style.display = displayValue;
	document.getElementById("trEnderecoBairro").style.display = displayValue;
	document.getElementById("trEndereco").style.display = displayValue;
	document.getElementById("trEnderecoNumero").style.display = displayValue;
	document.getElementById("trEnderecoComplemento").style.display = displayValue;
}

var valorCep = null;
function executaPesquisaDeCep(valor) {
	if(valor.length == 8) {
		valorCep = valor; 
		searchAddressByZipCode();
	}
}

function executaPesquisaDeCep(valor, cep) {
	if(valor.length == 8) {
		valorCep = valor; 
		cepOld = cep;
		searchAddressByZipCode();
	}
}

// altera o className do ID passado como par?metro
function setClassName(objId, className) {
		 document.getElementById(objId).className = className;		
}		

function soLetra(myfield,e)
{
 var key;
 
 if (window.event)
    key = window.event.keyCode;
 else if (e)
    key = e.which;

 // control keys
 if ((key==null) || (key==0) || (key==8) ||
     (key==9) || (key==13) || (key==27) )
    return true;
 else 
   if(key >= 65 && key <= 90) // LETRAS MAIUSCULAS
     return true;
   else
     if(key >= 97 && key <= 122) // LETRAS MINUSCULAS
       return true;
   else {
     if (key != 8 && key != 32) // backspace ou espaço
       return false;
     else
       return true;
   }     
}

function cleanField(current, old){
	  if (current.length == 8 && current != old) {
 	  	document.getElementById("cliEnderecoNumero").value = "";
		document.getElementById("cliEnderecoComplemento").value = "";
		}
													
} // end function
