is_ie6 = (navigator.userAgent.toLowerCase().indexOf("msie 6") != -1 ? true : false);
is_ie7 = (navigator.userAgent.toLowerCase().indexOf("msie 7") != -1 ? true : false);
is_ff =  (navigator.userAgent.toLowerCase().indexOf("firefox/2") != -1 ? true : false);

sfHover = function() {
	if(!document.getElementById("nav"))return;
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
			if(document.forms[0])document.forms[0].style.visibility = "hidden";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			if(document.forms[0])document.forms[0].style.visibility = "visible";
		}
	}
}
if (is_ie6 && window.attachEvent)window.attachEvent("onload", sfHover);
/**********************************************************************
*	O Código acima garante que o menu funcione no Internet Explorer 6 *
***********************************************************************/

function ajaxInit() {
	var req;
	try {
		req = new XMLHttpRequest();
	}catch(e) {
		try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(ex) {
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			}catch(exc) {
				alert("Esse navegador não pode executar funcionalidades que são esseciais para o bom funcionamento do site! \n Se possível, por favor utilize outro navegador.");
				req = null;
			}
		}
	}
	return req;
}

var ajax = ajaxInit();
function execAjax(method, url, params, func){
	if(ajax){		
		if(method == "GET"){
			ajax.open("GET", url+"?"+params, true);
			ajax.onreadystatechange = func;
			ajax.send(null);
		}else		
		if(method == "POST"){
			ajax.open("POST", url);
			ajax.setRequestHeader('Content-Type', "application/x-www-form-urlencoded; charset=UTF-8");
			ajax.setRequestHeader("Content-length", params.length);
			ajax.setRequestHeader("Connection", "close");
			ajax.send(params);
			ajax.onreadystatechange = func;
		}
	}
}

function comboAdd(comboId, texto, valor){
	combo = document.getElementById(comboId);
	opt = document.createElement('option');
	opt.text = texto;
	opt.value = valor;
	
	try{
		combo.add(opt, null);
	}catch(ex){
		combo.add(opt);
	}
}

function comboClear(comboId){
	combo = document.getElementById(comboId);
	while(combo.options.length > 0){
		combo.remove(combo.options.length - 1);
	}
}

/**********************************************************************
*	Inicia o objeto AJAX 											  *
***********************************************************************/

function convertHtml(txt){
	x = new Array();
	x["&Aacute;"] = "Á";	x["&aacute;"] = "á";	x["&Acirc;"] = "Â";
	x["&acirc;"] = "â";		x["&Agrave;"] = "À";	x["&agrave;"] = "à";
	x["&Atilde;"] = "Ã";	x["&atilde;"] = "ã";	x["&Ccedil;"] = "Ç";
	x["&ccedil;"] = "ç";	x["&Eacute;"] = "É";	x["&eacute;"] = "é";
	x["&Ecirc;"]  = "Ê";	x["&ecirc;"]  = "ê";	x["&Iacute;"] = "Í";
	x["&iacute;"] = "í";	x["&Oacute;"] = "Ó";	x["&oacute;"] = "ó";
	x["&Ocirc;"] = "Ô";		x["&ocirc;"] = "ô";		x["&Otilde;"] = "Õ";
	x["&otilde;"] = "õ";    x["&Uacute;"] = "Ú";	x["&uacute;"] = "ú";
	
	y = new Array("&Aacute;",	"&aacute;",	"&Acirc;", "&acirc;",	"&Agrave;",	"&agrave;", "&Atilde;",	
	"&atilde;",	"&Ccedil;", "&ccedil;",	"&Eacute;",	"&eacute;", "&Ecirc;",	"&ecirc;",	
	"&Iacute;", "&iacute;",	"&Oacute;",	"&oacute;", "&Ocirc;",	"&ocirc;",	"&Otilde;",
	"&otilde;", "&Uacute;", "&uacute;");
	
	for(var i=0; i< y.length; i++){
		while(txt.indexOf(y[i]) != -1){
			var regExp = new RegExp(y[i]); 
			txt = txt.replace(regExp, x[y[i]]);
		}
	}
	return txt;
}
function Trim(txt){
	return txt.replace(/(^\s*)|(\s*$)/g,'');
}

function validaCampos(){
	var labels = document.getElementById("cadastro").getElementsByTagName("label");
	for(var i=0; i<labels.length; i++){
		if(labels[i].className == "obrig"){
			var lbl = labels[i]
			var campo = document.getElementById(lbl.htmlFor);
			if(!campo.value.trim()){
				var campoNome = (lbl.firstChild.nodeType == 3 ? lbl.firstChild.nodeValue : "");
				campoNome = campoNome.replace(/:/, "");
				campo.focus();
				alert("O campo '"+campoNome+"' deve ser preenchido!");
				return false;
			}
		}
	}
	return true;
}

