// JavaScript Document

/* 
   *** Para as validações ****
   - Primeiro argumento nome do campo a ser validado
   - Segundo argumento mensagem personalizada que será mostrada no alert de erro
   - Terceiro argumento tipo de validação:
   |-- 'N' -> Valida campos tipo "Somente Número"
   |-- 'P' -> Valida campos tipo "Somente Número Positivos"
   |-- 'E' -> Valida campos tipo "E-Mail"
   |-- 'R' -> Valida campos tipo "Obrigatório"
   |-- 'D' -> Valida campos tipo "Data"
   |-- 'M' -> Valida campos tipo "Moeda formato 999,99"
   |-- 'Q' -> Valida campos tipo "Moeda formato 999,999"
   |-- 'J' -> Valida campos tipo "CNPJ/CPF"
   
   obs.: colocar R sempre primeiro.
*/

var ie4 = (document.all)
var ns4 = (document.layers)
var isDHTML = ie4 || ns4

function MM_validateForm() { //v3.0
  var data,i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3){
    test=args[i+2];
	val=MM_findObj(args[i]);
	if (val){
	  nm=args[i+1]; 
	  if ((val=val.value)!="") {
        if (test.indexOf('E')!=-1) {
		  p=val.indexOf('@');
          if (p<1 || p==(val.length-1))
		    errors+='- '+nm+' inválido.\n';
        } 
	    
		if (test.indexOf('D')!=-1) {
		  data = verificaData(val);
          if (! data)
            errors+='- '+nm+' com formato inválido.\n';
		}
		
		if (test.indexOf('N')!=-1) {
		  num = parseFloat(val);
          if (val!=''+num)
		    errors+='- '+nm+' só pode conter números.\n';
		}
		if (test.indexOf('P')!=-1) {
		  num = parseInt(val);
          if (val!=''+num || num < 0)
		    errors+='- '+nm+' só pode conter número maior ou igual a 0.\n';
		}
		if (test.indexOf('M')!=-1) {
          val = formatNumber(val, 5);
		  if (! ehMoeda(val, 5))
		    errors+='- '+nm+' com formato inválido. (ex.: 999.99 ou 999).\n';
		}
		if (test.indexOf('Q')!=-1) {
          val = formatNumber(val, 5);
		  if (! ehMoeda(val, 5))
		    errors+='- '+nm+' com formato inválido. (ex.: 999.99999 ou 999).\n';
		}
		if (test.indexOf('J')!=-1) {
		  if (!(ehCNPJ(val) || ehCPF(val)))
		    errors+='- '+nm+' inválido. (ex.: 99999999999)\n';
		}
	  } 
	  else
	    if (test.charAt(0) == 'R')
		  errors += '- '+nm+' é necessário.\n';
	}
  }
  if (errors)
	alert('Ocorreu erro(s):\n\n'+errors);
  document.MM_returnValue = (errors == '');
}

function formatNumber(aValor, aDecimal) { 
  maxInt = 10;
  aValor = aValor.toString(); 
  if(isNaN(aValor)) aValor = "0"; 
  vFracao = Math.floor((aValor*100000+0.5)%100000).toString();
  vValor = Math.floor((aValor*100+0.5)/100).toString(); 
  if (vFracao.length < 2)
    vFracao = "0000" + vFracao;
  else if (vFracao.length < 3)
         vFracao = "000" + vFracao;
	   else if (vFracao.length < 4)
              vFracao = "00" + vFracao;
			else if (vFracao.length < 5)
                   vFracao = "0" + vFracao;
  for (var i = 0; i < Math.floor((vValor.length-(1+i))/3); i++) 
    vValor = vValor.substring(vValor.length-(4*i+maxInt)); 
  vValor = vValor + "." + vFracao;
  return(vValor);
} 

function formatCurrency2(aValor, aCampo) { 
  maxInt = 10;
  aValor = aValor.toString(); 
  if (isNaN(aValor)) {
    alert('Valor inválido'); 
	aCampo.focus();
  }
  else {
    vFracao = Math.floor((aValor*100000+0.5)%100000).toString();
    //vValor = Math.floor((aValor*100+0.5)/100).toString(); 
	vValor = Math.floor(aValor).toString(); 
    if (vFracao.length < 2)
      vFracao = "0000" + vFracao;
    else if (vFracao.length < 3)
           vFracao = "000" + vFracao;
	     else if (vFracao.length < 4)
                vFracao = "00" + vFracao;
			  else if (vFracao.length < 5)
                     vFracao = "0" + vFracao;
    for (var i = 0; i < Math.floor((vValor.length-(1+i))/3); i++) 
      vValor = vValor.substring(vValor.length-(4*i+maxInt)); 
    vValor = vValor + "," + vFracao;
    aCampo.value = vValor;
  }
}

