
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

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 MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

function getSysDate() {
   var myDate=new Date();
   var year=myDate.getYear();
   if (year < 1000)
      year+=1900;
   var day=myDate.getDay();
   var month=myDate.getMonth();
   var daym=myDate.getDate();
   var monthArray=new Array("janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro");
   document.write("Londrina, "+daym+" de "+monthArray[month]+" de "+year+".");
}
//-------------Módulo Geral---------------------------
function Excluir(url) {    
    ch = confirm('Confirma a Exclusão ?');
    if (ch==true)
    	window.location.href = url;
}
//------------------ Nova janela SEM scroolbar
function novaJanela(pagina, nome, largura, altura) {
	opcoes = "width="+largura+",height="+altura+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,top=50,left=50"
	jan1=window.open(pagina,nome,opcoes);
	jan1.focus();
}
//------------------- Nova jabela COM scroolbar
function novaJanelaScrool(pagina, nome, largura, altura) {
	opcoes = "width="+largura+",height="+altura+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=50,left=50"
	jan1=window.open(pagina,nome,opcoes);
	jan1.focus();
}

//--------------Módulo de Solicitações----------------
function ExcluirSolicitacao(url) {    
    ch = confirm('Esta opção, exclui permanentemente a Solicitação, \nsuas respectivas Atividades e seus respectivos Responsáveis!\nConfirma a Exclusão ?');
    if (ch==true)
    	window.location.href = url;
}

//---------------Módulo de Atividades-----------------
function ExcluirAtividade(url) {    
    ch = confirm('Esta opção, exclui permanentemente a Atividade \ne seu respectivo Grupo!\nConfirma a Exclusão ?');
    if (ch==true)
    	window.location.href = url;
}

//frmMenuAtividades
function solicitacaoSelecionada(pg) {
	var valor
	valor = document.MenuAtividades.lstSolicitacao[document.MenuAtividades.lstSolicitacao.selectedIndex].value
	url = 'atividades.php?pg=' + pg + '&cd_solicitacao=' + valor
	window.location.href = url
}
//---------- Imprime Janela corrente -----------------
function imprimir() {
	if (window.print) {
		print();
	}
	else {
		alert ("Seu Browser não suporta Impressão");
	}
	return false;
}
//----------- Valida Data ---------------------
function CheckDate(data) {
	var bError = false;
	var aChar = null;
	var holder = null;	
	var Short =0;
	var FebCheck = null;
	var NovCheck = 0;
	var MonthCheck = null;
	// testa mês
	for (i=3;i<5;i++) {
		aChar = data.charAt(i)
		if (i == 3 && aChar > 1) bError = true;
		if (i == 3 && aChar < "0") bError = true;
		if (i == 3 && aChar == "0" && data.charAt(4)== "0") bError = true;
		if (i == 3 && aChar == 1) MonthCheck =1;
		if (i == 3 && aChar == 1) NovCheck=1;
		if (i == 4 && aChar < "0" || aChar > "9") bError = true;
		if (i == 4 && aChar == 2) FebCheck=1;
		if (i == 4 && MonthCheck == 1 && aChar > 2) bError = true;
		if (i == 4 && aChar == 4 || aChar ==6 || aChar ==9) Short=1;
		if (i == 4 && NovCheck == 1 && aChar == 1) Short=1;
	}
	// testa restante da data 
	for (i = 0; i < 10; i++) {
		aChar = data.charAt(i);
		if (i == 0 && aChar == "0" && data.charAt(1)== "0") bError = true;
		if (i == 0 && aChar > 3) bError = true;        
		if (i == 0 && aChar ==3) holder=1;
		if (i == 1 && aChar >0 && Short==1 && holder==1) bError = true;
		if (i == 1 && aChar >1 && holder==1) bError = true;			
		if (i == 1 && aChar < "0" || aChar > "9") bError = true;		
		if (i == 2 && aChar != '-' && aChar != '/')  bError = true;
		if (FebCheck == 1 && NovCheck != 1) {
			if (i==0 && aChar > 2) bError = true;
		} 
		if (i == 5 && aChar != '-' && aChar != '/')  bError = true;
		if (i == 6 && aChar != 2) bError = true;
		if (i == 7 && aChar !=0) bError = true;
		if (i == 8 && aChar < "0" || aChar > "9") bError = true;
		if (i == 9 && aChar < "0" || aChar > "9") bError = true;			
	}
	if ((data.substring(0,5) == "29/02") && data.substring(6,10) %4 !=0) {
		// alert('O ano que você informou não é Bissexto.\n  29 de Fevereiro não é um dia válido');
		return 1;
	}
	if (bError) {
		// alert ('Data Inválida');
		return 2;
	}
	return 0;
}
//---------- Altera o formato da data ------------------------------
function ChangeDate(BaseDate) {
	BaseDate = CheckTraco(BaseDate);
	BaseDate = CheckDiaMesFormat(BaseDate);
	BaseDate = CheckDiaFormat(BaseDate);
	BaseDate = CheckMesFormat(BaseDate);
	BaseDate = CheckBarras(BaseDate);
	return BaseDate;
}
//---------- Altera o formato da data ------------------------------
function InverseDate(BaseDate) {
        data = BaseDate.substr(6,4) + BaseDate.substr(3,2) + BaseDate.substr(0,2);
        return data;
}
// troca os traços por barras
function CheckTraco (data) {
	data_aux="";
	for (i=0;i<data.length;i++) {
		if (data.charAt(i)=="-") {
			data_aux += "/";
		}
		else {
			data_aux += data.charAt(i);
		}
	}
	return data_aux;
}
// completa com "0" o mês e o dia se for necessário		
function CheckDiaMesFormat (data) {
	if ((data.charAt(1)=="/" || data.charAt(1)=="-") && (data.charAt(3)=="/" || data.charAt(3)=="-")) {
		data = "0" + data.substring(0,1) + "/0" + data.substring(2,9);
	}
	return data;
}
// completa o dia com "0" se for necessário
function CheckDiaFormat(data) {
	if ((data.charAt(1)=="/" || data.charAt(1)=="-")) {
		data = "0" + data;
	}	
	return data;
}
// completa o mês com "0" se for necessário
function CheckMesFormat(data) {
	if ((data.charAt(4)=="/" || data.charAt(4)=="-")) {
		data = data.substring(0,2) + "/0" + data.substring(3,9);
	}
	return data;
}
// coloca barras se necessário
function CheckBarras (data) {
	if (data.length==8) {
		data = data.substring(0,2) + "/" + data.substring(2,4) + "/" + data.substring(4,8);
	}
	return data;
}
//---------------------------------------------------