function validaSalvar(){
	if(validaCampos()){
		return true;
	}
	return false;
}

function validaExcluir(idCampoCod){
	if(!document.getElementById(idCampoCod).value.trim()){
		alert("Pesquise o Registro que deseja excluir!");
		return false;
	}else
	if(!confirm("Tem certeza que deseja excluir esse registro?")){
		return false;
	}else{
		return true;
	}
}

function turnAba(aba){
	$("div.abas li")	.removeClass("select");
	$(".dados")			.css("display", "none");
	$("li#li_"+aba)		.addClass("select");
	$("div#"+aba)		.css("display", "block");
}

function set_codPesq(cod){
	with(document.forms[0]){
		codPesquisa.value = cod;
		submit();
	}
}

function tableHover(table){
	if(!document.getElementById(table))return;
	var sfEls = document.getElementById(table).getElementsByTagName("tr");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" trHover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" trHover\\b"), "");
		}
	}
}

function ordenar(campo){
	with(document.forms[0]){
		if(orderBy.value.indexOf(campo) != -1){
			if(orderBy.value.indexOf("ASC") != -1){
				orderBy.value = campo+" DESC";
			}else{
				orderBy.value = campo+" ASC";
			}
		}else{
			orderBy.value = campo+" ASC";
		}
		document.getElementById("btnPesquisar").click();
	}
}

function hiddenTop(){
	if(document.getElementById("top").className == "topBlock"){
		document.getElementById("top").className = "topNone";
		document.getElementById("arrowDownUp").className = "arrowDown";
		var params = "f=1&n=N";
	}else{
		document.getElementById("top").className = "topBlock";
		document.getElementById("arrowDownUp").className = "arrowUp";
		var params = "f=1&n=S";
	}
	
	
	var url = "../js/ajax.php";
	function func(){
		if(ajax.readyState == 4 && ajax.status == 200){
			if(ajax.responseText == "false"){
				x = 1;
			}
		}
	}
	execAjax("GET", url, params, func);
}

/**********************************************************************
*	Funções de Pesquisa 											  *
***********************************************************************/
function liberaDesabilitados(){
	var form = document.forms[0];	
	for (var i=0; i<form.elements.length; i++){
		if(form.elements[i].disabled == true)
			form.elements[i].disabled = false;
	}
}
/* Funções de Mascara */
function mascara(o,f){
	v_obj= document.getElementById(o);
	v_fun=f;
	setTimeout("execmascara()",1);
}

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

function mmesAno(v){
	v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1/$2")    //Coloca barra entre o segundo e o terceiro digito
    return v
}

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

function mtelefone(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 mdata(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1/$2")    //Coloca barra entre o segundo e o terceiro digito
	v=v.replace(/(\d{2})(\d)/,"$1/$2")    //Coloca barra entre o quinto e o sexto digito
    return v
}
function mvalor(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/(\d)(\d{2})$/,"$1.$2")    //Coloca ponto antes dos 2 últimos digitos
    return v
}

