var http = null;
var out = null;
var tag = null;
//recebera um elemento em verify requireds para foco após clicar em ok na mensagem de alerta
var elemento_em_foco = null;
//pega o estado atual do overflow da janela para reabilitar a barra de rolagem caso nescessario
var overflow = null;

//captura o endereço inteiro da barra de endereço do browser
var server = document.URL;

//separa o endereço pelas barras "/"
server = server.split("/");
//pega apenas o endereço (nome ou ip) do servidor

server = document.URL .replace(server[server.length-1], '');

var browser = '';

//***************************************************************************
//**************************  Codigo para ajax  *****************************

			//variável de controle de requisição ao engine do ajax
            var request = null;

			var xml = null;
			//garda o resultado de uma consulta ao banco
			var result = new Array();
			function ajax(){
				try {
					//ie 7 e >
					request = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (firefox_opera) {
					try {
					request = new XMLHttpRequest();
					} catch (othermicrosoft) {
						//ie6
						try {
							request = new ActiveXObject("Microsoft.XMLHTTP");
						} catch (failed) {
							request = false;
						}
					}
				}
				if (!request)
					alert("Erro durante a inicialização do XMLHttpRequest!");
			}



			function Query(option) {
				result = new Array();
				ajax();
				if (request != null){
					var url = server+'include/ajax.php?option='+option;
					//uso do ajax setando false para dizer que a operação é sincrona
					request.open('GET', url, false);
					request.send(false);
					update();
				}
			}
			function update() {
				if (request.readyState == 4) {
					try{
					if (request.status == 200) {
						xml = request.responseXML;
						var tag = xml.getElementsByTagName("result");
						var field = tag[0].getElementsByTagName("fields")[0].firstChild.nodeValue.split("|");
						//captura os dados do arquivo xml e coloca em um array
						for (i = 0; i < tag.length; i++){
							result[i] = new Array();

							for(j = 0; j < field.length; j++){
								result[i][field[j]] = tag[i].getElementsByTagName(field[j])[0].firstChild.nodeValue;
							}
						}

					} else
						alert("status is " + request.status);
					}catch(e){
						result = '';
					}
				}

				return true;
			}

			function retorno(tt){
				alert (tt[0]['codigo']);
			}

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

  if(navigator.appVersion.indexOf("MSIE")!= -1){
    var temp = navigator.appVersion.split("MSIE");
    var versao = parseFloat(temp[1]);
    browser = versao;
  }


//***************************************************************************
//*************************** função para abrir documento *******************/
try {
				xmlhttp = new XMLHttpRequest();
			} catch(ee) {
				try{
					xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
				} catch(e) {
					try{
						xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
					} catch(E) {
						xmlhttp = false;
					}
				}
			}

			function carrega(_idContainer, _endereco){
				xmlhttp.open('GET',_endereco,true);
				xmlhttp.onreadystatechange=function() {

					if (xmlhttp.readyState==4){
						retorno=xmlhttp.responseText;
						var tag_container = document.getElementById(_idContainer);
						tag_container.innerHTML=retorno;

					}
				}
				xmlhttp.send(null)
			}
//*************************** fim função para abrir documento *******************/

/*



function setTag(arg){
	tag = "<"+arg+">";
}

function getTag(){
	if (tag != null){
		return tag;
	}else{
		alert("Selecione a tag XML através da função setTag(tag)");
		return false;
	}

}

function setOut(arg){
	out = arg;
}

function getOut(){
	if (out != null){
		return out;
	}else{
		alert("Selecione o elemento de saï¿½da atravï¿½s da funï¿½ï¿½o setOut(out)");
		return false;
	}
}
*/

/**
 * Função que lista num combobox as unidades físicas, de acordo com o código da chamada do vestibular
 * @param chamada_vestibular.codigo <integer>
 * @param field <string> id do field de destino
 */
	function BuscaUnidades(chamada_vestibular, field){
		try{
			document.getElementById(field).length = 0;
			document.getElementById(field).options.add(new Option("", ""));
			Query("24|"+chamada_vestibular);
			for (i = 0; i < result.length; i++){
				document.getElementById(field).options.add(new Option(result[i]['descricao'], result[i]['codigo']));
			}
		} catch(e) {
			alert( 'Erro! "function BuscaUnidades(chamada_vestibular, field)" - functions.js' );
		}
	}

/**
 * Função que lista num combobox as chamadas do vestibular, de acordo com o código do vestibular passado como parâmetro
 * @param vestibular_interno.codigo <integer>
 * @param field <string> id do field de destino
 */
	function BuscaChamadas(vestibular_interno, field){
		try{
			document.getElementById(field).length = 0;
			document.getElementById(field).options.add(new Option("", ""));
			Query("23|"+vestibular_interno);
			for (i = 0; i < result.length; i++){
				document.getElementById(field).options.add(new Option(result[i]['numero'], result[i]['codigo']));
			}
		} catch(e) {
			alert( 'Erro! "function BuscaChamadas(vestibular_interno, field)" - functions.js' );
		}
	}

/**
 * Função que lista num combobox o nome dos cursos, de acordo com o código da unidade física passada como parâmetro
 * @param unidade.codigo <integer>
 * @param field <string> id do field de destino
 */
	function BuscaCursos(unidade, field){
		try{
			document.getElementById(field).length = 0;
			document.getElementById(field).options.add(new Option("", ""));
			Query("12|"+unidade);
			for (i = 0; i < result.length; i++){
				document.getElementById(field).options.add(new Option(result[i]['descricao'], result[i]['codigo']));
			}
		} catch(e) {
			alert( 'Erro! "function BuscaCursos(unidade, field)" - functions.js' );
		}
	}

/**
 * Função que lista num combobox o nome dos projetos, de acordo com o código da oferta_curso passada como parâmetro
 * @param oferta_curso.codigo <integer>
 * @param field <string> id do field de destino
 */
	function BuscaProjetos(oferta_curso, field){
		try{
			document.getElementById(field).length = 0;
			document.getElementById(field).options.add(new Option("", ""));
			Query("16|"+oferta_curso);
			for (i = 0; i < result.length; i++){
				document.getElementById(field).options.add(new Option(result[i]['descricao'], result[i]['codigo']));
			}
		} catch(e) {
			alert( 'Erro! "function BuscaProjetos(unidade, field)" - functions.js' );
		}
	}

/**
 * Função que lista num combobox o nome das ofertas_series (inclusive as optativas), de acordo com o código do projeto pedagogico passada como parâmetro
 * @param projeto_pedagogico.codigo <integer>
 * @param field <string> id do field de destino
 * @param calendario <integer> código do calendario acadêmico
 */
	function BuscaOfertaSerie(projeto_pedagogico, field, calendario, reingresso){
		try{
			document.getElementById(field).length = 0;
			document.getElementById(field).options.add(new Option("", ""));
			var reing = '';
			if(reingresso != undefined)
				reing = 'reingresso';
			if(calendario == undefined ){
				Query("15|"+projeto_pedagogico+"||"+reing);
				for (i = 0; i < result.length; i++){
					document.getElementById(field).options.add(new Option(result[i]['descricao'], result[i]['codigo']));
				}
			}else{
				Query("15|"+projeto_pedagogico+"|"+calendario+"|"+reing);
				for (i = 0; i < result.length; i++){
					document.getElementById(field).options.add(new Option(result[i]['descricao'], result[i]['codigo']));
				}
			}
		} catch(e) {
			alert( 'Erro! "function BuscaOfertaSerie(projeto_pedagogico, field)" - functions.js' );
		}
	}

/**
 *  Função que verifica se todos os fields que estão setados como requerido estão preenchidos
 *  Caso algum campo requerido não esteja preenchido uma alerta é exibido ao usuário e a operação de
 *  submit é cancelada
 *  @param <form> document.form dados de um formulário
 */
function VerifyRequireds(form, func){

	var elements = form.elements;
	var i;
	for (i = 0; i < elements.length; i++){
		if (elements[i].getAttribute("required") == "1"){
			document.getElementById(elements[i].getAttribute("id")).style.border = "1px solid #888888";
		}
	}
	for (i = 0; i < elements.length; i++){
		if (elements[i].getAttribute("required") == "1"){
			if (elements[i].type == "text" || elements[i].type == "textarea"){
				if (document.getElementById(elements[i].getAttribute("id")).value == ""){
					document.getElementById(elements[i].getAttribute("id")).style.border = "1px solid #FF0000";
					document.getElementById(elements[i].getAttribute("id")).focus();
					elemento_em_foco = document.getElementById(elements[i].getAttribute("id"));
					alert("O campo '"+elements[i].getAttribute("display")+"' deve ser preenchido!");

					return false;
				}
			}else if (elements[i].type == "select-one"){
				if (elements[i].selectedIndex == 0){
					document.getElementById(elements[i].getAttribute("id")).style.border = "1px solid #FF0000";
					document.getElementById(elements[i].getAttribute("id")).focus();
					elemento_em_foco = document.getElementById(elements[i].getAttribute("id"));
					alert("O campo '"+elements[i].getAttribute("display")+"' deve ser preenchido!");

					return false;
				}
			} else if (elements[i].type == "checkbox"){
				if (document.getElementById(elements[i].getAttribute("id")).checked == false){
					document.getElementById(elements[i].getAttribute("id")).style.border = "1px solid #FF0000";
					document.getElementById(elements[i].getAttribute("id")).focus();
					elemento_em_foco = document.getElementById(elements[i].getAttribute("id"));
					if ( elements[i].getAttribute("message") != undefined ){
						alert (elements[i].getAttribute("message"));
					} else {
						alert("O campo '"+elements[i].getAttribute("display")+"' deve ser preenchido!");
					}
					return false;
				}
			}else if (elements[i].type == "radio"){
				if (radios == undefined){
					var radios = new Array();
					var index = 0;
				}

				if(!in_array(elements[i].name, radios)){
					radios[index] = elements[i].name;
					index++;
					var result = false;
					for (j = 0; j < elements.length; j++){
						if (elements[j].name == radios[index-1] && elements[j].type == "radio" && elements[j].checked == true){
							result = true;
						}
					}
					if (!result){
						document.getElementById(elements[i].getAttribute("id")).style.border = "1px solid #FF0000";
						document.getElementById(elements[i].getAttribute("id")).focus();
						elemento_em_foco = document.getElementById(elements[i].getAttribute("id"));
						alert("O campo '"+elements[i].getAttribute("display")+"' deve ser preenchido!");
						return result;
					}

				}
			}
		}
	}

	if (confirm_cadastro != undefined){
		CustomConfirm('ATENÇÃO: Este formulário só pode ser solicitado uma única vez. Confira todos os seus dados com atenção. Tem certeza que todos os dados estão corretos?', true);
		return false;
	}

	return true;
}


function in_array(element, array){
	var result = false;
	for (i = 0; i < array.length; i++){
		if (element == array[i])
			result = true;
	}
	return result;
}

/**
 *Função que marca e desmarca todos os checkbox existentes no formulario
 *@param <check> elemento check que marca e desmarca todos os outros checks
 *@param <formId> id do formulário onde estão os checks
 */
function CheckAll(check, formId){
	var elements = document.getElementById(formId).elements;
	var checkAll = check.checked;
	if (checkAll == true){
		for (i = 0; i < elements.length; i++){
			if (elements[i].type == "checkbox"){
				elements[i].checked = true;
			}
		}
	}else{
		for (i = 0; i < elements.length; i++){
			if (elements[i].type == "checkbox"){
				elements[i].checked = false;
			}
		}
	}
}

/**
 * Função que lista  num combobox o nome de séies e o codigo da oferta série
 * @param projeto <string> codigo do projeto pedagogico
 * @param end <integer>  id do combobox de destino
 */
	function BuscaSeries(projeto, end){
		try{
		document.getElementById(end).length = 0;
			document.getElementById(end).options.add(new Option("", ""));
			Query("0|"+projeto);
			for (i = 0; i < result.length; i++){
				document.getElementById(end).options.add(new Option(result[i]['nome_serie'], result[i]['oferta_serie']));
			}
		}catch(e){

		}
	}

/**
 * Captura a posição de um elemento na tela
 **/
function getPosicaoElemento(elemID){
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}



/**
 * Preenche os ampos de um formulário automaticamente caso a condição da sql seja satisfatória
 * @param identification = id do field onde o usuário esta digitando ou selecionadno algo
 * @param list = codigo do script sql a ser usado
 **/
function Preencher(identification, list){
	try{
		setTimeout("executar_preenchimento('"+identification+"',"+list+", 0)",2)
	}catch(e){
		alert ('opa');
	}
}
function executar_preenchimento(id, index){
		var value = document.getElementById(id);
		var elements = document.event_form.elements;

				if(value.value.length == 14){

				Query(index+"|"+value.value);

				if (result.length == 0){
					list_ajax.style.display = 'none';
				}

				if (result.length == 1){
					list_ajax.style.display = 'none';
					for (i = 0; i < elements.length; i++){
						document.event_form.event.value = 'editar';
						var edit = elements[i].getAttribute("edit");
						if (elements[i].type == 'text'){
							for(j = 0; j < result.length; j++){
								try{
									var value = result[j][elements[i].id];
									elements[i].value = value;
								}catch(ex){

								}
							}
						}
						if (elements[i].type == 'select-one'){
							for(j = 0; j < result.length; j++){
								//showany(elements[i]);

								try{
									var value = result[j][elements[i].id];
									var option = elements[i].options;
									for (k = 0; k < option.length; k++){
										if (option[k].value == value){
											elements[i].selectedIndex = option[k].index;
										}
									}
									//showany(elements[i].options);
									//
								}catch(ex){

								}
							}
						}
						if (elements[i].type == 'radio'){
							for(j = 0; j < result.length; j++){
								try{
									var value = result[j][elements[i].id];
									if (elements[i].value == value){
										elements[i].checked = true;
									}
								}catch(ex){

								}
							}
						}
						if (edit == 'false'){
							elements[i].readOnly = 'yes';
							elements[i].contentEditable = true;
						}
					}
				//apaga os valores de todos os fields
				}else {

				for (i = 0; i < elements.length; i++){
						if (elements[i].type == 'text'){
							try{
								if (elements[i].id != id)
									elements[i].value = '';
							}catch(ex){

							}
						}
						if (elements[i].type == 'select-one'){
							try{
								if (elements[i].id != id)
									elements[i].selectedIndex = 0;
							}catch(ex){

							}
						}
						if (elements[i].type == 'radio'){
							try{
								if (elements[i].id != id)
									elements[i].checked = false;
							}catch(ex){

							}
						}

					}
			}
				}else {
					document.event_form.event.value = 'cadastar';
					for (i = 0; i < elements.length; i++){
						if (elements[i].id != id){
							if (edit == 'false'){
								elements[i].readOnly = 'no';
								elements[i].contentEditable = false;
							}
							if (elements[i].type == 'text'){
								try{
									if (elements[i].id != id)
										elements[i].value = '';
								}catch(ex){

								}
							}
							if (elements[i].type == 'select-one'){
								try{
									if (elements[i].id != id)
										elements[i].selectedIndex = 0;
								}catch(ex){

								}
							}
							if (elements[i].type == 'radio'){
								try{
									if (elements[i].id != id)
										elements[i].checked = false;
								}catch(ex){

								}
							}
						}

					}
				}
			}
			//apaga os valores de todos os fields






//*********************************************************************************************************
/** Função copiada e adaptada
*
* Javascript Tooltip
*
* @author Rogerio Alencar Lino Filho
* @url http://rogeriolino.wordpress.com
*
*/
/* Configuracao */
var id = "minhaTooltip";
var background = "#FFFFDC";
var border = "1px solid #999999";
var display = "none";
var font = "10pt, Verdana";
var color = "#000000";
var marginX = 15; //distancia do mouse em x
var marginY = 15; //distancia do mouse em y
var opacity = 90; // 0 a 100
var padding = "2px 5px";
var position = "absolute";
var width = "250px";
var _x = -10;
var _y = -10;
//
function setPosition(event) {
	if (document.all) {//Captura a poso do mouse para o navegador IE
		_x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		_y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		_x += (window.event.clientX+marginX);
		_y += (window.event.clientY+marginY);
	} else {//Captura a posição do mouse para outros navegadores
		_x = (event.pageX+marginX);
		_y = (event.pageY+marginY);
	}
}
//
function showTip(text) {
	if(text != undefined){
		var t = document.getElementById("hint");
		t.style.display = "block";
		document.onmousemove = function(event) {
			setPosition(event);
			t.innerHTML = text;
			t.style.left = _x+"px";
			t.style.top = _y+"px";
		}
	}
}
//
function hideTip() {
	try{
		var t = document.getElementById("hint").style;
		t.display = "none";
	}catch(e){

	}
}
//
function tooltip() {
    var body = document.getElementsByTagName("body");
	body = body[0];
	if (document.getElementById("hint") == null){
		try{
			var hin = document.createElement('div');
			var before = document.getElementsByTagName("h1");
			hin.id = "hint";
			document.body.insertBefore(hin, before[0]);
		}catch(e){

		}
	}


	var links = document.getElementsByTagName("span");
	for (i=0; i<links.length; i++) {
		var title = links[i].getAttribute("title");
			if (title) {
				links[i].setAttribute("tptitle", title);
				links[i].removeAttribute("title");
				links[i].onmouseover = function() { showTip(this.getAttribute("tptitle")+"<br />"); }
			} else {
				links[i].onmouseover = function() { showTip(this.href); }
			}
			links[i].onmouseout = function() { hideTip(); }
	}
}

window.onload = function onload(event) {
    try{
		tooltip();
		window.top.ResizeFrame();
	}catch(e){
		
	}


}

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


//*********************************************************************************************************
//	Mascaras para fields
var v_obj;
var v_fun;
function mascara(o,f){
    v_obj=o
    v_fun=f
	if(f == mcpf){
		o.maxLength = 14;
	}
	if(f == data){
		o.maxLength = 10;
	}
	if(f == hora){
		o.maxLength = 5;
	}
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function leech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

function numerico(v){
    return v.replace(/\D/g,"")
}

function telefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function mcpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function telefone(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{0})(\d)/,"$1($2")       //Coloca um parenteses na primerira posição do campo
	v=v.replace(/(\d{2})(\d)/,"$1)$2")       //Coloca um parenteses na terceira posição do campo
    v=v.replace(/(\d{4})(\d)/,"$1-$2")       //Coloca um parenteses na oitava posição do campo

    return v
}