function goToURL(url) { 
   window.location = url; 
}

function upCase( palavra ){
  palavra.value = palavra.value.toUpperCase();
}
function checkIpAddress( palavra ){
  arrayIp = palavra.value.split( "." );
  if ( arrayIp.length != 4 ){
    return false;
  }
  pos=0;
  while ( pos<4 && !isNaN( arrayIp[pos] ) && arrayIp[pos].substr(0,1) != " " && arrayIp[pos].substr(arrayIp[pos].length-1,1) != " "){
    pos++;
  }
  if ( pos < 4 ){
    return false;
  }else{
    return true;
  }
}
function checkEmail( palavra ){
  email=palavra.value;
  achou_ponto=false;
  achou_arroba=false;
  achou_caracter=true;
  for (i=0; i<email.length; i++) {
    if (email.charAt(i)=="@"){
      if (email.charAt(i+1)=="."){
        achou_arroba=false;
      }else{
        achou_arroba=true;
      }
    }
    else if (email.charAt(i)==".") achou_ponto=true;
    else if (email.charAt(i)==" ") achou_caracter=false;
  }
  if((email.charAt(0)=="W" || email.charAt(0)=="w") &&
     (email.charAt(1)=="W" || email.charAt(1)=="w") &&
     (email.charAt(2)=="W" || email.charAt(2)=="w") &&
     (email.charAt(3)=="."))
  {
    achou_ponto=false;
    achou_caracter=false;
  }
  if(email.charAt(email.length-1)=="."){
    achou_ponto=false;
  }
  return (achou_ponto && achou_arroba && achou_caracter);
}
function isNum( caractere ) 
{ 
         var strValidos = "0123456789"
         if ( strValidos.indexOf(caractere) == -1 ) 
                 return false; 
         return true; 
} 
function isIp( caractere )
{
         var strValidos = "0123456789."
         if ( strValidos.indexOf(caractere) == -1 )
                 return false;
         return true;
}
function toNum( inp )
{
         entrada=inp.value
         saida = ""
         for (i=0; i<entrada.length; i++) {
             if ( isNum ( entrada.charAt(i) ) ){
               saida=saida + entrada.charAt(i)
             }
         }
         inp.value = saida;
         return ( true )
}
function validaTeclaIp(campo, event)
{
         var BACKSPACE=  8;
         var key;
         var tecla;


         CheckTAB=true;
         if(navigator.appName.indexOf("Netscape")!= -1)
                 tecla= event.which;
         else
                 tecla= event.keyCode;


         key = String.fromCharCode( tecla);
         //alert( \'key: \' + tecla + \'  -> campo: \' + campo.value);


         if ( tecla == 13 )
                 return false;
         if ( tecla == BACKSPACE )
                 return true;
         return ( isIp(key));
}
function validaTecla(campo, event) 
{ 
         var BACKSPACE=  8; 
         var key; 
         var tecla; 


         CheckTAB=true; 
         if(navigator.appName.indexOf("Netscape")!= -1) 
                 tecla= event.which; 
         else 
                 tecla= event.keyCode; 


         key = String.fromCharCode( tecla); 
         //alert( \'key: \' + tecla + \'  -> campo: \' + campo.value); 


         if ( tecla == 13 ) 
                 return false; 
         if ( tecla == BACKSPACE ) 
                 return true; 
         return ( isNum(key)); 
} 
function FormataCNPJ( el ) 
{ 
         vr = el.value; 
         tam = vr.length; 


      if ( vr.indexOf(".") == -1 ) 
      { 
      if ( tam <= 2 ) 
              el.value = vr; 
      if ( (tam > 2) && (tam <= 6) ) 
              el.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, tam ); 
      if ( (tam >= 7) && (tam <= 10) ) 
              el.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' 
+ vr.substr( 5, 3 ) + '/'; 
      if ( (tam >= 11) && (tam <= 18) ) 
             el.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' + 
vr.substr( 5, 3 ) + '/' + vr.substr( 8, 4 ) + '-' + vr.substr( 12, 2 ) ; 
      } 
      return true; 
} 

