// Bloqueia botão direito
$(document).bind("contextmenu",function(e){   
    return false;   
});  

// ---------------------------
// Função   : checkdate()
// Descrição: Validação de datas formato dd/mm/aaaa
// ---------------------------
function checkdate(input){
if (!input.value)
{
returnval=true
return returnval
}
var validformat=/^\d{2}\/\d{2}\/\d{4}$/ // Verificação básica da data
var returnval=false
if (!validformat.test(input.value))
alert("Favor informar a data no formato dd/mm/aaaa.")
else{ //Verifica se data é válida
var monthfield=input.value.split("/")[1]
var dayfield=input.value.split("/")[0]
var yearfield=input.value.split("/")[2]
var dayobj = new Date(yearfield, monthfield-1, dayfield)
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
alert("Data inválida.")
else
returnval=true
}
if (returnval==false) input.select()
return returnval
}

// ---------------------------
// Função   : checkdateM()
// Descrição: Validação de datas formato mm/aaaa
// ---------------------------
function checkdateM(input){
if (!input.value)
{
returnval=true
return returnval
}
var validformat=/^\d{2}\/\d{4}$/ // Verificação básica da data
var returnval=false
if (!validformat.test(input.value))
	alert("Favor informar a data no formato mm/aaaa.")
else	
{ //Verifica se data é válida
	var monthfield=input.value.split("/")[0]
	var dayfield=1
	var yearfield=input.value.split("/")[1]
	if (yearfield < 1900 || yearfield > 2030) {
	alert("Ano inválido.")
	}
	else
	{
		var dayobj = new Date(yearfield, monthfield-1, dayfield)
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
		alert("Data inválida.")
		else
		returnval=true
		}
	}
	if (returnval==false) input.select()
	return returnval

}

// ---------------------------
// Função   : redirectURL()
// Descrição: Redirecionamento de URL
// ---------------------------
function redirectURL(v_url) {
	window.location=v_url;
}

// ---------------------------
// Função   : checkTime()
// Descrição: Validação de hora no formato hh:mm
// ---------------------------
function checkTime(input){
if (!input.value)
{
returnval=true
return returnval
}
var validformat=/^\d{2}\:\d{2}$/ // Verificação básica da hora
var returnval=false
if (!validformat.test(input.value))
alert("Favor informar a hora no formato hh:mm.")
else{ //Verifica se data é válida
var minuto=input.value.split(":")[1]
var hora=input.value.split(":")[0]
if (minuto < 0 || minuto > 59 || hora < 0 || hora > 24)
alert("Hora inválida.")
else
returnval=true
}
if (returnval==false) input.select()
return returnval
}

// ---------------------------
// Função   : uploadCheck()
// Descrição: Alerta de uso do botão PROCURAR (para função de upload)
// ---------------------------
function uploadCheck(){
alert("Para enviar um arquivo utilize o botão PROCURAR.")
return false
}

// ---------------------------
// Função   : calcDias()
// Descrição: Calcula período de 30 dias de amplitude
// ---------------------------
function calcDias(data_de, data_ate) {
  if (data_de.value && data_ate.value) {
	  var date1 = data_de.value;
	  var date2 = data_ate.value;
	  date1 = date1.split("/");
	  date2 = date2.split("/");
	  var sDate = new Date(date1[1]+"/"+date1[0]+"/"+date1[2]);
	  var eDate = new Date(date2[1]+"/"+date2[0]+"/"+date2[2]);
	  var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
	  if (daysApart > 31) {alert("Período superior a 30 dias. Favor reduzir período.");return false} else {return true}
	  } else 
	  {return true}
}

// ---------------------------
// Função   : soNumero()
// Descrição: Aceitar apenas númericos
// ---------------------------
function soNumero(e, decimal) {
var key;
var keychar;

if (window.event) {
   key = window.event.keyCode;
}
else if (e) {
   key = e.which;
}
else {
   return true;
}
keychar = String.fromCharCode(key);

if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
   return true;
}
else if ((("0123456789").indexOf(keychar) > -1)) {
   return true;
}
else if (decimal && (keychar == ",")) { 
  return true;
}
else
   return false;
}

// ---------------------------
// Função   : validacpf()
// Descrição: Validação de CPF
// ---------------------------
function validacpf(cpf){ 
  
var i; 
var s = cpf.value;
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){ 
alert("CPF Invalido") 
return false; 
} 
d1 = 11 - (d1 % 11); 
if (d1 > 9) d1 = 0; 
if (dv.charAt(0) != d1) 
{ 
alert("CPF Invalido") 
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) 
{ 
alert("CPF Invalido") 
return false; 
} 
return true; 
} 

// ---------------------------
// Função   : formataCNPJ()
// Descrição: Máscara de CNPJ
// ---------------------------
function formataCNPJ(Campo, teclapres){

   if(window.event){
    var tecla = teclapres.keyCode;
   }else  tecla = teclapres.which;

   var vr = new String(Campo.value);
   vr = vr.replace(".", "");
   vr = vr.replace(".", "");
   vr = vr.replace("/", "");
   vr = vr.replace("-", "");

   tam = vr.length + 1;

   
   if (tecla != 9 && tecla != 8){
      if (tam > 2 && tam < 6)
         Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
      if (tam >= 6 && tam < 9)
         Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
      if (tam >= 9 && tam < 13)
         Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
      if (tam >= 13 && tam < 15)
         Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
      }
}

