//////////////////////////////////////////////////////////////////////////////////////////////////
// Este arquivo contem funcoes uteis para uso da SiteCom                                        //
// Desenvolvido por: Aroldo Luis Leonardo                                                       //
//                                                                                              //
// Data de desenvolvimento:  08/02/2006                                                         //
// Data da ultima alteracao: 07/05/2008                                                         //
//////////////////////////////////////////////////////////////////////////////////////////////////



// Esta função so permite digitação de Numeros
// Não usar mais esta função pois será deprecada. Usar NumeroInt
function Numero(Valor1, Valor2) {
	if (Valor1 < 48 && Valor1 != 8 || Valor1 > 57) {
	return false;}
	if (Valor2 < 48 && Valor2 != 8 || Valor2 > 57) {
	event.keyCode = 0}
}

// Esta função so permite digitação de Numeros
function NumeroInt(Valor1, Valor2) {
	if (Valor1 < 48 && Valor1 != 8 || Valor1 > 57) {
	return false;}
	if (Valor2 < 48 && Valor2 != 8 || Valor2 > 57) {
	event.keyCode = 0}
}

// Esta função so permite digitação de Numeros Fracionarios
function NumeroFac(Valor1, Valor2) {
	if (Valor1 < 48 && Valor1 != 8 && Valor1 != 44 || Valor1 > 57) {
	return false;}
	if (Valor2 < 48 && Valor2 != 8 && Valor2 != 44 || Valor2 > 57) {
	event.keyCode = 0}
}

// Esta função verifica se o cep digitado se encontra é válido para o cep selecionado
function chkCEP(UF, Cep, Prefixo) {

}

// Função usada para setar o idioma na interface administrativa
function setIdioma(x, prm) {
	prm = (prm == "") ? "?idm=" : prm+"&idm=";
	location.href=prm + x.options[x.selectedIndex].value;
}

// Função usada para setar o idioma no site
function setIdiomaSite(chave, prm) {
	prm = (prm == "") ? "?idm=" : prm+"&idm=";
	location.href = prm + chave;
}

// Função usada para obter a extensão de um arquivo
function getExtensao(arquivo) {
	ext = arquivo.substr(arquivo.length-3, 3);
	return ext;
}

// Função usada para obter a extensão de um arquivo
function getNameFile(arquivo) {
	tmp = arquivo.split("/");
	nome = tmp[tmp.length-1];
	return nome;
}

// Função usada para abrir popup
function PopupSk(pagina, largura, altura) {
    var remote = null;
    remote = window.open(pagina,'popup','toolbar=no, location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,menubar=no,width='+largura+',height='+altura);
}

function NovaJanela(pagina, target) {
	param = "scrollbars=yes,location=yes,menubar=yes,resizable=yes,toolbar=yes";
	window.open(pagina, target, param);
}

// Função para mudar um label conforme idioma setado, passar por parâmetro 
// a chave do idioma atual e uma coleção do tipo { {chave, valor}, {chave, valor}, ...}
// onde chave = a chave da lingua, o padrao é "Pt-Br" e valor é o texto a retornar
// caso seja essa a lingua atual.
// Exemplo: prtTextoIdioma({IDIOMAKEY}, 'Pt-Br', 'Olá Mundo!', 'Eng', 'Hello World!');
function prtTextoIdioma() {
  var args=prtTextoIdioma.arguments;
  if (args[0] == "") args[0] = "Pt-Br";
  for (i=1; i<(args.length-1); i+=2) {

  
  	if (args[i] == args[0]) document.write(args[i+1]);
  }
}

function hideshow(which) {
	if (!document.getElementById|document.all) {
		return
	} else {
		if (document.getElementById)
			oWhich = eval ("document.getElementById('" + which + "')")
		else
			oWhich = eval ("document.all." + which)
	}

	window.focus()
	if (oWhich.style.display=="none")
		oWhich.style.display=""
	else
		oWhich.style.display="none"
}


function setshow(which) {
	if (!document.getElementById|document.all) {
		return
	} else {
		if (document.getElementById)
			oWhich = eval ("document.getElementById('" + which + "')");
		else
			oWhich = eval ("document.all." + which);
	}

	window.focus();
	oWhich.style.display="";
}


function sethide(which) {
	if (!document.getElementById|document.all) {
		return
	} else {
		if (document.getElementById)
			oWhich = eval ("document.getElementById('" + which + "')");
		else
			oWhich = eval ("document.all." + which);
	}

	window.focus();
	oWhich.style.display="none";
}



