// JavaScript Document

//------------------------------------------------------
// CRIA O OBJETO DE AJAX PARA O USO NAS FUNÇÕES --------
// -----------------------------------------------------


try{
	xmlhttp = new XMLHttpRequest();}catch(ee){try{
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
	catch(E){xmlhttp = false;}}}


//------------------------------------------------------
//  --------
// -----------------------------------------------------

//------------------------------------------------------
// MASCARAS DE CAMPOS ----------------------------------
// -----------------------------------------------------

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;
} else {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) {
        return true;
    }
}

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( ")", "" );
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) == ".") || (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 ((nTecla > 64) && (nTecla < 123));
}
} else {
    return true;
}
}

//Fim da Função Máscaras Gerais

function only_number(num){

   var numero = num.toString().replace(/[0-9]/g,'');
   numero = numero.toString().replace(/,/g,'');

   if (numero < 1)
   flag = 0;
   else
   flag = 1;

    if(event.keyCode<48 || event.keyCode>57){
       if(flag == 0)
           if (event.keyCode==44 || event.keyCode==46){

                if(num.search('.')==0)
                flag = 0;
                else;
                flag=1;

                event.keyCode = 46;
           }
           else
             event.returnValue=false;
       else
       event.returnValue=false;
    }
}
function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;

      }

//------------------------------------------------------
//  -------- VALIDAR CPF -------------------------------
// -----------------------------------------------------
function remove(str, sub) {
i = str.indexOf(sub);
r = "";
if (i == -1) return str;
r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
return r;
}

function validaCPF(idCampoCpf){ 
  
    var cpf = document.form1.idCampoCpf.value;
    var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
    var valid
    valid = document.form1.idCampoCpf;
    if(!filtro.test(cpf)){
//      window.alert("CPF inválido!!!\n\n É necessarios preencher corretamente o numero do CPF.");
		valid.focus();
		document.form1.idCampoCpf.value="";
 	 return false;
 	 
    }
    
    cpf = remove(cpf, ".");
    cpf = remove(cpf, "-");
     
    if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
 	  cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
 	  cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
 	  cpf == "88888888888" || cpf == "99999999999"){
// 	  window.alert("CPF inválido!");
// 	  valid.focus();
      document.form1.idCampoCpf.value="";
 	  return false;
    }
 
    soma = 0;
    for(i = 0; i < 9; i++)
    	 soma += parseInt(cpf.charAt(i)) * (10 - i);
    resto = 11 - (soma % 11);
    if(resto == 10 || resto == 11)
 	 resto = 0;
    if(resto != parseInt(cpf.charAt(9))){
//      window.alert("CPF inválido!");
// 	 valid.focus();
      document.form1.idCampoCpf.value="";
 	 return false;
    }
    soma = 0;
    for(i = 0; i < 10; i ++)
 	 soma += parseInt(cpf.charAt(i)) * (11 - i);
    resto = 11 - (soma % 11);
    if(resto == 10 || resto == 11)
 	 resto = 0;
    if(resto != parseInt(cpf.charAt(10))){
//      window.alert("CPF inválido!");
// 	 valid.focus();
      document.form1.idCampoCpf.value="";
 	 return false;
    }
    return true;
  }

//------------------------------------------------------
//  -------- VALIDAR CNPJ ------------------------------
// -----------------------------------------------------

function ValidarCNPJ(ObjCnpj){
    var cnpj = ObjCnpj.value;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;
    
    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" ); 
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
        
    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);    
        dig2 += cnpj.charAt(i)*valida[i];    
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
    
    if(((dig1*10)+dig2) != digito || cnpj == "00000000000000")    
		document.form1.cpfcnpj.value="";
		if (cnpj == "00000000000000" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "11111111111111" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "22222222222222" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "33333333333333" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "44444444444444" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "55555555555555" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "66666666666666" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "77777777777777" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "88888888888888" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
		if (cnpj == "99999999999999" ){
		document.form1.cpfcnpj.value="";
		return false;
		}
}

