<!-- 

/**
*	popUpModal(url, width, height)
*	Abre uma janela pop-up bloqueando o parent (janela de origem).
*	março de 2009 - Adão Goncalves
*/	
function popUpModal(pUrl, pWidth, pHeight, pTop, pLeft) {
	if (navigator.platform.toLowerCase().indexOf("win") >= 0)	{ // Para Windows
		if (window.showModalDialog) {
			return window.showModalDialog(pUrl, window, "center:yes;center:on;center:1;dialogWidth:" + pWidth + "px;dialogHeight:" + pHeight + "px;dialogTop:" + (typeof(pTop)!='undefined'?pTop:'10')+";dialogleft="+(typeof(pLeft)!='undefined'?pLeft:'10'));
		} else {
			try {
				/* ativa privilégio de segurança, para compatibilidade com o Firefox */
				netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
				window.open(pUrl, "wndModal", "width=" + pWidth + ",height=" + pHeight + ",resizable=no,modal=yes,top="+(typeof(pTop)!='undefined'?pTop:'10')+",left="+(typeof(pLeft)!='undefined'?pLeft:'10'));
				return true;
			}
			catch (e) {
				alert("Script não confiável, não é possível abrir janela modal.");
				return false;
			}
		}
	} else { // Para Linux
		window.open(pUrl, "wndModal", "width=" + pWidth + ",height=" + pHeight + ",resizable=no");
	}
}	

//Função usata no 'Material de aula' no ícone 'excluir'
function chamaPopupExcluir(idProducao, strTitulo){
  popUpModal("pop_materialAssociado/materialAssociado_frameset.asp?IdMaterial=" + idProducao+ "&strTitulo=" + strTitulo + "&redirect=lstcaplivro.asp",420,350);
  window.location.reload();
}

//by Adão Gonaçalves
//pegar a posição real do elemento na tela!
//retorno: objOffSet.top,  objOffSet.left
function getRealPosition( id ){   
    var parent      = document.getElementById(id);
    var leftOffset  = 0;
    var topOffset   = 0;
    while(parent != null) {
        leftOffset  += parent.offsetLeft;
        topOffset   += parent.offsetTop;
        parent      = parent.offsetParent;
    }
    var Offsets     = new Object();
    Offsets.top     = topOffset;
    Offsets.left    = leftOffset;            
    return Offsets;
}


//by Patrick Nascimento - 12/08/2009
//Fonte: http://www.sean.co.uk/a/webdesign/javascriptdelay.shtm
//Gera um delay correspondente ao parametro de entrada (millis).
function pausecomp(millis)
{
    //alert("Pause");
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while(curDate-date < millis);
} 


// by leonardo@unb.br - 20/02/2003
// Verifica se o campo é numérico ao perder o foco, evitando entradas inválidas
function noBadPaste (obj) { if(isNaN(obj.value)) { alert('Este campo só pode conter valores numéricos'); obj.select(); obj.focus(); }}
// iníco da função que trata uma data caso ele seja fragmentada em 3 campos
	function validaDiaMesAno(diaAtual,mesAtual,anoAtual,diaInput,mesInput,anoInput) {
		diaAtual = diaAtual;
		mesAtual = mesAtual;
		anoAtual = anoAtual;
		nomeDia = diaInput;
		nomeMes = mesInput;
		nomeAno = anoInput;
		diaInput = document.frm[diaInput].value;
		mesInput = document.frm[mesInput].value;
		anoInput = document.frm[anoInput].value;
		var camposPreenchidos;
		camposPreenchidos = 0;
		ano = false;
		mes = false;
		dia = false;
		(anoInput == '') ? ano = true : camposPreenchidos = camposPreenchidos+1;
		(mesInput == '') ? mes = true : camposPreenchidos = camposPreenchidos+1;
		(diaInput == '') ? dia = true : camposPreenchidos = camposPreenchidos+1;
//		alert(camposPreenchidos);
		if (mesInput == 1 || mesInput == 3 || mesInput == 5 || mesInput == 7 || mesInput == 8 || mesInput == 10 || mesInput == 12) {
			maxDias = 31;
		} else {
			maxDias = 30;
		}
		if (camposPreenchidos == 0) {
			return true;
		} else {
			if (anoInput == '') {
				alert('É necessário entrar com o campo ano');
				document.frm[nomeAno].focus();
				return false;
			} else {
					if (anoInput <= 1899 || anoInput > anoAtual) {
						alert('O campo ano deve ser maior que 1899 e menor ou igual ao ano de ' + anoAtual);
						document.frm[nomeAno].focus();
						return false;
					} else {
							if (mesInput != '') {
									if (mesInput > 12 || mesInput < 1) {
										alert('O campo mês deve ser maior ou igual a 1 e menor ou igual a 12');
										document.frm[nomeMes].focus();
										return false;
									} else {
											if (anoInput % 4 == 0) {
												if (mesInput == 2 && diaInput > 29 || mesInput == 2 && diaInput <= 0) {										
												
														if (diaInput != '' ) {
																alert('Sendo o mês 2 (fevereiro) o campo dia não pode ser maior que 29');
																document.frm[nomeDia].select();
																document.frm[nomeDia].focus();
																return false;
														}
												 } else {
														if (diaInput != '') {
																if (diaInput <= 0 || diaInput > maxDias) {
																	alert('O campo dia deve conter um valor maior ou igual a 1 e menor ou igual a ' + maxDias);
																	document.frm[nomeDia].select();
																	document.frm[nomeDia].focus();
																	return false;
																}	
														}
												   }
											} else {
													if (mesInput == 2 && diaInput > 28 || diaInput <= 0 && mesInput == 2) {
														if (diaInput != '') {
															alert('Sendo o mês 2 (fevereiro) o campo dia não pode ser maior que 28');
															document.frm[nomeDia].select();
															document.frm[nomeDia].focus();
															return false;
														}
													} else {
														if (diaInput != '') {
																if (diaInput <= 0 || diaInput > maxDias) {
																	alert('O campo dia deve conter um valor maior ou igual a 1 e menor ou igual a ' + maxDias);
																	document.frm[nomeDia].select();
																	document.frm[nomeDia].focus();
																	return false;
																}
														}
												 	 }
												}
									  }
							} else {
									if (diaInput != '') {
										alert('É preciso informar o campo mês!');
										document.frm[nomeMes].focus();
										return false;
									}
							  }
					  }
			  }	
         } 
		return true;
	}
// fim da função


function setFieldLimit(nomeForm,nomeCampo,rotuloCampo,limite,Mensagem) {
    var formulario = document.forms[nomeForm];
	var campo = formulario[nomeCampo];
	var limite = limite;
	if (campo.value.length > limite) {
		switch (Mensagem) {
			case "default":
				alert('O campo ' + rotuloCampo + ' não pode exceder ' + limite + ' caracteres');
				break;
			case "":
				break;
			default:
				alert(Mensagem);
		}
		campo.value = campo.value.substr(0,limite);
		return false;
	}
	
}

//Alterada por Patrick - 07/03/2008
//Na antiga versão ela validava um campo para que não ultrapassasse a qtde máxima mas apagava
//do campo 1 caracter além do limite. Agora ela mantém exatamente a qtde correta de caracteres 
//indo de 0 até limite.
//	- Auteração: por Adao - 07/10/2008
function contaLimite(rotuloCampo,nomeCampo,limite) {
	if (document.getElementById(nomeCampo).value.length > limite) {
		alert('O campo ' + rotuloCampo + ' não pode exceder ' + limite + ' caracteres');
		document.getElementById(nomeCampo).value = document.getElementById(nomeCampo).value.substr(0,limite);
		return false;
	}
}

//Criado por Patrick - 19/02/2008
//Objetivo: Conta a qtde de caracteres de um componente (idComponente) e exibe 
//no componente "<input type=text .../>" (idContador) a qtde de caracteres utilizada de uma qtde máxima. 
//Ex: 'x de y'. Ex2: '12 de 60'.
//	- Alteração: por Adao - 07/10/2008
function contaMarcaLimite(idContador,idComponente, qtdeMaxCaracteres) {
    var strDados = new String("" + document.getElementById(idComponente).value);
	document.getElementById(idContador).value = strDados.length + " de " +qtdeMaxCaracteres;
}


//Criado por Patrick - 19/02/2008
//Faz componente cujo id é recebido como parâmetro ser exibido.
function mostraContador(idDoContador) {
    document.getElementById(idDoContador).style.visibility = 'visible';
}

//Criado por Patrick - 19/02/2008
//Faz componente cujo id é recebido como parâmetro deixar de ser exibido.
function escondeContador(idDoContador) {
    document.getElementById(idDoContador).style.visibility = 'hidden';
}


function mOvr(src,clrOver) {
	if (!src.contains(event.fromElement)) {
		//src.style.cursor = 'hand';
		src.bgColor = clrOver;
	}
}

function mOut(src,clrIn) {
	if (!src.contains(event.toElement)) {
		src.style.cursor = 'default';
		src.bgColor = clrIn;
	}
}

function mClk(src) {
	if(event.srcElement.tagName=='TD'){
		src.children.tags('A')[0].click();
	}
}

function CampoVazio(campo){

	var tamanho = document.frm[campo].value.length;

	if (tamanho==0) {
    	return(0);
	}
	
	return(1);
}

function SelecioneCampo(campo){

	var tamanho = document.frm[campo].value.length;

	if (tamanho==0) {
		alert("Campo de preenchimento obrigatório!");
                document.frm[campo].focus();
                return(0);
	}
	return(1);
}

function CampoObrigatorio(campo){

	var tamanho = document.frm[campo].value.length;

	if (tamanho==0) {
		alert("Campo de preenchimento obrigatório!");
                document.frm[campo].select();
                document.frm[campo].focus();
                return(0);
	}
	return(1);
}

function ConfirmaExclusao(){

	if (confirm("Tem certeza que deseja excluir !")) {
        return(1);
	}else{
		return(0);
	}
}

function CampoNumerico(campo){

	var numero= document.frm[campo].value;

	if (isNaN(numero)) {
		alert("Campo tem que ser numérico!");
                document.frm[campo].select();
                document.frm[campo].focus();
                return(0);
	}
	return(1);
}

