/******************************************************************************/
/*                                                                            */
/*   Desenvolvido pela 3Milênios - Sistemas, Serviços e Representações Ltda.  */
/*                        www.3milenios.com.br                                */
/*                     comercial@3milenios.com.br                             */
/*                    script escrito por João Filho                           */
/*                     joaofilho@3milenios.com.br                             */
/*                                                                            */
/******************************************************************************/

// --- variável para preload_imgs
var img = []
// --- variáveis para funções de menu
var timeMenu = [];
var sentido_submenu = 'horizontal';
var menu_id_img;
var prefix_menu = 'menu';
var prefix_submenu = 'painel_sub';
var class_menu_ativo = 'menu_ativo';
var a_menus;
var a_submenus;
var menu_id_img;
var ajuste_submenu = -5;




function fmod(div,divndo){
  var res = Math.floor(div/divndo);
  var resto = div - (res*divndo);
  return resto;
  } // fmod

function valida_cnpj(cnpj){
  if (cnpj.length==14){
    var n_cnpj = cnpj.substr(0,12);
    /*a multiplicação deve ser feita duas vezes*/
    var x,y,k;
    var soma;
    var digit = new Array(3);
    digit[0] ='';
    var sbt;
    for(x=1; x<=2; x++){
      if(soma){
        soma= 0;
        n_cnpj = n_cnpj+digit[1];
        k = n_cnpj.length+1;//multiplicador
        sbt = 12;
        }
      else{
        soma = 0;
        k = n_cnpj.length+1;//multiplicador
        sbt = 11;
        }
      var fator = 2;
        /*algoritmo de soma*/
      for(y=k; y>=2; y--){
        soma = soma + n_cnpj.substr(sbt,1)*fator;
        sbt--;
        fator++;
        //----------
        if(fator > 9){
          fator = 2;
          }
        //-----------
        }
      var mod;
      /**/
      mod = fmod(soma,11);
      /**/
      digit[x] = 11 - mod;
      if(digit[x] >= 10){
        digit[x] = 0;
        }
      }
    var cnpj_gerado;
    cnpj_gerado = cnpj.substr(0,12)+digit[1]+digit[2];
    if(cnpj == cnpj_gerado){
      return true;
      }
    else{
      return false;
      }
    }
  else{
    return false;
    }
  } // valida_cnpj

function valida_cpf(cpf){
    var x,y,k;
    var soma;
    var fim;
    var digit = new Array(3);
    var sbt;
    var mod;
    var cpf_gerado;
    digit[0] ='';
  if (cpf.length==11){
    var n_cpf = cpf.substr(0,9);
    /*a multiplicação deve ser feita duas vezes*/
    for(x=1; x<=2; x++){
      if(soma){
        soma = 0;
        fim = 1;
        k = n_cpf.length+2;
        n_cpf = n_cpf+digit[1];
        }
      else{
        soma = 0;
        fim = 2;
        k = n_cpf.length+1;
        }
      sbt = 0;
        /*algoritmo de soma*/
      for(y=k; y>=fim; y--){
        soma = soma + (n_cpf.substr(sbt,1)*y);
        sbt++;
        }
      mod = fmod(soma,11);
      digit[x] = 11 - mod;
      if(digit[x] >= 10){
        digit[x] = 0;
        }
      }
    cpf_gerado = cpf.substr(0,9)+digit[1]+digit[2];
    if(cpf == cpf_gerado){
      return true;
      }
    else{
      return false;
      }
    }
  else{
    return false;
    }
  } // valida_cpf
  
function seleciona(formulario,nome,id){
  var elm = document.forms.namedItem(formulario).elements.namedItem(nome);  
  for(var x = 0; x < elm.options.length; x++){
    if(elm.options[x].value == id){
      elm.selectedIndex = x;
      break;
      }
    }  
  } // seleciona

function img_length(){
  var l = 0;
  for(i in img){
    l++;
    }
  img.length = l;
  }
  
function preload_imgs(arr,term,subp){
  term = "." + term;
  if(!subp){
    subp = "";
    }
  for(i in arr){
    img[arr[i]+"-up"] = new Image
    img[arr[i]+"-up"].src = "Imagens/" + subp + arr[i] + "-up" + term;
    img[arr[i]+"-over"] = new Image
    img[arr[i]+"-over"].src = "Imagens/" + subp + arr[i] + "-over" + term;
    }    
  img_length();
  } // preload_imgs
      
function funcao_over(){
  fnc_over(this.id);
  } // funcao_over
  
function fnc_over(arg_id){
  var el;

  if(arg_id){
    el = document.getElementById(arg_id);
    }
  else{
    el = this;
    }
    
  if(el.id.match("-")){
    menu_id_img = el.id.substring(0,el.id.indexOf("-"));
  }else{
    menu_id_img = el.id; 
    }
  
  if(!el.id.match(prefix_submenu+prefix_menu)) {
    el.style.backgroundImage = "url("+img[menu_id_img+"-over"].src+")";
    }
  } // fnc_over
        
