/**
 * Ações referentes à manutenção e execução das telas
 *
 * @author André Coura
 * @sinze 11/04/2007
 */

 var CAMINHO_IMAGENS = "http://dotmg02.mg.com.br/clientes/001/01/01/cidadeshistoricas/portal/cidadeshistoricas/portal_imagens_oculto/";
 var CAMINHO_IMG_DEFAULT = "http://dotmg02.mg.com.br/clientes/001/html/default/imagens/";
 var CAMINHO_AJAX_APL = 'http://ajax02.mg.com.br/';
 var CAMINHO_AJAX_BI = CAMINHO_AJAX_APL+'imagens/';
 /**
  * Exibe e oculta os ids passados por parametros
  *
  * @author André Coura
  * @since 28/05/2007
  *///
function selecArea(idExibe,idEsconde){
 	$(idExibe).style.display='block';
 	$(idEsconde).style.display='none';
}
/**
  * seta um valor em um determinado campo em tempo de seleção
  *
  * @author André Coura
  * @since 28/05/2007
  */
function setValCampo(idCampo, valor){
	$(idCampo)=valor;
	return true;
}
/**
 * Define a quantidade de campos a serem repetidos
 *
 * @author André Coura
 * @since
 */
function defCamposBanner(valCampo){
	var strHtml = new String();
	for(var i=1;i<valCampo;i++){
		strHtml += '<div class="espacoCamposBanner" >';
	    strHtml += '<label>Localizar Imagem: </label><input class="inputBanner" type="file" name="banner'+i+'" /> <br />';
	    strHtml += '<label>Tipo Classifica&ccedil;&atilde;o: </label><input class="inputBanner" type="text" name="tipo'+i+'" size="6" maxlength="15"/> <br />';
	    strHtml += '<label>Link Destino: </label><input class="inputBanner" type="text" name="link'+i+'" size="30" maxlength="90"/> <br />';
		strHtml += '</div>';
	}
	$('multCampos').innerHTML = strHtml;
}
/**
 * Gera os campos na quantidade determinada
 *
 * @author André Coura
 * @since
 */
function defCamposImgs(valCampo){
	var strHtml = new String();
	for(var i=1;i<valCampo;i++){
		strHtml += '<div class="espacoCamposBanner" >';
	    strHtml += '<label>Localizar Imagem: </label><input class="inputBanner" type="file" name="imagem'+i+'" /> <br />';
		strHtml += '</div>';
	}
	$('multCampos').innerHTML = strHtml;
}

function defCamposTplDoc(valCampo){
	var strHtml = new String();
	for(var i=1;i<valCampo;i++){
		strHtml += '<div class="espacoCamposBanner" >';
	    strHtml += '<label>Localizar Imagem: </label><input class="inputBanner" type="file" name="imagem'+i+'" /> <br />';
		strHtml += '</div>';
	}
	$('multCampos').innerHTML = strHtml;
}
/**
 * Define apenas um campo check box setado
 *
 * @author André Coura
 * @since
 */
function desCheckRadio(objQ,loop){
	for(var cont=0;cont<loop;cont++){
		$('radioVersoes'+cont).checked = false;
	}
	objQ.checked = true;
}
/**
 *
 * @author André Coura
 * @since
 */
function defineCampos(arrCampos){
	for(var i=0;i<arrCampos.length;i++){
		try{
			$(arrCampos[i]).checked=true
		}catch(erro){
		}
	}
}
/**
 * Define os campos e as respectivas cores
 *
 * @author André Coura
 * @since
 */
function defineCamposLayout(tipoBG,corFundoPag,corFonte,corBarraPag,corFontBarra){
	calculaConteudo(0);
	selecionaFundo(tipoBG);
	defPaletasColor('rgb3',true,corFundoPag)
	defPaletasColor('rgb2',true,corBarraPag)
	$('selecionaCor').style.color = corFonte;
	$('selecionaCorBarra').style.color = corFontBarra;
}
/**
 * Define os campos e as respectivas cores
 *
 * @author André Coura
 * @since
 */
function calculaConteudo(valor){
	var areaTotal = $('area_total').value;
	var lateralEsquerda = $('lateral_esquerda').value;
	var lateralDireita = $('lateral_direita').value;

	$('area_conteudo').value = areaTotal - lateralEsquerda - lateralDireita-2;

}
/**
 * Exibição da paleta de cores
 *
 * @author André Coura
 * @since
 */
function defPaletasColor(idCampoPaleta,exibe,cor){
	if(exibe){
		$(idCampoPaleta).style.backgroundColor = cor;
		$(idCampoPaleta).style.color = cor;
		$(idCampoPaleta).value = cor;
	}else{
		$(idCampoPaleta).style.backgroundColor ='#FFF';
		$(idCampoPaleta).style.color = '#FFF';
		$(idCampoPaleta).value = '';
	}
}



