function NovaJanela(url, param)
{window.open(url,"_blank",param)}


function Voltar(pQtd)
{
history.go(pQtd)
}

function ValidaEmail(curfield) 
{ 
    fieldName   = curfield; 
    fieldValue  = fieldName.value; 
    fieldLength = fieldValue.length; 
 
   var err02   = "Email Invalido"; 
   if (fieldValue=="")
     {return true;} 
   if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( fieldValue )) 
     {return true;} 
  else 
     {alert( err02 );
	  //fieldName.value="";
	  fieldName.focus()
		return false  } 
} 

function valEmailBox(curfield) 
{ 
    fieldName   = curfield; 
    fieldValue  = fieldName.value; 
    fieldLength = fieldValue.length; 
 
   var err02   = "Email Invalido"; 
   if (fieldValue=="")
     {return true;} 
   if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( fieldValue )) 
     {return true;} 
  else 
     {alert( err02 );
	  //fieldName.value="";
	  fieldName.focus()
		return false  } 
} 

function fValidaCartao(cardNumber, cardType)
{
var isValid = false;
var ccCheckRegExp = /[^\d ]/;
cardType = cardType.toLowerCase()

if (cardType=="1")
   {var cardType_txt = "mastercard"}
else if (cardType=="2")
   {var cardType_txt = "visa"}
else if (cardType=="3")
   {var cardType_txt = "amex"}
else if (cardType=="4")
   {var cardType_txt = "diners"}
else if (cardType=="8")
   {var cardType_txt = "hipercard"}

isValid = !ccCheckRegExp.test(cardNumber);
if (isValid){
var cardNumbersOnly = cardNumber.replace(/ /g,"");
var cardNumberLength = cardNumbersOnly.length;
var lengthIsValid = false;
var prefixIsValid = false;
var prefixRegExp;
switch(cardType_txt){
case "mastercard":
  lengthIsValid = (cardNumberLength == 16);
  prefixRegExp = /^5[1-5]/;
  break;
case "visa":
  lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
  prefixRegExp = /^4/;
  break;
case "amex":
  lengthIsValid = (cardNumberLength == 15);
  prefixRegExp = /^3(4|7)/;
  break;
case "diners":
  lengthIsValid = (cardNumberLength == 16);
  prefixRegExp = /^3(0|6|8)/;
  break;
case "hipercard":
  lengthIsValid = (cardNumberLength == 19);
  prefixRegExp = /^3841(00|40|60)/;
  break;
default:
  prefixRegExp = /^$/;
  fValidaCartao = isValid
}

prefixIsValid = prefixRegExp.test(cardNumbersOnly);
isValid = prefixIsValid && lengthIsValid;
}
if (isValid){
var numberProduct;
var numberProductDigitIndex;
var checkSumTotal = 0;
for (digitCounter = cardNumberLength - 1; digitCounter >= 0; digitCounter--){
checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
digitCounter--;
numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++){
checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter));
}
}
isValid = (checkSumTotal % 10 == 0);
}

//if (isValid==false)
// {alert("Cartão de crédito inválido!")}

return isValid;

}

function fValidaDtCartao(Mes, Ano)
{
var d = new Date()

//var DtValid = parseInt(Ano) + parseInt(Mes)
//var DtHoje= parseInt(d.getFullYear()) + (parseInt(d.getMonth()+2))
var MesHj = parseInt(d.getMonth()+1)
var MesHj = MesHj.toString()
	
var DtValid = Preenchezeros(Ano,4) + Preenchezeros(Mes,2)
var DtHoje= Preenchezeros(d.getFullYear(),4) + Preenchezeros(MesHj,2)
//alert(DtValid)
//alert(DtHoje)

if (parseInt(DtValid) > parseInt(DtHoje))
 {return false} 
else
 {return true} 

}

