//variáveis
var controleBox = 0;
var resultados, divResultado;
var icoCarregando = '../images/carregando.gif';
var strCarregando = '../images/carregando.gif';

try {
	xmlhttp = new XMLHttpRequest();
} catch(ee) {
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(E) {
			xmlhttp = false;
		}
	}
} 

function inicializarEditor(tipo, elementos)
{
	if(!elementos)
		elementos="";
	
	tinyMCE.init({
		width: "350px",		 
		language: "pt", 
		mode : tipo,
		theme : "advanced",
		plugins : "safari,pagebreak,style,layer,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
		
		theme_advanced_buttons1: "fontselect,fontsizeselect,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,forecolor,backcolor,|,media,charmap",
		theme_advanced_buttons2: "cut,copy,paste,pastetext,pasteword,removeformat,|,search,replace,|,undo,redo,|,bullist,numlist,link,unlink,image,cleanup,code,|,preview,|,fullscreen,print",
		theme_advanced_buttons3: "",
		theme_advanced_buttons4: "",
	
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,
		theme_advanced_resize_horizontal : false,
		elements: elementos
	});
}

function inicializaXmlHttp(){
	var xmlhttp;
  	try {
   		xmlhttp = new XMLHttpRequest();
		xmlhttp.overrideMimeType('text/plain');
  	} 
  	catch(ee){
   		try{
    		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   		} 
   		catch(e){
    		try{
     			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} 
    		catch(E){
     			xmlhttp = false;
			}
   		}
  }
  return xmlhttp;
}

function iniciaAjax(linksql, vars, div, acaoPosterior, semCarregando){
	var args = iniciaAjax.arguments.length;
	var xmlhttp=inicializaXmlHttp();
	xmlhttp.open("POST", linksql, true);
	xmlhttp.onreadystatechange = function(){
		if (xmlhttp.readyState==4){
			resultados = xmlhttp.responseText;
			//alert(resultados);
			if (args >= 3){
				if(resultados.toString().toLowerCase().indexOf('javascript:')==0)
					setTimeout(resultados.replace(/javascript: /i,''),1);	
				else if(div)
					gel(div).innerHTML=unescape(resultados);	
				if(controleBox==1)
					setBox();
			}
			if(acaoPosterior)
				setTimeout(acaoPosterior,1);		
		}
		else{
			if(div && !semCarregando)
				document.getElementById(div).innerHTML = "<img src='../images/carregando.gif'>";//peq
		}
	}
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send(vars);
}



/*function iniciaAjax(linksql, vars, div, acaoPosterior){
	var args = iniciaAjax.arguments.length;
	xmlhttp.open("POST", linksql, true);
	xmlhttp.onreadystatechange = function(){
		if (xmlhttp.readyState==4)
		{
			t = xmlhttp.responseText
			resultados=t;		
			if (args >= 3){
				document.getElementById(div).innerHTML=unescape(resultados);	
				if(controleBox==1)
					setBox();
			}
			if(acaoPosterior)
				setTimeout(acaoPosterior,1);
		}
	}
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	document.getElementById(div).innerHTML = "<img src='../images/carregando.gif'>";//peq
	xmlhttp.send(vars);
}
*/
function alerta(texto, titulo, naomostrarefeito)
{
	if(!naomostrarefeito)
		exibeEfeito();
	if(!titulo)
		titulo="";
	iniciaAjax('ajx_informacao.aspx','texto='+escape(texto)+'&titulo='+escape(titulo), 'divResultado');
}

function iniciaPost(linksql,div,form,acaoPosterior)
{	
	try
	{				
		var vars="";
		for(var i = 0; i < form.elements.length; i++) 
		{
			vars=vars + form.elements[i].name + "=" + escape(form.elements[i].value) + "&"
			if (form.elements[i].type == "text") {
				form.elements[i].value = "";
			}
		}
		while(vars.indexOf(" ")>=0)
		{
			vars=vars.replace(" ","%20");
		}			
		xmlhttp.open("POST", linksql, true);		
		xmlhttp.onreadystatechange = function()
		{
			if (xmlhttp.readyState==4)		
			{
				var t = xmlhttp.responseText;
				t = unescape(t.replace(/\+/g," "));
				document.getElementById(div).innerHTML=t;
				if(acaoPosterior)
					setTimeout(acaoPosterior,1);
			}
		}
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.send(vars);		
		document.getElementById(div).innerHTML = strCarregando;
	}
	catch(e)
	{
	}
}