function ValidaUnidadeFederativa(campoP,campoU){

	var vrP = document.frm[campoP].value;
	var vrU = document.frm[campoU].value;
	
	var UFs = new Array(27);
        UFs[0] = "DF";
        UFs[1] = "AC";
        UFs[2] = "AL";
        UFs[3] = "AM";
        UFs[4] = "AP";
        UFs[5] = "BA";
        UFs[6] = "CE";
        UFs[7] = "ES";
        UFs[8] = "GO";
        UFs[9] = "MA";
        UFs[10] = "MG";
        UFs[11] = "MS";
        UFs[12] = "MT";
        UFs[13] = "PA";
        UFs[14] = "PB";
        UFs[15] = "PE";
        UFs[16] = "PI";
        UFs[17] = "PR";
        UFs[18] = "RJ";
        UFs[19] = "RN";
        UFs[20] = "RO";
        UFs[21] = "RR";
        UFs[22] = "RS";
        UFs[23] = "SC";
        UFs[24] = "SE";
        UFs[25] = "SP";
        UFs[26] = "TO";	


	if(vrP=="BRA"){
	
		for(var i=0;i<26;i++){

			if(UFs[i]==vrU.toUpperCase()){
				
				    return(1);
				    break;

			}
		
		}

	alert("Unidade Federativa inválida !");
		document.frm[campoU].select();
		document.frm[campoU].focus();
		return(0);
	}else{
		return(1);
	}

	
}

function limitarCaracteres(objeto,strCaracteresPermitidos)
{
	var i;
	
	//Possibilidade de inserir através da String constante um Strng com caracteres definidos já predeterminado
	if (strCaracteresPermitidos == "NUMERO")
		strCaracteresPermitidos = "0123456789";

	else if (strCaracteresPermitidos == "LETRA")
		strCaracteresPermitidos = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrtuvwxyz";

	else if (strCaracteresPermitidos == "NUMERO_LETRA")
		strCaracteresPermitidos = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrtuvwxyz";

	else if (strCaracteresPermitidos == "MAIUSCULA")
		strCaracteresPermitidos = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

	else if (strCaracteresPermitidos == "MINUSCULA")
		strCaracteresPermitidos = "abcdefghijklmnopqrtuvwxyz";

	
	for (i=0; i<(objeto.value).length; i++)
	{
		if (strCaracteresPermitidos.indexOf((objeto.value).charAt(i)) < 0)
		{
			(objeto.value) = (objeto.value).replace((objeto.value).charAt(i),"");
			i--;
		}
	}
}

function CampocomMascara(objeto,mascara)
{
	var campo = objeto.value;
	
	//Se primeiro caractere é virgula remove-lo
	if (campo.charAt(0) == ",")

	{
		campo = campo.substring(1,campo.length);
	}
	
	//Se houver um caractere diferente da mascara fornecida removê-lo
	for (i=0; i<campo.length ; i++)
	{
		if ((mascara.indexOf(campo.charAt(i))) < 0)
		{
			campo = campo.replace(campo.charAt(i),"");
			i = i-1;
		}
	}
			
	//Se houver mais de uma vígula remover
	while (campo.indexOf(",") != campo.lastIndexOf(","))
	{
		campo = campo.substring(0,campo.lastIndexOf(",")) + campo.substring(campo.lastIndexOf(",")+1,campo.length);
	}
		
	objeto.value = campo;
}

function CampoTamanho(campo,tam){

	var tamanho = document.frm[campo].value.length;

	if (tamanho<tam) {
		alert("Campo tem que ter no mínimo " + tam + " caracteres!");
                document.frm[campo].select();
                document.frm[campo].focus();
                return(0);
	}
	return(1);
}

/**
 *	FUNÇÃO ANTIGA, NÃO UTILIZA-LA NAS NOVAS IMPLEMENTAÇOES!!!!!!!!!!!!!!!!!!
 *	UTILIZE: formatarData() !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*/
function FormataData(campo,teclapres) {
	var tecla = teclapres.keyCode;
	
	vr = document.frm[campo].value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;
	
	if (window.event && window.event.keyCode != 8) {
		
		if ( tecla != 9 ){
			if ( tam > 2 && tam < 5 ){
				document.frm[campo].value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
			}
			if ( tam >= 5 && tam <= 10 ){				
				document.frm[campo].value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 
			}

		}
	}

	
}

/**
 *	Função responsável por realizar mascarar a data num campo 
 *	seguindo o modelo DD/MM/AAAA
 *	----> USADA NO EVENTO KEYUP <----
 *
 *	Substitui as fuções FormataData() e SomenteNumerico() que nao funcionam
 *	corretamente no FireFox
*/
function formatarData(objeto,event)
{

	var i;
	var strData = objeto.value;
	
	//Se tamanho da String maior que 10 caracteres truncar
	if (strData.length > 10)
	{
		strData = strData.substr(0,10);
	}
	
	// Verifica se o caractere inserido é válido
	for (i=0; i<strData.length; i++)
	{
		if (((i!=2 && i!=5) && "0123456789".indexOf(strData.charAt(i)) < 0) || ((i==2 || i==5) && "0123456789/".indexOf(strData.charAt(i)) < 0))
		{
			strData = strData.replace(strData.charAt(i),"");
			i=0;
		}
	}
	
	//Corrigir situação onde o usuário segura uma TECLA INVÁLIDA durante vários segundos
	if ("0123456789/".indexOf(strData.charAt(0)) < 0)
		strData = "";
	
	//Se a String está na posição de inclusão das barras, inclui-la
	if (event.keyCode != 8 && (strData.length == 2 || strData.length == 5))
	{
		strData += "/";
	}
	
	// Verifica se o caractere inserido é válido
	for (i=0; i<strData.length; i++)
	{
		if ((i==2 || i==5) && strData.charAt(i)!="/")
		{
			strData = strData.substring(0,i) + "/" + strData.substring(i,strData.length);
		}
	}
	
	objeto.value = strData;
}

/**
 *	Função responsável por realizar mascarar a hora num campo 
 *	seguindo o modelo HH:MM
 *	----> USADA NO EVENTO KEYUP <----
 *
 *	Substitui as fuções FormataHora() e SomenteNumerico() que nao funcionam
 *	corretamente no FireFox
*/
function formatarHora(objeto,event)
{
	var i;
	var strHora = objeto.value;
	
	//Se tamanho da String maior que 5 caracteres truncar
	if (strHora.length > 5)
	{
		strHora = strHora.substr(0,5);
	}
	
	// Verifica se o caractere inserido é válido
	for (i=0; i<strHora.length; i++)
	{
		if ((i!=2 && "0123456789".indexOf(strHora.charAt(i)) < 0) || (i==2 && "0123456789:".indexOf(strHora.charAt(i)) < 0))
		{
			strHora = strHora.replace(strHora.charAt(i),"");
			i=0;
		}
	}
	
	//Corrigir situação onde o usuário segura uma TECLA INVÁLIDA durante vários segundos
	if ("0123456789".indexOf(strHora.charAt(0)) < 0)
		strHora = "";
	
	//Se a String está na posição de inclusão das barras, inclui-la
	if (event.keyCode != 8 && strHora.length == 2)
	{
		strHora += ":";
	}
	
	// Verifica se o caractere inserido é válido
	for (i=0; i<strHora.length; i++)
	{
		if (i==2 && strHora.charAt(i)!=":")
		{
			strHora = strHora.substring(0,i) + ":" + strHora.substring(i,strHora.length);
		}
	}
	
	objeto.value = strHora;
}

var objName;
function validaHora(obj)
{
    objName = obj;
    var vlHora = new String(obj.value);
    var regex = new RegExp("^([0-9][0-9]):([0-9][0-9])$");
    var matches = regex.exec(vlHora);
    if (matches == null && Trim(vlHora)!= ""){
        objName.value = ""; 
        alert("Esta hora é inválida. Por favor, tente novamente.");	
		setTimeout('objName.focus()',0);	
		return false;
    }else{
        if (parseInt(vlHora.substring(0,3)) >= 24)
            obj.value = '23:59';
    }

}


function FormataMesAno(campo,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.frm[campo].value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 7 )
			document.frm[campo].value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, tam ); }
}

function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.frm[campo].value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
	 		document.frm[campo].value = vr ; }
	 	if ( (tam > 2) && (tam <= 5) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
	}
		
	for (var ct = 0; ct < document.frm.elements.length; ct++) {
		if (document.frm.elements[ct].name == document.frm.elements[campo].name) {
			if ( !teclapres.shiftKey && tecla == 9 && document.frm[ct+1].name == "senhaConta" && document.applets['tclJava'] ){
				document.applets['tclJava'].setFocus();
			}	
		}
	}
}

function FormataCpf(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.frm[campo].value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
	 		document.frm[campo].value = vr ; }
	 	if ( (tam > 2) && (tam <= 5) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;}
	}		
}

function FormataCgc(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.frm[campo].value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	vr = vr.replace( "-", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
	 		document.frm[campo].value = vr ; }
	 	if ( (tam > 2) && (tam <= 6) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 7) && (tam <= 9) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 6 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 10) && (tam <= 12) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 9 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 13) && (tam <= 14) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		document.frm[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;}
	}		
}

