/**
* @package evacms
* @copyleft (cc) 2006 EVAcms. Alguns direitos reservados
* @license http://www.gnu.org/copyleft/gpl.html GPL License
* @author Alessandro Nunes <alessandro@evacms.com.br>
* @author Daniel Neto <daniel@evacms.com.br>
* @link http://www.evacms.com.br Site oficial do projeto EVA
**/

/* Definindo a localização do tiny_mce e o idioma */
var _editor_url = "biblioteca/javascripts/tiny_mce/";
var _editor_lang = "pt_br";
var editor_html = new Array;
var eva_enter = false;
var eva_id = 0;
var eva_menu_contexto;
var in_event;

/* Verificando o tipo de navegador*/
var eva_userAgent = navigator.userAgent.toLowerCase();
var eva_isOpera = eva_userAgent.indexOf('opera 7') != -1 ? 1 : 0;
var eva_isKonq = eva_userAgent.indexOf('konq') != -1 ? 1 : 0;
var eva_isIE = !eva_isKonq && !eva_isOpera && document.all ? 1 : 0;
var eva_isIE50 = eva_isIE && eva_userAgent.indexOf('msie 5.0') != -1;
var eva_isIE55 = eva_isIE && eva_userAgent.indexOf('msie 5.5') != -1;
var eva_isIE5 = eva_isIE50 || eva_isIE55;
var eva_isGecko = eva_userAgent.indexOf('gecko') != -1 ? 1 : 0;
var eva_mouseover = eva_isIE ? 'hand' : 'pointer';

/* 
Função gerar um identificador unico
*/
function eva_id(){
	eva_id++;
	return eva_id;
};

// Executa comando e retorna a <resposta> na camada
function comando(url){
	var resposta = true;
	var objeto = '';
	var metodo = '';
	var variaveis = '';
	var funcao = 'comando_exibir';
	
	executar_comando(metodo, url, resposta, variaveis, objeto, funcao);
}

// Executa comando e retorna a <resposta> na camada
function comando_exibir(o){
	/*
	i = eva_item(o,'resposta');
	c = eva_item(o,'camada');
	alert(c);
	eva_html(i, c);
	*/
}

/* 
Função para pegar um item dentro de um objeto DOM XML
o = objeto, t = tag, i = item,  e = elementos, r = resposta
*/
function eva_item(o,t){
	if(t == '') t = 'resposta';
	e = o.getElementsByTagName(t);
	rs = '';
	try{
		if(e.length > 0){
			for (i=0; i<(e.length); i++){
				rs = rs + e[i].childNodes[0].nodeValue;
			};
		}else{
			rs = o.childNodes[0].nodeValue;
		};
	}catch(b){
		// alert(b);
	}
	if(rs == null) rs = '';
	return rs;
};

/* Retorna o objeto de id i */
function eva_elem(i){
		return document.getElementById(i);	
}

/* Retorna o valor do objeto de id i */
function eva_valor(i){
		return eva_elem(i).value;	
}

/* Retorna o conteudo do objeto de id i */
function eva_conteudo(i){
		return eva_elem(i).innerHTML;	
}

/* Atribui um conteudo c ao objeto de id i */
function eva_html(i, c){
		eva_elem(i).innerHTML = c;
}

/* Oculta/exibe o objeto de id i */
function eva_ocultar(i){
		eva_elem(i).style.display = "none";
		eva_elem(i).style.visibility = "hidden";
}
function eva_exibir(i){
		eva_elem(i).style.display = "block";
		eva_elem(i).style.visibility = "visible";
}
function eva_exibir_ocultar(i){
	if (eva_elem(i).style.visibility == "hidden"){
		eva_exibir(i);
	}else{
		eva_ocultar(i);
	}
}


/* ************************************* */

/* 
Função para pegar um item dentro de um objeto DOM XML
o = objeto, t = tag, i = item
*/
function pegar_item(o,t){
	i = o.getElementsByTagName(t);
	return i[0].childNodes[0].nodeValue;	
}

/* 
Função que gera um checkbox que seleciona todos os itens de um formulário via java script
i = id base, o = objeto, t = total 
*/
var selecionar_checkbox = true;
function selecionar_todos(o,i,t){
	if(selecionar_checkbox){
		selecionar_checkbox = false;
	}else{
		selecionar_checkbox = true;
	}
	for (j=0;j<=t;j++){
		if(checkbox = document.getElementById(i+''+j)){
			checkbox.checked = !selecionar_checkbox;
		}
	}
}