function cep(v){
    v=v.replace(/\D/g,"")                //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}

function cnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}

function data(v){
	v=v.replace(/\D/g,"")
	v=v.replace(/(\d{2})(\d)/,"$1/$2")
	v=v.replace(/(\d{2})(\d)/,"$1/$2")
	return v
}

/*Função que padroniza valor monétario*/
function moeda(v){
    v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
    v=v.replace(/^([0-9]{3}\.?){3}-[0-9]{2}$/,"$1,$2");
    //v=v.replace(/(\d{3})(\d)/g,"$1,$2")
    v=v.replace(/(\d)(\d{2})$/,"$1,$2") //Coloca ponto antes dos 2 últimos digitos
    return v
}

function hora(v){
	v=v.replace(/\D/g,"")
	v=v.replace(/(\d{2})(\d)/,"$1:$2")
	return v
}

function alphanum(v){
	v=v.replace(/\W/g,"")				//Remove tudo o que não é dígito ou letra
	return v
}

function email(v){
	v=v.replace(/[^\w\-@\.]/g,"")		//Remove tudo o que não é dígito, letra, ponto, hífen, underline e arroba.
	return v
}

/**
 * Exibe todos os atributos do anyjob
 */
function showany(anyobj) {        // display properties of an instance   or object
     for( var iter in anyobj ){     // iterate over all properties
          document.write("<BR>Property " + iter + " is " +  anyobj[iter]);
     }
     document.write("<BR>");
}