function ValidaData(campo){

    var data = document.frm[campo].value;
    var dia = data.substring(0,2);
    var mes = data.substring(3,5);
    var ano = data.substring(6,10);
    var barra1 = data.substring(2,3);
    var barra2 = data.substring(5,6);


    hoje = new Date()
    // hoje.setDate(dia);
    // hoje.setMonth(mes-1);


    if ((barra1 != "/") || (barra2 != "/")) {
        alert("O formato da data esta invalido ! Exemplo: dd/mm/aaaa");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    if ( isNaN(dia) || (dia < 1) || (dia > 31)) {
        alert("A data (dia) é invalida !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    else if (isNaN(mes) || (mes < 1) || (mes > 12) ) {
        alert("A data (mes) é inválida !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }
    
    else if (isNaN(ano)) {
        alert("A data (ano) contem caracteres invalidos !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    else if (data.length != 10) {
        alert("O formato da data esta invalido ! Exemplo: dd/mm/aaaa");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    quociente = (eval(ano) % 4);

    if (quociente == 0){
        biss = true;
    
    }
    else {
        biss = false;
    }

    if (ano < 1900) {
        alert("Ano menor que 1900 !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    if (mes == 2) {

        if ((dia == 29) && (biss == false)) {
            alert("O dia e invalido pois o ano nao e bissexto !");
            document.frm[campo].select();
            document.frm[campo].focus();
            return(0);
        }
        
        else if ((dia == 30) || (dia == 31)) {
            alert("O dia e invalido para o mes de Fevereiro !");
            document.frm[campo].select();
            document.frm[campo].focus();
            return(0);
        }
    }

    else if ((mes == 4) && (dia == 31)) {
        alert("O dia e invalido para o mes de Abril !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    else if ((mes == 6) && (dia == 31)) {
        alert("O dia e invalido para o mes de Junho !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    else if ((mes == 9) && (dia == 31)) {
        alert("O dia e invalido para o mes de Setembro !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    else if ((mes == 11) && (dia == 31)) {
        alert("O dia e invalido para o mes de Novembro !");
        document.frm[campo].select();
        document.frm[campo].focus();
        return(0);
    }

    return(1);
}

function ValidaCGC(campo) {

    var vr = document.frm[campo].value;
    
    vr = vr.replace( "/", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( ",", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );

    var dig1=0;
    var dig2=0;
    var x;
    var Mult1 = '543298765432';
    var Mult2 = '6543298765432';

    for(x=0; x<=11; x++) {
        dig1 = dig1 +(parseInt(vr.slice(x,x+1)) * parseInt(Mult1.slice(x,x+1)));
    }

    for(x=0; x<=12; x++) {
        dig2 = dig2 + (parseInt(vr.slice(x, x + 1)) * parseInt(Mult2.slice(x, x + 1)));
    }

    dig1 = (dig1 * 10)%11;
    dig2 = (dig2 * 10)%11;
    
    if (dig1 == 10) {dig1 = 0;}
    if (dig2 == 10) {dig2 = 0;}
    if (dig1 != parseInt(vr.slice(12, 13))) {

         alert("CGC Invalido");
         document.frm[campo].select();
         document.frm[campo].focus();
         return(0);

    } else {

           if (dig2 != parseInt(vr.slice(13, 14))) {

              alert("CGC Invalido");
              document.frm[campo].select();
              document.frm[campo].focus();
              return(0);

           } else {

              return(1);

           }
    }
}


function ValidaCPF(campo) {

    vr = document.frm[campo].value;
    vr = vr.replace( "/", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( ",", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );
    vr = vr.replace( "-", "" );

    var x = 0;
    var soma = 0;
    var dig1 = 0;
    var dig2 = 0;
    var texto = "";
    var vr1="";
    var len = vr.length; x = len -1;
    
    // var vr = "12345678909";
    
    for (var i=0; i <= len - 3; i++) {
    
          y = vr.substring(i,i+1);
          soma = soma + ( y * x);
          x = x - 1;
          texto = texto + y;
    }
    
    dig1 = 11 - (soma % 11);
    
    if (dig1 == 10) {dig1=0 ;}
    if (dig1 == 11) {dig1=0 ;}
    
    vr1 = vr.substring(0,len - 2) + dig1;
    x = 11; soma=0;
    
    for (var i=0; i <= len - 2; i++) {
    
          soma = soma + (vr1.substring(i,i+1) * x);
          x = x - 1;
    
    }
    
    dig2= 11 - (soma % 11);
    
    if (dig2 == 10) {dig2=0;}
    if (dig2 == 11) {dig2=0;}
    
    //alert ("Digito Verificador : " + dig1 + "" + dig2);
    
    if ((dig1 + "" + dig2) == vr.substring(len,len-2)) {
    
          return(1);
    
    }
    
    alert ("CPF invalido !");
    document.frm[campo].select();
    document.frm[campo].focus();
    return(0);
}


function ValidaEmail(mail){

    var strExpressaoValida = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    
    if(typeof(mail) == "string"){
        if(strExpressaoValida.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){
        if(strExpressaoValida.test(mail.value)){ return true; }
    }else{ 
		alert("O endereço eletrônico digitado não é válido. Por favor, digite novamente.");
		return false; 
	}
}


/*
function ValidaEmail(campo){

    var email = campo.value;
	var valid = "@";
	var submeter = 0;
	var temp;
	var intval;
	
    if (email != "") {
		
		for (var i=0; i < email.length; i++) {
			temp = email.charAt(i);
			
			if (valid.indexOf(temp) == "0") {
				submeter = submeter + 1;
			}
		}
		if (submeter > 1) {
			alert("O endereço eletrônico digitado não é válido. Por favor, digite novamente.");
			campo.focus();
			return (false);
		}
		return (true);		

    }
	
}
*/

function SetCampo(campo){
	
	document.frm[campo].focus();

}

function CampoCompara(campo1,campo2){

 vr1 = document.frm[campo1].value;
 vr2 = document.frm[campo2].value;

 if(vr1!=vr2){

    alert("Comparação inválida!");
    document.frm[campo2].select();
	document.frm[campo2].focus();
    return(0);
	
 }
 return(1);
}

function LimpaString(vr){
 
 var Digitos = "0123456789"; 
 var temp = ""; 
 var digito = "";

 for (var i=0; i<vr.length; i++){
 
  digito = vr.charAt(i); 
  if (Digitos.indexOf(digito)>=0){ 
   temp=temp+digito 
  } 
 } 
 return temp;
}

/*
Aceita somente número
Evento: onKeyUp="javascript: SomenteNumero(0)"
*/
function SomenteNumero(campo){

 vr = document.frm[campo].value;
 //nome=campo.name 
 num = LimpaString(vr); 
 document.frm[campo].value = num; 

}

/*
Objetivo: Completar com "0" (zeros) à esquerda
Evento: onBlur="javascript: FormataCodigoUsuario(0,5)";
*/

function FormataCodigoUsuario(campo,tam){

    var strText = document.frm[campo].value;

    var intTamStr = strText.length;

    if (intTamStr <= tam){

        var intTam = parseInt(tam) - intTamStr;

        for (i=0; i<intTam; i++){
             strText = "0" + strText;
        }

        document.frm[campo].value = strText;

   }else{
 
        alert("Este campo pode ter no máximo \n" + tam + " caracteres.");
        document.frm[campo].focus();
   }
}

function VerificaDataAtual(Campo,CampoAtual){

	var vData = InverteData(document.frm[Campo].value,1,3);
	var vDataAtual = InverteData(document.frm[CampoAtual].value,1,3);
             
	if (vData > vDataAtual) { 
		alert('A Data inválida !'); 
		document.frm[Campo].value = "";
		document.frm[Campo].focus(); 
		return (0); 
   }else{
   		return(1);
   }
} 

function VerificaDataInicioTermino(CampoIni,CampoTer){

	var vDataIni = InverteData(document.frm[CampoIni].value,1,3); 
	var vDataTer = InverteData(document.frm[CampoTer].value,1,3); 
             
	if (vDataTer <= vDataIni) { 
		alert('A Data Término deve ser maior a ' + document.frm[CampoIni].value); 
		document.frm[CampoTer].value = "";
		document.frm[CampoTer].focus(); 
		return (0); 
   }else{
   		return(1);
   }
} 

function InverteData(pData,De,Para){ 

   // 1 - (DD/MM/AAAA) 
   // 2 - (MM/DD/AAAA) 
   // 3 - (AAAAMMDD)
 
    switch(De){ 

     case 1:{
       var ano = '' + pData.substring(6,10); 
       var mes = '' + pData.substring(3,5); 
       var dia = '' + pData.substring(0,2); 
       break;
     } 
     
     case 2:{ var ano = '' + pData.substring(6,10); 
       var mes = '' + pData.substring(0,2); 
       var dia = '' + pData.substring(3,5); 
       break;
     }

     case 3:{ var ano = '' + pData.substring(0,4); 
       var mes = '' + pData.substring(4,6); 
       var dia = '' + pData.substring(6,8); 
       break; } 
     }
 
    switch(Para){
 
     case 1:{
       var datafinal = dia+'/'+mes+'/'+ano; 
       break;
     } 
     case 2:{
       var datafinal = mes+'/'+dia+'/'+ano; 
       break;
     } 
     case 3:{
       var datafinal = ano+mes+dia; 
       break; } 
    } 

   return datafinal; 
}
//função repetida no arquivo .js
function FormataMesAno(campo,teclapres) {

	var tecla = teclapres.keyCode;
	vr = document.frm[campo].value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 7 )
			document.frm[campo].value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, tam ); }
}

function ValidaAno(campo,ano){
 
 var vr = document.frm[campo].value;
    
 if (parseInt(vr) <= 1900 || parseInt(vr) > ano) {
  alert("Ano inválido !"); 
  document.frm[campo].select();
  document.frm[campo].focus(); 
  return (0); 
 }
return (1);
}


//Abre a janela de busca de cidades caso o País seja igual a brasil.
//form = Formulário, 
//campopais = Campo que verifica se o valor é igual a BRA, 
//campocidade = retornará o valor da cidade após a busca, campouf = retornará o valor da uf após a busca  	
//diretorio = diretorio atual que deverá retornar. Ex. ../../../includes/
function procurar_cidade(diretorio,form,campopais,campocidade,campouf){	
	var pais = document.forms[form][campopais].value;		
	if(pais == "BRA"){
		window.open(diretorio+"pop_cidade.asp?retornoform="+form+"&retornocampocidade="+campocidade+"&retornocampouf="+campouf,"","width=400,height=400");
	}else{
		alert('Somente é permitida à localização de cidades brasileiras!');
	}	
}

//Caso o pais seja diferente de "BRA" o campo UF será desabilidato e selecionará o "??"
//form = Formulário, 
//campo = Campo que será abilitado ou desabilitado
//campo1 = Campo Pais que fará a comparação, 
//campo2 = opcional de desabilitar provincia 
function SelecionarPais(form,campo,campo1,campo2){
	var pais = document.forms[form][campo1].value;		
	if(pais != "BRA"){
		document.forms[form][campo].value = "??";
		document.forms[form][campo].disabled = true;
		if (campo2 != null){
			document.forms[form][campo2].disabled = false;
		}
	}else{
		document.forms[form][campo].disabled = false;
		if (campo2 != null){
			document.forms[form][campo2].value = "";
			document.forms[form][campo2].disabled = true;
		}
	}	
}
//Abre a janela de busca de instituição.
//form = Formulário
//campoinstituicao = retornará o texto da cidade após a busca
//hiddenidinstituicao = retornará o valor do idInstituicao após a busca para gravar no banco

function ProcurarInstituicao(diretorio){	
	//alert (document.forms[form][campoinstituicao]);
	//var vr = window.document.forms[form][campoinstituicao].value;
			
	//if(vr != ""){
		//alert('Será necessário alterar o Orgão/Unidade!');
//	}
	window.open(diretorio+"pop_instituicao.asp","","scrollbars=yes,width=420,height=340");
}

//Abre a janela de busca de instituição.
//form = Formulário
//campoinstituicao = retornará o texto da cidade após a busca
//hiddenidinstituicao = retornará o valor do idInstituicao após a busca para gravar no banco

function ProcurarInstituicaoChild(diretorio,form,campoorgao,hiddenidinstituicao,hiddenorgao){
	var instituicao = document.forms[form][hiddenidinstituicao].value;
	
	if (instituicao != "") {
		window.open(diretorio+"pop_instituicaochild.asp?retornoform="+form+"&retornocampoorgao="+campoorgao+"&retornohiddenorgao="+hiddenorgao+"&idinstituicao="+instituicao+"&area=0","","width=420,height=550");
	}else {
		alert("Para selecionar um órgão/unidade é necessário definir uma instituição");
	 }
}

function ProcurarAreadeConhecimento(form,lst,hdf){
	window.open("/academico/include/pop_areadeconhecimento.asp?retornoform="+form+"&retlst="+lst+"&rethdf="+hdf,"","scrollbars=yes,width=420,height=400");
}

//Fecha a janela atual
function Cancelar(){
	self.close();
}
// urlpagina - endereço do arquivo que deve ser aberto na poup-up
// titulodajanela - determina o título da poup up
// tamanho - altura e largura da janela poup-up
function PoupUp(urlpagina,titulodajanela,tamanho) {
	window.open(urlpagina,titulodajanela,tamanho);
}

function ProcurarCurso(diretorio,form,campocurso,hiddencurso,hiddenidinstituicao,strinstituicao){

	var campoinstituicao = document.forms[form][hiddenidinstituicao].value;
	var nomedainstituicao = document.forms[form][strinstituicao].value;	
	if(campoinstituicao != ""){
			window.open(diretorio+"popcurso.asp?retornoform="+form+"&retornocampocurso="+campocurso+"&retornohiddencurso="+hiddencurso+"&idinstituicao="+campoinstituicao+"&strinstituicao="+nomedainstituicao+"&area=0","","scrollbars=yes,width=420,height=400");
		
	} else {
			alert('Para definir o curso, escolha uma instituição de ensino primeiro!');
	  }

}
//código não utilizado
function PopUpAdmDebate() { //v2.0
  window.open("/academico/servicos/debate/adm/principal.asp","","width=650,height=400");
}


function checkrequired(mensagem,campo) {

	if (document.frm[campo].value == '') {
		alert(mensagem);
		document.frm[campo].focus();
		return false;
	} else {
		return true;
	}
}

function noBadChar(field) {
	/** Antes 
	var valid = "\f\r\n;,:abcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW ,ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ.//\!@$&*=-_+()'´0123456789ªº°?!.[]{}/\\¿¡ñ‘ \"" ;
	var valid = "\f\r\n abcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW-_ ][~^;:%$*+/!?\ \ =|<>}{ªº°§#@¨£¢³²&¿¡ñ'´ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ0123456789)(.," ;
	**/
	var valid = "\f\r\n abcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW-_ ][~^;:%$*+/!?\ \ =|<>}{ªº°§#@¨£¢³²&¿¡ñ'´ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ0123456789)(.,\"" ;
	
	var submeter = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = field.value.charAt(i);
		if (valid.indexOf(temp) == "-1") {
			submeter = "no";
		}
	}
	if (submeter == "no") {
		alert("Campo preenchido possui caracteres inválidos!");
		field.focus();
		return false;
	}
	return true;
}

/**
Função que valida os caracteres especiais e mostra os caracteres inválidos, digitados.
Usada na Associação de Materiais de Aula.
**/
function noBadCharView(field) {
	var valid = "\f\r\nabcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW-_ ][~^;:%$*+/!?\\=|<>}{ªº°§#@¨£¢³²¹&¿¡ñ'´\"ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ0123456789)(.," ;
	var submeter = true;
	var temp;
	var charInvalids = new Array();
	for (var i=0; i<field.value.length; i++) {
		temp = field.value.charAt(i);
		if (valid.indexOf(temp) == "-1") {
			submeter = false;
			charInvalids.push( temp );
		}
	}

	if ( ! submeter ) {
		var strInvalids = "";
		for( j=0; j < charInvalids.length; j++){
			strInvalids += (charInvalids.length == (j+1)?charInvalids[j]: charInvalids[j]+", ");
		}
		alert("Campo preenchido possui os seguintes caracteres inválidos: " + strInvalids );
		
		parent.habilitaBtnConcluir();
		charInvalids = null;
		strInvalids = "";
		field.focus();
		return false;
	}
	return true;
}

function validChar(field) {
	/** Antes 
	var valid = "\f\r\n abcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ0123456789.,()" ;
	**/
	
	var valid = "\f\r\n abcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW-_][ ~^;:%$*+/!?\ \ =|<>}{ªº°§#@¨£¢³²&¿¡ñ'´ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ0123456789)(.," ;

	var submeter = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = field.value.charAt(i);
		if (valid.indexOf(temp) == "-1") {
			submeter = "no";
		}
	}
	if (submeter == "no") {
		alert("Campo preenchido possui caracteres inválidos!");
		field.focus();
		return false;
	}
	return true;
}

/** função: validaCharL(field)
*	onde 'field' é um objeto html 'id' de um campo de texto
*	limpa os valores do campo inválido
*/
function validaCharL(field) {
	
	/*var bolExpHTML = validaTermosHTML(field);
	if (bolExpHTML){
		field.value = field.value.replace(/</g,' ');
		field.value = field.value.replace(/>/g,' ');
	}
		
	var valid = "\f\r\n abcdefghijklmnopqrstuvxywzçABCDEFGHIJKLMNOPQRSTUVXYZW-_][ ~^;:%$*+/!?\ \ =|<>}{ªº°§#@¨£¢³²&¿¡ñ'´ÇãõáâêîôóûéíàèìúùüÃÕÂÊÎÔÛÁÉÚÓÍÀÈÌÒÙÄËÏÖÜ0123456789)(.," ;
	var submeter = "yes";
	var temp;
	var aCharInval = "";
	var newValue = "";
	
	for (var i=0; i<field.value.length; i++) {
		temp = field.value.charAt(i);
		if (valid.indexOf(temp) == "-1") {
			submeter = "no";
			if (aCharInval == ""){
				aCharInval = temp;
				newValue = field.value.replace(temp,'');
			}else{
				aCharInval += ',' + temp;
				newValue = newValue.replace(temp,'');
			}
		}
	}

	if (submeter == "no" || bolExpHTML) {
		alert("Os caracteres inválidos e serão excluídos!");
	}if (submeter == "no"){
		field.value = Trim(newValue);
	}*/
	field.value = field.value;
}

// Retorna 'true' caso encontre um dos termos proibidos
function validaTermosHTML(field){
	var invalid = new Array('<script','</script','<div','</div','<table','</table','<input','<select','</select','<tr','</tr','<td','</td','<textarea','</textarea','<form','</form','<html','</html','<body','</body','</','/>','alert('); //lista de expressões inválidas
	var valor = new String(field.value);
	var bolR = false;
	for (var i=0;i < invalid.length; i++){
		if (valor.indexOf(invalid[i]) != '-1'){
			bolR = true;
		}
	}
	return bolR;
}


function LargeNoBadChar(fields) {
	var campos = new String(fields);
	var vetorCampos = campos.split(",");
	for (i=0;i<vetorCampos.length;i++) {
		field = document.getElementsByName(vetorCampos[i])[0];
		if(!noBadChar(field)){
			return false;
			break;
		}
	}
	return true;
}


function LargeNoBadCharById(fields) {
	var campos = new String(fields);
	var vetorCampos = campos.split(",");
	for (i=0;i<vetorCampos.length;i++) {
		field = document.getElementById(vetorCampos[i]);
		if(!noBadChar(field)){
			return false;
			break;
		}
	}
	return true;
}



function abrirPopAlunosTurma(codigoTurma,strTurma,Curso,Disciplina) {
	window.open("/academico/selDestino/pop_listaAlunos/listaAlunos_frameset.asp?id="+codigoTurma+"&strTurma="+strTurma+"&strCurso="+Curso+"&strDisciplina="+Disciplina+"","PopListaAlunos","width=400,height=350,scrollbars=yes,top=50,left=340");
			
}
	
//função importada do arquivo trim.js
		 function trimLeft(strText){
		 var strResult = strText.toString();
		 var i = 0, isWS = true;
		 while(isWS) {
		  if(strResult.charAt(i) != ' ') isWS = false;
		  else i++;
		 }        
		 strResult = strResult.substr(i);
		 return strResult;
		}
		 
		function trimRight(strText){
		 var strResult = strText.toString();
		 var i = strResult.length-1, isWS = true;
		 while(isWS) {
		  if(strResult.charAt(i) != ' ') isWS = false;
		  else i--;
		 }
		 strResult = strResult.substring(0,i+1);
		 return strResult;
		}

		function trim(strText){
			var strResult = strText.toString();
				strResult = trimLeft(strResult);
				strResult = trimRight(strResult);
				return strResult;
			}	
function Trim(valor)
{
	var stmp1 = "";
	var stmp2 = "";
	var itam  = valor.length;
	var i;
	
	for (i = 0; i < itam; i++)
		{
			if (valor.substring(i, i + 1) != " ")
				{
				stmp1 = stmp1 + valor.substring(i, valor.length);
				break;
				}
		}		
	
	itam = stmp1.length;
	
	for (i = 0; i < itam; i++)
		{
			if (stmp1.substring(itam - i, itam -i -1) != " ")
				{
				stmp2 = stmp2 + stmp1.substring(0, itam - i);
				break;
				}
		}
	
	return stmp2;

}

/**
 *	Função responsável por limitar o tamanho de uma string.
 *	Caso ela seja maior que o tamanho determinado, ela é truncada
 *	e é adicionado no final (...), seu tamanho final fica do tamanho
 *	máximo permitido
*/
function limitarTamanhoString(str,tamanhoMaximo)
{
	if (tamanhoMaximo)
	{
		tamanhoMaximo = parseInt(tamanhoMaximo);
	}
	
	if (str.length > tamanhoMaximo)
	{
		return(str.substring(0,tamanhoMaximo-3) + "...");
	}
	
	return(str);
}

// OK FIREFOX ======================================================================================

//=== trataCampoTel ========================================================
function trataCampoTel(teclaPress)
{
    //onKeyPress="return trataCampoTel(event);"
    if(  navigator.appName == "Netscape")
       {var tecla = teclaPress.which;}
	else                                  
	   {var tecla = teclaPress.keyCode;}	
	
	if (tecla == 8 || tecla == 0 ||( tecla == 45 ) || (tecla == 40 ) ||(tecla == 41 )) return(true);
	if (tecla < 48 || tecla > 57 )return(false);
	
	
return(true);
}
//===  fim trataCampoTel  ========================================================

//=== mascara cpf ========================================================
function mascara_cpf(cpf,teclaPress)
{
    // onkeyPress="return mascara_cpf(this,event);
	if(  navigator.appName == "Netscape")
       {var tecla = teclaPress.which;    var selectionEnd =  cpf.selectionEnd  ;}
	else                                  
	   { var tecla = teclaPress.keyCode; var selectionEnd  = (cpf.value).length;}
 
	
	if (tecla == 8 || tecla == 0 )	return(true);
	if (tecla < 48 || tecla > 57 ) return(false);	          
      
       if ( selectionEnd == 3) { cpf.value +=  '.'; }
       if ( selectionEnd == 7) { cpf.value +=  '.'; }
       if ( selectionEnd == 11){ cpf.value +=  '-'; }
         
}

//=== fim mascara cpf =============================================================


//=== SomenteNumerico =============================================================
function SomenteNumerico(teclaPress){ //recebe event

      //onKeyPress="return SomenteNumerico(event);"
	 if(  navigator.appName == "Netscape")
       {var tecla = teclaPress.which;}
	 else                                  
	   {var tecla = teclaPress.keyCode;}	
	
	 if (tecla == 8 || tecla == 0 ) return(true);
	 if (tecla < 48 || tecla > 57 )return(false);
	
return(true);
}
//===  fim SomenteNumerico =============================================================


//=== NumericoVirgPonto2Pontos =============================================================
//Criada por Patrick - 20/02/2008
//Função que recebe uma tecla digitada e filtra o caractere permitindo que o mesmo possa ser
//apenas um número ('0'...'9'), a vírgula ',', o ponto '.', e o dois pontos ':'.
 
function NumericoVirgPonto2Pontos(teclaPress){ //recebe event

       if(navigator.appName == "Netscape")
       {
        var tecla = teclaPress.which;
       }
	 else                                  
	   {
	    var tecla = teclaPress.keyCode;
	   }	
	//Se tecla é null ou backspace
	 if (tecla == 8 || tecla == 0 ) {
	    return(true);
	 }else if (tecla < 48 || tecla > 58 ) { //Não está entre '0'...'9',':'
	    if(tecla == 44 || tecla == 46) { //Mesmo assim, pode ser válido ',' e '.'
	        return(true)
	    } else { //Ou realmente ser inválido (não númerico, não ',','.',':')
	        return(false);
	    }
	 }
	
return(true);
}
//===  fim SomenteNumerico =============================================================

//=== mascara Cep ======================================================================
function mascara_Cep(cep,teclaPress)
{
		 // onKeyPress="return mascara_Cep(this,event);"
    if(navigator.appName == "Netscape")
       {var tecla = teclaPress.which;  var selectionEnd =cep.selectionEnd  ;}
	else                                  
	   {var tecla = teclaPress.keyCode;var selectionEnd =(cep.value).length;}	

  	if (tecla == 8 || tecla == 0 ) return(true);
	if (tecla < 48 || tecla > 57 )return(false);
      
  
		if (selectionEnd == 2){cep.value +=  '.' ;}		
		if (selectionEnd == 6){cep.value +=  '-' ;}	     
   
}
//=== fim  mascara Cep =========================================================================

//===  Cep =====================================================================================
function isCEP(x)
{
  MAX=11;
  num     = new Make_Array(MAX);
  num[0]  = 0;
  num[1]  = 1;
  num[2]  = 2;
  num[3]  = 3;
  num[4]  = 4;
  num[5]  = 5;
  num[6]  = 6;
  num[7]  = 7;
  num[8]  = 8;
  num[9]  = 9;
  num[10] = "-";
  n = x.length
  for(i=0;i<=n;i++)
  {
     var passou = 0;
     for(j=0;j<=MAX;j++)
     {
        if ((x.charAt(i)) == num[j])
        {
          passou = 1;
          break;
        }
        else
        {
          passou = 0;
        }
     }
     if (!(passou))
     {
       break;
     }
  }
  if (passou)
  {
    return (true);
  }
  else
  {
    return (false);
  }
}
//=== fim  Cep =========================================================================

//===  somenteLetraAZ =========================================================================
function somenteLetraAZ(teclaPress)
{

    // onKeyPress="return somenteLetraAZ(event);"
    if(  navigator.appName == "Netscape")
       {var tecla = teclaPress.which;}
	else                                  
	   {var tecla =teclaPress.keyCode;}	      
       
       
	if (tecla == 8 || tecla == 0 ) return(true);	
	if (( tecla >= 65 && tecla <= 90 )||( tecla >= 97 && tecla <= 122 )){return(true);}	
	
	
return(false);
 } 
//=== fim somenteLetraAZ =================================================================

//===  checkdate =========================================================================
//Variavel GlobalObjNameFocus criada para funcionar o onBlur no firefox recuperando o focus
//Variavel GlobalBolSubmit para evitar o submit quando a data for falsa no firefox
var  GlobalObjNameFocus,GlobalBolSubmit=true;
function checkdate(objName)
{
	GlobalObjNameFocus = objName;
	
	//Caso a data esteja nos formatos d/m/yyyy ou dd/m/yyyy ou d/mm/yyyy o JS irá forçar a máscara dd/mm/yyyy
	//Corrige o dia
	if((GlobalObjNameFocus.value).charAt(1) == "/" && (GlobalObjNameFocus.value).length < 10){
		GlobalObjNameFocus.value = "0" + GlobalObjNameFocus.value
	}
	//Corrige o mês
	if((GlobalObjNameFocus.value).charAt(2) == "/" && (GlobalObjNameFocus.value).charAt(4) == "/" && (GlobalObjNameFocus.value).length < 10){
		GlobalObjNameFocus.value = (GlobalObjNameFocus.value).substring(0,3) + "0" + (GlobalObjNameFocus.value).substring(3,(GlobalObjNameFocus.value).length)
	}
	//-------------------------------------------------------------------------------------------------------

  	if ( !GlobalObjNameFocus.value.match(/^\s{0,}$/) )
	{
		if (isDate(GlobalObjNameFocus.value, 'd/M/yyyy') == false)
		{
			GlobalBolSubmit = false;	
			GlobalObjNameFocus.value = ""; 
			alert("Esta data é inválida. Por favor, tente novamente.");	
			setTimeout('GlobalObjNameFocus.focus()',0);	
			//Feito para impedir o submit no firefox
			
			return false;
		}
	}
	return true;
}


//função importada do arquivo CheckData.js
function checkdate2(bdata) {	
		var strData; //Data digitada pelo usuário.
		var strDtMont;//Data montada para validação de data.
		var strDTTime;//Verifica o tempo digitado.		
		strData = new String(bdata);
		strDtMont = strData.substring(3,5);
		strDtMont = strDtMont + "/";
		strDtMont = strDtMont + strData.substring(0,2);
		strDtMont = strDtMont + "/";
		strDtMont = strDtMont + strData.substring(8,10);
		strDtMont = strDtMont;		
		var err = 0
		string = strDtMont
		var valid = "0123456789/"
		var ok = "yes";
		var temp;
		for (var i=0; i<string.length; i++) {
			temp = "" + string.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") err = 1;
		}
		if (string.length != 8) err=1
			b = string.substring(0, 2) // month
			c = string.substring(2, 3)// '/'
			d = string.substring(3, 5) // day
			e = string.substring(5, 6)// '/'
			f = string.substring(6, 8) // year
			if (d<1 || d>31) {//Válida dia			
				err = 1;
			}	
			if (b<1 || b>12) { //Valida o mês
				err = 1;
			}
			if (f<0 || f>99) {//Válida ano
				err = 1;
			}
			if (b==4 || b==6 || b==9 || b==11){//Válida dia em mês com 30 dias
				if (d==31)  {
					err=1;
				}
			}	
			if (b==2){
				var g=parseInt(f/4)		
				if (isNaN(g)) {
					err=1			
			}
			if (d>29) {
				err=1; 			
			}
			if (d==29 && ((f/4)!=parseInt(f/4))) {
				err=1;
			}
		}
		if (err==1) {
			return false;
		}
		else {
			return true;
	   }
	}
	
//=== checkdate ====================================================================

// === valida Cpf ==================================================================
function validaCpf(cpf)
{	
	if(( cpf.Length <= 13 )        ||
	   ( cpf == "111.111.111-11" ) ||
	   ( cpf == "222.222.222-22" ) ||
	   ( cpf == "333.333.333-33" ) ||
	   ( cpf == "444.444.444-44" ) ||	   
	   ( cpf == "555.555.555-55" ) ||
	   ( cpf == "666.666.666-66" ) ||
	   ( cpf == "777.777.777-77" ) ||	   
	   ( cpf == "888.888.888-88" ) ||
	   ( cpf == "999.999.999-99" ) ||
	   ( cpf == "000.000.000-00" ) 
	)return false; 
	
      
	 var cpfTratada = new String("");
	 var soma1 = 0;
	 var soma2 = 0;
	   
	 var numero;
	 var letra; 
	   

        for ( i = 0; i < 14; i++)
        {
          letra = cpf.substring(i,i+1);
          
           if(letra != "." && letra != "-" )
           {          
              cpfTratada += letra;          
           }        
        }
     
		for (i = 10,j=11, x =0  ; x <=8 ;x++,i--,j--)
		{
         	numero = parseInt(cpfTratada.substring(x,x+1));         
                  
         	soma1 += (numero * i);
         	soma2 += (numero * j);      

		}
				
	var primeiroD = (11-(soma1 % 11));
	var d1 =  ( primeiroD > 9)? 0 :primeiroD; 
	
	var segundoD =  (11-((soma2 +(d1 * 2)) % 11));      
    var d2 =  ( segundoD > 9)? 0 :segundoD;       
	
return  ((""+d1+d2)==(cpfTratada.substring(9,11)));
}
//=== fim valida Cpf =================================================================
// === valida Email ==================================================================
function isEmailValid(txtemail)
{
	//alert(txtemail);
	
    var er = new RegExp(/^[A-Za-z\d_\-\.]+@[A-Za-z\d_\-\.]{2,}\.[A-Za-z\d]{2,3}(\.\[A-Za-z\d]{2})?$/);

    /*---
      Shiniti 10/04/2008
      incluido operador typeof sobre o txtemail,
      pois esse argumento pode tanto ser um elemento <INPUT> quanto
      uma string contendo um e-mail
    ---*/
    return er.test(typeof txtemail == "object"? txtemail.value : txtemail);



	/* Esta parte do código só estava testanto se o e-mail continha @, coloquei uma Expressão Regular para tratar
	   toda a string - Juliana Melo
	  var emailOK  = true;
	  var Temp     = txtemail ;
	  var AtSym    = Temp.value.indexOf('@');
	  var LAtSym   = Temp.value.lastIndexOf('@');
	  var AtError1 = Temp.value.indexOf('.@');
	  var AtError2 = Temp.value.indexOf('@.');
	  var Period   = Temp.value.lastIndexOf('.');
	  var Space    = Temp.value.indexOf(' ');
	  var Length   = Temp.value.length - 1;
	  
	  if((AtSym != LAtSym)   ||
	     (AtSym == Length)   ||
	     (AtSym < 1)         ||
	     (AtError1 != -1)    ||
	     (AtError2 != -1)    ||
	     (Period == Length ) ||
	     (Period == 0)       ||
	     (Space  != -1))
	  {
		emailOK = false;
		Temp.focus();
	  }
return(emailOK);*/
}

function isEmailValid2(form,elem){
  var emailOK  = true;
  var Temp     = form.elements[elem];
  var AtSym    = Temp.value.indexOf('@');
  var LAtSym   = Temp.value.lastIndexOf('@');
  var AtError1 = Temp.value.indexOf('.@');
  var AtError2 = Temp.value.indexOf('@.');
  var Period   = Temp.value.lastIndexOf('.');
  var Space    = Temp.value.indexOf(' ');
  var Length   = Temp.value.length - 1;
  
  if((AtSym != LAtSym) ||
     (AtSym == Length) ||
     (AtSym < 1) ||
     (AtError1 != -1) ||
     (AtError2 != -1) ||
     (Period == Length ) ||
     (Period == 0) ||
     (Space  != -1))
  {
   emailOK = false;
   Temp.focus();
  }
  return(emailOK);
}
// === fim valida Email 1 e 2 ==================================================================
//  FIM OK FIREFOX =============================================================================
//-->
// Cobra's Trimming Functions
//===Validadions.js=============================================================================
function BtrimLeft(strText){
 var strResult = strText.toString();
 var i = 0, isWS = true;
 while(isWS) {
  if(strResult.charAt(i) != ' ') isWS = false;
  else i++;
 }        
 strResult = strResult.substr(i);
 return strResult;
}
 
function BtrimRight(strText){
 var strResult = strText.toString();
 var i = strResult.length-1, isWS = true;
 while(isWS) {
  if(strResult.charAt(i) != ' ') isWS = false;
  else i--;
 }
 strResult = strResult.substring(0,i+1);
 return strResult;
}

function Btrim(strText){
 var strResult = strText.toString();
 strResult = BtrimLeft(strResult);
 strResult = BtrimRight(strResult);
 return strResult;
}



function ConvertDateToInt(dia,mes,ano){
var r;
var Meses=new Array(12);
 r=0;
 dia=parseInt(dia);
 mes=parseInt(mes);
 ano=parseInt(ano);
 if (!(isNaN(dia)||isNaN(mes)||isNaN(ano))){
  if ((mes>=1)&&(mes<=12)&&(dia>=1)){
   Meses[0]=31;
   Meses[1]=28;
   Meses[2]=31;
   Meses[3]=30;
   Meses[4]=31;
   Meses[5]=30;
   Meses[6]=31;
   Meses[7]=31;
   Meses[8]=30;
   Meses[9]=31;
   Meses[10]=30;
   Meses[11]=31;
   mes--;
   r=parseInt(ano/4)+(ano*365);
   if ((ano%4)==0){
    Meses[1]=Meses[1]+1;
   }
   if (dia>Meses[mes]){
    return 0;
   }
   var i;
   for (i=0;i<mes;i++){
    r+=Meses[i];
   }
   r+=dia;
  }
 }
 return r;
}
function CheckDate3(dia,mes,ano){
 return ConvertDateToInt(dia,mes,ano)>0;
}

// Generic Form Validation
// Jacob Hage (jacob@hage.dk)
var checkObjects	= new Array();
var errors		= "";
var returnVal		= false;
var language		= new Array();
language["header"]	= "O(s) seguinte(s) erro(s) foi(foram) detectado(s) "
language["start"]	= "->";
language["field"]	= " Campo ";
language["require"]	= " é necessário";
language["min"]		= " e tem que ter pelo menos ";
language["max"]		= " e não pode ter mais que ";
language["minmax"]	= " e não mais que ";
language["chars"]	= " caracteres";
language["num"]		= " e tem que conter números";
language["email"]	= " tem que ter um endereço de e-mail válido";
language["cep"]		= " tem que ter um CEP no formato: 99999-999";
language["date"]	= " e tem que ter uma data válida."
// -----------------------------------------------------------------------------
// define - Call this function in the beginning of the page. I.e. onLoad.
// n = name of the input field (Required)
// type= string, num, email (Required)
// min = the value must have at least [min] characters (Optional)
// max = the value must have maximum [max] characters (Optional)
// d = (Optional)
// -----------------------------------------------------------------------------
function define(n, type, HTMLname, min, max, d) {
var p;
var i;
var x;
var posCep1, posCep2;
if (!d) d = document;
if ((p=n.indexOf("?"))>0&&parent.frames.length) {
d = parent.frames[n.substring(p+1)].document;
n = n.substring(0,p);
}
if (!(x = d[n]) && d.all) x = d.all[n];
for (i = 0; !x && i < d.forms.length; i++) {
x = d.forms[i][n];
}
for (i = 0; !x && d.layers && i < d.layers.length; i++) {
x = define(n, type, HTMLname, min, max, d.layers[i].document);
return x;       
}
eval("V_"+n+" = new formResult(x, type, HTMLname, min, max);");
checkObjects[eval(checkObjects.length)] = eval("V_"+n);
}
function formResult(form, type, HTMLname, min, max) {
this.form = form;
this.type = type;
this.HTMLname = HTMLname;
this.min  = min;
this.max  = max;
}
function validate() {
if (checkObjects.length > 0) {
errorObject = "";
for (i = 0; i < checkObjects.length; i++) {
validateObject = new Object();
validateObject.HTMLname = checkObjects[i].HTMLname;
validateObject.type = checkObjects[i].type;
if (validateObject.type=="date"){
 returnVal=CheckDate3(eval('document.forms(0).edtDia'+validateObject.HTMLname+'.value'),eval('document.forms(0).selMes'+validateObject.HTMLname+'.value'),eval('document.forms(0).edtAno'+validateObject.HTMLname+'.value'));
 if (returnVal==0){
  errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['date'] + "\n"
 }
// eval('document.fInserir.hdnDt'+validateObject.HTMLname).value=eval('document.forms(0).ax'+validateObject.HTMLname+'.DateOnly');
// returnVal=true;
} else {
 validateObject.form = checkObjects[i].form;
 validateObject.val = checkObjects[i].form.value;
 if (Btrim(checkObjects[i].form.value) == '') {
   validateObject.len = 0;
 }
 else {	
   validateObject.len = checkObjects[i].form.value.length;
 }
 validateObject.min = checkObjects[i].min;
 validateObject.max = checkObjects[i].max;
 if (validateObject.type == "num" || validateObject.type == "string") {
 if ((validateObject.type == "num" && validateObject.len <= 0) || (validateObject.type == "num" && isNaN(validateObject.val))) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['num'] + "\n";
 } else if (validateObject.min && validateObject.max && (validateObject.len < validateObject.min || validateObject.len > validateObject.max)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['min'] + validateObject.min + language['minmax'] + validateObject.max+language['chars'] + "\n";
 } else if (validateObject.min && !validateObject.max && (validateObject.len < validateObject.min)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['min'] + validateObject.min + language['chars'] + "\n";
 } else if (validateObject.max && !validateObject.min &&(validateObject.len > validateObject.max)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['max'] + validateObject.max + language['chars'] + "\n";
 } else if (!validateObject.min && !validateObject.max && validateObject.len <= 0) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + "\n";
    }
 } else if(validateObject.type == "email") {
 // Checking existense of "@" and ".". 
 // Length of must >= 5 and the "." must 
 // not directly precede or follow the "@"
 if ((validateObject.val.indexOf("@") == -1) || (validateObject.val.charAt(0) == ".") || (validateObject.val.charAt(0) == "@") || (validateObject.len < 6) || (validateObject.val.indexOf(".") == -1) || (validateObject.val.charAt(validateObject.val.indexOf("@")+1) == ".") || (validateObject.val.charAt(validateObject.val.indexOf("@")-1) == ".")) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['email'] + "\n"; }
       } else if(((validateObject.type == "cep") && (validateObject.len <= 0)) || ((validateObject.type =="cep") && (isNaN(validateObject.val)))) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['num'] + "\n"; }
       }
     }
 if (errors) {
 alert(language["header"].concat("\n" + errors));
 errors = "";
 returnVal = false;
 } else {
 returnVal = true;
    }
 }
}
function isInt(x)
{
  MAX=10;
  num    = new Make_Array(MAX);
  num[0] = 0;
  num[1] = 1;
  num[2] = 2;
  num[3] = 3;
  num[4] = 4;
  num[5] = 5;
  num[6] = 6;
  num[7] = 7;
  num[8] = 8;
  num[9] = 9;
  n = x.length
  for(i=0;i<=n;i++)
  {
     var passou = 0;
     for(j=0;j<=MAX;j++)
     {
        if ((x.charAt(i)) == num[j])
        {
          passou = 1;
          break;
        }
        else
        {
          passou = 0;
        }
     }
     if (!(passou))
     {
       break;
     }
  }
  if (passou)
  {
    return (true);
  }
  else
  {
    return (false);
  }
}
function Make_Array(n)
{
  for (var i = 0 ; i <= n ; i++) 
  { 
    this[i] = "";
  } 
}

function Data_caracteres(x)
{
  MAX=11;
  num = new Make_Array(MAX);
  num[0] = 0;
  num[1] = 1;
  num[2] = 2;
  num[3] = 3;
  num[4] = 4;
  num[5] = 5;
  num[6] = 6;
  num[7] = 7;
  num[8] = 8;
  num[9] = 9;
  num[10] = "/";
  n = x.length
  for(i=0;i<=n;i++)
  {
     var passou = 0;
     for(j=0;j<=MAX;j++)
     {
        if ((x.charAt(i)) == num[j])
        {
          passou = 1;
          break;
        }
        else
        {
          passou = 0;
        }
     }
     if (!(passou))
     {
       break;
     }
  }
  if (passou)
  {
    return (true);
  }
  else
  {
    return (false);
  }
}

function isDate(x)
{    
    reDate = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	dd = parseInt(x.substring(0,2));
    mm = parseInt(x.substring(3,5));
    yy = parseInt(x.substring(6,10));
    
    // valida ano bissesto
    strFevereiro = (((yy % 4 == 0) && ( (!(yy % 100 == 0)) || (yy % 400 == 0))) ? 29 : 28 );
    
    if (reDate.test(x)) {
		if(mm == 2 && dd > strFevereiro ){
			return false;
		}
		else if (yy > 1900){
			    return true;
		}
		
	} else if (x != null && x != "") {
		return false;
	}
	
	return false;
}

function Compara_Data(data1,data2)
{
  dd1  = data1.substring(0,2);
  mm1  = data1.substring(3,5);
  yy1  = data1.substring(6,10);
  dd2  = data2.substring(0,2);
  mm2  = data2.substring(3,5);
  yy2  = data2.substring(6,10);

  if (yy1 > yy2)
  {
    return("maior");
  }
  else
  {
    if (yy1 == yy2)
    {
      if (mm1 > mm2)
      {
        return ("maior");
      }
      else
      {
        if (mm1 == mm2)
        {
          if (dd1 > dd2)
          {
            return ("maior");
          }
          else
          {
            if (dd1 == dd2)
            {
              return ("igual");
            }
            else
            {
              return ("menor");
            }
          }
        }
        else
        {
          return ("menor");
        }
      }
    }
    else
    {
      return ("menor");
    }
  }
}

function isTime(time)
{
	hh = time.substring(0,2);
	mm = time.substring(3,5);
	
	if (time.charAt(2)==':'&&hh<24&&mm<60)
		return (true);
	else
		return (false);
}

function comparaHora(hIni, hFim)
{	
	var h1, h2, m1, m2;
	var hora1, hora2;
	
	hora1	= new Date();
	hora2	= new Date();
	
	h1	= hIni.substring(0, 2);
	h2	= hFim.substring(0, 2);
	m1	= hIni.substring(3, 5);
	m2	= hFim.substring(3, 5);
	
	if (h1.charAt(0) == "0")
		h1	= h1.charAt(1);
		
	if (h2.charAt(0) == "0")
		h2	= h2.charAt(1);
		
	if (m1.charAt(0) == "0")
		m1	= m1.charAt(1);
		
	if (m2.charAt(0) == "0")
		m2	= m2.charAt(1);
	
	
	hora1.setHours(parseInt(h1, 10));
	hora2.setHours(parseInt(h2, 10));
	hora1.setMinutes(parseInt(m2, 10));
	hora2.setMinutes(parseInt(m2, 10));
	
	if (hora1.getTime() < hora2.getTime())
		return true;
	else
		return false;
}

//  FIM validation.js=============================================================================
//==Anula a tecla Enter=====================================================================================
function AnulaEnter()
{
  if (event.keyCode == 13)
  {
    return (false);
  }
}
//=================================================================================================
//Função utilizada para abertura do DialogBox no Firefox e funcionar para IE

function DialogBox(PageName,Path) {
	//if (navigator.platform.toLowerCase().indexOf("win") >= 0)	{
			if(navigator.appName == "Microsoft Internet Explorer") {
				var versaoNavegador = navigator.userAgent;
				var versaoNavegadorId = versaoNavegador.indexOf('MSIE');
				var numeroVersaoNavegador = parseFloat(versaoNavegador.substr(versaoNavegadorId+5,3));
				//if (parseFloat(numeroVersaoNavegador) > 6.0){
					document.execCommand('SaveAs', true, PageName);
				//}
				
			} else {
				document.getElementById("iframeSalvarHTML").src = Path;	
			}
	//}	
}

//função criada para exibir icone de ferramentas dentro de uma div flutuante
function mostraIcone(img,url,div,hint, op)
{
    //criando o elemento image
    var objImg = new String("");
    var objDiv = document.getElementById(div);
    
    //configurando 
    if (op == 0)
		objImg = "<img height='16' width='16' hspace='3' style='cursor:hand' src='" + img + "' alt='"+ hint +"' onclick='window.location= \""+ url +"\"'>";
    else
		objImg = "<imgheight='16' width='16' hspace='3' style='cursor:hand' src='" + img + "' alt='"+ hint +"' onclick=\"" + url +"\">";	
    objDiv.innerHTML += objImg;

}

//funcao que posiciona uma div segundo outro elemento
function divXY(div, span, x, y, estado, opacidade)
{
    
    var objDiv = document.getElementById(div);
    var objSP = document.getElementById(span);
    objDiv.style.top = y;
    objDiv.style.left = x;
    objDiv.style.filter = "alpha(opacity=" + opacidade + ")";
    objDiv.style.opacity = parseFloat(opacidade/100);
    objDiv.style.display = estado;
    objSP.style.top = y;
    objSP.style.left = x;
    objSP.style.display = estado;
    fechaSetas();
}

//funcao que muda caminho da imagem
function trocaImagem(obj, img)
{
	var fn;
	var imgTemp = new String(img);
	var onclickTemp = new String(obj.onclick);
	obj.src = img;
	
	if(imgTemp.indexOf("seta_fecha") > -1){
		onclickTemp = onclickTemp.replace("block","none");
		onclickTemp = onclickTemp.replace("seta_fecha","seta_abre");
		onclickTemp = onclickTemp.replace("function anonymous()","");
		onclickTemp = onclickTemp.replace("function onclick(event)","");
		onclickTemp = onclickTemp.replace("{","");
		onclickTemp = onclickTemp.replace("}","");
		onclickTemp = onclickTemp.replace("strMenuGlobal = this.id","strMenuGlobal = ''");
		fn = new Function(onclickTemp);
		obj.onclick = fn;
	}
	else{
		onclickTemp = onclickTemp.replace("none","block");
		onclickTemp = onclickTemp.replace("seta_abre","seta_fecha");
		onclickTemp = onclickTemp.replace("function anonymous()","");
		onclickTemp = onclickTemp.replace("function onclick(event)","");
		onclickTemp = onclickTemp.replace("{","");
		onclickTemp = onclickTemp.replace("}","");
		onclickTemp = onclickTemp.replace("strMenuGlobal = ''","strMenuGlobal = this.id");
		fn = new Function(onclickTemp);
		obj.onclick = fn;
	}
}

// Seta variavel global.
var strMenuGlobal = "";

//funcao que fecha todas as setas da pagina
function fechaSetas(){
	var imgTemp, onclickTemp;
	if(strMenuGlobal != ""){
		var objMenuAberto = document.getElementById(strMenuGlobal);
		imgTemp = new String(objMenuAberto.src);
		onclickTemp = new String(objMenuAberto.onclick);
		if(imgTemp.indexOf("seta_fecha") > -1){
			objMenuAberto.src = "/academico/estilos/common/img/seta_abre.gif";
			
			onclickTemp = onclickTemp.replace("none","block");
			onclickTemp = onclickTemp.replace("seta_abre","seta_fecha");
			onclickTemp = onclickTemp.replace("function anonymous()","");
			onclickTemp = onclickTemp.replace("function onclick(event)","");
			onclickTemp = onclickTemp.replace("{","");
			onclickTemp = onclickTemp.replace("}","");
			onclickTemp = onclickTemp.replace("strMenuGlobal = ''","strMenuGlobal = this.id");
			
			fn = new Function(onclickTemp);
			objMenuAberto.onclick = fn;
		}
	}
}

function setaMarcada(objSeta){
	var urlTemp = "actMenu.asp?strSeta="+objSeta+"&intRand=" + Math.round(100*Math.random());
	request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...

		request = new XMLHttpRequest();
		if (request.overrideMimeType) request.overrideMimeType('text/html');

	} else if (window.ActiveXObject) { // IE

		try { request = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e) {
    		try { request = new ActiveXObject("Microsoft.XMLHTTP"); } 
    		catch (e) {}
		}
		
	}
	if (!request) 
	{
		alert('Não foi possível realizar a operação. Erro: 1.');
        return false;
    }
	request.open('GET', urlTemp, false);
	request.send(null);
}

//Por Patrick 23/06/2009
function fromSafeHTML(vString){

    //alert("vString:"+vString);
    //var sAux = new String(vString);
    var sAux = new String(vString);

	if (sAux != ""){
	
	    //while (sAux.indexOf("&lt;") > -1){
            sAux = sAux.replace(/&amp;/gi, "&"); //descomentado por Patrick
            sAux = sAux.replace(/&sect;/gi, "§")
        //}
        //sAux = sAux.replace(/&amp;/i, "&");
		//sAux = sAux.replace(/&apos;/i, "'");
		//while (sAux.indexOf("&lt;") > -1){
		    sAux = sAux.replace(/&lt;/gi, "<");
		//}
		//while (sAux.indexOf("&lt;") > -1){
		    sAux = sAux.replace(/&gt;/gi, ">");
		//}
		//sAux = sAux.replace(/"/, "&quot;");
    
//   sAux = sAux.replace("'", "&apos;");
//   sAux = sAux.replace("<", "&lt;");
//   sAux = sAux.replace(">", "&gt;");
//   sAux = sAux.replace("""", "&quot;");
        sAux = sAux.replace(/&quot;/gi, '"');
	    sAux = sAux.replace(/&deg;/gi, "°"); //simbolo de grau
        sAux = sAux.replace(/&ordm;/gi, "º");
        sAux = sAux.replace(/&ordf;/gi, "ª");        
        sAux = sAux.replace(/&iexcl;/gi, "¡");
        sAux = sAux.replace(/&sup2;/gi, "²");
        sAux = sAux.replace(/&sup3;/gi, "³");
        sAux = sAux.replace(/&curren;/gi, "¤");
        sAux = sAux.replace(/&frac14;/gi, "¼");
        sAux = sAux.replace(/&frac12;/gi, "½");
        sAux = sAux.replace(/&frac34;/gi, "¾");
        
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&ccedil;")!='-1'){
            sAux = sAux.replace(/&Ccedil;/gi, "ç");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&atilde;")!='-1'){
            sAux = sAux.replace(/&atilde;/gi, "ã");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&aacute;")!='-1'){
            sAux = sAux.replace(/&aacute;/gi, "á");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&eacute;")!='-1'){
            sAux = sAux.replace(/&eacute;/gi, "é");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&iacute;")!='-1'){
            sAux = sAux.replace(/&iacute;/gi, "í");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&oacute;")!='-1'){
            sAux = sAux.replace(/&oacute;/gi, "ó");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&uacute;")!='-1'){
            sAux = sAux.replace(/&uacute;/gi, "ú");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&otilde;")!='-1'){
            sAux = sAux.replace(/&otilde;/gi, "õ");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&ntilde;")!='-1'){
            sAux = sAux.replace(/&ntilde;/gi, "ñ");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&acirc;")!='-1'){
            sAux = sAux.replace(/&acirc;/gi, "â");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&ecirc;")!='-1'){
            sAux = sAux.replace(/&ecirc;/gi, "ê");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&icirc;")!='-1'){
            sAux = sAux.replace(/&icirc;/gi, "î");
        }
        //Verifica se caracter é minúsculo ou maiúsculo
        if(sAux.indexOf("&ocirc;")!='-1'){
            sAux = sAux.replace(/&ocirc;/gi, "ô");
        }
       
        sAux = sAux.replace(/&ucirc;/gi, "û");
        sAux = sAux.replace(/&agrave;/gi, "à");
        sAux = sAux.replace(/&egrave;/gi, "è");
        sAux = sAux.replace(/&igrave;/gi, "ì");
        sAux = sAux.replace(/&ograve;/gi, "ò");
        sAux = sAux.replace(/&ugrave;/gi, "ù");
        sAux = sAux.replace(/&auml;/gi, "ä");
        sAux = sAux.replace(/&euml;/gi, "ë");
        sAux = sAux.replace(/&iuml;/gi, "ï");
        sAux = sAux.replace(/&ouml;/gi, "ö");
        sAux = sAux.replace(/&uuml;/gi, "ü");

        sAux = sAux.replace(/&Aacute;/gi, "Á");
        sAux = sAux.replace(/&Eacute;/gi, "É");
        sAux = sAux.replace(/&Iacute;/gi, "Í");
        sAux = sAux.replace(/&Oacute;/gi, "Ó");
        sAux = sAux.replace(/&Uacute;/gi, "Ú");
        sAux = sAux.replace(/&Atilde;/gi, "Ã");
        sAux = sAux.replace(/&Otilde;/gi, "Õ");
        sAux = sAux.replace(/&Ntilde;/gi, "Ñ");
        sAux = sAux.replace(/&Acirc;/gi, "Â");
        sAux = sAux.replace(/&Ecirc;/gi, "Ê");
        sAux = sAux.replace(/&Icirc;/gi, "Î");
        sAux = sAux.replace(/&Ocirc;/gi, "Ô");
        sAux = sAux.replace(/&Ucirc;/gi, "Û");
        sAux = sAux.replace(/&Agrave;/gi, "À");
        sAux = sAux.replace(/&Egrave;/gi, "È");
        sAux = sAux.replace(/&Igrave;/gi, "Ì");
        sAux = sAux.replace(/&Ograve;/gi, "Ò");
        sAux = sAux.replace(/&Ugrave;/gi, "Ù");
        sAux = sAux.replace(/&Auml;/gi, "Ä");
        sAux = sAux.replace(/&Euml;/gi, "Ë");
        sAux = sAux.replace(/&Iuml;/gi, "Ï");
        sAux = sAux.replace(/&Ouml;/gi, "Ö");
        sAux = sAux.replace(/&Uuml;/gi, "Ü");
        sAux = sAux.replace(/&Ccedil;/gi, "Ç");

     //   sAux = sAux.replace(/¡/, "&iexcl;");
     //   sAux = sAux.replace(/²/, "&sup2;");
     //   sAux = sAux.replace(/³/, "&sup3;");
     //   sAux = sAux.replace(/¤/, "&curren;");
     //   sAux = sAux.replace(/¼/, "&frac14;");
     //   sAux = sAux.replace(/½/, "&frac12;");
     //   sAux = sAux.replace(/¾/, "&frac34;");
        sAux = sAux.replace(/&#8216;/gi, "‘");
     //   sAux = sAux.replace(/’/, "&#8217;");
     //   sAux = sAux.replace(/¥/, "&yen;");
     //   sAux = sAux.replace(/×/, "&times;");
     //   sAux = sAux.replace(/å/, "&aring;");
     //   sAux = sAux.replace(/®/, "&reg;");
     //   sAux = sAux.replace(/þ/, "&thorn;");
     //   sAux = sAux.replace(/«/, "&laquo;");
     //   sAux = sAux.replace(/»/, "&raquo;");
     //   sAux = sAux.replace(/ß/, "&szlig;");
     //   sAux = sAux.replace(/ð/, "&eth;");
     //   sAux = sAux.replace(/ø/, "&oslash;");
     //   sAux = sAux.replace(/¶/, "&para;");
        sAux = sAux.replace(/&acute;/gi, "´");
     //   sAux = sAux.replace(/æ/, "&aelig;");
     //   sAux = sAux.replace(/©/, "&copy;");
     //   sAux = sAux.replace(/µ/, "&micro;");
     //   sAux = sAux.replace(/¿/, "&iquest;");
	    // caracter muito semelhante - aspas simples
	 //   sAux = sAux.replace(/'/, "&#8216;");
	    sAux = sAux.replace(/&uml;/gi, "¨");
     //   sAux = sAux.replace(/š/, "&#353;");
     //   sAux = sAux.replace(/™/, "&#8482;");
     //   sAux = sAux.replace(/\\/, "");
        sAux = sAux.replace(/&sup2;/gi, "²");
        sAux = sAux.replace(/&sup3;/gi, "³");
        sAux = sAux.replace(/&not;/gi,"¬");
        sAux = sAux.replace(/&pound;/gi, "£");
		sAux = sAux.replace(/&cent;/gi, "¢");

     
	
	}
	//alert("sAux:"+sAux);
    return sAux;
}


function toSafeHTML(vString){

    var sAux = new String(vString);
    

	if (sAux != ""){
        
		sAux = sAux.replace(/&apos;/gi, "'");
		
		
        
        sAux = sAux.replace(/&/gi, "&amp;");
// '  sAux = sAux.replace("'", "&apos;");
// '  sAux = sAux.replace("<", "&lt;");
//'   sAux = sAux.replace(">", "&gt;");
//'   sAux = sAux.replace("""", "&quot;");
	    sAux = sAux.replace(/°/gi, "&deg;"); //simbolo de grau
        sAux = sAux.replace(/º/gi, "&ordm;");
        sAux = sAux.replace(/ª/gi, "&ordf;");
        sAux = sAux.replace(/á/gi, "&aacute;");
        sAux = sAux.replace(/é/gi, "&eacute;");
        sAux = sAux.replace(/í/gi, "&iacute;");
        sAux = sAux.replace(/ó/gi, "&oacute;");
        sAux = sAux.replace(/ú/gi, "&uacute;");
        sAux = sAux.replace(/ã/gi, "&atilde;");
        sAux = sAux.replace(/õ/gi, "&otilde;");
        sAux = sAux.replace(/ñ/gi, "&ntilde;");
        sAux = sAux.replace(/â/gi, "&acirc;");
        sAux = sAux.replace(/ê/gi, "&ecirc;");
        sAux = sAux.replace(/î/gi, "&icirc;");
        sAux = sAux.replace(/ô/gi, "&ocirc;");
        sAux = sAux.replace(/û/gi, "&ucirc;");
        sAux = sAux.replace(/à/gi, "&agrave;");
        sAux = sAux.replace(/è/gi, "&egrave;");
        sAux = sAux.replace(/ì/gi, "&igrave;");
        sAux = sAux.replace(/ò/gi, "&ograve;");
        sAux = sAux.replace(/ù/gi, "&ugrave;");
        sAux = sAux.replace(/ä/gi, "&auml;");
        sAux = sAux.replace(/ë/gi, "&euml;");
        sAux = sAux.replace(/ï/gi, "&iuml;");
        sAux = sAux.replace(/ö/gi, "&ouml;");
        sAux = sAux.replace(/ü/gi, "&uuml;");
        sAux = sAux.replace(/ç/gi, "&ccedil;");

        sAux = sAux.replace(/Á/gi, "&Aacute;");
        sAux = sAux.replace(/É/gi, "&Eacute;");
        sAux = sAux.replace(/Í/gi, "&Iacute;");
        sAux = sAux.replace(/Ó/gi, "&Oacute;");
        sAux = sAux.replace(/Ú/gi, "&Uacute;");
        sAux = sAux.replace(/Ã/gi, "&Atilde;");
        sAux = sAux.replace(/Õ/gi, "&Otilde;");
        sAux = sAux.replace(/Ñ/gi, "&Ntilde;");
        sAux = sAux.replace(/Â/gi, "&Acirc;");
        sAux = sAux.replace(/Ê/gi, "&Ecirc;");
        sAux = sAux.replace(/Î/gi, "&Icirc;");
        sAux = sAux.replace(/Ô/gi, "&Ocirc;");
        sAux = sAux.replace(/Û/gi, "&Ucirc;");
        sAux = sAux.replace(/À/gi, "&Agrave;");
        sAux = sAux.replace(/È/gi, "&Egrave;");
        sAux = sAux.replace(/Ì/gi, "&Igrave;");
        sAux = sAux.replace(/Ò/gi, "&Ograve;");
        sAux = sAux.replace(/Ù/gi, "&Ugrave;");
        sAux = sAux.replace(/Ä/gi, "&Auml;");
        sAux = sAux.replace(/Ë/gi, "&Euml;");
        sAux = sAux.replace(/Ï/gi, "&Iuml;");
        sAux = sAux.replace(/Ö/gi, "&Ouml;");
        sAux = sAux.replace(/Ü/gi, "&Uuml;");
        sAux = sAux.replace(/Ç/gi, "&Ccedil;");

        sAux = sAux.replace(/¡/gi, "&iexcl;");
        sAux = sAux.replace(/²/gi, "&sup2;");
        sAux = sAux.replace(/³/gi, "&sup3;");
        sAux = sAux.replace(/¤/gi, "&curren;");
        sAux = sAux.replace(/¼/gi, "&frac14;");
        sAux = sAux.replace(/½/gi, "&frac12;");
        sAux = sAux.replace(/¾/gi, "&frac34;");
        sAux = sAux.replace(/‘/gi, "&#8216;");
        sAux = sAux.replace(/’/gi, "&#8217;");
        sAux = sAux.replace(/¥/gi, "&yen;");
        sAux = sAux.replace(/×/gi, "&times;");
        sAux = sAux.replace(/å/gi, "&aring;");
        sAux = sAux.replace(/®/gi, "&reg;");
        sAux = sAux.replace(/þ/gi, "&thorn;");
        sAux = sAux.replace(/«/gi, "&laquo;");
        sAux = sAux.replace(/»/gi, "&raquo;");
        sAux = sAux.replace(/ß/gi, "&szlig;");
        sAux = sAux.replace(/ð/gi, "&eth;");
        sAux = sAux.replace(/ø/gi, "&oslash;");
        sAux = sAux.replace(/¶/gi, "&para;");
        sAux = sAux.replace(/´/gi, "&acute;");
        sAux = sAux.replace(/æ/gi, "&aelig;");
        sAux = sAux.replace(/©/gi, "&copy;");
        sAux = sAux.replace(/µ/gi, "&micro;");
        sAux = sAux.replace(/¿/gi, "&iquest;");
	    // caracter muito semelhante - aspas simples
	    sAux = sAux.replace(/'/gi, "&#8216;");
        sAux = sAux.replace(/š/gi, "&#353;");
        sAux = sAux.replace(/™/gi, "&#8482;");
        sAux = sAux.replace(/\\/gi, "");
        
        sAux = sAux.replace(/&amp;/i, "&");

        sAux = sAux.replace(/</gi, "&lt;");
		sAux = sAux.replace(/>/gi, "&gt;");
        sAux = sAux.replace(/§/gi, "&sect;");
        sAux = sAux.replace(/"/gi, "&quot;");	
	}
    return sAux;
}



function toSafeURLEncode(strValor)
{
	var url = new String(strValor);
	url = url.replace(/%/gim, "_P_O_R_");
	url = url.replace(/\+/gim, "_P_L_U_");
	url = url.replace(/&/gim, "_E_C_O_");
	url = url.replace(/!/gim, "_E_X_L_");
	url = url.replace(/,/gim, "_V_I_R_");
	url = url.replace(/;/gim, "_P_V_R_");
	url = url.replace(/\=/gim, "_I_G_U_");
	url = url.replace(/\?/gim, "_I_N_T_");
	url = url.replace(/#/gim, "_C_E_R_");
	url = url.replace(/~/gim, "_T_I_L_");
	url = url.replace(/"/gim, "_A_P_D_");
	url = url.replace(/'/gim, "_A_P_O_");
	url = url.replace(/\\/gim, "_B_A_R_");

	return url;
}