function mvalor6(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/(\d)(\d{6})$/,"$1.$2")    //Coloca ponto antes dos 6 últimos digitos
    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 mcep(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 mcnpj(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
}
/* Funções de Mascara */


function validaData(id){
	var cp = document.getElementById(id);
	return cp.value.isDate();
} 

function showMsg(){
	showOverlay()
	
	$("#msg").css("top", ((window.innerHeight/2) - (parseInt($("#msg").css("height"))/1.3)));
	$("#msg").css("left", ((window.innerWidth/2) - (parseInt($("#msg").css("width"))/2)));	
	$("#msg").css("display", "block");

}

function hidMsg(){
	hidOverlay();
	$("#msg").css("display", "none");
}


function showModal(id){
	showOverlay();
	
	//Get the window height and width
	var winH = $(window).height()/2;
	var winW = $(window).width();
	
	var topX = winH/2-$(id).height()/2;
	if(topX < 10) topX = 10;
	
	$(id).css({top:  topX, 
			   left: winW/2-$(id).width()/2 ,
			   zIndex: "11"});

	$(id).fadeIn(1400); 
}


function showOverlay(){
	if(!document.getElementById("overlay")){
		$('<div id="overlay"></div>').insertBefore(document.body.firstChild);
	}
	
	$("#overlay").css({ backgroundColor:  "#000",
			  zIndex: "10",
			  width: "100%", 
			  height: "100%",
			  display: "none"
			});
	
	if(is_ie6){
		$("#overlay").css({position: "absolute", height: $(document).height()});
	}else{
		$("#overlay").css("position", "fixed");	
	}
	
	$("#overlay").fadeIn(600);	
	$("#overlay").fadeTo("slow",0.7);
	
	$("#overlay").click(function(e){
		$(this).fadeOut(500);
		$('.modal').hide();
	});
	
	$('.closeOverlay').click(function (e) {
		e.preventDefault();
		$("#overlay").fadeOut(500);
		$('.modal').hide();
	});		
}



Date.prototype.isUp = function(data){
	var data = data || new Date();
	
	if(typeof(data) == "string"){
		data = data.toDate();
	}else{
		data.setHours(0);
		data.setMinutes(0);
		data.setSeconds(0);
		data.setMilliseconds(0);
	}
	
	if(this > data){
		return true;
	}else{
		return false;
	}
}

Date.prototype.isDown = function(data){
	var data = data || new Date();

	if(typeof(data) == "string"){
		data = data.toDate();
	}else{
		data.setHours(0);
		data.setMinutes(0);
		data.setSeconds(0);
		data.setMilliseconds(0);
	}

	if(this < data){
		return true;
	}else{
		return false;
	}
}

String.prototype.toDate = function(){
	var dia = this.substr(0,2)
	var mes = this.substr(3,2)
	var ano = this.substr(6,4)
	date = new Date(ano, (mes-1), dia);
	
	return date;
}

String.prototype.isDate = function(){
	var bissexto = 0;
    var data = this;
    var tam = data.length;
    
	if (tam == 10){
        var dia = data.substr(0,2)
        var mes = data.substr(3,2)
        var ano = data.substr(6,4)
        if ((ano > 1900)&&(ano < 2100)){
			switch(mes){
				case '01':
				case '03':
				case '05':
				case '07':
				case '08':
				case '10':
				case '12':
					if (dia <= 31)return true; break;
			
				case '04':
				case '06':
				case '09':
				case '11':
					if (dia <= 30)return true;break;
					
				case '02':
					if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) bissexto = 1;
					if ((bissexto == 1) && (dia <= 29))return true;
					if ((bissexto != 1) && (dia <= 28))return true;
					break;
			}
		}
	}
    return false;
}


String.PAD_LEFT  = 0;
String.PAD_RIGHT = 1;
String.PAD_BOTH  = 2;

String.prototype.pad = function(size, pad, side) {
  var str = this, append = "", size = (size - str.length);
  var pad = ((pad != null) ? pad : " ");
  if ((typeof size != "number") || ((typeof pad != "string") || (pad == ""))) {
    throw new Error("Wrong parameters for String.pad() method.");
  }
  if (side == String.PAD_BOTH) {
    str = str.pad((Math.floor(size / 2) + str.length), pad, String.PAD_LEFT);
    return str.pad((Math.ceil(size / 2) + str.length), pad, String.PAD_RIGHT);
  }
  while ((size -= pad.length) > 0) {
    append += pad;
  }
  append += pad.substr(0, (size + pad.length));
  return ((side == String.PAD_LEFT) ? append.concat(str) : str.concat(append));
}

Number.prototype.format = function(d_len, d_pt, t_pt) {
	//format(int num_decimal_places, string dec_seperator, string thousands_seperator);
	var d_len = d_len || 0;
	var d_pt = d_pt || ".";
	var t_pt = t_pt || ",";
	if ((typeof d_len != "number")|| (typeof d_pt != "string")|| (typeof t_pt != "string")) {
		throw new Error("wrong parameters for method 'Number.format()'.");
	}
	var integer = "", decimal = "";
	var n = new String(this).split(/\./), i_len = n[0].length, i = 0;
	if (d_len > 0) {
		n[1] = (typeof n[1] != "undefined") ? n[1].substr(0, d_len) : "";
		decimal = d_pt.concat(n[1].pad(d_len, "0", String.PAD_RIGHT));
	}
	while (i_len > 0) {
		if ((++i % 3 == 1) && (i_len != n[0].length)) {
			integer = t_pt.concat(integer);
		}
		integer = n[0].substr(--i_len, 1).concat(integer);
	}
	return (integer + decimal);
}

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


function footer(){
    document.write('<div class="footer">');
    document.write('	<p>');
    document.write('        <a href="http://www.eou.com.br" target="_blank" class="eou">desenvolvido por e|ou</a>');
    document.write('        Copyright&copy; Todos os direitos reservados');
    document.write('    </p>');
    document.write('</div>');
}