/**
 * Defnição de dados dos formulários
 *
 * @author Diego Griep
 * @author André Coura
 */
function menuConfigs(idDiv,idBtn){
	//oculta-se todos
	idsCorpo = new Array('configsDescricao','configsCorpo','configsMensagens','configsArea');//,'configsAvancado');
	idsBtn = new Array('btn_descricao','btn_corpo','btn_mensagens','btn_area');//,'btn_avancado');
	for(var i=0; i<idsBtn.length;i++){
		$(idsCorpo[i]).style.display='none';
		$(idsBtn[i]).className='configsLiNormal';

	}
	//exibe-se o clicado em questão
	$(idDiv).style.display='block';
	$(idBtn).className='submenuAtual';
}

function selecionaFundo(backIndex){
	//oculta-se todos
	idsFundos = new Array('configsFundoCor','configsFundoImagem');
	//esconde todos os campos
	for(var i=0; i<idsFundos.length;i++){
		$(idsFundos[i]).style.display='none';
	}
	//exibe-se o a opção em questão
	if(backIndex>=0)
		$(idsFundos[backIndex]).style.display='block';
}

function imagemFundo(mostra){
	if (mostra){
		$('radiosPosicao').style.display='none';
		$('radiosRepetir').style.display='block';
	}else{
		$('radiosPosicao').style.display='block';
		$('radiosRepetir').style.display='none';
	}
}


function ExibeEspecial(id1Html,idEspc,tam){
 	$('informacoesNecessidades').style.display='block';
	if(navegador()=='IE+')
		$('MensagemReservaLabel').style.height='112px';

 }

 function fechaQuais(){
 	if($('informacoesNecessidades').style.display='block'){
		$('informacoesNecessidades').style.display='none';

		if(navegador()=='IE+')
			$('MensagemReservaLabel').style.height='74px';
	}
 }

function abreTexto(nome,idLink){
	if($(nome).style.display == 'none'){
		$(nome).style.display='block';
		$(idLink).innerHTML='(ocultar)';
	} else {
		$(nome).style.display='none';
		$(idLink).innerHTML='(mostrar)';
	}
}

function tipoAtrativo(backIndex){
	//oculta-se todos
	idsFundos = new Array('atrativosNaturais','atrativosHistoricos','atrativosEcoturisticos','atrativosEntretenimento');
	for(var i=0; i<idsFundos.length;i++){
		$(idsFundos[i]).style.display='none';
	}
	//exibe-se o clicado em questão
	if(backIndex>=0)
		$(idsFundos[backIndex]).style.display='block';
	//alert(tipoFundo);
}

/**
 * habilita os campos de fotos para seleção
 *
 * @author Diego Gripe, modificado por André Coura
 * @since 14/05/2007
 */
function habilitaCampo(arrIds){
 	for(var cont=0;cont<arrIds.length;cont++){
 		$(arrIds[cont]).disabled=false;
	}

	$('btnFotoCancelar').style.display='inline';
}
/**
 * Limpa e desabilita os campos de fotos em seleção
 *
 * @author Diego Gripe, modificado por André Coura
 * @since 14/05/2007
 */
function cancelaCampo(arrIds){
 	for(var cont=0;cont<arrIds.length;cont++){
 		$(arrIds[cont]).disabled=true;
	}

	$('procuraFoto').value='';
	$('btnFotoCancelar').style.display='none';
}

 /**
  * Oculta a respectiva div
  *
  * @author André Coura
  * @param String idHtml id da div
  * @return void
  */
 function fechar(idHtml){
 	$(idHtml).style.display='none';
}
/**
  * exibe a respectiva div
  *
  * @author André Coura
  * @param String idHtml id da div
  * @return void
  */
function Exibe(idHtml){
 	$(idHtml).style.display='block';
 }

 function verBarr(idHtml,idImg,link){
 	barra = $(idHtml);
 	img = $(idImg);
 	barra.style.display=='none'?barra.style.display='block':barra.style.display='none';
 	img.src==link+'imagens/show01.png'?img.src=link+'imagens/hidd01.png':img.src=link+'imagens/show01.png';
 	return false;
 }
 /**
  * Apaga o conteudo de um determinada div e some com ela da tela
  *
  * @author André Coura
  * @param String idHtml id da div
  * @return void
  */
function apagarDIV(idHtml){
	$(idHtml).innerHTML='';
	$(idHtml).style.top='-1000px';
}

/**
  * Confirmação de uma exclusão de versão
  *
  * @author André Coura
  * @param String versao
  * @param String link de destino da tela, caso a resposta seja afirmativa
  * @return void
  */
function deletaVersao(versao,link){
	if(confirm('Voce gostaria de deletar a versao: '+versao+' ?'))
		location.replace(link);
}

