// JavaScript Document
/* FUNCOES - GABRIEL BRAGA - 20/07/2008 */

/* INICIO - FUNCAO MENU DROP DOWN */

/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

//Contents for menu 1
var menu1=new Array()
menu1[0]='<a href="convencionais.php"> &nbsp;Nacionais&nbsp; </a>'
menu1[1]='<a href="convencionais2.php"> &nbsp;Internacionais&nbsp; </a>'

//Contents for menu 2
var menu2=new Array()
menu2[0]='<a href="cruzeiros.php"> &nbsp;Nacionais&nbsp; </a>'
menu2[1]='<a href="cruzeiros2.php"> &nbsp;Internacionais&nbsp; </a>'

//Contents for menu 3
var menu3=new Array()
menu3[0]='<a href="ecoturismo.php"> &nbsp;Nacionais&nbsp; </a>'
menu3[1]='<a href="ecoturismo2.php"> &nbsp;Internacionais&nbsp; </a>'

var menuwidth='' //default menu width
var menubgcolor=''  //menu bgcolor
var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

/*FIM - FUNCAO MENU DROP DOWN */


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];}
	}
}

// ===================== FUNCOES DO ARQUIVO : FUNCAO.JS.PHP ===================== //

   VerifiqueTAB=true;

   function alerta() {
      alert("Atenção!!, Se este campo estiver Marcado o registro será EXCLUÍDO!");
   }
   function ChecarTAB() {
      VerifiqueTAB=true;
   }

   function Mostra(quem, tammax) {
      if ( (quem.value.length == tammax) && (VerifiqueTAB) ) {
         var i=0,j=0, indice=-1;
         for (i=0; i<document.forms.length; i++) {
            for (j=0; j<document.forms[i].elements.length; j++) {
               if (document.forms[i].elements[j].name == quem.name) {
                  indice=i;
                  break;
               }
            }
            if (indice != -1)
               break;
         }
         for (i=0; i<=document.forms[indice].elements.length; i++) {
            if (document.forms[indice].elements[i].name == quem.name) {
               while ( (document.forms[indice].elements[(i+1)].type == "hidden") &&
                     (i < document.forms[indice].elements.length) ) {
                        i++;
               }
               document.forms[indice].elements[(i+1)].focus();
               VerifiqueTAB=false;
               break;
            }
         }
      }
   }

   function PararTAB(quem) {
       VerifiqueTAB=false;
   }

   function MascaraCEP (formato, keypress, objeto) {
      campo = eval (objeto);
      if (formato=='CEP') {
         caracteres = '01234567890';
         separacoes = 1;
         separacao1 = '-';
         conjuntos = 2;
         conjunto1 = 5;
         conjunto2 = 3;
         if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (conjunto1 + conjunto2 + 1) && (String.fromCharCode(keypress) != '.')) {
            if (campo.value.length == conjunto1) 
               campo.value = campo.value + separacao1;
         }
      else 
         event.returnValue = false;
      }
   }

   function MascaraCGC (formato, keypress, objeto) {
      campo = eval (objeto);
      if (formato=='CGC') {
         caracteres = '0123456789';
         separacoes = 4;
         separacao1 = '.';
         separacao2 = '.';
         separacao3 = '/';
         separacao4 = '-';
         conjuntos = 5;
         conjunto1 = 2;
         conjunto2 = 3;
         conjunto3 = 3;
         conjunto4 = 4;
         conjunto5 = 2;
         if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (conjunto1 + conjunto2 + conjunto3 + conjunto4 + conjunto5 + 4) && (String.fromCharCode(keypress) != '.')) {
            if (campo.value.length == conjunto1) 
               campo.value = campo.value + separacao1;
            if (campo.value.length == conjunto1 + conjunto2 + 1) 
               campo.value = campo.value + separacao2;
            if (campo.value.length == conjunto1 + conjunto2 + conjunto3 + 2) 
               campo.value = campo.value + separacao3;
            if (campo.value.length == conjunto1 + conjunto2 + conjunto3 + conjunto4 + 3) 
               campo.value = campo.value + separacao4;
         }
      else 
         event.returnValue = false;
      }
   }

   function MascaraCPF (formato, keypress, objeto) {
      campo = eval (objeto);
      if (formato=='CPF') {
         caracteres = '0123456789';
         separacoes = 3;
         separacao1 = '.';
         separacao2 = '.';
         separacao3 = '-';
         conjuntos = 4;
         conjunto1 = 3;
         conjunto2 = 3;
         conjunto3 = 3;
         conjunto4 = 2;
         if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (conjunto1 + conjunto2 + conjunto3 + conjunto4 +  3) && (String.fromCharCode(keypress) != '.')) {
            if (campo.value.length == conjunto1) 
               campo.value = campo.value + separacao1;
            if (campo.value.length == conjunto1 + conjunto2 + 1) 
               campo.value = campo.value + separacao2;
            if (campo.value.length == conjunto1 + conjunto2 + conjunto3 + 2) 
               campo.value = campo.value + separacao3;
         }
      else 
         event.returnValue = false;
      }
   }

   function MascaraDATA (formato, keypress, objeto) {
      campo = eval (objeto);
      if (formato=='DATA') {
         caracteres = '0123456789';
         separacoes = 2;
         separacao1 = '/';
         separacao2 = '/';
         conjuntos = 3;
         conjunto1 = 2;
         conjunto2 = 2;
         conjunto3 = 4;
         if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (conjunto1 + conjunto2 + conjunto3 + 2) && (String.fromCharCode(keypress) != '/')) {
            if (campo.value.length == conjunto1) 
               campo.value = campo.value + separacao1;
            if (campo.value.length == conjunto1 + conjunto2 + 1) 
               campo.value = campo.value + separacao2;
            if (campo.value.length == conjunto1 + conjunto2 + conjunto3 + 2) 
               campo.value = campo.value + separacao3;
         }
      else 
         event.returnValue = false;
      }
   }

   function MascaraHORA (formato, keypress, objeto) {
      campo = eval (objeto);
      if (formato=='HORA') {
         caracteres = '0123456789';
         separacoes = 1;
         separacao1 = ':';
         conjuntos = 2;
         conjunto1 = 2;
         conjunto2 = 2;
         if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < (conjunto1 + conjunto2 + 2 ) && (String.fromCharCode(keypress) != ':')) {
            if (campo.value.length == conjunto1) 
               campo.value = campo.value + separacao1;
         }
      else 
         event.returnValue = false;
      }
   }