/**
 *
 */

function setEnabled(id, enable){
    if(enable)
        enable = false;
    else
        enable = true;
    var element = document.getElementById(id);
    element.disabled = enable;
}

/**
 * Função que define a propriedade readOnly(somente leitura) do field
 *
 */

function setReadOnly(id){
    var element = document.getElementById(id);
		element.readOnly = "yes";
		//element.contentEditable = true;
}

/**
 *função que define se um campo é requerido ou não
 */
function setRequired(id, value){
	var element = document.getElementById(id);
	if(value)
		element.setAttribute('required', '1');
	else
		element.setAttribute('required', '0');
}

/**
 * Função que lista  num combobox o curso/projeto/turno de da unidade selecionada
 * @param unidade <integer> codigo do da unidade
 * @param end <integer>  id do combobox de destino
 */
	function BuscaProjetosPorUnidade(unidade, end){
		document.getElementById(end).length = 0;
		document.getElementById(end).options.add(new Option("", ""));
		Query("3|"+unidade);
		for (i = 0; i < result.length; i++){
			document.getElementById(end).options.add(new Option(result[i]['curso'], result[i]['codigo']));
		}
	}

/*
	function alerta(msg){
		var body = null;
		var documento = null;
		var y = null;
		var wy = null;
		//alert(documento.getElementsByName('body').style.height);
		documento = parent.document;
		body = documento.getElementById('body_principal');
		/**
		 * body será null se o usuario não estiver trabalhando na area de trabalho normal,
		 * ou seja, se ele estiver trabalhando em abas

		if(body == null){
			body = documento.getElementById('body_uc');
		}
		wy = parent.window.scrollY;
		var malert = documento.getElementById('malert');
		var message = documento.getElementById('msg');
		var btn_ok = documento.getElementById('btn_ok');
		malert.style.width = window.outerWidth;
		malert.style.height = window.outerHeight;
		message.innerHTML = '<h3 class="alert">Atenï¿½ï¿½o!</h3>';
		message.innerHTML += '<p class="text">'+msg+'</p>';
		message.appendChild(btn_ok);
		malert.style.display = 'block';
		message.style.display = 'block';
		y = message.style.top;
		y = y.substring(0, y.length-2);
		malert.style.top = wy+"px";
		message.style.top = 120;
		overflow = body.style.overflow;
		body.style.overflow = 'hidden';
		parent.document.getElementById("closeAlert").focus();
		//parent.window.scrollTo(0, 0);
	}
*/
	function closeMessage(){
		var malert = document.getElementById('malert');
		var message = document.getElementById('msg');
		var body = null;
		body = parent.document.getElementById('body_principal');
		if(body == null){
			body = parent.document.getElementById('body_uc');
		}
		malert.style.display = 'none';
		message.style.display = 'none';
		body.style.overflow = 'hidden';
		body.style.overflow = overflow;
		elemento_em_foco.focus();
		elemento_em_foco = null;
	}


		/**
	 * Redireciona o usuário para outra url
	 * @param url = destino do redirecionamento
	 * @param time = Tempo em segundos que vai demorar o redirecionamento
	 */
	function redirect(url, time){
		time = time*1000;
		var page = document.getElementById('body_uc');
		page.innerHTML += '<br><br><center>Aguarde, Redirecionando...</center>'
		setTimeout("window.location.href='"+url+"'", time);
	}


