var BROWSER_VERSION = 0;
var BROWSER_NAME = "";
var nBody, nWindow;
var tmScrollSplash = null;

nWindow = window;

nBody = nWindow.document.getElementsByTagName('body')[0];

if (navigator.userAgent.indexOf("Firefox") != -1){
	var versionindex=navigator.userAgent.indexOf("Firefox") + 8;
	BROWSER_VERSION = parseInt(navigator.userAgent.charAt(versionindex));
	BROWSER_NAME = "Firefox";
//}else if (navigator.appVersion.indexOf("MSIE")!=-1){
}else{
	temp = navigator.appVersion.split("MSIE")
	BROWSER_VERSION = parseFloat(temp[1]);
	BROWSER_NAME = "IE";
}

function AJAX(){}

AJAX.prototype.OnData				= null;
AJAX.prototype.Response				= '';
AJAX.prototype.URL					= '';
AJAX.prototype.StatusCod			= '';
AJAX.prototype.StatusText			= '';
AJAX.prototype.XMLHttp				= '';
AJAX.prototype.Ocupado				= false;
AJAX.prototype.OnError = function(){
	with (this){
		alert("Erro! \nCódigo: " + StatusCod + "\nDescrição: '" + StatusText + "'\nPágina: '" + URL + "'");
	}
};

AJAX.prototype.Load = function(strPagina){
	with (this){
		URL = strPagina;
		XMLHttp = novo_xmlhttp();
		XMLHttp.open("get", URL, true);
		Ocupado = true;

		XMLHttp.onreadystatechange = function(){
			with (this){
				if (XMLHttp.readyState != 4)
					return;

				StatusCod = XMLHttp.status;
				StatusText = XMLHttp.statusText;
				Response = XMLHttp.responseText;

				if (StatusCod != 200){
					OnError();
					return;
				}
				
				if (OnData)
					OnData();

				Ocupado = false;
			}
		};

		XMLHttp.send(null);
	}
}

function replaceChar(strSrc,charAntigo,charNovo)  {
	retorno = "";

	if (strSrc.indexOf(charAntigo) != -1)
	{
		arrDados = strSrc.split(charAntigo)
		for (i=0;i<arrDados.length -1 ;i++ )
		{
			retorno += arrDados[i] + charNovo;
		}
		retorno += arrDados[arrDados.length -1 ]
	}
	else {
		retorno = strSrc;
	}
	return retorno 
}

function LIMP2(c){
	if (c == ""){return ("");}
	while((cx=c.indexOf("-"))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("/"))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(","))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("."))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf("("))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(")"))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	while((cx=c.indexOf(" "))!=-1)
	{
	c = c.substring(0,cx)+c.substring(cx+1);
	}
	return(c);
}


function getPageSizeWithScroll(){
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY;
		xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (nBody.scrollHeight > nBody.offsetHeight){ // all but Explorer Mac
		yWithScroll = nBody.scrollHeight;
		xWithScroll = nBody.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = nBody.offsetHeight;
		xWithScroll = nBody.offsetWidth;
  	}

	arrayPageSizeWithScroll = new Array(xWithScroll, yWithScroll);

	return arrayPageSizeWithScroll;
}

function numfloat(number){
	var num = number + '';
	var virg = num.lastIndexOf(',');
	var pont = num.lastIndexOf('.');

	var lt = -1;

	if (virg > pont)
		lt = virg;
	else
		lt = pont;

	if (lt < 0)
		return 0;

	var txt = '';
	for (x = 0; x < (num+'').length; x++){
		if (!masc_isnumber(num.charAt(x)) && x != lt)
			continue;
		else if (x == lt)
			txt += '.';
		else
			txt += num.charAt(x);
	}

	return txt * 1;
}

function numround(num, fix){
	if (!num)
		return 0;

	num = (num+'').replace(',', '.');
	num *= 1;

	if (!fix)
		fix = 2;

	return (num.toFixed(fix)+'').replace('.', ',');
}

function onlyNums(campo){
	var x;
	var nums = "1234567890", buf = "", charac;
	var texto;

	if (!campo || !campo.tagName)
		campo = this;

	if (!campo || !campo.value)
		return;
	
	texto = campo.value

	for (x = 0; x < texto.length; x++)	{
		charac = texto.charAt(x);
		if (nums.indexOf(charac) >= 0)
			buf = buf + charac;
	}
	
	campo.value = buf;
}

function arrAdd(sel, td, arr){
	this.strSel = sel;
	this.strTd = td;
	this.arr = arr;
}


function AbreJanela(strURL, strTamanho){ 
	if (strTamanho=='')
		strTamanho = 'width=600,height=400,left=50,top=50';

	window.open(strURL,'N','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,'+strTamanho);
}

function VerificarCPF(str){
	var i;

	s = DBInteger(str);

	if (!str){
		return false;
	}

	var c  = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	var v  = false;

	for (i = 0; i < 9; i++)
		d1 += c.charAt(i)*(10-i);

	if (d1 == 0){
		v = true;
		return false;
	}

	d1 = 11 - (d1 % 11);

	if (d1 > 9) 
		d1 = 0;

	if (dv.charAt(0) != d1){
		v = true;
		return false;
	}

	d1 *= 2;

	for (i = 0; i < 9; i++)
		d1 += c.charAt(i)*(11-i);

	d1 = 11 - (d1 % 11);

	if (d1 > 9) 
		d1 = 0;

	if (dv.charAt(1) != d1) 	{
		v = true;
		return false;
	}

	return true;
}