var divResultado;
var strCarregando='<table border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#FFFFFF" class="texto_preto" style="border:1px #666666 solid;border-bottom:2px #333333 solid;border-right:2px #333333 solid;"><tr><td align="center"><span class="txtInterna"><img src="../images/carregando.gif" /></span></td></tr></table>';

function exibeEfeito(config){
	var div, div2;	
	var objSelect = document.getElementsByTagName("select");
	for (i=0;i<objSelect.length;i++){
		objSelect[i].style.visibility = "hidden";
	}	
	var tudo=document.getElementsByTagName("body")[0];
	tudo.scrollTop=0;
	div2=document.createElement("div");
 	div2.id=("divJanela");
	var y;
	if (document.body.scrollHeight > document.body.offsetHeight)// all but Explorer Mac
		y = document.body.scrollHeight;
	else// Explorer Mac;
		y = document.body.offsetHeight;
	div2.style.width = "100%";
	div2.style.height = y+"px";
	if(config)
		adicionaEvento(div2, "click", apagaEfeito);
	
	tudo.appendChild(div2);	
	div=document.createElement("div");
 	div.id=("divResultado");
	tudo.appendChild(div);
	document.onkeydown=function(event){tecla(event)};
	divResultado=document.getElementById("divResultado");
	document.getElementById("divResultado").focus();	
	controleBox=1;
}
 
function setBox(){
	var box=document.getElementById("divResultado");
	var x,y,xp,yp;
	if(box.scrollHeight>box.offsetHeight){
		x=box.scrollWidth;
		y=box.scrollHeight;
		xp=document.body.scrollWidth;
		yp=document.body.scrollHeight;
	} else {
		x=box.offsetWidth;
		y=box.offsetHeight;
		xp=document.body.offsetWidth;
		yp=document.body.offsetHeight;
	}
	box.style.left=eval(xp)/2-eval(x)/2+"px";
	box.style.top="20%";
}

function apagaEfeito(){
	var objSelect = document.getElementsByTagName("select");
	for (i=0;i<objSelect.length;i++){
		objSelect[i].style.visibility = "visible";
	}
  	var tudo=document.getElementsByTagName("body")[0]
  	var div1 = document.getElementById("divResultado");
	var div2 = document.getElementById("divJanela");	
	div1.innerHTML="";
  	tudo.removeChild(div1);
	tudo.removeChild(div2);
	document.getElementsByTagName("html")[0].style.overflow="";
	document.onkeydown='';
	controleBox=0;
}  

function tecla(e){
	if (!e) 
		e = window.event;	

	if (e.keyCode==27)// || e.keyCode==13
	{
		apagaEfeito();
		document.onkeydown='';
	}
}
	