// ---------------------------
// Função   : formataCEP()
// Descrição: Máscara de CEP
// ---------------------------
function formataCEP(e,src,mask) {
    if(window.event) { _TXT = e.keyCode; } 
    else if(e.which) { _TXT = e.which; }
    if(_TXT > 47 && _TXT < 58) { 
 var i = src.value.length; var saida = mask.substring(0,1); var texto = mask.substring(i)
 if (texto.substring(0,1) != saida) { src.value += texto.substring(0,1); } 
    return true; } else { if (_TXT != 8) { return false; } 
 else { return true; }
    }
}

// ---------------------------
// Função   : formatarCampoCEP()
// Descrição: Máscara de CEP
// ---------------------------
function formatarCampoCEP(src, mask){
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida)
  {
    src.value += texto.substring(0,1);
  }
}

// ---------------------------
// Função   : SetAllCheckBoxes()
// Descrição: Marca ou desmarca os checkboxes
// Aplicação: onClick="SetAllCheckBoxes('nome_form', 'campo_checkbox', true/false);"
// ---------------------------
	function SetAllCheckBoxes(FormName, FieldName, CheckValue)
	{
		if(!document.forms[FormName])
			return;
		var objCheckBoxes = document.forms[FormName].elements[FieldName];
		if(!objCheckBoxes)
			return;
		var countCheckBoxes = objCheckBoxes.length;
		if(!countCheckBoxes)
			objCheckBoxes.checked = CheckValue;
		else
			// set the check value for all check boxes
			for(var i = 0; i < countCheckBoxes; i++)
				objCheckBoxes[i].checked = CheckValue;
	}


// ---------------------------
// Função   : isDecimal()
// Descrição: Testa se número é decimal
// Aplicação: isDecimal();
// ---------------------------
function isDecimal(num){
		
		num = num.replace( ",", "." );
		
   if(isNaN(num)){
      return false;
   }else{
			return true;
   }
}       

// ---------------------------
// Função   : formataDecimal()
// Descrição: Máscara de valores decimais
// ---------------------------
function formataDecimal(fld, milSep, decSep, e) {
  var sep = 0;
  var key = '';
  //var milSep = '';
  var i = j = 0;
  var len = len2 = 0;
  var strCheck = '0123456789';
  var aux = aux2 = '';
  //var whichCode = (window.Event) ? e.which : e.keyCode;
   var browser=navigator.appName;
		if(browser=='Netscape'){
			whichCode = e.which;
		}else{
			whichCode = e.keyCode;
		}
  
  if (whichCode == 13){ return true; } // Enter
  if (whichCode == 8){ return true; } // Delete
  key = String.fromCharCode(whichCode);  // Get key value from key code
  
  if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
  len = fld.value.length;
  for(i = 0; i < len; i++)
  if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
  aux = '';
  for(; i < len; i++)
  if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
  aux += key;
  len = aux.length;
  if (len == 0) fld.value = '';
  if (len == 1) fld.value = '0'+ decSep + '0' + aux;
  if (len == 2) fld.value = '0'+ decSep + aux;
  if (len > 2) {
    aux2 = '';
    for (j = 0, i = len - 3; i >= 0; i--) {
      if (j == 3) {
        aux2 += milSep;
        j = 0;
      }
      aux2 += aux.charAt(i);
      j++;
    }
    fld.value = '';
    len2 = aux2.length;
    for (i = len2 - 1; i >= 0; i--)
    fld.value += aux2.charAt(i);
    fld.value += decSep + aux.substr(len - 2, len);
  }
  return false;
}


var menu=function(){
	var t=1,z=5,s=6,a;
	function dd(n){this.n=n; this.h=[]; this.c=[]}
	dd.prototype.init=function(p,c){
		a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
		for(i;i<l;i++){
			var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
			h.onmouseover=new Function(this.n+'.st('+i+',true)');
			h.onmouseout=new Function(this.n+'.st('+i+')');
		}
	}
	dd.prototype.st=function(x,f){
		var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
		clearInterval(c.t); c.style.overflow='hidden';
		if(f){
			p.className+=' '+a;
			if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
			if(c.mh==c.offsetHeight){c.style.overflow='visible'}
			else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
		}else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
	}
	function sl(c,f){
		var h=c.offsetHeight;
		if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
			if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
			clearInterval(c.t); return
		}
		var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
		c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
		c.style.height=h+(d*f)+'px'
	}
	return{dd:dd}
}();

// ---------------------------
// Função   : checkedAll()
// Descrição: Marca/desmarca checkboxes em uma lista
// ---------------------------
v_list_checked=false;
function checkedAll (lista) {
	var aa= document.getElementById('lista');
	 if (v_list_checked == false)
          {
           v_list_checked = true
          }
        else
          {
          v_list_checked = false
          }
	for (var i =0; i < aa.elements.length; i++) 
	{
	 aa.elements[i].checked = v_list_checked;
	}
}

// ---------------------------
// Função   : MascaraTelefone()
// Descrição: Máscara de Telefone (00)0000-0000
// ---------------------------
function MascaraTelefone(objeto){
   if(objeto.value.length == 0)
     objeto.value = '(' + objeto.value;

   if(objeto.value.length == 3)
      objeto.value = objeto.value + ')';

 if(objeto.value.length == 8)
     objeto.value = objeto.value + '-';
}

// ---------------------------
// Função   : validaEmail()
// Descrição: Verifica se o email é valido
// ---------------------------
/*
function validaEmail(){
	var valido;
    var str = document.thisForm.email.value;
    var filter = /^[\w!#$%&amp;'*+\/=?^`{|}~-]+(\.[\w!#$%&amp;'*+\/=?^`{|}~-]+)*2@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    if(filter.test(str))
      valido = true;
    else{
      alert("Este endereço de e-mail não é válido!");
      document.thisForm.email.focus();
      valido = false;
    }
    return valido;
}
*/