function verificarCNPJ(CNPJ) {
	 var erro = 0;
	if( isNaN( CNPJ ) )erro++;
	if (CNPJ.length < 13) erro++;
	if (CNPJ.length == 0) erro ++;

   var a = [];
   var b = new Number;
   var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
   
   for (i=0; i<12; i++){
		   a[i] = CNPJ.charAt(i);
		   b += a[i] * c[i+1];
	}
	   if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	   b = 0;
	   for (y=0; y<13; y++) {
			  b += (a[y] * c[y]);
	   }
	   if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	   if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
			   erro++;
	   }
	   
	   if (erro > 0){
			   return false;
	   } else {
			   return true;
	   }
}
function IS_SET(flag, bit){
	if (!flag)
		return 0;

	return (flag & bit);
}

/******** Sistema de máscara para inputs de Joe \o/ *********/

function masc_isletter(letra){
	var tot_letras = "ABCDEFGHIJKLMNOPQRSTUVXWYZ_";

	if (tot_letras.indexOf(letra.toUpperCase()) >= 0)
		return 1;
	else
		return 0;
}

function masc_isnumber(letra){
	var tot_nums = "1234567890";

	if (tot_nums.indexOf(letra) >= 0)
		return 1;
	else
		return 0;
}

function masc_veriLetra(formato, r, y, x, opcoes){
	var ret = '';

	if ((x < 0 || y < 0) && !IS_SET(opcoes, MASC_NAOCONTRARIO))
		return '';
	else if ((x >= r.length || y >= formato.length) && IS_SET(opcoes, MASC_NAOCONTRARIO))
		return '';

	var l = r.charAt(x);
	var lfor = formato.charAt(y);

	switch (lfor){
	case '*':
		if (l == ',' || masc_isletter(l) || masc_isnumber(l))
			return l;
		break;
	case '%':
		if (l == ',' || masc_isnumber(l))
			return l;
		break;
	case '#':
		if (masc_isnumber(l))
			return l;
		break;
	case '&':
		if (masc_isnumber(l))
			return l;
		break;
	default:
		if (IS_SET(opcoes, MASC_NAOCONTRARIO)){
			y++;
			return lfor + masc_veriLetra(formato, r, y, x, opcoes);
		}else{
			y--;
			return masc_veriLetra(formato, r, y, x, opcoes) + lfor;
		}
	}

	return ret;
}
// Formato = #0A$, ex: '(##) ####-####' ou 'R$ #.###.###,##'
// * = QUALQUER LETRA E NUMERO E VIRGULA
// % = SOMENTE NUMEROS E PONTOS
// # = SOMENTE NUMEROS
// & = SOMENTE LETRAS E NUMEROS, SEM VIRGULA
var MASC_NAOCONTRARIO			= (1 << 1);
var MASC_VERIFICARZERO			= (1 << 2);

function Mascara(e, campo, formato, opcoes){
	var x, txt = '', r = '', y = 0, ponto = 0, pontoform = '';
	var forlen = formato.length, l = '', sum = 0;

	if (!campo || !campo.value)
		return '';

	if (!e)
		e = window.event;

	r = campo.value;
	rlen = r.length;
	if (IS_SET(opcoes, MASC_VERIFICARZERO)){
		for (x = 0; x < rlen; x++){
			l = r.charAt(x);
			if (l != '0' && l != '.' && l != ',')
				break;
		}
		if (x > 0)
			r = campo.value.substr(x-(e && e.keyCode == 48 ? 1 : 0));
	}

	rlen = r.length;
	if (IS_SET(opcoes, MASC_NAOCONTRARIO)){
		for (x = 0; x < forlen && x < rlen; x++){
			l = masc_veriLetra(formato, r, y, x, opcoes);
			if (l != ''){
				txt += l;
				y += l.length;
			}
		}
	}else{
		x = (rlen > forlen ? forlen : rlen) - 1;
		y = forlen - 1; txt = '';
		for (; x >= 0 && y >= 0; x--){
			l = masc_veriLetra(formato, r, y, x, opcoes);
			if (l != ''){
				txt = l + txt;
				y -= l.length;
			}
		}
		if (IS_SET(opcoes, MASC_VERIFICARZERO)){
			ponto			= txt.indexOf(',') == -1 ? txt.indexOf('.') : 1;
			pontoform		= formato.indexOf(',') > formato.indexOf('.') ? formato.indexOf(',') : formato.indexOf('.');
			if (ponto < 0 && pontoform > -1){
				sum = forlen - pontoform - rlen - 1;
				for (x = 0; x < sum; x++)
					txt = '0' + txt;
				txt = '0' + formato.charAt(pontoform) + txt;
			}
		}
	}
	campo.value = txt;
}

function DBInteger(texto, ret){
	var x;
	var nums = "1234567890", buf = "", charac;

	if (!ret)
		ret = 0;

	if (!texto)
		return ret;

	for (x = 0; x < texto.length; x++)	{
		charac = texto.charAt(x);
		if (nums.indexOf(charac) >= 0)
			buf = buf + charac;
	}

	if (!buf)
		return ret;

	return buf;
}


/*******************************************
 A partir daqui funcoes baseadas em JQuery
********************************************/

//Script para que o menu funcione na porra do IE6
	$(document).ready( function() {
		
		//Funcao para que o menu funcione na porra do ie6
		
			$("#navegacaoSecao *").hover(function() {
			   $(this).addClass('hover');
			}, function() {
				$(this).removeClass('hover');
			});
		
			$("#navegacaoSecao ul").hover(function() {
			   $(this).parent().find('> a').addClass('hover');
			}, function() {
				$(this).parent().find('> a').removeClass('hover');
			});
		
			$("#navegacaoSecao > ul > li").hover(function() {
			   $(this).find('> a').addClass('hover');
			}, function() {
				$(this).find('> a').removeClass('hover');
			});
			
			
	
	});
