/*|---------------------------------->>  <<----------------------------------|

Include para ser usado na estrutura padrão dos sites. deve chamado
no arquivo head.inc.php.

Sr. Programador, todas as funções em javascript que serão utilizadas no site
deverão serem declaradas apenas neste arquivo.

|---------------------------------->>  <<----------------------------------|*/

function abre_pop_produto(foto, largura, altura, raiz) {
	esquerda	= meio_largura(largura);
	topo 		= meio_altura(altura);

	window.open(raiz+'pop_produto.php?foto='+foto,'foto_produto','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
}

function abre_pop_voos() {
	largura     = 770;
	altura      = 700;

	esquerda	= meio_largura(largura);
	topo 		= meio_altura(altura);

	window.open('horario_voos.php','foto_produto','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
//	window.open('http://www.amadeus.net/home/Amigo.html?ID=2108AJU2T28AA&LOCALE=BR','foto_produto','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
}

function abre_foto(foto, largura, altura) {
	esquerda	= meio_largura(largura);
	topo 		= meio_altura(altura);

	window.open('foto.php?img='+foto,'galeria_foto','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
}


function abre_cal(form, campo, data)
{
	largura 	= 322;
	altura 		= 395;

	esquerda	= meio_largura(largura);
	topo 		= meio_altura(altura);

	window.open('mais/pop_calendario.php?form='+form+'&campo='+campo+'&data='+data,'calendario','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
}

function abre_galeria(galeria, imagem)
{
	largura = 440;
	altura = 500;

	esquerda	= meio_largura(largura);
	topo 		= meio_altura(altura);

	window.open('galeria.php?gal_id='+galeria+'&img_id='+imagem,'galeria','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
}

function troca_colecao(colecao)
{
	this.location = colecao;
}

function troca_cidade(loja_id) {
	if(loja_id)
		this.location = 'loja.php?id='+loja_id;
	else
		return false;
}

function abre_historia()
{
	largura = 700;
	altura = 350;

	esquerda	= meio_largura(largura);
	topo 		= meio_altura(altura);

	window.open('pop_historia.php','historia','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
}

// Método inArray para javascript
function inArray(vetor,value)
{
    var i;
    for (i in vetor) {
        if (vetor[i] === value) {
            return true;
        }
    }
    return false;
}

// Método indexOf para javascript
function indexOf(vetor,value)
{
    var i;
    for (i in vetor) {
        if (vetor[i] === value) {
            return i;
        }
    }
    return false;
}

function valida_dinamico(dados, alerta)
{
	for(var i=0; i<dados.length; i++)
	{
		if(dados[i].id == 'true' && !dados[i].value)
		{
			alert(alerta);
			dados[i].focus();
			return false;
		}
	}
	if(dados.name == 'orcamento_aberto' && dados.cli_senha.value != dados.cli_senha1.value)
	{
		alert('As senha estão diferentes, por favor confira');
		dados.cli_senha1.value = '';
		dados.cli_senha1.focus();
		return false;
	}

	return true;
}

// Nova valida_dinamico
campos_obrigatorios         = new Array();
campos_inteiros             = new Array();
campos_float                = new Array();
campos_html                 = new Array();
nomes_campos                = new Array();
minimo_caracteres_campos    = new Array();
abas_campos                 = new Array();
campos_upload               = new Array();

var er_int          = /[^0-9,.]/;
var er_float        = /[^0-9,.]/;

function valida_dinamico2(form)
{
    erro = "";
    elemento_foco = "";
    direcionar_aba = null;

    if(campos_html.length > 0)
        tinyMCE.triggerSave();

    for(n = 0;n < form.elements.length; n++)
	{
        elemento = form.elements[n];

        // Isso é pra o elemento não ficar sem id
        if(!elemento.id)
            form.elements[n].id = "_form_elemento_"+n;

        // Campos obrigatórios
        if(inArray(campos_obrigatorios,elemento.name) && (elemento.value == "" && !(inArray(campos_upload, elemento.name) && (form["valor[" + elemento.name.replace(/^campo_/, "") + "]"].value != "" || elemento.value != "") ))) // Verifica também os casos especiais de campos de upload
        {
            if(nomes_campos[elemento.name])
                nome_campo = nomes_campos[elemento.name];
            else
                nome_campo = elemento.name;

            if(erro != "")
                erro += "\n";

            nome_campo = nome_campo.replace(/<br>/," ");
            nome_campo = nome_campo.replace(/<BR>/," ");

            erro += "- "+nome_campo+": campo obrigatório.";

            if(direcionar_aba == null)
                direcionar_aba = abas_campos[elemento.name];

            if(elemento_foco == "")
                elemento_foco = elemento;
            continue;

        }

        // Campos inteiros
        if(elemento.value != "" && inArray(campos_inteiros,elemento.name) && er_int.test(elemento.value) == true)
        {
            if(nomes_campos[elemento.name])
                nome_campo = nomes_campos[elemento.name];
            else
                nome_campo = elemento.name;

            if(erro != "")
                erro += "\n";

            nome_campo = nome_campo.replace(/<br>/," ");
            nome_campo = nome_campo.replace(/<BR>/," ");

            erro += "- "+nome_campo+": valor inválido digitado. O valor do campo deve ser um número inteiro.";

            if(direcionar_aba == null)
                direcionar_aba = abas_campos[elemento.name];

            if(elemento_foco == "")
                elemento_foco = elemento;
            continue;

        }

        // Campos float
        if(elemento.value != "" && inArray(campos_float,elemento.name) && er_float.test(elemento.value) == true)
        {
            if(nomes_campos[elemento.name])
                nome_campo = nomes_campos[elemento.name];
            else
                nome_campo = elemento.name;

            if(erro != "")
                erro += "\n";

            nome_campo = nome_campo.replace(/<br>/," ");
            nome_campo = nome_campo.replace(/<BR>/," ");

            if(direcionar_aba == null)
                direcionar_aba = abas_campos[elemento.name];

            erro += "- "+nome_campo+": valor inválido digitado. O valor do campo deve ser numérico.";

            if(elemento_foco == "")
                elemento_foco = elemento;
            continue;

        }

        // Mínimo de caracteres
        if(minimo_caracteres_campos[elemento.name] && elemento.value.length < minimo_caracteres_campos[elemento.name])
        {
            if(nomes_campos[elemento.name])
                nome_campo = nomes_campos[elemento.name];
            else
                nome_campo = elemento.name;

            if(erro != "")
                erro += "\n";

            erro += "- "+nome_campo+": o campo deve conter no mínimo "+minimo_caracteres_campos[elemento.name]+" caracteres.";

            if(direcionar_aba == null)
                direcionar_aba = abas_campos[elemento.name];

            if(elemento_foco == "")
                elemento_foco = elemento;
            continue;

        }
	}

    if(erro == "")
    {
        return true;
    }
    else
    {
        alert(erro);
        try
        {
            if(tabPane1 && direcionar_aba != null)
                tabPane1.setSelectedIndex(direcionar_aba);
            elemento_foco.focus();
            elemento_foco.select();
        }
        catch(err)
        {

        }
        return false;
    }
}

///////////

function meio_largura(largura)
{ // Parâmetro: númerico, largura da janela pop-up
	var meia_janela = largura/2;
	tamanho_largura = screen.width/2;
	dist_lateral = (tamanho_largura) - meia_janela;
	return dist_lateral;
}

function meio_altura(altura)
{ // Parâmetro: númerico, Altura da janela pop-up
	var meia_janela = altura/2;
	tamanho_altura = screen.height/2;
	dist_topo = (tamanho_altura) - meia_janela;
	return dist_topo;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  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_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;
}

function MM_swapImage() { //v3.0
  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 abre_popup(end,altura,largura)
{
	var esquerda	= meio_largura(largura);
	var topo 		= meio_altura(altura);

	window.open(end,'galeria','width='+largura+', height='+altura+', top='+topo+', left='+esquerda);
	void(0);
}

function valida_login(form,mensagem)
{
    if(form.login_name.value=="" || form.senha.value=="")
    {
        alert(mensagem);
        form.login_name.focus();
        return false;
    }
    else
        return true;
}

function evita_letra(tecla)
{
     if (tecla.keyCode < 45 || tecla.keyCode > 57 || tecla.keyCode == 47 || tecla.keyCode == 45 || tecla.keyCode == 46)
          tecla.returnValue = false;
}

function FormataData2(campo,teclapres)
{ // Máscara para os campos de data
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 )
	{
		if ( tam > 2 && tam < 5 )
			campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
		if ( tam >= 5 && tam <= 10 )
			campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 );
	}
}

//Função pra abrir janela no centro da página
function OpenNewWindow(mypage,w,h,myname){

var winl = (screen.width- w)/2;

var wint = ((screen.height- h)/2)-25;

settings='height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,resizable=no,dependent=no,nirectories=no,status=no,fullscreen=0'

win=window.open(mypage,myname,settings)

if(parseInt(navigator.appVersion) >= 4){win.window.focus();}

}

// Fade gradativo
//Publicado por Johnathan Cardoso
//djhonyy@hotmail.com
//www.cdsbrasil.com.br
/*************************************************/
// Aperfeiçoado por Adriano de Oliveira Gonçalves
// adriano@ison.com.br
// http://adriano.ison.com.br

var fadeGradativaObjects = new Array();
var fadeGradativaTimers = new Array();

function fadeGradativa(id, destOp, rate, delta){

    if(!fadeGradativaObjects[id])
        fadeGradativaObjects[id]    = new Object();

    if(!fadeGradativaTimers[id])
        fadeGradativaTimers[id]     = new Object();

    object = document.getElementById(id);

    /*if (object != "[object]"){
        setTimeout("fadeGradativa('"+id+"',"+destOp+","+rate+","+delta+")",0);
        return;
    } */

    clearTimeout(fadeGradativaTimers[object.sourceIndex]);

    bname=navigator.appName;

    if(bname.indexOf("Microsoft")!=-1)
    {
        opacidade = object.filters.alpha.opacity;

        diff = destOp-opacidade;
        direction = 1;
        if (opacidade > destOp){
            direction = -1;
        }

        delta=Math.min(direction*diff,delta);
        object.filters.alpha.opacity+=direction*delta;

        opacidade = object.filters.alpha.opacity;
    }
    else if(bname.indexOf("Netscape")!=-1)
    {
        opacidade = object.style.MozOpacity*100;

        diff = destOp-opacidade;
        direction = 1;
        if (opacidade > destOp){
            direction = -1;
        }

        delta=Math.min(direction*diff,delta);
        object.style.MozOpacity = (opacidade+(direction*delta))/100;

        opacidade = object.style.MozOpacity*100;

    }
    else
        return;

    if (opacidade != destOp){
        fadeGradativaObjects[id][object.sourceIndex]=object;
        fadeGradativaTimers[id][object.sourceIndex]=setTimeout("fadeGradativa('"+id+"',"+destOp+","+rate+","+delta+")",rate);
    }
}

function obrigatorio(campo,label)
{
    nomes_campos[campo] = label;
    return campos_obrigatorios.push(campo);
}

/**
 * Mostra tela de "carregando"...
 */
function mostraLoading()
{
    if(document.getElementById('div_loading'))
    {
        if(document.all)
        {
            for(cont = 0; cont < document.geral.elements.length ; cont++)
            {
                if(document.geral.elements[cont].type == "select-one")
                    document.geral.elements[cont].style.visibility   = "hidden";
            }
        }

        document.getElementById('principal').style.zIndex = -20;
        document.getElementById('div_loading').style.display = "block";
        document.getElementById('div_loading').style.height = "1000";
        window.scrollTo(0,0);
    }

    return true;
}

/**
 * Limpa a tela de "carregando..."
 */
function limpaLoading(janela)
{
    janela.document.getElementById('div_loading').style.display = "none";
    janela.document.getElementById('div_loading').innerHTML = "";
}

/**
 * Oculta tela de "carregando" para o caso de erro
 */
function ocultaLoading(janela)
{
    if(janela.document.getElementById('div_loading'))
    {
        if(document.all)
        {
            for(cont = 0; cont < janela.document.geral.elements.length ; cont++)
            {
                if(janela.document.geral.elements[cont].type == "select-one")
                    janela.document.geral.elements[cont].style.visibility   = "visible";
            }
        }

        janela.document.getElementById('principal').style.zIndex = -20;
        janela.document.getElementById('div_loading').style.display = "none";
        window.scrollTo(0,0);
    }

    return true;
}

function bloqueiaBotao(id, id_enviando)
{
    setTimeout('document.getElementById("' + id + '").disabled=true', 1);

    if(id_enviando)
        document.getElementById(id_enviando).innerHTML = 'Aguarde, enviando...';

    return true;
}

/**
 * Retorna o valor selecionado para um radio
 */
function radioSelecionado(form, campo)
{
    var Radio=null;

    Radio= form[campo];
    for(var i=0;i<Radio.length;i++)
    {
        if(Radio[i].checked)
        {
            return Radio[i].value;
        }
    }
}

