// JavaScript Document

function openCentered(theURL,winName,winWidth,winHeight,features) {
  var w = (screen.width - winWidth)/2;
  var h = (screen.height - winHeight)/2 - 60;
  features = features+',width='+winWidth+',height='+winHeight+',top='+h+',left='+w;
  window.open(theURL,winName,features);
}

ativo = null;
cellAtivo = null;
timeId = null;
document.onclick = new Function("show()");

function addOption(obj,arr)
{
	
	var obj = document.getElementById(obj);
	var boxLength = obj.length;
	for(i=0; i<arr.length; i++)
	{
		newoption = new Option(arr[i][0], arr[i][1], false, false);
		obj.options[boxLength] = newoption;
		boxLength++;
	}
}

function show(cell,obj)
{
	
	
	obj = document.getElementById(obj);
	if(ativo!=null) { ativo.style.visibility = "hidden"; ativo=null; }
	if(cell)
	{
		//cell.style.backgroundColor='#F6F6F6';
		cellAtivo = cell;
		
	}
	if(timeId!=null){ clearTimeout(timeId); }
	if(obj)
	{
		obj.style.visibility = "visible";
		ativo = obj;
	}
}


function timerHidePop()
{
	if(ativo!=null)
	{
		timeId = setTimeout("ativo.style.visibility = 'hidden'; timeId=null; ativo=null;",300);
	}
	else { 
	if(ativo==null){ cellAtivo.style.backgroundColor=''; }
	}
}

function openAjax() {

var ajax;

try{
    ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
}catch(ee){
    try{
        ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
    }catch(e){
        try{
            ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
        }catch(E){
            ajax = false;
        }
    }
}
return ajax;
}



function pergarcidadeorigem(cod,localidade) {
	document.getElementById('txt_desde_a').value = localidade;
	document.getElementById('txt_desde').value = cod; //base busca
	//document.form.codorigem.value = cod;
}
function pergarcidadedestino(cod,localidade) {
	document.getElementById('txt_hasta_a').value = localidade;
	document.getElementById('txt_hasta').value = cod; //Base busca
}

function buscaInstantaneaSelect(cell,obj){
	var termo = document.getElementById('txt_desde_a').value; // Pega o termo digitado no campo de texto.
	if(termo !== "" && termo !== null && termo.length >= 2) {	
	show(cell,obj);
	}
}

function buscaDestinoSelect(cell,obj){
	var termo = document.getElementById('txt_desde').value; // Pega o termo digitado no campo de texto.
	if(termo !== "" && termo !== null) {	
	show(cell,obj);
	}
}
function buscaInstantaneaSelect(cell,obj){
	var b_termo = document.getElementById('txt_hasta_a').value; // Pega o termo digitado no campo de texto.
	if(b_termo !== "" && b_termo !== null && b_termo.length >= 2) {	
	show(cell,obj);
	}
}


// Função que realiza a busca instantânea
function buscaDestino() {
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		var termo = document.getElementById('txt_desde').value; // Pega o termo digitado no campo de texto.
		var b_termo = document.getElementById('txt_hasta_a').value;
		//var termo = document.form.txt_desde.value
		var exibeResultado = document.getElementById('resultadoBuscaDestino'); // div que exibirá o resultado da busca.
		//if(termo !== "" && termo !== null ) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
		if(b_termo !== "" && b_termo !== null ) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
			var ajax = openAjax(); // Inicia o Ajax.
			//window.top.location.href='buscadestino/buscaDestino.asp?q='+ termo +'&b='+ b_termo +'';
			ajax.open("GET", "buscadestino/buscaDestino.asp?q=" + termo+"&b=" + b_termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<h2>carregando...</h2>";
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						//show(this,'submenu_sobre'); //Abre a div dinamica
						//show(this,'buscadestino');
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						resultado = unescape(resultado); // Resolve o problema dos acentos
						exibeResultado.innerHTML = resultado;
					} else {
						exibeResultado.innerHTML = "Erro: ";
					}
				}
			}
			ajax.send(null); // submete
		} 
	}
}	