function SomenteNumero()
{
if (document.all) 
   {vchar=window.event.keyCode} 
else 
   {vchar=event.which}

if (vchar < 48 || vchar > 57) 
   {if (vchar != 8 && vchar != 0) 
        {return false}
   }
}

function MarcaTexto(pTexto) 
{
pTexto.select()
}

function NovaJanela(url)
{
window.open(url,"_blank","width=500, height=400, top=10, left=10")
}

// VALIDA DATA
function ValidaData(pObj)
{
udt = pObj.value;
if (udt == "")
  {
  return true;
  }
   
if(udt.indexOf("/") == -1)
  {
  alert('Data inválida!');
  return false;
  }
dt1 = udt.split("/")
dd1 = parseInt(dt1[0]);
mm1 = parseInt(dt1[1]);
yy1 = parseInt(dt1[2]);

if(isNaN(dd1) || isNaN(mm1) || isNaN(yy1))
  {
  alert('Data inválida!');
  return false;
  }
dd1 = parseInt(dt1[0]);
mm1 = parseInt(dt1[1]);
yy1 = parseInt(dt1[2]);

if (mm1 == 2)
   {if (dd1== 29 && yy1%4 != 0)
       {alert('Data inválida!');
       return false;
       }
    else if (dd1 > 30)
       {alert('Data inválida!');
       return false;
       }

	}


if (yy1 < 1910)
   {alert('Data inválida!');
     return false;}

if (mm1 > 12)
   {alert('Data inválida!');
     return false;}

if (mm1 == 1 && dd1 > 31)
   {alert('Data inválida!');
     return false;}

if (mm1 == 3 && dd1 > 31)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 4 && dd1 > 30)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 5 && dd1 > 31)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 6 && dd1 > 30)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 7 && dd1 > 31)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 8 && dd1 > 31)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 9 && dd1 > 30)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 10 && dd1 > 31)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 11 && dd1 > 30)
   {alert('Data inválida!');
       return false;
       }

if (mm1 == 12 && dd1 > 31)
   {alert('Data inválida!');
       return false;
       }
}


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 MontaMsg_AutoAtendimento(pTit, pMsg, Produto_txt)
{
var corpo="<table width='405' border='0' align='center' cellpadding='0' cellspacing='0' class='BordaMsgConfirma' id='master'>"
corpo=corpo+"<tr>"
corpo=corpo+"<td>&nbsp;</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td><table width='385' border='0' align='center' cellpadding='0' cellspacing='0' class='tableMsgConfirma' id='1'>"
corpo=corpo+"<tr>"
corpo=corpo+"<td width='720' valign='top'><div align='center'>"
corpo=corpo+"<img src='imagens"+Produto_txt+"/logo_top_Confirmacao.jpg' alt='EsferaBRMIDIA' width='385' height='68'></div>"
corpo=corpo+"</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td valign='top'><table width='347' border='0' align='center' cellpadding='0' cellspacing='0' class='tableMsgConfirma'>"
corpo=corpo+"<tr>"
corpo=corpo+"<td valign='top' class='titMsgConfirma'>"+pTit+"</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td valign='top' class='msgMsgConfirma'>&nbsp;</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td  class='msgBranco'>"
corpo=corpo+ pMsg
corpo=corpo+"</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td valign='top'>&nbsp;</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td valign='top'>"
corpo=corpo+"<input type='image' src='../imagens/bt_confirma.gif' alt='Confirma' name='btconfirma' width='126' height='24' border='0' id='btconfirma' title='Confirma' onClick='javascript:OkBox()'>"
corpo=corpo+"&nbsp;&nbsp;&nbsp;<a href='javascript:FecharBox()'><img src='../imagens/bt_cancela.gif' alt='Cancela' width='74' height='24' title='Cancela'border='0'></a></td>"
corpo=corpo+"</td>"
corpo=corpo+"</tr>"
corpo=corpo+"</table></td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td height='30' valign='top'>&nbsp;</td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td valign='top'></td>"
corpo=corpo+"</tr>"
corpo=corpo+"</table></td>"
corpo=corpo+"</tr>"
corpo=corpo+"<tr>"
corpo=corpo+"<td>&nbsp;</td>"
corpo=corpo+"</tr>"
corpo=corpo+"</table>"
this.MensagemOk = corpo
}