//---------------------------------------------------------------------------
//  -------- VERIFICA SE A SENHA DO CADASTRO CONFERE ------------------------
// --------------------------------------------------------------------------

  function confirmaSenha(){
	if (document.form1.senha.value != document.form1.confirma.value )
	{
	 alert('A Confirmação é diferente da senha preenchida.');
	 document.form1.senha.value="";
	 document.form1.confirma.value="";
	 document.form1.senha.focus();
	 return false;
	}
	return true;
 }


//---------------------------------------------------------------------------
//  -------- PASSAR PARA PRÓXIMO CAMPO DO FORM APÓS PREENCHIMENTO -----------
// --------------------------------------------------------------------------

function sendFocus(origem, destino, tamanho)
	{
		if (tamanho == 0)
			document.getElementById(destino).focus();
		else
			if (origem.value.length == tamanho)
				document.getElementById(destino).focus();
	}
function pularcampo(campo,alvo,maxlength){
    if (document.getElementById(campo).value.length==maxlength){
        document.getElementById(alvo).focus();
        }
    }

//---------------------------------------------------------------------
//---------------- mascara valor monetário ----------------------------------------
//---------------------------------------------------------------------

documentall = document.all;   
/*  
* função para formatação de valores monetários retirada de  
* [url]http://jonasgalvez.com/br/blog/2003-08/egocentrismo[/url]  
*/  
function formatamoney(c) {   
    var t = this; if(c == undefined) c = 2;         
    var p, d = (t=t.split("."))[1].substr(0, c);   
    for(p = (t=t[0]).length; (p-=3) >= 1;) {   
           t = t.substr(0,p) + "." + t.substr(p);   
    }   
    return t+","+d+Array(c+1-d.length).join(0);   
}   
  
String.prototype.formatCurrency=formatamoney   
  
function demaskvalue(valor, currency){   
/*  
* Se currency é false, retorna o valor sem apenas com os números. Se é true, os dois últimos caracteres são considerados as   
* casas decimais  
*/  
var val2 = '';   
var strCheck = '0123456789';   
var len = valor.length;   
   if (len== 0){   
      return 0.00;   
   }   
  
   if (currency ==true){      
      /* Elimina os zeros à esquerda   
      * a variável  <i> passa a ser a localização do primeiro caractere após os zeros e   
      * val2 contém os caracteres (descontando os zeros à esquerda)  
      */  
         
      for(var i = 0; i < len; i++)   
         if ((valor.charAt(i) != '0') && (valor.charAt(i) != ',')) break;   
         
      for(; i < len; i++){   
         if (strCheck.indexOf(valor.charAt(i))!=-1) val2+= valor.charAt(i);   
      }   
  
      if(val2.length==0) return "0.00";   
      if (val2.length==1)return "0.0" + val2;   
      if (val2.length==2)return "0." + val2;   
         
      var parte1 = val2.substring(0,val2.length-2);   
      var parte2 = val2.substring(val2.length-2);   
      var returnvalue = parte1 + "." + parte2;   
      return returnvalue;   
         
   }   
   else{   
         /* currency é false: retornamos os valores COM os zeros à esquerda,   
         * sem considerar os últimos 2 algarismos como casas decimais   
         */  
         val3 ="";   
         for(var k=0; k < len; k++){   
            if (strCheck.indexOf(valor.charAt(k))!=-1) val3+= valor.charAt(k);   
         }            
   return val3;   
   }   
}   
  