// Função que realiza a busca instantânea
function buscaInstantanea() {
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		var termo = document.getElementById('txt_desde_a').value; // Pega o termo digitado no campo de texto.
		var exibeResultado = document.getElementById('resultadoBusca'); // div que exibirá o resultado da busca.
		if(termo !== "" && termo !== null && termo.length >= 2) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
			var ajax = openAjax(); // Inicia o Ajax.
			ajax.open("GET", "buscadestino/buscaInstantanea.asp?q=" + termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<h2>carregando...</h2>";
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						//show(this,'submenu_sobre'); //Abre a div dinamica
						//show(this,'buscadestino');
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						resultado = unescape(resultado); // Resolve o problema dos acentos
						exibeResultado.innerHTML = resultado;
					} else {
						exibeResultado.innerHTML = "Erro: ";
					}
				}
			}
			ajax.send(null); // submete
		} 
	}
}	

// Função que realiza a busca instantânea de produtos
function GexpressDestino() {
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		var termo = document.getElementById('Expressorigem').value; // Pega o termo digitado no campo de texto.
	
		//var termo = document.form.txt_desde.value
		
		var exibeResultado = document.getElementById('cidadesdestino'); // div que exibirá o resultado da busca.
		if(termo !== "" && termo !== null ) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
		
			var ajax = openAjax(); // Inicia o Ajax.
			ajax.open("GET", "buscadestino/buscaCidadesDestinoGexpress.asp?q=" + termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<h2>carregando...</h2>";
				
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						//show(this,'submenu_sobre'); //Abre a div dinamica
						//show(this,'buscadestino');
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						resultado = unescape(resultado); // Resolve o problema dos acentos	
				
						exibeResultado.innerHTML = resultado;
					} else {
						exibeResultado.innerHTML = "Erro: ";
					}
				}
			}
			ajax.send(null); // submete
		} 
	}
}	


// Função que realiza a busca instantânea de produtos
function GexpressDestinoTemp() {
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		var termo = document.getElementById('Expressorigem').value; // Pega o termo digitado no campo de texto.
		//var termo = document.form.txt_desde.value
		
		var exibeResultado = document.getElementById('resultadoBuscaDestinoGexpress'); // div que exibirá o resultado da busca.
		if(termo !== "" && termo !== null ) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
		
			var ajax = openAjax(); // Inicia o Ajax.
			ajax.open("GET", "buscadestino/buscaDestinoGexpress.asp?q=" + termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<h2>carregando...</h2>";
				
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						//show(this,'submenu_sobre'); //Abre a div dinamica
						//show(this,'buscadestino');
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						resultado = unescape(resultado); // Resolve o problema dos acentos	
				
						exibeResultado.innerHTML = resultado;
					} else {
						exibeResultado.innerHTML = "Erro: ";
					}
				}
			}
			ajax.send(null); // submete
		} 
	}
}


// Função que realiza a busca instantânea de produtos
function Gexpresshorarios() {
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		var termo = document.getElementById('Expressdestino').value; // Pega o termo digitado no campo de texto.
		//var termo = document.form.txt_desde.value
		
		var exibeResultado = document.getElementById('resultadoBuscaDestinoGexpress'); // div que exibirá o resultado da busca.
		if(termo !== "" && termo !== null ) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
		
			var ajax = openAjax(); // Inicia o Ajax.
			ajax.open("GET", "buscadestino/buscaHorariosDestinoGexpress.asp?q=" + termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					exibeResultado.innerHTML = "<h2>carregando...</h2>";
				
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						//show(this,'submenu_sobre'); //Abre a div dinamica
						//show(this,'buscadestino');
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						resultado = unescape(resultado); // Resolve o problema dos acentos	
				
						exibeResultado.innerHTML = resultado;
					} else {
						exibeResultado.innerHTML = "Erro: ";
					}
				}
			}
			ajax.send(null); // submete
		} 
	}
}	



function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit)
	field.value = field.value.substring(0, maxlimit);
	else 
	countfield.value = maxlimit - field.value.length;
}