function limpa_string(S){
	// Deixa so' os digitos no numero
	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	}
	} //for

	return temp
}
function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
        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 < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
        return true;
}
function valida_CGC(s)
{
	var i;
	s = limpa_string(s);
	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;
}
function checkDateTime(data) {
        var bError = false;
        var aChar = null;
        var holder = null;
        var Short =0;
        var FebCheck = null;
        var NovCheck = 0;
        var MonthCheck = null;
        // testa mjs
        for (i=3;i<5;i++) {
                aChar = data.charAt(i);
                if (i == 3 && aChar > '1') bError = true;
                if (i == 3 && aChar < '0') bError = true;
                if (i == 3 && aChar == '0' && data.charAt(4)== '0') bError = true;
                if (i == 3 && aChar == '1') MonthCheck =1;
                if (i == 3 && aChar == '1') NovCheck=1;
                if (i == 4 && (aChar < '0' || aChar > '9') ) bError = true;
                if (i == 4 && aChar == '2') FebCheck=1;
                if (i == 4 && MonthCheck == '1' && aChar > '2') bError = true;
                if (i == 4 && (aChar == '4' || aChar =='6' || aChar =='9') ) Short=1;
                if (i == 4 && NovCheck == '1' && aChar == '1') Short=1;
        }
        // testa restante da data
        for (i = 0; i < 16; i++) {
                aChar = data.charAt(i);
                if (i == 0 && aChar == '0' && data.charAt(1)== '0') bError = true;
                if (i == 0 && aChar >  '3') bError = true;
                if (i == 0 && aChar == '3') holder=1;
                if (i == 1 && aChar >  '0' && Short==1 && holder==1) bError = true;
                if (i == 1 && aChar >  '1' && holder==1) bError = true;
                if (i == 1 && (aChar < '0' || aChar > '9') ) bError = true;
                if (i == 2 && aChar != '/')  bError = true;
                if (FebCheck == 1 && NovCheck != 1) {
                        if (i==0 && aChar > 2) bError = true;
                }
                if (i == 5 && aChar != '/')               bError = true;
                if (i == 6 && aChar != '2')                 bError = true;
                if (i == 7 && aChar != '0')                  bError = true;
                if (i == 8 && (aChar < '0' || aChar > '9') ) bError = true;
                if (i == 9 && (aChar < '0' || aChar > '9') ) bError = true;
                if (i == 10 && aChar != '-')               bError = true;
                if (i == 11 && (aChar < '0' || aChar > '2') ) bError = true;
                if (i == 12 && (aChar < '0' || (aChar > '3' && data.charAt(i-1)=='2')) ) bError = true;
                if (i == 12 && (aChar < '0' || (aChar > '9' && data.charAt(i-1)< '2')) ) bError = true;
                if (i == 13 && aChar != ':')               bError = true;
                if (i == 14 && (aChar < '0' || aChar > '5') ) bError = true;
                if (i == 15 && (aChar < '0' || aChar > '9') ) bError = true;
        }
        if ((data.substring(0,5) == "29/02") && data.substring(6,10) %4 !=0) {
                return 2;
        }
        if (bError) {
                return 1;
        }
        return 0;
}
function fillDate( date ){
   tam = date.length;
   dateFill = "";
   var dataAtual = new Date()
   if ( tam == 4 ){
      dateAux=date+dataAtual.getFullYear()+'0000';
   }
   if ( tam == 6 ){
      seculo = 19;
      if ( date.substr(4,2) <= 80 ){
         seculo = 20; 
      }
      dateAux=date.substr(0,4)+seculo+date.substr(4,2)+'0000';
   }
   if ( tam == 8 ){
      dateAux=date+'0000';
   }
   if ( tam == 10 ){
      dateAux=date+'00';
   }
   if ( tam == 12 ){
      dateAux=date;
   }
   date=dateAux;
   dateFill=date.substr(0,2)+'/'+date.substr(2,2)+'/'+date.substr(4,4)+'-'+date.substr(8,2)+':'+date.substr(10,2);
   return dateFill;
}
function fillShortDate( date ){
   tam = date.length;
   dateFill = "";
   var dataAtual = new Date()
   if ( tam == 4 ){
      dateAux=date+dataAtual.getFullYear();
   }
   if ( tam == 6 ){
      seculo = 19;
      if ( date.substr(4,2) <= 80 ){
         seculo = 20; 
      }
      dateAux=date.substr(0,4)+seculo+date.substr(4,2);
   }
   if ( tam == 8 ){
      dateAux=date;
   }
   if ( tam == 10 ){
      dateAux=date;
   }
   if ( tam == 12 ){
      dateAux=date;
   }
   date=dateAux;
   dateFill=date.substr(0,2)+'/'+date.substr(2,2)+'/'+date.substr(4,4);
   return dateFill;
}