function validaCGC(CGC) {

StrCGC = CGC.value;

var DataPat  = /^(\d{2}).(\d{3}).(\d{3})\/(\d{4})-(\d{2})/;
var DataPat2 = /^(\d{14})/;

var matchArray   = StrCGC.match(DataPat);
var matchArray2  = StrCGC.match(DataPat2);

if (matchArray == null && matchArray2 == null) {
alert('Atenção!, O número do CNPJ deve ser informado incluindo-se os 14 dígitos.\nNão são necessários os separadores ou zeros à esquerda.\n\nExemplo: 99999999999999');
CGC.value = "";
CGC.focus();
return true;
} 
else if(matchArray != null) {
StrCGC = matchArray[1] + matchArray[2] + matchArray[3] + matchArray[4] + matchArray[5] ;
}
else if(matchArray2 != null) {
StrCGC = matchArray2[1];
}   

      var Ref_String="1234567890";
      for (Count=0; Count < StrCGC.length; Count++)
      {
       TempChar= StrCGC.substring (Count, Count+1);
       if (Ref_String.indexOf (TempChar, 0)==-1)
        {
        alert("Digite somente Números em seu CNPJ!");
	CGC.value = "";
	CGC.focus();
        return false ;
         }
      }

      var varFirstChr = StrCGC.charAt(0);
      var vaCharCGC = false;      
      var vlMult,vlControle,s1, s2 = "";
      var i,j,vlDgito,vlSoma = 0;
      for ( var i=0; i<=13; i++ ) {

        var c = StrCGC.charAt(i);
        if( ! (c>="0")&&(c<="9") )
        {
      alert("Atenção CNPJ Inválido, por favor Digite Novamente!");
         CGC.focus();
      return false; }
        if( c!=varFirstChr ) { vaCharCGC = true; }
      }
      if( ! vaCharCGC ) {

      alert("Atenção CNPJ Inválido, por favor Digite Novamente!");
	CGC.focus();
      return false ;
      }


      s1 = StrCGC.substring(0,12);
      s2 = StrCGC.substring(12,15);
      vlMult = "543298765432";
      vlControle = "";
      for ( j=1; j<3; j++ ) {


       vlSoma = 0;
       for ( i=0; i<12; i++ )
        { vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );}
         if( j == 2 ){ vlSoma += (2 * vlDgito); }
         vlDgito = ((vlSoma*10) % 11);
         if( vlDgito == 10 ){ vlDgito = 0; }
         vlControle = vlControle + vlDgito;
         vlMult = "654329876543";
      }
      if( vlControle != s2 ) {
      alert("Atenção CNPJ Inválido, por favor Digite Novamente");
	CGC.focus();
      return false; 
      }
      else {
      return true; 
      }      

}