// Oculta um quadro de itens caso não tenha nenhum item a ser exibido
// dQuadro -> O quadro que deseja ocultar caso não tenha nenhum item
// allKeys -> Todos as Chaves concatenadas pertinente ao quadro que deseja testar
function exibeQuadro(dQuadro, allKeys) {
	if(allKeys == '') sethide(dQuadro);
}



function isEmpty(s)
      { return ((s == null) || (s.length == 0)) }

function isWhitespace (s){
	var whitespace = " \t\n\r";
	var i;
	if (isEmpty(s)) return true;
	for (i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if (whitespace.indexOf(c) == -1) return false;
	}
	return true;
}	  

function isEmail (s){
	if (isEmpty(s)) 
		if (isEmail.arguments.length == 1) 
			return false;
		else 
			return (isEmail.arguments[1] == true);

	if (isWhitespace(s)) 
		return false;
		
	var i = 1;
	var sLength = s.length;

	while ((i < sLength) && (s.charAt(i) != "@")){
		i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) 
		return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != ".")){
		i++
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
		return false;
    else 
		return true;
}


function restaura_img_src(name) {
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? 'document'+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img && img.altsrc) {
    img.src = img.altsrc;
    img.altsrc = null;
  }
}

function muda_img_src(name, rpath) {
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? 'document'+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img) {
    img.altsrc = img.src;
    img.src    = rpath;
  }
}



function rightTrim(sString) {
   while (sString.substring(sString.length-1, sString.length) == ' ' 
   || sString.substring(sString.length-6, sString.length) == '&nbsp;'
   || sString.charCodeAt(sString.length-1) == 160) {
      if(sString.substring(sString.length-1, sString.length) == ' ' || sString.charCodeAt(sString.length-1) == 160)
         sString = sString.substring(0,sString.length-1);
      else
         sString = sString.substring(6,sString.length-1);
   }
   return sString;
}

function leftTrim(sString) {
   while (sString.substring(0,1) == ' ' || sString.substring(0,6) == '&nbsp;' || sString.charCodeAt(0) == 160) {
      if(sString.substring(0,1) == ' ' || sString.charCodeAt(0) == 160)
         sString = sString.substring(1, sString.length);
      else
         sString = sString.substring(6, sString.length);
   }
   return sString;
}

function Trim(sString) {
   while (sString.substring(0,1) == ' ' || sString.substring(0,6) == '&nbsp;' || sString.charCodeAt(0) == 160) {
      if(sString.substring(0,1) == ' ' || sString.charCodeAt(0) == 160)
         sString = sString.substring(1, sString.length);
      else
         sString = sString.substring(6, sString.length);
   }
   while (sString.substring(sString.length-1, sString.length) == ' ' 
   || sString.substring(sString.length-6, sString.length) == '&nbsp;'
   || sString.charCodeAt(sString.length-1) == 160) {
      if(sString.substring(sString.length-1, sString.length) == ' ' || sString.charCodeAt(sString.length-1) == 160)
         sString = sString.substring(0,sString.length-1);
      else
         sString = sString.substring(6,sString.length-1);
   }
return sString;
}


function AsciiToChar(iAscii) {
   var retorno = String.fromCharCode(iAscii);
   return retorno;
}

function CharToAscii(sChar) {
   var retorno = sChar.charCodeAt(0);
   return retorno;
}

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

     if(document.all) { // Internet Explorer
       nTecla = evtKeyPress.keyCode; }
     else if(document.layers) { // Nestcape
       nTecla = evtKeyPress.which;
     }

     sValue = objForm[strField].value;

     // Limpa todos os caracteres de formatação que
     // já estiverem no campo.
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( " ", "" );
     sValue = sValue.toString().replace( " ", "" );
     fldLen = sValue.length;
     mskLen = sMask.length;

     i = 0;
     nCount = 0;
     sCod = "";
     mskLen = fldLen;

     while (i <= mskLen) {
       bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
       bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

       if (bolMask) {
         sCod += sMask.charAt(i);
         mskLen++; }
       else {
         sCod += sValue.charAt(nCount);
         nCount++;
       }

       i++;
     }

     objForm[strField].value = sCod;

     if (nTecla != 8) { // backspace
       if (sMask.charAt(i-1) == "9") { // apenas números...
         return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
       else { // qualquer caracter...
         return true;
       } }
     else {
       return true;
     }
}
   