function cleanDate( date ){
   tam = date.length;
   dateClean = "";
   for( cont=0; cont<tam; cont++ ){
      if ( date.charAt( cont ) >= '0' && date.charAt(cont) <= '9' ){ 
         dateClean+=date.charAt( cont );
      } 
   }
   return dateClean;
}
function formatDate( date ){
   baseDate = fillDate ( cleanDate( date.value ) ); 
   date.value=baseDate;
}
function formatShortDate( date ){
   baseDate = fillShortDate ( cleanDate( date.value ) ); 
   date.value=baseDate;
}
function fillTime( time ){
   tam = time.length;
   if (tam <=0) {
      return time;
   }
   timeAux = time;
   if ( tam == 4 ){
      timeAux=time.substr(0,2)+':'+time.substr(2,2)+':00';
   }
   if ( tam == 6 ){
      timeAux=time.substr(0,2)+':'+time.substr(2,2)+':'+time.substr(4,2);
   }
   time=timeAux;
   return timeAux;
}
function formatTime( time ){
   baseTime = fillTime ( cleanDate( time.value ) ); 
   time.value=baseTime;
}
function checkTime( time ){
   tam = time.length;
   separator1 = time.substr(2,1);
   separator2 = time.substr(5,1);
   hora = time.substr(0,2);
   minuto = time.substr(3,2);
   segundo = time.substr(6,2);

   if ( tam != 8  || separator1 != ':' || separator2 != ':' || hora > 24 || minuto > 60 || segundo > 60){
       return 0;
   }
   return 1;
}