/**
 * Função que lista  num combobox o nome de cidades de um determinado estado
 * @param estado <integer> codigo do estado
 * @param end <string>  id do combobox de destino
 * utilizado no svu - sistema de vestibular da uems
 */
	function BuscaCidades(estado, end){
		try{
		document.getElementById(end).length = 0;
			document.getElementById(end).options.add(new Option("", ""));
			Query("6|"+estado);
			for (i = 0; i < result.length; i++){
				document.getElementById(end).options.add(new Option(result[i]['nome_cidade'], result[i]['codigo']));
			}
		}catch(e){

		}
	}

/**
 * Função que lista  num combobox o nome de cidades de um determinado estado
 * @param estado <integer> codigo do estado
 * @param end <string>  id do combobox de destino
 * utilizado no sau - sistema academico - dcu129
 */
	function BuscaCidade(estado, end){
		try{
		document.getElementById(end).length = 0;
			document.getElementById(end).options.add(new Option("", ""));
			Query("7|"+estado);
			for (i = 0; i < result.length; i++){
				document.getElementById(end).options.add(new Option(result[i]['nome'], result[i]['codigo']));
			}
		}catch(e){

		}
	}

/**
 * Função que lista  num combobox o nome de cidades de um determinado estado
 * @param estado <integer> codigo do estado
 * @param end <string>  id do combobox de destino
 * utilizado no sau - sistema academico - dcu129
 */
	function BuscaInstituicao(cidade, end){
		try{
		document.getElementById(end).length = 0;
			document.getElementById(end).options.add(new Option("", ""));
			Query("22|"+cidade);
			for (i = 0; i < result.length; i++){
				document.getElementById(end).options.add(new Option(result[i]['nome'], result[i]['codigo']));
			}
		}catch(e){

		}
	}