function findPosX(obj) {
    var curtop = 0;
	  if (obj.offsetParent) {
		    while (obj.offsetParent) {
			       curtop += obj.offsetLeft;
			       obj = obj.offsetParent;
		    };
    }else if (obj.x) curtop += obj.x;
	  return curtop;
};

function findPosY(obj) {
    var curtop = 0;
	  if (obj.offsetParent) {
		    while (obj.offsetParent) {
			       curtop += obj.offsetTop;
			       obj = obj.offsetParent;
		    };
    }else if (obj.y) curtop += obj.y;
	  return curtop;
};

String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g,"");
};

/*
pega todos os elementos de um form e retorna na estrutura de get nome=valor&nome2=valor2&nome3=valor3
*/
function pegar_elementos_form(form_nome){
	f=document.getElementById(form_nome);
	form_post="";
	for(i=0;i<f.length;i++){	
		form_post+=f.elements[i].name+"="+f.elements[i].value+"&";
	};
	return form_post;	
};

/* 
Executar Comandos
*/
function criar_objeto_xmlhttp(){
	var a=null;
	if(eva_isIE==1){
		try{		
			a=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(c){
			try{		
				a=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(b){
				a=null;
			};
		};
	}
	if(!a&&typeof XMLHttpRequest!="undefined"){
		a=new XMLHttpRequest();
	};
	return a;
};
eva_xmlhttp_obj = criar_objeto_xmlhttp();
var eva_xmlhttp_resposta;
function executar_comando(metodo, url, resposta, variavel_post, objeto, funcao){
	//alert(url);
	objeto=(typeof(objeto)=="string")?eva_xmlhttp_obj:objeto;	
	variavel_post=variavel_post==""?null:variavel_post;
	if(objeto){	
		try{
			objeto.open(metodo,url,resposta);
			if(variavel_post){
				objeto.setRequestHeader('Content-Type','text/html; charset=iso-8859-1;' );
				objeto.setRequestHeader('Content-Type','application/x-www-form-urlencoded;' );
				objeto.setRequestHeader("Method", "POST "+url+" HTTP/1.1");
			};
			objeto.send(variavel_post);
		}catch(e){};
			/* pegar resposta do xmlhttprequest */
			objeto.onreadystatechange=function() {
				/* quando o obj estiver pronto */
				if (objeto.readyState==4) {
					if (objeto.status==200){
						if(obj_xml=objeto.responseXML){
							/* pega o no de alerta */
							alerta=obj_xml.getElementsByTagName("alerta");
							texto_alerta="";				
							for(i=0;i<alerta.length;i++){
								img=alerta[i].getElementsByTagName("img");
								texto=alerta[i].getElementsByTagName("texto");
								img=img[0].childNodes[0].nodeValue==""?"":tag_imagem.replace("eva_imagem.png",img[0].childNodes[0].nodeValue);
								texto=texto[0].childNodes[0].nodeValue==""?"<br>":texto[0].childNodes[0].nodeValue+"<br>";
								texto_alerta=texto_alerta+img+texto;
							};
							if(texto_alerta!=""){
								stm(["", eva_alerta_modelo1+texto_alerta+eva_alerta_modelo3],["","","","","","","","","","","","float","","","","",2,2,(window_size("w")-(+5)),10,"","","","",""], this, false, 0);
							};
							/* retorna para a funcao o no de resposta */
							resposta=obj_xml.getElementsByTagName("resposta");
						};
					};
					if(funcao){
						if(resposta.length){
							try{
								eval(funcao+'(resposta[0])');
							}catch(e){};
						}else{
							try{
								eval(funcao+'()');
							}catch(e){};
						};
					};
				};
		};
	};
};

/* Atualiza o conteúdo de um objeto através do innerHTML */
function atualizar_html(conteudo_html, id_objeto){
		sinal = true;
		document.getElementById(id_objeto).innerHTML = conteudo_html;
};

/* Função para contar caracteres em um campo de formulário */
function contar_caracteres(objeto, valorMaximo, contador) {
	if(objeto.value.length>valorMaximo) {
		objeto.value = objeto.value.substring(0,valorMaximo);
	};
	x = document.getElementById(contador);
	x.innerHTML = objeto.value.length;
};

/* funcao que retorna o tamanho da janela passa-se w para width e h para height */
function window_size(tipo) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    /*IE 6+ in 'standards compliant mode' */
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    /*IE 4 compatible*/
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  };
  if(tipo=='w'){
  	return myWidth;
  }else if(tipo=='h'){
  	return myHeight;
  };
};