function editaCelula(e){
	//limpaEventos();
	criaEventAndThis(e);
			
	var texto = source.innerHTML;
	source.innerHTML='';
	source.setAttribute("textoAtual", texto)
	
	var campo = document.createElement("textarea");
	campo.value = texto
	campo.id="textoEditar"+source.id;
	campo.className = 'input-branco';
	campo.style.width = '150px';
	campo.rows=8;
	source.appendChild(campo);

	var quebra = document.createElement("br");
	source.appendChild(quebra);

	var okButton = document.createElement("input");
	okButton.type = "image";
	okButton.className = '';
	okButton.id="btnOk"&+source.id;
	okButton.src="../images/btn_ok.gif";
	source.appendChild(okButton);
	
	var espaco = document.createElement("span");
	espaco.innerHTML = '&nbsp;&nbsp;';      
	source.appendChild(espaco);
		
	var cancelButton = document.createElement("input");
	cancelButton.type = "image";
	cancelButton.id="btnCancel"&+source.id;
	cancelButton.src="../images/btn_cancelar.gif";
	source.appendChild(cancelButton);

	removeEvento(source, "click", editaCelula);
	adicionaEvento(okButton, "click", alteraCelula);
	adicionaEvento(cancelButton, "click", cancelaCelula);
}
function limpaEventos(){
	try{
		if(source)
			cancelaCelula()
	}
	catch(e){
	}
}
function alteraCelula(e){
	xmlhttp.open("POST", pagina, true);
	xmlhttp.onreadystatechange = function(){
	/*	if (xmlhttp.readyState==4)
		{
			var t = xmlhttp.responseText
			alert(t)
		}*/
	}
	var novoValor = document.getElementById("textoEditar"+source.id).value;
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	xmlhttp.send("nome="+escape(novoValor)+"&codigo="+source.getAttribute("cod"));
	source.innerHTML =unescape(novoValor.replace(/\+/g," "));
	adicionaEvento(source, "click", editaCelula);
}
function cancelaCelula(e){
	source.innerHTML=source.getAttribute("textoAtual");
	adicionaEvento(source, "click", editaCelula);
}
function adicionaEvento(campo, evento, funcao){
	if (campo.addEventListener)
		campo.addEventListener(evento, funcao, false)
	if (campo.attachEvent)
		campo.attachEvent("on"+evento, funcao)
}
function removeEvento(campo, evento, funcao){
	if (campo.removeEventListener)
		campo.removeEventListener(evento, funcao, false)
	if (campo.detachEvent)
		campo.detachEvent("on"+evento, funcao)
}
function criaEventAndThis(e){
	if(typeof(e)=='undefined')var e=window.event
	source=e.target?e.target:e.srcElement
	if(source.nodeType == 3)source = source.parentNode
}
//onClick em tabela
function criaOnClickTabela(){
	if(document.getElementById("ajxEditar")){
		adicionaEvento(document.getElementById("ajxEditar"), "click", editaCelula);
	}
}
var pagina;
window.onload=function(){
	if(document.getElementById("ajxEditar")){
		pagina = document.getElementById("ajxEditar").getAttribute("pagina");
		criaOnClickTabela();
	}
};

function gel(id)
{
	return document.getElementById(id);
}

function obj(id){
	return document.getElementById(id);
}

function gels(name)
{
	return document.getElementsByName(name);
}

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
     var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;
		if (whichCode == 13 || whichCode == 8 || whichCode == 0) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    if (len >= 15) return false;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}

function buscaCep(objt)
{
	objt=objt.replace(/\./gi,'').replace(/-/gi,'');	
	if(objt.length==8)
	{
		iniciaAjax('_buscaCep.asp?cep='+escape(objt),'',null,function(){
			var cep=eval(resultados);
			if(cep.resultado=='ERR' || cep.resultado=='')
			{
				alert('CEP não encontrado ou inexistente.');
				//obj('resultCEP').innerHTML=cep.mensagem;
				//obj('resultCEP').style.color='#FF0000';
				//obj('resultCEP').style.display='';
			}
			else
			{
				document.getElementById('endereco').value=cep.endereco;
				document.getElementById('estado').value=cep.estado;
				iniciaAjax('ajx_cidades.asp?tipo=1', 'cidade='+escape(cep.cidade)+'&estado='+cep.estado, 'divCidade', function(){iniciaAjax('ajx_bairros.asp?tipo=1', 'cidade='+document.getElementById('cidade').value+'&bairro='+cep.bairro, 'divBairro');});
				
				/*
				for(i=0;i<document.getElementById('estado').options.length;i++)
				{
					if(document.getElementById('estado').options[i].value==cep.estado)
						document.getElementById('estado').selectedIndex=i;
					else
						document.getElementById('estado').options[i].selected=false;
				}
				trocaEstado(cep.estado, cep.cidade);*/
			}
		});
	}
}