/**
 *  Sobrescrevendo a função alert
 */
var ALERT_TITLE = "Atenção!";
var ALERT_BUTTON_TEXT = "Ok";



if(document.getElementById && browser != 6) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}

function createCustomAlert(txt) {
	d = document;

	if(d.getElementById("modalContainer")) return;

	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	mObj.style.height = d.documentElement.scrollHeight + "px";

	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
	alertObj.style.visiblity="visible";

	h1 = alertObj.appendChild(d.createElement("h1"));
	h1.appendChild(d.createTextNode(ALERT_TITLE));

	msgs = alertObj.appendChild(d.createElement("p"));
	//msg.appendChild(d.createTextNode(txt));
	msgs.innerHTML = txt;

	btn = alertObj.appendChild(d.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
	btn.href = "#";
	btn.focus();
	btn.onclick = function() { removeCustomAlert();return false; }
	alertObj.style.display = "block";

}

function removeCustomAlert() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
	if(elemento_em_foco != null){
		elemento_em_foco.focus();
	}
}







var CONFIRM_TITLE = "Atenção!";
var CONFIRM_YES = "Sim";
var CONFIRM_NO = "Não";


function CustomConfirm(txt, next) {
	if(document.getElementById && browser != 6) {
		d = document;
		if(d.getElementById("modalContainer")) return;

		mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
		mObj.id = "modalContainer";
		mObj.style.height = d.documentElement.scrollHeight + "px";

		alertObj = mObj.appendChild(d.createElement("div"));
		alertObj.id = "alertBox";
		if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
		alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
		alertObj.style.visiblity="visible";

		h1 = alertObj.appendChild(d.createElement("h1"));
		h1.appendChild(d.createTextNode(ALERT_TITLE));

		msgs = alertObj.appendChild(d.createElement("p"));
		//msg.appendChild(d.createTextNode(txt));
		msgs.innerHTML = txt;

	//Botão  Não
		btnN = alertObj.appendChild(d.createElement("a"));
		btnN.id = "closeBtn";
		btnN.appendChild(d.createTextNode(CONFIRM_NO));
		btnN.href = "#";
		btnN.focus();
		btnN.onclick = function() { removeCustomAlert(); return false; }
		alertObj.style.display = "block";
	//Botão Sim
		btnY = alertObj.appendChild(d.createElement("a"));
		btnY.id = "closeBtn";
		btnY.appendChild(d.createTextNode(CONFIRM_YES));
		btnY.href = "#";
		btnY.focus();
		if(next != false)
			btnY.onclick = function() { removeCustomAlert(); certeza(); return false; }
		else
			btnY.onclick = function() { removeCustomAlert(); submit_event_form(); return false; }
	}else{
		var confirma = confirm(txt);
		if(confirma == true){
			if(next){
				certeza();
			}else{
				submit_event_form()
			}
		}else {
			return false;
		}
		return true;
	}

}