/**
  * Simples acao de alternancia de telas
  *
  * @author André Coura
  * @param String link de destino
  * @return void
  */
function irURL(link){
	location.replace(link);
}
/**
 * Confirmação de alternancia de telas
 *
 * @author André Coura
 * @since 04/05/2007
 * @param
 */
function irUrlConfirma(link, msg){
	if(confirm(msg))
		location.replace(link);
}

/**
  * Busca a versao na id especificada e recarrega-a
  *
  * @author André Coura
  * @param String link
  * @param String idHtml id a ser buscada a versao
  * @return void
  */
function carregaVersao(link,idHtml){
	var versao = $(idHtml).value;
	location.replace(link+''+versao)
}

/**
  * Busca a versao na id especificada, e chamada da tela de delação de versões
  *
  * @author André Coura
  * @param String link
  * @param String idHtml id a ser buscada a versao
  * @return void
  */
function deletaVersaoDin(link,idHtml){
	var versao = $(idHtml).value;
	if(confirm('Voce gostaria de deletar a versao: '+versao+' ?'))
		location.replace(link+''+versao)
}


/**
  * geracao de um numero randomico
  *
  * @author André Coura
  * @return int número randomico
  */
function getRandNum(){
	return parseInt(Math.random()*1000000);
}

/**
  * Definição da altura e da largura da tela
  *
  * @author André Coura
  * @return void
  */
var altura;
var largura;
function tamanhoPag() {
	if( navegador()=='IE+') {
		//IE 5+
		this.largura = document.documentElement.clientWidth;
		this.altura = document.documentElement.clientHeight;
	} else if( navegador()=='IE-' ) {
		//IE 4 e ultrapassados...
		this.largura = document.body.clientWidth;
		this.altura = document.body.clientHeight;
	}else{
		//FireFox, Mozilla, Opera e outros....
		this.largura = window.innerWidth;
		this.altura = window.innerHeight;
	}
}
/**
  * Apaga o conteudo de um determinada div
  *
  * @author André Coura
  * @param String idHtml id da div
  * @return void
  */
function navegador(){
	var agt = navigator.userAgent.toLowerCase();
	var naveg = new String();
	//opera
	if(agt.indexOf('opera') != -1)
		naveg="opera";
	//IE
	else if(agt.indexOf('msie 5') != -1)
		naveg="IE";
	//IE5+
	else if(agt.indexOf('msie') != -1)
		naveg="IE+";
	//FF
	else if(agt.indexOf('firefox') != -1)
		naveg="FF";

	else if(agt.indexOf('konqueror') != -1)
		naveg="konqueror";
	//todos os demais
	else
		alert('Navegador não suportado!');
	return naveg;
}
/**
 * Abre um pop up centralizado
 *
 * @author André Coura
 * @sice 24/07/2007
 */
function abrePopUp(pagina,nome){
	//dados do popup
	var w = "750";
	var h = "590";
	var scroll = 'yes';
	var resizable = 'no';

	//settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
	window.open(pagina,"_blank","toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars="+scroll+", resizable="+resizable+", copyhistory=no, width="+w+", height="+h);

	return false;
}
/**
 * Finaliza a seleção de imagens, mandando para o formulário os respectivos dados selecionados
 *
 * @author André Coura
 * @since 24/07/2007
 * @since 25/07/2007
 */
function finalizaSel(){
	//definição do tamanho do campo de representação da seleção
	try{
		window.opener.document.getElementById('alturaLabelBI').style.height = (arrImgsBI.length*30+77)+'px';
		window.opener.document.getElementById('alturaFiledBI').style.height = (arrImgsBI.length*30+80)+'px';
	}catch(e){}
	//exibição da seleção
	window.opener.document.getElementById('imagensSelecionadas').innerHTML = escreveImgSel(arrImgsBI);
	//fecha a janela
	Fechar();
}
/**
 * Exibição das imagens salvas no BI para a edição dos mesmos dados
 *
 * @author André Coura
 * @since 20/08/2007
 */
function EditaBi(arrImgsBI){
	//exibição da seleção de imagens no BI
	var strImgSelecionadas = new String();
	try{
		strImgSelecionadas = escreveImgSel(arrImgsBI);
		$('imagensSelecionadas').innerHTML = strImgSelecionadas;
	}catch(e){
	}
}
/**
 * fecha a janela popup
 *
 * @author André Coura
 * @since 24/07/2007
 * @since 25/07/2007
 */
function Fechar(){
	window.close();
}
/**
 * gera uma String contendo os dados do array de seleção
 *
 * @author André Coura
 * @since 24/07/2007
 * @since 29/08/2007
 * @param array bidimensional contendo as imagens selecionadas no BI a serem "escritas" no formulário
 */