function SetaCartao(pForm, pBandeira)
{
pForm.Cartao_Ds.value=pBandeira
}


function MarcaTexto(pTexto) 
{pTexto.select()}


function ValidaCPF(pObj){ 
var i; 
var flgTeste;

// Primeiro checa o CPF, caso esteja errado checa CNPJ
s = pObj.value; 
var c = s.substr(0,9); 
var dv = s.substr(9,2); 
var d1 = 0; 
flgTeste = true

if (s == "")
   {return true}

if (parseInt(s,10) == 0)
   {alert("CPF/CNPJ invalido");
   pObj.focus();
   return false;}

if (s.length < 10)
   {alert("CPF/CNPJ invalido");
   pObj.focus();
   return false;}

for (i = 0; i < 9; i++) 
   { 
   d1 += c.charAt(i)*(10-i); 
   } 

if (d1 == 0)
   {flgTeste = false} 

if (s.length > 11)
   {flgTeste = false} 

d1 = 11 - (d1 % 11); 

if (d1 > 9) d1 = 0; 
if (dv.charAt(0) != d1) 
   {flgTeste = 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) 
   {flgTeste = false} 

// Caso o CPF estiver errado checa CNPJ
if (flgTeste == false)
{
    var i;
    flgTeste = true
	var c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;

    if (s.length > 14)
        {flgTeste = false} 
	
	for (i = 0; i < 12; i++)
    {
        d1 += c.charAt(11-i)*(2+(i % 8));
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1)
       {flgTeste = 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)
       {flgTeste = false} 
    
    if (flgTeste == false)
       {
	   alert("CPF/CNPJ invalido");
//       pObj.focus();
       return false;
       }
} 
return true;
}

// Funcao para a preencher os zeros a esquerda
function Preenchezeros(ptexto, pQtd)
{
var zeros = ""
if (ptexto.length < pQtd)
   {
   dif =  pQtd - ptexto.length
   for (i=1;i<=dif;i++)
     {
	 zeros = zeros + "0"
	 }
   }
return zeros + ptexto
}
//------------------------------------------------------------------------------------
//----funcoes para debito em conta
//------------------------------------------------------------------------------------


// Funcao para a agencia do Bco do Brasil
function chkDigAgenciaBrasil(frm)
{
pAg = Preenchezeros(frm.Agencia_Debito.value, 4)
pDg = frm.DigAgencia_Debito.value

if (pDg == "")
  {frm.DigAgencia_Debito.focus()
   alert("Informe o dígito da agência")}

sPeso = "5432"
var sSoma = 0
var r1 = 0
for (i=0;i<=3;i++)
    {sSoma = sSoma + (pAg.charAt(i) * sPeso.charAt(i))}
r1 = sSoma % 11
if (r1==1)
   {r1="X"}
else if (r1==0)
   {r1="0"}
else
   {r1=11 - r1}

if (pDg.toUpperCase() != r1)
  {frm.DigAgencia_Debito.focus()
   alert("Dígito da agência inválido")}
}

function chkDigAgenciaBradesco(frm)
{
pAg = Preenchezeros(frm.Agencia_Debito.value, 4)
pDg = frm.DigAgencia_Debito.value
sPeso = "5432"
var sSoma = 0
var r1 = 0
for (i=0;i<=3;i++)
    {sSoma = sSoma + (pAg.charAt(i) * sPeso.charAt(i))}
r1 = sSoma % 11
if (r1==1)
   {r1="P"}
else if (r1==0)
   {r1="0"}
else
   {r1=11 - r1}

if (pDg.toUpperCase() != r1)
  {frm.DigAgencia_Debito.focus()
   alert("Dígito da agência inválido")}
}