//troca imagem
function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


//#####################
// TAMANHO DA FONTE
function FindObj(n, d) { //v4.01
var p,i,x;  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=FindObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function ChangeProp(objName,x,theProp,theValue) { //v6.0
var obj = FindObj(objName);
if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
if (theValue == true || theValue == false)
eval("obj."+theProp+"="+theValue);
else eval("obj."+theProp+"='"+theValue+"'");
}
}

function LoadActualFontSize() {
tempArray = document.cookie.split(";");
for (tA = 0; tA < tempArray.length; tA++){
if (tempArray[tA].indexOf('fontSize') > -1){
fontSizeValue = tempArray[tA].split("=")
ACTUAL_FONTSIZE = parseInt(fontSizeValue[1]);
}
}
}

function SaveActualFontSize() {
var expire = new Date ();
expire.setTime (expire.getTime() + (6000 * 24 * 3600000));
expire = expire.toGMTString();
document.cookie="fontSize="+ACTUAL_FONTSIZE+"; path=/; expires="+expire;
}

function Bigger(texto) {
ACTUAL_FONTSIZE = ACTUAL_FONTSIZE+1;
if (ACTUAL_FONTSIZE > LARGEST_FONTSIZE) { ACTUAL_FONTSIZE = LARGEST_FONTSIZE }
ChangeProp(texto,'','style.fontSize',ACTUAL_FONTSIZE,'SPAN');
SaveActualFontSize();
}

function Smaller(texto) {
ACTUAL_FONTSIZE = ACTUAL_FONTSIZE-1
if (ACTUAL_FONTSIZE < SMALLEST_FONTSIZE) { ACTUAL_FONTSIZE = SMALLEST_FONTSIZE }
ChangeProp(texto,'','style.fontSize',ACTUAL_FONTSIZE,'SPAN');
SaveActualFontSize();
}

function Biggerall(fontetexto) {
	var partes = Array();
	partes = fontetexto.split(",");
	for (i=0; i<partes.length; i++) {
		Bigger(partes[i])
	}
}

function Smallerall(fontetexto) {
	var partes = Array();
	partes = fontetexto.split(",");
	for (i=0; i<partes.length; i++) {
		Smaller(partes[i])
	}
}

ACTUAL_FONTSIZE = 11;
SMALLEST_FONTSIZE = 11;
LARGEST_FONTSIZE = 20;

//#####################


function IrAoCorreio()
{
  open('http://www.correios.com.br/servicos/cep/cep_default.cfm','IrAoCorreio','location=no,resize=no, width=730,height=400,left=18,top=18,maximized=0,scrollbars=1');
}

/************************************************
* function verificaDataform
* Verifica se um campo data é válido.
* Input: Campo do formulário que contém a data
* Esta função pega o campo diretamente, pois assim
* pode dar uma resposta melhor ao usuário.
*************************************************/

function verificaDataform(data){
	var Date = new String(data);
	Day = "";
	Month = "";
	Year = "";
	i =  0;
	for (i=0;(i<Date.length) && (Date.charAt(i) != '/');i++)
		Day = Day + Date.charAt(i);
	i++;
	for (;(i<Date.length) && (Date.charAt(i) != '/');i++)
		Month = Month + Date.charAt(i);
	i++;
	for (;(i<Date.length);i++)
		Year = Year + Date.charAt(i);
	for(i=0;i<Date.length;i++){
		NroAsc = asc(Date.substring(i,i+1))
		if (!(NroAsc>=48 && NroAsc<=57) || !(NroAsc = 47) )  {
			return false;
		}
	}
	if(!isNumeric(Month)) {
		return false;
	}
	if (eval(Month) > 12){
		return false;
	}
	if(!isNumeric(Day)) {
		return false;
	}
	if (eval(Day) > 31){
		return false;
	}
	if(!isNumeric(Year)) {
		return false;
	}
	if(eval(Year) < 1900) {
		return false;
	}
	return true;
}