function escreveImgSel(arrImgs){
	var strImgsSel = new String();
	strImgsSel+='<input type="hidden" name="numImgs" id="numImgs" value="'+arrImgs.length+'"/>';
	for(var i=0;i<arrImgs.length;i++) {
		//imagem
		strImgsSel+='<li id="CAMPO_BI_'+i+'"><img src="'+CAMINHO_AJAX_BI+'repositorio/'+arrImgs[i][1]+'/tmp_imagem.php?img=A_'+arrImgs[i][0]+'&linkDB=02&largura=25&altura=25" />';
		//campo oculto
		strImgsSel+='<input type="hidden" name="imgBI_'+i+'" id="imgBI_'+i+'" value="'+arrImgs[i][3]+'" style="width:90px" />';
		//nome da imagem
		strImgsSel+=arrImgs[i][2]+' - ';
		//ação de excluir a imagem
		strImgsSel+='<a href="javascript:limpaCampoBI(\'CAMPO_BI_'+i+'\');">Excluir</a></li>';

	}
	return strImgsSel;
}
/**
 * Função para apagar um determinado campo DHTML
 *
 * @author André Coura
 * @since 29/08/2007
 * @param Id a ser deletado
 */
function limpaCampoBI(strIdCampo){
	try{
		$(strIdCampo).remove();
	}catch(erro){
		alert('Não foi possível apagar a seleção da imagem, abra o pop-up e re-selecione a opção.');
	}

}
/**
 * Seta uma determinada pagina em um frame passado
 *
 * @author André Coura
 * @since 1.0 25/09/2007
 * @param String Id do iframe passado
 * @param pagina a ser carregada dentro do iframe
 * @return void
 */
 function loadIFrameDot(idFrame, strUrl){
	$(idFrame).src = strUrl;
 }

/**
 * Classe de codificação/decodificação ANSI/UTF-8
 *
 * @author Jonas Raoni Soares Silva
 * @implement André Coura
 * @since 1.0 14/11/2007
 * UTF8.encode(s: String): String Converte de ANSI para UTF-8
 * UTF8.decode(s: String): String Converte de UTF-8 para ANSI
 */
UTF8 = {
   encode: function(s){
       for(var a, b, c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;)
           s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i];
       return s.join("");
   },
   decode: function(s){
       for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
           ((a = s[i][c](0)) & 0x80) &&
           (s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
           o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
       );
       return s.join("");
   }
};
/***
 * Função trim responsável por remover espaçoes em branco no início e no fim do texto
 *-
 * @author André Coura
 */
String.prototype.trim = function(){
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function mensTopoTela(strMens,idHtml){
	try{$(idHtml).style.display="block";}catch(e){}
	$(idHtml).innerHTML = '<div id="mensagens"><p id="cont_mens">'+strMens+'</p></div>';
}


function validaFormSimples(idHtml,arrCampos){
	var mensErro = new String();
	var nops = false;
	try{$('pegaMensagens').innerHTML="";}catch(e){}
	for(var i=0;i<arrCampos.length;i++){
		if($(arrCampos[i]).value==""){
			mensErro+=' - O campo '+$(arrCampos[i]).title+' &eacute; um campo obrigat&oacute;rio e esta em branco<br/>';
			nops = true;
		}
	}
	if(nops){
		mensTopoTela(mensErro,idHtml);
		return false;
	}
	return true;
}

/**
 * Criação de options para um determinado select
 *
 * @author André Coura
 * @since 1.0 - 28/01/2008
 * @param String idCombo id do select no html
 * @param String valueOption valor que tera o option
 * @param String idOption id do option
 * @param String txtOption text referente ao option
 * @return VOID
 */
function criaOptionsGeral(idCombo, valueOption, idOption, txtOption){
	var objOpt=document.createElement('option');
	objOpt.text=txtOption;
	objOpt.id = idOption;
	objOpt.value = valueOption;
	try{
		$(idCombo).add(objOpt); // tratamento para o IE lixao
	}catch(ex){
		$(idCombo).add(objOpt,null); // qualquer browser
	}
}
/*
* Centraliza a janela sem barra de menu ou ferramentas
*/
function centralizarJanelaPopup(strArquivo,strJanela,intLargura,intAltura)
{
	return centralizarJanela(strArquivo,strJanela,intLargura,intAltura,'toolbar=no, menubar=no, resizable=yes, scrollbars=yes');
}
/*
* Centraliza a janela
*/
function centralizarJanela(strArquivo,strJanela,intLargura,intAltura,strOpcoes)
{
	var w = intLargura;
	var h = intAltura;
	var lado = (screen.width - w) / 2;
	var topo = (screen.height - h) / 2;

	features =  " width=" + intLargura + ", height=" + intAltura+', top='+topo+', left='+lado;

	if (strOpcoes.length>0)
	{
		features = strOpcoes + ", "+features;
	}
	return window.open(strArquivo,strJanela,features)
}
/*
* função trim do javascript
*/
String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