// Funcao para a conta do Bco do Brasil
function chkDigContaBrasil(frm)
{
pAg = Preenchezeros(frm.NroConta_Debito.value, 8)
pDg = frm.DigNroConta_Debito.value
sPeso = "98765432"
var sSoma = 0
var r1 = 0
for (i=0;i<=7;i++)
    {sSoma = sSoma + (pAg.charAt(i) * sPeso.charAt(i))}
r1 = sSoma % 11
if (r1==1)
   {r1="X"}
else if (r1==0)
   {r1="0"}
else
   {r1=11 - r1}

if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da conta inválido")}
}

// Funcao para verificar o digito da conta do Bradesco
function chkDigContaBradesco(frm)
{
pCC = Preenchezeros(frm.NroConta_Debito.value, 7)
pDg = frm.DigNroConta_Debito.value
sPeso = "2765432"
var sSoma = 0
for (i=0;i<=6;i++)
    {sSoma = sSoma + (pCC.charAt(i) * sPeso.charAt(i))}
r1 = sSoma % 11
if (r1==1)
   {r1="P"}
else if (r1==0)
   {r1="0"}
else
   {r1=11 - r1}
if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da Conta inválido")}
}

// Funcao para verificar o digito da conta do CEF
function chkDigContaCEF(frm)
{
pCC = Preenchezeros(frm.Agencia_Debito.value, 4) + Preenchezeros(frm.NroConta_Debito.value+frm.DigNroConta_Debito.value, 9)
pDg = frm.DigNroConta_Debito.value
sPeso = "876543298765432"
var sSoma = 0
for (i=0;i<=15;i++)
    {sSoma = sSoma + (pCC.charAt(i) * sPeso.charAt(i))}
r1 = (sSoma*10) % 11
if (r1==0)
   {r1="0"}
else if (r1==10)
   {r1="0"}
if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da Conta inválido")}
}

// Funcao para verificar o digito da conta do Banespa
function chkDigContaBanespa(frm)
{
pCC = Preenchezeros(frm.Agencia_Debito.value, 3) + Preenchezeros(frm.NroConta_Debito.value+frm.DigNroConta_Debito.value, 9)
pDg = frm.DigNroConta_Debito.value
sPeso = "73197131973"
var sSoma = 0
for (i=0;i<=11;i++)
    {sSoma = sSoma + ((pCC.charAt(i) * sPeso.charAt(i)) % 10)}
r1 = sSoma % 10
if (r1!=0)
   {r2 = 10-r1
   if (r2 == pDg.toUpperCase())
       {r1=r2}
   }
else if (pDg.toUpperCase()=='0')
   {r1=pDg.toUpperCase()}

if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da Conta inválido")}
}


// Funcao para verificar o digito da conta do Itau
function chkDigContaItau(frm)
{
pCC = Preenchezeros(frm.Agencia_Debito.value, 5) + Preenchezeros(frm.NroConta_Debito.value, 7)
pDg = frm.DigNroConta_Debito.value
sPeso = "121212121212"
var sSoma = 0
var iNum = 0
var sNum = ""
for (i=0;i<=11;i++)
    {
	iNum = (pCC.charAt(i) * sPeso.charAt(i))
    sNum = iNum.toString()
	if (sNum.length > 1)
	   {
	   iNum = 0
	   for (x=0;x<=sNum.length;x++)
	       {
		   var iNumx = 0
		   iNumx = sNum.charAt(x)
		   iNumx = new Number(iNumx)
		   iNum = iNum + iNumx
		   }
       }
	 sSoma = sSoma + iNum  
	}
r1 = sSoma % 10
if (r1!=0)
   {r1=10 - r1}
if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da Conta inválido")}
}