/* Insere linhas na tabela com um campo imput para arquivos*/
function insRow(tabela, campo, linha){
	var o=document.getElementById(tabela);
	var x=o.insertRow(linha);
	var y=x.insertCell(0);
	var z=x.insertCell(1);
	y.innerHTML='';
	z.innerHTML='<input type="file" name="'+campo+'[]" size="50"/>';
};

/*insere linhas na tabela com os campos - usada no modulo de enquete*/
function insereLinhaResposta(tabela, campo,campo2){
	var o=document.getElementById(tabela);
	var x=o.insertRow(o.rows.length);
	var y=x.insertCell(0);
	var z=x.insertCell(1);
	var w=x.insertCell(2);	
	y.align = 'center'; z.align = 'center'; w.align = 'center'; 
	y.innerHTML='<input type="text" name="'+campo+'[]" id="'+campo+'[]" size="50" maxlength="45"/>';
	z.innerHTML='<input type="text" name="'+campo2+'[]" id="'+campo2+'[]" size="3" maxlength="2"/>';	
};

function Get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
};

function Set_Cookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
};

function Delete_Cookie(name,path,domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
        ( (path) ? ";path=" + path : "") +
        ( (domain) ? ";domain=" + domain : "") +
        ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
};

var blocos_visiveis = new Array();
if (blocos_visiveis_srting = Get_Cookie("blocos_visiveis")){
	blocos_visiveis = blocos_visiveis_srting.split(",");
};

function mostrar_apagar_bloco(num, imagem){	
	bloco = document.getElementById("bloco"+num);
	if (bloco.style.visibility == "hidden"){
		bloco.style.display = "block";
		bloco.style.visibility = "visible";
		blocos_visiveis[num]="visible";
		imagem.className = "botao_minimizar";
	}else{
		bloco.style.display = "none";
		bloco.style.visibility = "hidden";
		blocos_visiveis[num]="hidden";
		imagem.className = "botao_maximizar";
	};
	document.cookie = "blocos_visiveis="+blocos_visiveis;
};


/* Funçao para efeito da cor do BG  que substituirá a funcao acima*/
var classe_antiga = "destaque_branco";
var classe_destaque = "destaque_cinza";
function destacar(x){
	if(x.className !=  classe_destaque){
		x.className = classe_destaque;
	}else{
		x.className = classe_antiga;
	};
};

function confirma(mensagem){
	if (confirm(unescape(mensagem)))
	{
		return true;
	};
	return false;
};


var padrao_menu_botoes = /^menu_botoes/;
function menu_botoes_mouseover(td,alt,alt_id,tipo,event){
	td.style.cursor = eva_mouseover;
	if(alt != "" && tipo != "camada"){
		espaco = " ";
		document.getElementById(alt_id).innerHTML = espaco+alt+espaco;
	};
	return true;
};
function menu_botoes_mousedown(td){
	if(padrao_menu_botoes.test(td.className)){
		td.className="menu_botoes_mousedown";
	}
};

function menu_botoes_mouseout(td,titulo,alt_id,tipo,event){
	td.className="menu_botoes_mouseout";
	if(tipo != "camada"){
		document.getElementById(alt_id).innerHTML = "&nbsp;"+titulo+"&nbsp;";
		document.getElementById(alt_id).className = "";
	};
	return true;
};