function verificaData(Data) {
  if (Data == '') return true;
  var dma = -1;
  var data = Array(3);
  var ch = Data.charAt(0); 
  for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ) {
    data[++dma] = '';
    if(ch!='/' && i != 0) return false;
    if(i != 0 ) ch = Data.charAt(++i);
    if(ch=='0') ch = Data.charAt(++i);
    while( ch >= '0' && ch <= '9' ) {
      data[dma] += ch;
      ch = Data.charAt(++i);
    } 
  }
  if(ch!='') return false;
  if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
  if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
  //if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 1920 || parseInt(data[2]) > 2030))) return false;
  if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 2030))) return false;
  switch(parseInt(data[1])) { 
    case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
    case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break; }
    default: { if(parseInt(data[0]) > 31) return false; }
  }
  return true; 
}

function ehMoeda(valor, digitos) {
  if (valor != "") {
    if (isNumber(valor,0))
	  return true;

	if (!isNumber(valor,digitos))
      return false;
    else {
	  len = valor.length;
	  n = valor.substring(0, len - 1) + "," + valor.substring(len - digitos, len);
      if (n == 0)
        return false;
	  else
	    return true; 
    }
  }
  else
    return false;
}

function isNumber(sNumero, iDecimais) {
  var bRet
  var i
  bRet = true
  if (iDecimais > 0) {
    //if (sNumero.length < iDecimais + 2 || (sNumero.indexOf(".", 0) == -1 && sNumero.indexOf(",", 0) == -1))
	if (sNumero.length < iDecimais + 2 || (sNumero.indexOf(".", 0) == -1 || sNumero.indexOf(",", 0) != -1))
      bRet = false
    }
  if (bRet) {
    i = 0
    while(i < sNumero.length && bRet) {
      if (iDecimais > 0) {
        if (i == sNumero.length - (iDecimais + 1)) {
          if (sNumero.charAt(i) != "." && sNumero.charAt(i) != ",")
            bRet = false
        }
        else {
          if (sNumero.charAt(i) < "0" || sNumero.charAt(i) > "9")
            bRet = false
        }
      }
      else {
        if (sNumero.charAt(i) < "0" || sNumero.charAt(i) > "9")
          bRet = false
        }
      i++
      }
    }
  return bRet
}

function limpa_str_soNumero(S) {
  var Digitos = "0123456789";
  var temp = "";
  var digito = "";

  for (var i=0; i<S.length; i++) {
    digito = S.charAt(i);
    if (Digitos.indexOf(digito)>=0)
      temp=temp+digito;
  }
  return temp;
}

function ehCPF(s) {
  s = limpa_str_soNumero(s);
  var CPF = s;
  if (CPF == '')
    return false;
  var POSICAO, I, SOMA, DV, DV_INFORMADO;
  var DIGITO = new Array(10);
  DV_INFORMADO = CPF.substr(9, 2);

  for (I=0; I<=8; I++)
    DIGITO[I] = CPF.substr( I, 1);
  POSICAO = 10;
  SOMA = 0;
  for (I=0; I<=8; I++) {
    SOMA = SOMA + DIGITO[I] * POSICAO;
    POSICAO = POSICAO - 1;
  }
  DIGITO[9] = SOMA % 11;
  if (DIGITO[9] < 2)
    DIGITO[9] = 0;
  else
    DIGITO[9] = 11 - DIGITO[9];

  POSICAO = 11;
  SOMA = 0;
  for (I=0; I<=9; I++) {
    SOMA = SOMA + DIGITO[I] * POSICAO;
    POSICAO = POSICAO - 1;
  }
  DIGITO[10] = SOMA % 11;
  if (DIGITO[10] < 2)
    DIGITO[10] = 0;
  else
    DIGITO[10] = 11 - DIGITO[10];

  DV = DIGITO[9] * 10 + DIGITO[10];
  if (DV != DV_INFORMADO)
    return false;
  else
    return true;
}