// Funcao para verificar o digito da conta do Itau
function chkDigContaReal(frm)
{
pCC = Preenchezeros(frm.Agencia_Debito.value, 4) + Preenchezeros(frm.NroConta_Debito.value, 7)
pDg = frm.DigNroConta_Debito.value
sPeso = "81472259395"
var sSoma = 0
var iNum = 0
var sNum = ""
for (i=0;i<=11;i++)
    {sSoma = sSoma + (pCC.charAt(i) * sPeso.charAt(i))}
r1 = sSoma % 11
if (r1==1)
   {r1="0"}
else if (r1==0)
   {r1="1"}
else
   {r1=11 - r1}
if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da Conta inválido")}
}

// Funcao para verificar o digito da conta do Unibanco
function chkDigContaUnibanco(frm)
{
pCC = Preenchezeros(frm.Agencia_Debito.value, 4) + Preenchezeros(frm.NroConta_Debito.value, 6)
pDg = frm.DigNroConta_Debito.value
sPeso = "121212121212"
var sSoma = 0
var iNum = 0
var sNum = ""
for (i=1;i<=10;i++)
    {
	iNum = (pCC.charAt(i) * sPeso.charAt(i))
    sNum = iNum.toString()
	if (sNum.length > 1)
	   {
	   iNum = 0
	   for (x=0;x<=sNum.length;x++)
	       {
		   var iNumx = 0
		   iNumx = sNum.charAt(x)
		   iNumx = new Number(iNumx)
		   iNum = iNum + iNumx
		   }
       }
	 sSoma = sSoma + iNum  
	}
r1 = sSoma % 10
if (r1!=0)
   {r1=10 - r1}
if (pDg.toUpperCase() != r1)
  {frm.DigNroConta_Debito.focus()
   alert("Dígito da Conta inválido")}
}

// Funcao para checar o banco em relacao ao digito agencia
function chkBanco(pBco)
{
if (document.all)
   {var frm = document.all("Inclusao")}
else   
   {var frm = document.getElementById("Inclusao")}

frm.Agencia_Debito.value=""
frm.DigAgencia_Debito.value=""
frm.NroConta_Debito.value=""
frm.DigNroConta_Debito.value=""
pBc = Preenchezeros(pBco.value, 3)
if (pBc == "001" || pBc == "237")
   {frm.DigAgencia_Debito.disabled = false}
if (pBc == "341" || pBc == "409" || pBc == "356" || pBc == "104" || pBc == "033")
   {frm.DigAgencia_Debito.disabled = true}
}

// Funcao para checar o digito da agencia
function chkDigAgencia()
{
if (document.all)
   {var frm = document.all("Inclusao")}
else   
   {var frm = document.getElementById("Inclusao")}

if (frm.DigAgencia_Debito.value == "")
   {return false}
pBc = Preenchezeros(frm.Banco_Debito.value, 3)
if (pBc == "001")
   {chkDigAgenciaBrasil(frm)}
if (pBc == "237")
   {chkDigAgenciaBradesco(frm)}
if (pBc == "341" || pBc == "356" || pBc == "104" || pBc == "033")
   {frm.DigAgencia_Debito.value=""}
if (pBc == "409")
   {frm.DigAgencia_Debito.value=""}
}

// Funcao para checar o digito da conta
function chkDigConta()
{
if (document.all)
   {var frm = document.all("Inclusao")}
else   
   {var frm = document.getElementById("Inclusao")}

if (frm.DigNroConta_Debito.value == "")
   {return false}
pBc = Preenchezeros(frm.Banco_Debito.value, 3)
if (pBc == "001")
   {chkDigContaBrasil(frm)}
if (pBc == "033")
   {chkDigContaBanespa(frm)}
//if (pBc == "104")
//   {chkDigContaCEF(frm)}
if (pBc == "237")
   {chkDigContaBradesco(frm)}
if (pBc == "341")
   {chkDigContaItau(frm)}
//if (pBc == "356")
//   {chkDigContaReal(frm)}
if (pBc == "409")
   {chkDigContaUnibanco(frm)}

}