function reais(obj,event){   
  
var whichCode = (window.Event) ? event.which : event.keyCode;   
/*  
Executa a formatação após o backspace nos navegadores !document.all  
*/  
if (whichCode == 8 && !documentall) {      
/*  
Previne a ação padrão nos navegadores  
*/  
   if (event.preventDefault){ //standart browsers   
         event.preventDefault();   
      }else{ // internet explorer   
         event.returnValue = false;   
   }   
   var valor = obj.value;   
   var x = valor.substring(0,valor.length-1);   
   obj.value= demaskvalue(x,true).formatCurrency();   
   return false;   
}   
/*  
Executa o Formata Reais e faz o format currency novamente após o backspace  
*/  
FormataReais(obj,'.',',',event);   
} // end reais   
  
  
function backspace(obj,event){   
/*  
Essa função basicamente altera o  backspace nos input com máscara reais para os navegadores IE e opera.  
O IE não detecta o keycode 8 no evento keypress, por isso, tratamos no keydown.  
Como o opera suporta o infame document.all, tratamos dele na mesma parte do código.  
*/  
  
var whichCode = (window.Event) ? event.which : event.keyCode;   
if (whichCode == 8 && documentall) {      
   var valor = obj.value;   
   var x = valor.substring(0,valor.length-1);   
   var y = demaskvalue(x,true).formatCurrency();   
  
   obj.value =""; //necessário para o opera   
   obj.value += y;   
      
   if (event.preventDefault){ //standart browsers   
         event.preventDefault();   
      }else{ // internet explorer   
         event.returnValue = false;   
   }   
   return false;   
  
   }// end if         
}// end backspace   
  
function FormataReais(fld, milSep, decSep, e) {   
var sep = 0;   
var key = '';   
var i = j = 0;   
var len = len2 = 0;   
var strCheck = '0123456789';   
var aux = aux2 = '';   
var whichCode = (window.Event) ? e.which : e.keyCode;   
  
//if (whichCode == 8 ) return true; //backspace - estamos tratando disso em outra função no keydown   
if (whichCode == 0 ) return true;   
if (whichCode == 9 ) return true; //tecla tab   
if (whichCode == 13) return true; //tecla enter   
if (whichCode == 16) return true; //shift internet explorer   
if (whichCode == 17) return true; //control no internet explorer   
if (whichCode == 27 ) return true; //tecla esc   
if (whichCode == 34 ) return true; //tecla end   
if (whichCode == 35 ) return true;//tecla end   
if (whichCode == 36 ) return true; //tecla home   
  
/*  
O trecho abaixo previne a ação padrão nos navegadores. Não estamos inserindo o caractere normalmente, mas via script  
*/  
  
if (e.preventDefault){ //standart browsers   
      e.preventDefault()   
   }else{ // internet explorer   
      e.returnValue = false  
}   
  
var key = String.fromCharCode(whichCode);  // Valor para o código da Chave   
if (strCheck.indexOf(key) == -1) return false;  // Chave inválida   
  
/*  
Concatenamos ao value o keycode de key, se esse for um número  
*/  
fld.value += key;   
  
var len = fld.value.length;   
var bodeaux = demaskvalue(fld.value,true).formatCurrency();   
fld.value=bodeaux;   
  
/*  
Essa parte da função tão somente move o cursor para o final no opera. Atualmente não existe como movê-lo no konqueror.  
*/  
  if (fld.createTextRange) {   
    var range = fld.createTextRange();   
    range.collapse(false);   
    range.select();   
  }   
  else if (fld.setSelectionRange) {   
    fld.focus();   
    var length = fld.value.length;   
    fld.setSelectionRange(length, length);   
  }   
  return false;   
  
}


//---------------------------------------------------------------------
//----------------mostra flash ----------------------------------------
//---------------------------------------------------------------------

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function ExibeFlash(w,h,wmode,movie) {
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+w+'" height="'+h+'">');
	document.write('<param name="wmode" value="'+wmode+'"/>');
	document.write('<param name="quality" value="high"/>');
	document.write('<param name="movie" value="'+movie+'"/>');
	document.write('<embed src="'+movie+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="'+wmode+'" width="'+w+'" height="'+h+'"></embed>');
	document.write('</object>');
}