/************************************************
* function verificaCPF
* Verifica se um CPF é válido
* Input: cpf a ser verificado
************************************************/

function verificaCPF(cpf)
{
	var dac = "", inicio = 2, fim = 10, soma, digito, i, j
	for (j=1;j<=2;j++) {
		soma = 0
		for (i=inicio;i<=fim;i++) {
			soma += parseInt(cpf.substring(i-j-1,i-j))*(fim+1+j-i)
		}
		if (j == 2) { soma += 2*digito }
		digito = (10*soma) % 11
		if (digito == 10) { digito = 0 }
		dac += digito
		inicio = 3
		fim = 11
	}
	return (dac == cpf.substring(cpf.length-2,cpf.length))
}

/************************************************
* function verificaCGC
* Verifica se um CGC é válido
* Input: cgc a ser verificado
************************************************/

function verificaCGC(scgc) {
	cgc = trimtodigits(scgc);
	if ((cgc.indexOf("-") != -1) || (cgc.indexOf(".") != -1) || (cgc.indexOf("/") != -1)){
		return( false )
	}
	var df, resto, dac = ""
	df = 5*cgc.charAt(0)+4*cgc.charAt(1)+3*cgc.charAt(2)+2*cgc.charAt(3)+9*cgc.charAt(4)+8*cgc.charAt(5)+7*cgc.charAt(6)+6*cgc.charAt(7)+5*cgc.charAt(8)+4*cgc.charAt(9)+3*cgc.charAt(10)+2*cgc.charAt(11)
	resto = df % 11
	dac += ( (resto <= 1) ? 0 : (11-resto) )
	df = 6*cgc.charAt(0)+5*cgc.charAt(1)+4*cgc.charAt(2)+3*cgc.charAt(3)+2*cgc.charAt(4)+9*cgc.charAt(5)+8*cgc.charAt(6)+7*cgc.charAt(7)+6*cgc.charAt(8)+5*cgc.charAt(9)+4*cgc.charAt(10)+3*cgc.charAt(11)+2*parseInt(dac)
	resto = df % 11
	dac += ( (resto <= 1) ? 0 : (11-resto) )
	return (dac == cgc.substring(cgc.length-2,cgc.length))
}

/************************************************
* function verificaEmail
* Verifica se um email é válido
* Input: email a ser verificado
************************************************/

function verificaEmail(email) {
	var s = new String(email);
	// { } ( ) < > [ ] | \ /
	if ((s.indexOf("{")>=0) || (s.indexOf("}")>=0) || (s.indexOf("(")>=0) || (s.indexOf(")")>=0) || (s.indexOf("<")>=0) || (s.indexOf(">")>=0) || (s.indexOf("[")>=0) || (s.indexOf("]")>=0) || (s.indexOf("|")>=0) || (s.indexOf("\"")>=0) || (s.indexOf("/")>=0) )
		return false;
	if (vogalAcentuada(email))
		return false;
	// & * $ % ? ! ^ ~ ` ' "
	if ((s.indexOf("&")>=0) || (s.indexOf("*")>=0) || (s.indexOf("$")>=0) || (s.indexOf("%")>=0) || (s.indexOf("?")>=0) || (s.indexOf("!")>=0) || (s.indexOf("^")>=0) || (s.indexOf("~")>=0) || (s.indexOf("`")>=0) || (s.indexOf("'")>=0) )
		return false;
	// , ; : = #
	if ((s.indexOf(",")>=0) || (s.indexOf(";")>=0) || (s.indexOf(":")>=0) || (s.indexOf("=")>=0) || (s.indexOf("#")>=0) )
		return false;
	// procura se existe apenas um @
	if ( (s.indexOf("@") < 0) || (s.indexOf("@") != s.lastIndexOf("@")) )
		return false;
	// verifica se tem pelo menos um ponto após o @
	if (s.lastIndexOf(".") < s.indexOf("@"))
		return false;
	return true;
}

/************************************************
* function verificaCEP
* Verifica se o CEP está no formato correto
* Input: CEP a ser verificado
************************************************/