function rounder_up(pvalue){ 
if (pvalue > 1) { 
   p_valor = pvalue.toString();
   var_position = p_valor.indexOf(".")*1; 
   if (var_position > 0) {
      var_number=p_valor.substring(var_position+2,0);
      var_start=p_valor.substring(0,var_position)*1;
      if (var_number > 0) {
         return var_start+1;
         }
      else {
         return pvalue;
         } 
     } 
}
else { 
     pvalue = 1;
     }
return pvalue   
}

function round(number,X) {
X = (!X ? 2 : X);
return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function Comparadata(pDatai,pDataf) {

um_dia=1000*60*60*24;
data_hoje = new Date();

if ( pDatai.value == "") {
   return;
    }
else {   
    vdatad     = pDatai.value.substring(0,2);
    vdatam     = pDatai.value.substring(3,5)-1;
    vdataa     = pDatai.value.substring(6,10);
    data_ini = new Date(vdataa,vdatam,vdatad);
    v_dias = Math.ceil((data_ini.getTime() - data_hoje.getTime())/(um_dia));
    if ( v_dias <= 0) {
       alert("Atenção a Data Inicial tem que ser MAIOR que a Data de Hoje");
       pDatai.value = "";
       return;
       }
    }

if ( pDataf.value == "") {
   return;
    }
else {   
   vdatad     = pDataf.value.substring(0,2);
   vdatam     = pDataf.value.substring(3,5)-1;
   vdataa     = pDataf.value.substring(6,10);
   data_fim = new Date(vdataa,vdatam,vdatad);
    v_dias = Math.ceil((data_fim.getTime() - data_hoje.getTime())/(um_dia));
    if ( v_dias <= 0) {
       alert("Atenção a Data Final tem que ser MAIOR que a Data de Hoje");
       pDataf.value = "";
       return;
       }
   }


//------verifica se a data final é MAIOR que a data inicial 
v_dias = Math.ceil((data_fim.getTime() - data_ini.getTime())/(um_dia));
if ( v_dias <= 0) {
   alert("Atenção a Data Final tem que ser MAIOR que a Data Inicial");
   pDataf.value = "";
   return;
   }

return;
}	


function Calcula() {

var one_day=1000*60*60*24;

//---crianda as datas
retirada_data = document.reservas.RESERVA_data_retirada.value;
ret_datad     = retirada_data.substring(0,2);
ret_datam     = retirada_data.substring(3,5)-1;
ret_dataa     = retirada_data.substring(6,10);
retirada_hora = document.reservas.RESERVA_hora_retirada.value;
ret_hora       = retirada_hora.substring(0,2);
ret_minuto     = retirada_hora.substring(3,5);
data_retirada = new Date(ret_dataa,ret_datam,ret_datad,ret_hora,ret_minuto);

devolucao_data = document.reservas.RESERVA_data_devolucao.value;
dev_datad      = devolucao_data.substring(0,2);
dev_datam      = devolucao_data.substring(3,5)-1;
dev_dataa      = devolucao_data.substring(6,10);
devolucao_hora = document.reservas.RESERVA_hora_devolucao.value;
dev_hora       = devolucao_hora.substring(0,2);
dev_minuto     = devolucao_hora.substring(3,5);
data_devolucao = new Date(dev_dataa,dev_datam,dev_datad,dev_hora,dev_minuto);

data_atual = new Date();

if (retirada_data != "") {
   //------verifica se a data retirada é MENOR ou igual a data atual 
   v_dias = Math.ceil((data_retirada.getTime() - data_atual.getTime())/(one_day));
   if ( v_dias <= 0) {
     alert("Atenção a Data de Retirada tem que ser MAIOR que a Data Atual!");
     document.reservas.RESERVA_data_retirada.value = "";
     return;
   }
}
if (devolucao_data != "") {
   
   //------verifica se a data de devolucao é MAIOR que a data retirada 
   v_dias = Math.ceil((data_devolucao.getTime() - data_retirada.getTime())/(one_day));
   if (v_dias <= 0) {
     alert("Atenção a Data de Devolução tem que ser MAIOR que a Data de Retirada!");
     document.reservas.RESERVA_data_devolucao.value = "";
     return;
   }
}



//----verificando qual tipo de tarifa
if (document.reservas.RESERVA_tarifa_tipo[0].checked) {
   //---calculando total de dias
   var one_day=1000*60*60*24;
   qtde_dias = Math.ceil((data_devolucao.getTime()-data_retirada.getTime())/(one_day));
   vtarifa  = document.reservas.GRUPO_diaria.value * qtde_dias;
   }
if (document.reservas.RESERVA_tarifa_tipo[1].checked) {
   vtarifa  = document.reservas.GRUPO_semanal.value;
   }
if (document.reservas.RESERVA_tarifa_tipo[2].checked) {
   vtarifa  = document.reservas.GRUPO_quinzenal.value;
   }
if (document.reservas.RESERVA_tarifa_tipo[3].checked) {
   vtarifa  = document.reservas.GRUPO_mensal.value;
   }
if (document.reservas.RESERVA_tarifa_tipo[4].checked) {
   vtarifa  = document.reservas.GRUPO_promocional.value;
   }
vtarifa = vtarifa > 0 ? vtarifa : 0 ;

//----------somando valores dos opcionais
vopc = document.reservas.elements['opcionais[]'];
vtam   = vopc.length;
i = 0;
vtotopcionais = 0;
while (i < vtam ) {
   opc = vopc.options[i].value
   opc = opc.split("&");
   vtotopcionais = (vtotopcionais*1) + (opc[1]*1);
   i++;
   }

//--------somando valores das protecoes (seguro/franquia)
vprot = document.reservas.elements['protecoes[]'];
vtam   = vprot.length;
i = 0;
vtotprotecoes = 0;
while (i < vtam ) {
   prot = vprot.options[i].value
   prot = prot.split("&");
   vtotprotecoes = (vtotprotecoes*1) + (prot[1]*1);
   i++;
   }
//--------------

//---- calcula se tiver condutor adicional
vmot = document.reservas.RESERVA_motorista.value;
if (vmot.length == 0)  {
   vmotorista = 0;
   }	
else {
   vmotorista = "<?echo $FIXOS_condutor_adicional?>";
}

//---- calcula taxa de devolucao
if (document.reservas.RESERVA_loja_retirada_id.value != document.reservas.RESERVA_loja_devolucao_id.value) {
    vtaxadev = "<?echo $FIXOS_taxa_devolucao?>";
    }	
else {
    vtaxadev = 0;
}
//------------------------


//---totalizando total da tarifa
vtotal_tarifa = (vtarifa*1) + 
                (vtotopcionais*1) + 
                (vtotprotecoes*1) + 
                (vmotorista*1) +
                (vtaxadev*1);

//---retornando a totalizacao---
document.reservas.RESERVA_totaltarifa.value = round(vtotal_tarifa,2);
}
   
function Transfere(vcampo,vpreenche) {

array_campo = vcampo.value.split("&");
vtam   = vpreenche.length;
i = 0;
existir = 0;
vpos = 0;

while (i < vtam ) {
   vpreenche2 = vpreenche.options[i].value;
   vopc = vpreenche2.split("&");
   if ( vopc[0] == array_campo[0]) {
      existir = 1;
      vpos = i;
      }
   i++;
}

if (existir == 1) {
   vpreenche.options[vpos]=null;
   }
else {
   optionName = new Option(array_campo[1]+" - "+array_campo[2],array_campo[0]+"&"+array_campo[2]);
   vpreenche.options[vtam]=optionName;
   vpreenche.options[vtam].selected = true;
   }

vcampo.options[0].selected = true;
Calcula()
}