var NNav = ((navigator.appName == "Netscape"));
var isNS4 = (navigator.appName=="Netscape")?1:0;

function envia(doc, actionType){
	doc.actionType.value = actionType;
	doc.submit();
}

function voltar(url){
	document.location.href = url;
}

function abreJanela(url, nome, largura, altura){
	window.open(url,nome,"width="+largura+",height="+altura+",top=100,left=200,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,dependent=yes");
}

function pegaTecla(tecla){
	if (isNS4) 
		digito = tecla.which;
	else
	 digito = tecla.keyCode;
	return digito;
}

function linhaDestaque(linha, cod){
	classe = linha.className;
	classe1 = 'linhaPadrao';
	classe2 = 'linhaDestaque';
	if(cod == 1){
		if((classe == undefined) || (classe == '') || (classe == classe1)){
			linha.className = classe2;
		}
	}else{
		if(classe == classe2){
			linha.className = classe1;
		}
	}
}

function mascara(campo, loc, delim, event){
	var duplo = delim + '' +delim;
	var locs = loc.split(',');
	for (var i = 0; i <= locs.length; i++){
		for (var k = 0; k <= campo.value.length; k++){
			if (k == locs[i]){
				if (campo.value.substring(k, k+1) != delim){
					if (event.keyCode != 8){ // backspace
						campo.value = campo.value.substring(0, k) + delim + campo.value.substring(k, campo.value.length);
					}
				}
			}
		}
	}
	if(campo.value.indexOf(duplo) > 0)
		campo.value = campo.value.replace(duplo,delim);
}

function exclusaoMultipla(){
	cont = 0;
	lista = document.getElementsByName("codigos");
	for(i=0; i<lista.length;i++){
		if(lista[i].checked == true){
			cont++;
		}
	}
	if(cont > 0){
		cont = cont>1?" "+cont:"";
		if(confirm('Deseja realmente excluir este(s) '+cont+' registro(s)')){
			envia(document.forms[0],"excluir")
		}
	}else{
		$("#divExclusaoMultipla").slideDown();
		setTimeout("tiraMensagem()",10000);
	}
}
function marcarTodos(campo){
	lista = document.getElementsByName("codigos");
	for(i=0; i<lista.length;i++){
		lista[i].checked = campo.checked;
	}
}

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_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_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 tiraMensagem(){
	if(document.getElementById("linhaAjudaErro")){
		document.getElementById("linhaAjudaErro").title = "";
		$("#divMensagemErro").slideUp();
	}
	if(document.getElementById("linhaAjudaErro2")){
		document.getElementById("linhaAjudaErro2").title = "";
		$("#divMensagemErro2").slideUp();
	}
	if(document.getElementById("linhaAjudaAviso")){
		document.getElementById("linhaAjudaAviso").title = "";
		$("#divMensagemAviso").slideUp();
	}
	if(document.getElementById("linhaAjudaAlerta")){
		document.getElementById("linhaAjudaAlerta").title = "";
		$("#divMensagemAlerta").slideUp();
	}
	$("#divExclusaoMultipla").slideUp();
	$("#divEmailMultiplo").slideUp();
}

function formataMoeda(campo, milSep, decSep, e)
 {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '-0123456789';
	var aux = aux2 = '';
	var qualTecla = (window.Event) ? e.which : e.keyCode;
	if (qualTecla == undefined) qualTecla = e.keyCode;
	if (qualTecla == 13) return true;  // Enter
	if (qualTecla == 8) return true;   // Backspace
	if (qualTecla == 37) return true;  // Seta esquerda
	if (qualTecla == 46) return true;  // Delete
	if (qualTecla == 9) return true;  // TAB
	if (qualTecla == 189) return true;  // Sinal Negativo
	//key = String.fromCharCode(qualTecla);
	key = limpaKeyCode(qualTecla);
	if (strCheck.indexOf(key) == -1) return false;  // Tecla não é válida
	len = campo.value.length;
	if (len > 12) return false;
	for(i = 0; i < len; i++)
	if ((campo.value.charAt(i) != '0') && (campo.value.charAt(i) != decSep)) break;
	aux = '';
	for(; i < len; i++)
	if (strCheck.indexOf(campo.value.charAt(i))!=-1) aux += campo.value.charAt(i);
	aux += key;
	len = aux.length;
	if (len == 0) campo.value = '';
	if (len == 1) campo.value = '0'+ decSep + '0' + aux;
	if (len == 2) campo.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++;
		 }
		campo.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
			campo.value += aux2.charAt(i);
		campo.value += decSep + aux.substr(len - 2, len);
	 }
	return false;
 }
 
function limpaKeyCode(key){
	switch(key){
		case 96: return "0"; break;
		case 97: return "1"; break;
		case 98: return "2"; break;
		case 99: return "3"; break;
		case 100: return "4"; break;
		case 101: return "5"; break;
		case 102: return "6"; break;
		case 103: return "7"; break;
		case 104: return "8"; break;
		case 105: return "9"; break;
		default: return String.fromCharCode(key); break;
	}
}

function paginaInicial(){
	document.location.href = "/menu.do";
}

function tamanhoMaximo(campo, tam){
	if(campo.value.length > tam){
		campo.value = campo.value.substring(0,tam);
	}
}
function format_number(p,d) 
{
  var r;
  if(p<0){p=-p;r=format_number2(p,d);r="-"+r;}
  else   {r=format_number2(p,d);}
  return r;
}
function format_number2(pnumber,decimals) 
{
  var strNumber = new String(pnumber);
  var arrParts = strNumber.split('.');
  var intWholePart = parseInt(arrParts[0],10);
  var strResult = '';
  if (isNaN(intWholePart))
    intWholePart = '0';
  if(arrParts.length > 1)
  {
    var decDecimalPart = new String(arrParts[1]);
    var i = 0;
    var intZeroCount = 0;
     while ( i < String(arrParts[1]).length )
     {
       if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
       {
         intZeroCount += 1;
         i += 1;
       }
       else
         break;
    }
    decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
    Math.round(decDecimalPart); 
    decDecimalPart = parseInt(decDecimalPart)/10; 
    decDecimalPart = Math.round(decDecimalPart); 

    //If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
    //then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 

    if(decDecimalPart==Math.pow(10, parseInt(decimals)))
    { 
      intWholePart+=1; 
      decDecimalPart="0"; 
    } 
    var stringOfZeros = new String('');
    i=0;
    if( decDecimalPart > 0 )
    {
      while( i < intZeroCount)
      {
        stringOfZeros += '0';
        i += 1;
      }
    }
    decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
    var dot = decDecimalPart.indexOf('.');
    if(dot == -1)
    {
      decDecimalPart += '.'; 
      dot = decDecimalPart.indexOf('.'); 
    } 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  else
  {
    var dot; 
    var decDecimalPart = new String(intWholePart); 

    decDecimalPart += '.'; 
    dot = decDecimalPart.indexOf('.'); 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  return strResult;
}

function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function