function verificaCEP (cep) {
	s = new String(cep);
	if ((s.length > 9) || (s.length < 5))
		return false;
	if (!isInteger(cep))
		return false;
	return true;
}

/************************************************
* function isInteger
* Verifica se um campo é inteiro, inclui dígitos de 0 a 9, vírgula, ponto, espaços e -
* Input: campo a ser verificado
************************************************/

function isInteger(s){
	var i;
	if (isEmpty(s)) 
		return false;
	for (i = 0; i < s.length; i++)
	{   
		var c = s.charAt(i);
		if (!isNumber(c)) return false;
	}
	return true;
}

/************************************************
* function isNumeric
* Verifica se um campo é numérico. Se contém apenas dígitos de 0 a 9
* Input: campo a ser verificado
************************************************/

function isNumeric(s){
	var i;
	if (isEmpty(s)) 
		return false;
	for (i = 0; i < s.length; i++)
	{   
		var c = s.charAt(i);
		if (!isDigit(c)) return false;
	}
	return true;
}

/************************************************
* function warnInvalid
* Gera um alert para o usuário e volta o foco para
* o campo que está com problema
* Input: theField - campo do formulário com problema
*        warnText - texto a ser mostrado no alert
************************************************/

function warnInvalid (theField, warnText)
{   theField.focus()
	theField.select()
	alert(warnText)
	return false
}

// Verifica se o caracter é um dígito de 0 a 9
function isDigit (c)
{ return ((c >= "0") && (c <= "9")) }

// Verifica se uma string tem vogais acentuadas
function vogalAcentuada(s) {
	ls = s.toLowerCase();
	if ((ls.indexOf("á")>=0) || (ls.indexOf("à")>=0) || (ls.indexOf("ã")>=0) || (ls.indexOf("â")>=0) || (ls.indexOf("é")>=0) || (ls.indexOf("í")>=0) || (ls.indexOf("ó")>=0) || (ls.indexOf("õ")>=0) || (ls.indexOf("ô")>=0) || (ls.indexOf("ú")>=0) || (ls.indexOf("ü")>=0))
		return true;
}

// Gera uma string com os caracteres básicos na sequência de códigos ASC
function makeCharsetString(){
	var astr
	astr = ' !"#$%&\'()*+,-./0123456789:;<=>?@'
	astr+= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
	astr+= '[\]^_`abcdefghijklmnopqrstuvwxyz'
	astr+= '{|}~'
	return astr
}

// Retorna o código ASC do caracter passada por parâmetro
function asc(achar){
	var n=0;
	var ascstr = makeCharsetString()
	for(i=0;i<ascstr.length;i++){
		if(achar==ascstr.substring(i,i+1)){
			n=i;
			break;
		}
	}
	return n+32
}

//Remove todos os caracteres excetos 0-9
function trimtodigits(tstring){
  s=""; 
  ts=new String(tstring);
  for (x=0;x<ts.length;x++){
   ch=ts.charAt(x);
	if (asc(ch)>=48 && asc(ch)<=57){
	  s=s+ch;
	}
  }
  return s;
}
/*inicio */


// Retorna o código ASC do caracter passada por parâmetro
function asc(achar){
	var n=0;
	var ascstr = makeCharsetString()
	for(i=0;i<ascstr.length;i++){
		if(achar==ascstr.substring(i,i+1)){
			n=i;
			break;
		}
	}
	return n+32
}
// Gera uma string com os caracteres básicos na sequência de códigos ASC
function makeCharsetString(){
	var astr
	astr = ' !"#$%&\'()*+,-./0123456789:;<=>?@'
	astr+= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
	astr+= '[\]^_`abcdefghijklmnopqrstuvwxyz'
	astr+= '{|}~'
	return astr
}

// Verifica se uma string tem vogais acentuadas
function vogalAcentuada(s) {
	ls = s.toLowerCase();
	if ((ls.indexOf("á")>=0) || (ls.indexOf("à")>=0) || (ls.indexOf("ã")>=0) || (ls.indexOf("â")>=0) || (ls.indexOf("é")>=0) || (ls.indexOf("í")>=0) || (ls.indexOf("ó")>=0) || (ls.indexOf("õ")>=0) || (ls.indexOf("ô")>=0) || (ls.indexOf("ú")>=0) || (ls.indexOf("ü")>=0))
	return true;
}