function enviar_form(menu,id,i){
eval("var menu_botoes = botoes_menu_"+id);
// 0 = action
// 1 = url
// 2 = form id
// 3 = target
// 3 = confirma
menu_botoes_mouseup(menu, menu_botoes[i][4], menu_botoes[i][0], menu_botoes[i][1], menu_botoes[i][2], menu_botoes[i][3]);
}
function menu_botoes_mouseup(td, confirma, action, url, form_id, target){
	if(confirma=="" || confirm(unescape(confirma))){
		if (action != ""){
			
			for (var x = 0; x < editor_html.length; x++){
				try{
					eval(editor_html[x]+"._textArea.value = "+editor_html[x]+".getHTML()");
					eval(editor_html[x]+"._textArea.value = "+editor_html[x]+"._textArea.value.trim()");
				}catch(e){}
			}
			
			form = document.getElementById(form_id);
			
			eval("var campo_ok = typeof "+form_id+"_campo");			
			
			if(campo_ok != 'undefined'){
				eval("campo = "+form_id+"_campo");
				eval("alerta = "+form_id+"_alerta");
				eval("tipo = "+form_id+"_tipo");
				if(campo.length > 0){
					for (var x = 0; x < campo.length; x++){
						try{
							eval("campo_form = form."+campo[x]);
							var padrao = new RegExp(tipo[x]);
							if(/_cm_/.test(campo[x]) == false){
								if(campo_form.type == "select-one"){
									var index = campo_form.selectedIndex;
									if (campo_form.options[index].value == "" || campo_form.options[index].value == "0"){
										alert(alerta[x]);
										campo_classe = campo_form.className;
										campo_form.className = "alerta_campo";
										campo_form.focus();
										campo_form.onkeydown = function(ef){
											campo_form.className = campo_classe;
										};
										return false;
									};
								};
							};
							if (!padrao.test(eva_elem(campo[x]).value)) {
								alert(alerta[x]);
								campo_classe = eva_elem(campo[x]).className;
								eva_elem(campo[x]).className = "alerta_campo";
								eva_elem(campo[x]).focus();
								eva_elem(campo[x]).onkeydown = function(ef){
									eva_elem(campo[x]).className = campo_classe;
								};
								return false;
							};
						}catch(e){}
					};					
				};
			};
			if(target != ""){
				form.target=target;
			}
			form.action=action;
			form.submit();
		}else if(target != ""){
			window.open(url,target);
		}else if(url != ""){
			document.location = url;
		};
	};
};


/* Função para tratar a visibilidade de camadas sobre outros objetos*/
function ocultar_objetos(camada){
	/* Baseado no código do JSCookMenu*/
	if (document.all)	/*it is IE*/ 
	{
		if (!camada.cmOverlap)
			camada.cmOverlap = new Array ();
		/*@cc_on @*/
		/*@if (@_jscript_version >= 5.5)
		@else @*/
		cmHideControl ("IFRAME", camada);
		/*@end @*/
		cmHideControl ("SELECT", camada);
		cmHideControl ("OBJECT", camada);
	};
};

/* Função de navegação do GRID*/
function goToPage(delta,nome){
	var count = nome.getProperty("row/pageCount");
	var number = nome.getProperty("row/pageNumber");
	number += delta;
	if (number < 0) {number = 0};
	if (number > count-1) {number = count-1};
	grade_pagina = nome.getId();
	eval("obj = document.getElementById('pagina_"+grade_pagina+"')");
	obj.innerHTML = "Página " + (number + 1) + " de " + count + " ";
	nome.setProperty("row/pageNumber", number);
	nome.refresh();	
};

function enter(e){
	if (window.event){
		x = window.event.keyCode;
	}else if(e){
		x = e.which;
	}else{
		x = null;
	};
	if(x == 13){
		return true;
	};
	return false;
};

//mostra qq objeto html q esteja oculto na tela
function mostrar_objeto(obj){
  if ( document.getElementById(obj).style.display == 'block' ){
		document.getElementById(obj).style.display = 'none';
		document.getElementById(obj).style.visibility = 'hidden';		
  }else{
		document.getElementById(obj).style.display = 'block';	
		document.getElementById(obj).style.visibility = 'visible';		
  }
}

//mostra qq objeto html q esteja oculto na tela, dependendo do parametro (true ou false)
function mostrar(obj,param){
  if ( param == false && document.getElementById(obj).style.display == 'block'){
		document.getElementById(obj).style.display = 'none';
		document.getElementById(obj).style.visibility = 'hidden';		
  }else{
		document.getElementById(obj).style.display = 'block';	
		document.getElementById(obj).style.visibility = 'visible';		
  }
}

/* Muda o estilo do botao 
o = objeto, c = classe
*/
function eva_botao(o,c){
	if(c == 1){
		o.className = 'botao_sobre';
	}else{
		o.className = 'botao';		
	}	
}

/*Para liberar o Onload*/
var eva_javascript = true;