function funcao_up(){
  fnc_up(this.id);
  } // funcao_up

function fnc_up(arg_id){
  var el;
          
  el = document.getElementById(arg_id);
  
  if(el.id.match("-")){
    menu_id_img = el.id.substring(0,el.id.indexOf("-"));
  }else{
    menu_id_img = el.id; 
    }
  
  if(!el.id.match(prefix_submenu+prefix_menu)) {        
    el.style.backgroundImage = "url("+img[menu_id_img+"-up"].src+")";
    }
  } // fnc_up
  
function esconde_submenu(){
  fnc_up(this.id);  
  var id;
  // verifica se é submenu usando função
  if(this.id.substring(0,(prefix_submenu+prefix_menu).length) == prefix_submenu+prefix_menu){
    id = this.id.substr(prefix_submenu.length);
    }
  else{
    id = this.id;
    }
  timeMenu[id] = setTimeout('esconde("'+this.id+'")','100');
  } // esconde_submenu

function esconde(id_submenu){
  var id;
  // verifica se é submenu usando função
  if(id_submenu.substring(0,(prefix_submenu+prefix_menu).length) == prefix_submenu+prefix_menu){
    id = id_submenu.substr(prefix_submenu.length);
    }
  else{
    id = id_submenu;
    }
  var submenu = document.getElementById(prefix_submenu+id);
  submenu.style.display = "none";
  document.getElementById(id).className = "";
  fnc_up(id);
  } // esconde

  
function exibe_submenu(){
  fnc_over(this.id);  
  var id;
  // verifica se é submenu usando função
  if(this.id.substr(0,(prefix_submenu+prefix_menu).length) == prefix_submenu+prefix_menu){
    id = this.id.substr(prefix_submenu.length);
    }
  else{
    id = this.id;
    }
 
  // verifica se existe submenu
  if(document.getElementById(prefix_submenu+id)){
    var id_menu = id;
    var id_submenu = prefix_submenu+id;
    var menu = document.getElementById(id_menu);
    var submenu = document.getElementById(id_submenu);
    var submenu2 = false;
    
    // verifica se há sub sub menus
    var int_test = id_submenu.substr((prefix_submenu+prefix_menu).length+1,1); // +1 retira o '-' do nome
    var a_test = prefix_submenu+prefix_menu+'-'+String(parseInt(int_test)+1);
    
    if(document.getElementById(a_test)){
      submenu2 = true;
      }

    if(timeMenu[id_menu]){
      clearTimeout(timeMenu[id_menu]);
      }
      
    var p;
    p = menu.offsetParent;
    var pmTop = menu.offsetTop;
    var pmLeft = menu.offsetLeft;
    
    while(p.tagName != 'BODY'){
      pmTop = pmTop + p.offsetTop;
      pmLeft = pmLeft + p.offsetLeft;
      p = p.offsetParent;
      }
    
    var menuTop = pmTop;
    var menuLeft = pmLeft;
    var menuHeight = menu.offsetHeight;
    var menuWidth = menu.offsetWidth;
    
    if(sentido_submenu == 'vertical'){
      var ajusteL = (submenu2 ? menuWidth + ajuste_submenu : 0);
      var ajusteH = (submenu2 ? 0 : menuHeight);
      }
    else if(sentido_submenu == 'horizontal'){
      var ajusteL = (submenu2 ? 0 : menuWidth + ajuste_submenu);
      var ajusteH = (submenu2 ? menuHeight : 0 );        
      }

    menu.className = class_menu_ativo;
    fnc_over(menu.id);
    submenu.style.position = 'absolute';
    submenu.style.top = menuTop + ajusteH +'px';
    submenu.style.left = menuLeft + ajusteL + 'px';
    submenu.style.display = "";
    submenu.style.zIndex = 2;
    
//         alert('Top: '+menuTop+'; Height: '+menuHeight+'; Left: '+menuLeft+'; Width: '+menuWidth);
    } // if submenu
  } // exibe_submenu   
    
function carrega_menus(){
  
//   for(mg in img){
//     alert(mg);
//     } // for img
  
  for(var i=0; i<a_menus.length; i++){
    menu_id_img = a_menus.item(i).id.substring(0,a_menus.item(i).id.indexOf("-"));
    a_menus.item(i).style.backgroundImage = "url("+img[menu_id_img+"-up"].src+")";
    } // for
  
  for(var i=0; i<a_submenus.length; i++){
    menu_id_img = a_submenus.item(i).id.substring(0,a_submenus.item(i).id.indexOf("-"));
    a_submenus.item(i).style.backgroundImage = "url("+img[menu_id_img+"-up"].src+")";
    } // for
  } // carrega_menus