// Verifica se o caracter pode fazer parte de um número: 0-9 , . ( ) - e espaço
function isNumber (c) { 
	return ((c >= "0") && (c <= "9") || (c=="-") || (c=="(") || (c==")") || (c==" ") || (c==".") || (c==",")) 
}

// Verifica se o caracter é um dígito de 0 a 9
function isDigit (c) { 
	return ((c >= "0") && (c <= "9")) 
}

/************************************************
* function checkField
* Verificação básica de um campo de formulário por "coisas bobas": & < > | \ /
* Input: campo a ser verificado
************************************************/

function checkField(s) {
	if ((s.indexOf("&")>=0) || (s.indexOf("<")>=0) || (s.indexOf(">")>=0) || (s.indexOf("|")>=0) || (s.indexOf("\"")>=0) || (s.indexOf("/")>=0) )
		return false;
	return true;
}

/************************************************
* function isEmpty
* Verifica se um campo está vazio
* Input: campo a ser verificado
************************************************/

function isEmpty(s) {
	return ((s == null) || (s.length == 0));
}


/************************************************
* function warnInvalid
* Gera um alert para o usuário e volta o foco para
* o campo que está com problema
* Input: theField - campo do formulário com problema
*        warnText - texto a ser mostrado no alert
************************************************/

function warnInvalid (theField, warnText)
{   theField.focus()
	theField.select()
	alert(warnText)
	return false
}

/************************************************
* function warnInvalid_SelectBox
* Gera um alert para o usuário e volta o foco para
* o campo que está com problema
* Esta função é específica para ser usada com campos Select, para outros campos, usar a warnInvalid
* Input: theField - campo do formulário com problema
*        warnText - texto a ser mostrado no alert
************************************************/
function warnInvalid_SelectBox (theField, s)
{
	theField.focus();
	alert(s);
	return false;
}



	function ocultamenugarcia()
	{
		if (document.getElementById)
		{
			//document.getElementById('1').style.display = "none";//BILHETE
			//document.getElementById('2').style.display = "none";//CARGAS
			//document.getElementById('3').style.display = "none";//METROPOLITANO
		}
		else
		{
			alert('Erro!');
		}
	}
	function toggleDisplayY(sID) {	
		if (document.getElementById) {
			if (document.getElementById(sID).style.display == "none")
				document.getElementById(sID).style.display = "block";
			else
				document.getElementById(sID).style.display = "none";
			}
		else
			alert('O seu browser não permite dynamic javascript e também não é um padrão compatível.\nPor favor, faça uma atualização no seu browser para utilizar o nosso site e fazê-lo funcionar corretamente.');

		/*if (sID!='') {
		
			document.getElementById('img1').src = 'imgsite/bthome1.gif';
			document.getElementById('img2').src = 'imgsite/bthome2.gif';
			
			if (document.getElementById(sID).style.display == "none")
				MM_swapImageX('img'+sID,'','imgsite/bthome'+sID+'.gif',1);
			else
				MM_swapImageX('img'+sID,'','imgsite/bthome_aba'+sID+'.gif',1);

		} //end if*/
	
	}  //end function
		
	function MM_swapImageX() { //v3.0
	  var i,j=0,x,a=MM_swapImageX.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  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=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}


// Função para iniciarmos o Ajax no browser do cliente.
function openAjax() {
	var ajax;
	try{
		ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
	}catch(ee){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
		}catch(e){
			try{
				ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
			}catch(E){
				ajax = false;
			}
		}
	}
	return ajax;
}