function certeza(){
	CustomConfirm('Tem certeza absoluta que todos os dados estão corretos?', false)
}

function submit_event_form(){
	confirm_cadastro = undefined;
	document.event_form.submit();
}

function removeCustomConfirm() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}

function OpenMenu(open_dcu, open_event, new_input, value){
	try{
		document.form_event.event.value = open_event;
		if(new_input != undefined){
			var input = document.createElement('input');
			input.type = 'hidden';
			input.name = new_input;
			input.value = value;

			input_menu = document.createElement('input');
			input_menu.type = 'hidden';
			input_menu.name = 'ativo';
			input_menu.value = open_dcu;

			document.form_event.appendChild(input);
			document.form_event.appendChild(input_menu);

		}
		document.form_event.action = open_dcu;
		document.form_event.submit();
	}catch(e){
		document.header.event.value = open_event;
		if(new_input != undefined){
			var input = document.createElement('input');
			input.type = 'hidden';
			input.name = new_input;
			input.value = value;

			input_menu = document.createElement('input');
			input_menu.type = 'hidden';
			input_menu.name = 'ativo';
			input_menu.value = open_dcu;

			document.header.appendChild(input);
			document.header.appendChild(input_menu);
		}
		document.header.action = open_dcu;
		document.header.submit();
	}
}



	function isEmail(id){

		value = document.getElementById(id).value;
		value = value.toLowerCase();
		if (value.indexOf('@') < 1 ){
			alert(value+' não é um e-mail válido!');
		}

		if (value.indexOf('.com') < 1 && value.indexOf('.br') < 1){
			alert(value+' não é um e-mail válido!');
		}

		return true;
	}

	//desabilita menu de opções após clicar no botão direito
	function desabilitaMenu(e){
		if (window.Event){
			if (e.which == 2 || e.which == 3)
			return false;
		}
		else {
			event.cancelBubble = true
			event.returnValue = false;
			return false;
		}
	}

	//desabilita botão direito
	function desabilitaBotaoDireito(e){
		if (window.Event){
			if (e.which == 2 || e.which == 3)
				return false;
		} else
			if (event.button == 2 || event.button == 3) {
				event.cancelBubble = true
				event.returnValue = false;
				return false;
			}
	}

    function desabilitaTeclado(){
      alert("Teclado Desabilitado!");
      return false;
    }

    function disableSelection(target){//desabilita seleção
		if (typeof target.onselectstart!="undefined") //IE route
			target.onselectstart=function(){return false}
		else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
			target.style.MozUserSelect="none"
		else //(ie: Opera)
			target.onmousedown=function(){return false}
			target.style.cursor = "default"
	}

    //função que mostra hint
    function showHint(campo){
        if (campo.type == "select-one"){
            campo.title = campo.options[campo.selectedIndex].text;
        } else if (campo.type == "text"){
            campo.title = "Implementar";
        } else if (campo.type == "radio"){
           campo.title = "Implementar";
        }
    }

    function somenteNumero(e){
        var tecla=(window.event)?event.keyCode:e.which;
        if((tecla == 0) || (tecla > 47 && tecla < 58))
            return true;
        else{
            if (tecla != 8)
                return false;
        else
            return true;
        }
    }
	//funcao para detectar campo vazio

	function isEmpty(pStrText){
	   var   len = pStrText.length;
	   var pos;
	   var vStrnewtext = "";

		  for (pos=0; pos<len; pos++){
		     if (pStrText.substring(pos, (pos+1)) != " "){
		       vStrnewtext = vStrnewtext + pStrText.substring(pos, (pos+1));
		     }
		  }
		 if (vStrnewtext.length > 0)
		   return false;
		 else
		   return true;
		}

		function checkForm(){

		if(isEmpty(document.login.SendMatricula.value)){
		  alert("Por favor preencha sua matrícula");
		  document.login.SendMatricula.focus();
		  return false;
		}
		return true;
		}