function trim(valorTrim){
	var len = valorTrim.length;
	for(var x=0; x<len; x++) if(valorTrim.charCodeAt(x)!=32 && valorTrim.charCodeAt(x)!=10 && valorTrim.charCodeAt(x)!=13) break;
	valorTrim = valorTrim.substring(x,len);
	len = valorTrim.length;
	for(x=len-1; x>1; x--) if(valorTrim.charCodeAt(x)!=32 && valorTrim.charCodeAt(x)!=10 && valorTrim.charCodeAt(x)!=13) break;
	valorTrim = valorTrim.substring(0,x+1);
	return valorTrim;
}

function validarCNPJ(strCNPJ){
	if (trim(strCNPJ) == "")
		return true;
		
       strCNPJ = strCNPJ.toString().replace( "-", "" );
       strCNPJ = strCNPJ.toString().replace( "-", "" );
       strCNPJ = strCNPJ.toString().replace( ".", "" );
       strCNPJ = strCNPJ.toString().replace( ".", "" );
       strCNPJ = strCNPJ.toString().replace( "/", "" );
       strCNPJ = strCNPJ.toString().replace( "/", "" );

	var
		strDV = strCNPJ.substr(12, 2),
		intSoma,
		intDigito = 0,
		strControle = "",
		strMultiplicador = "543298765432";
		strCNPJ = strCNPJ.substr(0, 12);
	for(var j = 1; j <= 2; j++){
		intSoma = 0;
		for(var i = 0; i <= 11; i++){
			intSoma += (parseInt(strCNPJ.substr(i, 1), 10) * parseInt(strMultiplicador.substr(i, 1), 10))
		}
		if(j == 2){intSoma += (2 * intDigito)}
		intDigito = (intSoma * 10) % 11;
		if(intDigito == 10){intDigito = 0}
		strControle += intDigito.toString();
		strMultiplicador = "654329876543";
	}
	return(strControle == strDV);
}


//====================================================================================
// Função de validação de campo AJAX
function validaSk(funcao, campo) {
    metodo = 'POST';
    modo = false;
    remoto  = new ajax();
    xmlhttp = remoto.enviar("validaFormsAjax.php?fnValida=" + funcao + "&cpValida=" + campo, metodo, modo);
    if(xmlhttp == 1) {
        return true;
    } else {
        return false;
    }    
}

function acaoSk(funcao, params) {
    metodo = 'POST';
    modo = false;
    remoto  = new ajax();
    xmlhttp = remoto.enviar("validaFormsAjax.php?fnValida=" + funcao + params, metodo, modo);
    return xmlhttp;
}

function comboSk(funcao, MainCombo, SlaveCombo) {
    metodo = 'POST';
    modo = false;
    remoto  = new ajax();
    xmlhttp = remoto.xml("validaFormsAjax.php?fnValida=" + funcao + "&cpSel=" + MainCombo.value, metodo, modo);
	var dataArray = xmlhttp.getElementsByTagName("item");
	SlaveCombo.options.length = 0;

    if(dataArray.length > 0) {
	    for(var i = 0 ; i < dataArray.length ; i++) {
			var item = dataArray[i];
			var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
			var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
 
			var novo = document.createElement("option");
			novo.setAttribute("id", "opcoes");
			novo.value = codigo;
			novo.text  = descricao;
			SlaveCombo.options.add(novo);
	    }
    }
}
//====================================================================================



function PesquisaWeb() {
	var cpBusca    = document.getElementById('cpBusca');
	var cpBuscador = document.getElementById('cpBuscador');

	if(cpBuscador.value=="Google") {
		pag = "http://www.google.com.br/search?hl=pt-BR&q=";
	}

	if(cpBuscador.value=="Cade") {
		pag = "http://cade.search.yahoo.com/search?p=";
	}

	if(cpBuscador.value=="AltaVista") {
		pag = "http://www.altavista.com/web/results?q=";
	}

	if(cpBuscador.value=="Uol") {
		pag = "http://busca.uol.com.br/www/index.html?q=";
	}

	param = "scrollbars=yes,location=yes,menubar=yes,resizable=yes,toolbar=yes"
	busca = cpBusca.value;
	window.open(pag+busca, "buscador", param)
}