// Função Para utilizar ajax geral
function ajaxinteligente(arquivo,querystring, id) {
	if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
		var exibeResultado = document.getElementById(id); // div que exibirá o resultado da busca.
		if(arquivo != "" && arquivo != null) { // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
			var ajax = openAjax(); // Inicia o Ajax.
			//window.top.location.href=''+arquivo + querystring+'';
			ajax.open("GET", arquivo + querystring, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
			ajax.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");
			//alert(querystring);
			ajax.onreadystatechange = function() {
				if(ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
					//exibeResultado.innerHTML = "<br /><div  style=\"background:#ffffff; width:125px;  border:solid 1px #666666; padding:2px; margin:2px; font: 11px; bold Arial, Helvetica, sans-serif; color:#666666;\"><img src=\"./imgsite/loading.gif\"  align=\"absmiddle\">Carregando...</div>";
					exibeResultado.innerHTML = "<h2>carregando...</h2>";
				}
				if(ajax.readyState == 4) { // Quando estiver tudo pronto.
					if(ajax.status == 200) {
						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
						//resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
						//resultado = unescape(resultado); // Resolve o problema dos acentos
						exibeResultado.innerHTML = resultado;
					} else {
						exibeResultado.innerHTML = "Erro: ";
					}
				}
			}
			ajax.send(null); // submete
		} 
	}
}

function video(url,id)
{
	
	
	
	
	
/*	var html=
                   '<center><OBJECT id=MediaPlayer   width=300 height=280 codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 type=application/x-oleobject standby="Loading Microsoft Windows Media Player components..." align=middle classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6>' + '\n' +
                            '<PARAM NAME="URL" VALUE="'+ url +'">' + '\n' +
                            '<param name="AutoSize" value="false">' + '\n' +
                            '<param name="AutoStart" value="true">' + '\n' +
                            '<param name="AutoRewind" value="false">' + '\n' +
                            '<param name="uimode" value="full">' + '\n' +
                            '<embed	src="'+ url +'" wid th=300 height=280 align="middle" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/windows/windowsmedia/"showcontrols=1	showdisplay=0	showstatusbar=1> </embed>' + '\n' +
							'</OBJECT></center>'*/
							
	var html='<center><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="320" height="320">' + '\n' +
                    '<param name="width" value="320" />' + '\n' +
                    '<param name="height" value="320" />' + '\n' +
                    '<param name="allowfullscreen" value="true" />' + '\n' +
                    '<param name="allowscriptaccess" value="always" />' + '\n' +
                    '<param name="src" value="'+ url +'" />' + '\n' +
                    '<embed type="application/x-shockwave-flash" width="320" height="320" allowfullscreen="true" allowscriptaccess="always" src="'+ url +'"></embed>' + '\n' +
                    '</object></center>' + '\n'
							
	//alert(autostart);
	var conteudo=document.getElementById(id)
	conteudo.innerHTML  = html;
	 // '<object classid=' + clsid + ' id=' + objectid + ' width=' + width + ' height=' + height +'><param name="url" value=' + url + '><param name="autostart" value=' + autostart + '/>';
	
}		

	function audio(url,id)
{
	
	
	
	
	
	var html='<center><OBJECT id=MediaPlayer codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 type=application/x-oleobject height=100 standby="Loading Microsoft Windows Media Player components..." width=280 align=middle classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6>' + '\n' +
			'<PARAM NAME="URL" VALUE="'+ url +'">' + '\n' +
			'<param name="AutoSize" value="false">' + '\n' +
			'<param name="AutoStart" value="true">' + '\n' +
			'<param name="AutoRewind" value="false">' + '\n' +
			'<param name="uimode" value="full">' + '\n' +
        '<embed	src="'+ url +'" width=280 height=100 align="middle" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/windows/windowsmedia/"showcontrols=1	showdisplay=0	showstatusbar=1></embed>' + '\n' +
      '</OBJECT></center>'
	
	
	
	
	//alert(autostart);
	var conteudo=document.getElementById(id)
	conteudo.innerHTML  = html;
	 // '<object classid=' + clsid + ' id=' + objectid + ' width=' + width + ' height=' + height +'><param name="url" value=' + url + '><param name="autostart" value=' + autostart + '/>';
	
}