function ehCNPJ(s) {
  var i;
  //s = limpa_str_soNumero(s);
  if (! isNumber(s, 0))
    return false;
  var c = s.substr(0,12);
  var dv = s.substr(12,2);
  var d1 = 0;
  for (i = 0; i < 12; i++)
    d1 += c.charAt(11-i)*(2+(i % 8));
  if (d1 == 0)
    return false;
  d1 = 11 - (d1 % 11);
  if (d1 > 9)
    d1 = 0;
  if (dv.charAt(0) != d1)
    return false;
  d1 *= 2;
  for (i = 0; i < 12; i++)
    d1 += c.charAt(11-i)*(2+((i+1) % 8));
  d1 = 11 - (d1 % 11);
  if (d1 > 9)
    d1 = 0;
  if (dv.charAt(1) != d1)
    return false;
  return true;
}

// Funções de Pre-carregamento de images, OnMouseOver e OnMouseOut

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];}
}

// Funções de Formulário de salto - JumpMenu

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenu2(frame,selObj,restore){ //v3.0
  top.parent.frame2.document.location.href='cab_menu.asp?cod='+selObj.options[selObj.selectedIndex].id;
  eval("top.parent." + frame + ".document.location.href='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v3.0
  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); return x;
}

// Funções de abertura de Janelas

function openWinTam(url,name,largura,altura,esquerda,topo) {
  popupWin = window.open(url,name,'menubar=no,toolbar=no,resizable=no,scrollbars=no,width='+largura+',height='+altura+',left='+esquerda+',top='+topo+'');
}

function openWinTamNor(url,name,largura,altura,esquerda,topo) {
  popupWin = window.open(url,name,'menubar=yes,toolbar=yes,resizable=yes,scrollbars=auto,left='+esquerda+',top='+topo+'');
}

function openWin(url,name) {
        popupWin = window.open(url, name, 
        'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,width=350,height=320,left=100,top=100');
      }

function MM_popupMsg(msg) { //v1.0
  alert(msg);
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}




<!--
PositionX = 60;
PositionY = 60;
defaultWidth  = 400;
defaultHeight = 300;

if (parseInt(navigator.appVersion.charAt(0))>=4) {
  var isNN=(navigator.appName=="Netscape")?1:0;
  var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
}

var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=320,height=240,left='+PositionX+',top='+PositionY;

function popImage(imageURL){
  if (isNN){ imgWin=window.open('about:blank','',optNN); }
  if (isIE){ imgWin=window.open('about:blank','',optIE); }
  with (imgWin.document) {

    writeln('<html><head><title>IBDES</title>'); writeln('<sc'+'ript>'); writeln('var isNN,isIE;');
    writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){'); writeln('isNN=(navigator.appName=="Netscape")?1:0;');
    writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}'); writeln('function reSizeToImage(){'); writeln('if (isIE){'); writeln('window.resizeTo(100,100);');
    writeln('width=100-(document.body.clientWidth-document.images[0].width);'); writeln('height=100-(document.body.clientHeight-document.images[0].height);');
    writeln('window.resizeTo(width,height);}'); writeln('if (isNN){'); writeln('window.innerWidth=document.images["Imagem"].width;');
    writeln('window.innerHeight=document.images["Imagem"].height;}}'); writeln('</sc'+'ript>');
    writeln('</head><body bgcolor=black leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 scroll=no onload="reSizeToImage();self.focus()" onblur="self.close()">');
    writeln('<img name="Imagem" src='+imageURL+'></body></html>');

    close();		
  }
}

//Slideshow
var slideShowSpeed = 6000
var crossFadeDuration = 3

var Pic = new Array() // don't touch this
Pic[0] = '/fmp/images/ani_cab1.jpg'
Pic[1] = '/fmp/images/ani_cab2.jpg'
Pic[2] = '/fmp/images/ani_cab3.jpg'

var t
var j = 0
var p = Pic.length

var preLoad = new Array()
for (i = 0; i < p; i++){
   preLoad[i] = new Image()
   preLoad[i].src = Pic[i]
}

function runSlideShow(){
   if (document.all){
      document.images.SlideShow.style.filter="blendTrans(duration=2)"
      document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
      document.images.SlideShow.filters.blendTrans.Apply()
   }
   document.images.SlideShow.src = preLoad[j].src
   if (document.all){
      document.images.SlideShow.filters.blendTrans.Play()
   }
   j = j + 1
   if (j > (p-1)) j=0
   t = setTimeout('runSlideShow()', slideShowSpeed)
}

//-->
