// JavaScript Document
function getHTTPObject() {
  var xmlhttp;

  /*@cc_on
  @if (@_jscript_version >= 5)
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	  try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
		xmlhttp = false;
	  }
	}
  @else
  xmlhttp = false;
  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	try {
	  xmlhttp = new XMLHttpRequest();
	} catch (e) {
	  xmlhttp = false;
	}
  }
  return xmlhttp;
}

var obHttp = getHTTPObject(); // We create the HTTP Object

function AjustarCEP(input){
	if ((event.keyCode < 48) || (event.keyCode > 57)){
		event.returnValue = false;
		}
    else {
    		if (input.value.length==5){
				input.value=input.value + "-" ;
			}
		}
}

function AjustarData(input){
	if ((event.keyCode < 48) || (event.keyCode > 57)){
		event.returnValue = false;
		}
    else {
    		if ((input.value.length==2) || (input.value.length==5)){
				input.value=input.value + "/" ;
			}
		}
}

function AjustarHora(input){
	if ((event.keyCode < 48) || (event.keyCode > 57)){
		event.returnValue = false;
		}
    else {
    		if (input.value.length==2){
				input.value=input.value + ":" ;
			}
		}
}

function validaHora(valor) {
	if (valor.length < 5) {
		return false;
	}
	if (valor.indexOf(":") == 2 ){
		var hh = valor.slice(0,valor.indexOf(":"));
		var mm = valor.slice(valor.indexOf(":")+1,5);
		if (hh >= 0 && hh < 24) {
			if (mm >= 0 && mm < 60) {
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function validarData(valor){
	if (valor.length < 10) {
		return false;
	}
	if (valor.indexOf("/") == 2 && valor.lastIndexOf("/") == 5) {
		var DD = valor.slice(0,valor.indexOf("/"));
		var MM = valor.slice(valor.indexOf("/")+1,valor.lastIndexOf("/"));
		var YY = valor.slice(valor.lastIndexOf("/")+1,10);
		if (YY != 0){
			if (YY % 4 !=0){
				var DiaFinal = Array(31,28,31,30,31,30,31,31,30,31,30,31);
			} else {
				var DiaFinal = Array(31,29,31,30,31,30,31,31,30,31,30,31);		
			}
			if (MM > 0 && MM <= 12){
				if (DD > 0 && DD <= DiaFinal[MM-1]) {
					return true;
				} else {
					return false;
				}
			} else {
				return false;
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function AjustarMoeda(input){
	if (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 44)) {
		event.returnValue = true;
	} else {
	    event.returnValue = false; 		
	} 
}

function AjustarInteiro(campo) 
{ 
	if ((event.keyCode >= 48) && (event.keyCode <= 57)){
		event.returnValue = true;
	} else {
		event.returnValue = false;
	}
} 


function validarEmail(email){
	if (email.length != 0) {
		if (email.indexOf(".") != -1 || email.indexOf("@") != -1) {
			if (email.lastIndexOf(".") > email.indexOf("@")) {
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function ValidaCPF( strcpf ) {

	var wSomaDosProdutos=0;
	var wResto=0;
	var wDigitChk=0;
	var wDigitChk2=0;
	var wStatus=0;
	var wI=0;

	for (wI = 0;wI<9;wI++) {
		wSomaDosProdutos += parseInt( strcpf.substring(wI, wI+1) ) * (11 - (wI+1) );
	}

	wResto = wSomaDosProdutos - parseInt( wSomaDosProdutos / 11 ) * 11;

	if ( wResto == 0 || wResto == 1 ){
		wDigitChk1 = 0;
	}else{
		wDigitChk1 = 11 - wResto;
	}

	wSomaDosProdutos = 0;
	
	for (wI = 0;wI<9;wI++) {
		wSomaDosProdutos += parseInt( strcpf.substring(wI,wI+ 1) ) * (12 - (wI+1) );
	}

	wSomaDosProdutos += 2 * wDigitChk1;
	wResto = wSomaDosProdutos - parseInt(wSomaDosProdutos / 11) * 11;

	if ( wResto == 0 || wResto == 1) {
		wDigitChk2 = 0;
	}else{
		wDigitChk2 = 11-wResto ;
	}

	var ch1 = strcpf.charAt(9);
	var ch2 = strcpf.charAt(10);

	if ( strcpf == "" || ( parseInt( ch1 ) == wDigitChk1 && parseInt( ch2 ) == wDigitChk2 )) {
		return (true);
	}else{
		return (false);
	}
}

function AbreJanela(arq, nomejanela, width, height, scroll) {
	    var URL = arq
		var NM = nomejanela
	    var W = width
	    var H = height
	    var S = scroll
		var Wpopupsize = (W/2);
		var Hpopupsize = (H/2);
		var CenterPopUpX = (screen.width / 2) - (Wpopupsize);
		var CenterPopUpY = (screen.height / 2) - (Hpopupsize);
		var pos = "left=" + CenterPopUpX + ",top=" + CenterPopUpY;
		var janela = window.open("" + URL + "", "" + NM + "", "width=" + W + ",height=" + H + ",scrollbars=" + S + "," + pos);
		janela.focus()
}

function ajustar_cpf(input)
{
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false;
		}
    else {
    	if((input.value.length==3)||(input.value.length==7))
			input.value=input.value + "." ;
		else {
    		if(input.value.length==11)
				input.value=input.value + "-" ;
		}
	}
}

function mOvr(src,clrOver) {
	if (!src.contains(event.fromElement)) {
		src.bgColor = clrOver;
	}
}

function mOut(src,clrIn) {
	if (!src.contains(event.toElement)) {
		src.bgColor = clrIn;
	}
}

function mOvrs(src,styleOver) {
	if (!src.contains(event.fromElement)) {
		src.className = styleOver;
	}
}

function mOuts(src,styleIn) {
	if (!src.contains(event.toElement)) {
		src.className = styleIn;
	}
}

function LimpaFormato(objeto){
	objeto.value = 	objeto.value.replace(",","");
	objeto.value = 	objeto.value.replace("/","");
	objeto.value = 	objeto.value.replace("-","");
	objeto.value =  objeto.value.replace(".","");
	objeto.value =  objeto.value.replace(".","");	
}

function LimpaFormatoStr(strnoformat){
	strnoformat = strnoformat.replace(",","");
	strnoformat = strnoformat.replace("/","");
	strnoformat = strnoformat.replace("-","");
	strnoformat = strnoformat.replace(".","");
	strnoformat = strnoformat.replace(".","");	
	return strnoformat;
}


function MudaTamMaximo(objeto, tamanho){
	objeto.maxLength = tamanho;
}

function LimitaTamanho(objeto, tamanho){
	if (objeto.value.length >= tamanho){
		objeto.value = objeto.value.substring(0,tamanho);
	}
}

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_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 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_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve conter um endereço de e-mail.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' deve conter um número.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' deve conter um número entre '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é requerido.\n'; }
  } if (errors) alert('Ocorreu(ram) o(s) seguinte(s) erro(s):\n'+errors);
  document.MM_returnValue = (errors == '');
}


function validarNews(){
	if (! validarEmail(document.frmCadastro.NCEmail.value)) {
		alert("Por favor, preencha o E-mail!");
		document.frmCadastro.NCEmail.focus();
		return false;
	}
	AbreJanela('','janNews','250','200','no');		
	return true;
}		
	
	
function verificaRegistro(Url, NomeCampo, Tabela, CampoRetorno, Valor, Filtro)
{
	var url = Url + "&NomeCampo=" + NomeCampo + "&Tabela=" + Tabela + "&Valor=" + Valor + "&CampoRetorno=" + CampoRetorno + "&Filtro=" + Filtro;
	obHttp.open("GET", url, false);
	obHttp.send(null);
	return obHttp.responseText;
}


function retiraFormato(vlrDesformatar) {
	while (vlrDesformatar.indexOf('.') != -1) {
		vlrDesformatar = vlrDesformatar.replace('.','');
	}
	vlrDesformatar = vlrDesformatar.replace(',','.');
	return vlrDesformatar;
}

function FormataCNPJ(el) 
{ 
	 vr = el.value; 
	 tam = vr.length; 

      if ( vr.indexOf(".") == -1 ) 
      { 
		  if ( tam <= 2 ) 
				  el.value = vr; 
		  if ( (tam > 2) && (tam <= 6) ) 
				  el.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, tam ); 
		  if ( (tam >= 7) && (tam <= 10) ) 
				  el.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' + vr.substr( 5, 3 ) + '/'; 
		  if ( (tam >= 11) && (tam <= 18) ) 
				 el.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' + vr.substr( 5, 3 ) + '/' + vr.substr( 8, 4 ) + '-' + vr.substr( 12, 2 ); 
      } 
      return true; 
}

function FormataCPF( el ) 
{ 
    vr = el.value; 
    tam = vr.length; 

    if ( vr.indexOf(".") == -1 ) 
    { 
        if ( tam <= 3 ) 
            el.value = vr; 
        if ( (tam > 3) && (tam <= 7) ) 
            el.value = vr.substr( 0, 3 ) + '.' + vr.substr( 4, tam ); 
        if ( (tam >= 8) && (tam <= 11) ) 
            el.value = vr.substr( 0, 3 ) + '.' + vr.substr( 3, 3 ) + '.' + vr.substr( 5, 3 ) + '-'; 
        if ( (tam >= 11) && (tam <= 18) ) 
            el.value = vr.substr( 0, 3 ) + '.' + vr.substr( 3, 3 ) + '.' + vr.substr( 6, 3 ) + '-' + vr.substr( 9, 2 ); 
    } 
    return true; 
}

function AjustarCPF(input)
{
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false;
		}
    else {
    	if((input.value.length==3)||(input.value.length==7))
			input.value=input.value + "." ;
		else {
    		if(input.value.length==11)
				input.value=input.value + "-" ;
		}
	}
}

function AjustarCNPJ(input)
{
	if (input.value.lenght > 18){
		return false;	
	}
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false;
	}
    else {
    	if((input.value.length==2) || (input.value.length==6)) {
			input.value=input.value + "." ;
		} else {
			if(input.value.length==10) {
				input.value=input.value + "/" ;
			} else {
				if (input.value.length==15) {
					input.value=input.value + "-" ;					
				}
			}
		}
	} 
}

function AjustarTelefone(input, ddd){
	
	if ((event.keyCode < 48) || (event.keyCode > 57)){
		event.returnValue = false;
	} else {
		if ((input.value.length==2) && (ddd==1)) {
			input.value=input.value + "-" ;
		}
		else if ((input.value.length==4) && (ddd==0)) {
			input.value=input.value + "-" ;
		}
		else if ((input.value.length==7) && (ddd==1)) {
			input.value=input.value + "-" ;
		}			
	}
}

function aplicarAcentuacao(str){
	
	if (str.length > 0) {
		var acentos = Array('á','é','í','ó','ú','À','È','Ì','Ò','Ù','Á','É','Í','Ó','Ú','Ç','ç','ã','õ','Õ','Ã','ô','Ô','Â','â','î','Î','Û','û','ê','Ê');
		var cod_acentos = Array("&#225;","&#233;","&#237;","&#243;","&#250;","&#192;","&#200;","&#204;","&#210;","&#217;","&#193;","&#201;","&#205;","&#211;","&#218;","&#199;","&#231;","&#227;","&#245;","&#213;","&#195;", "&#244;", "&#212;","&#194;","&#226;","&#238;","&#206;","&#219;","&#251;","&#234;","&#202;");
	
		for (i = 0; i < acentos.length; i++) {
			while (str.lastIndexOf(cod_acentos[i]) != -1) {
				str = str.replace(cod_acentos[i],acentos[i]);
			}
		}
	}
	return str;
}


function executaURL(vURL) {
	var url = vURL;
	obHttp.open("GET", url, false);
	obHttp.send(null);
	return obHttp.responseText;
}

function BuscaCEP(pCEP, obLogradouro, obBairro, obLocalidade, obUF, obNumero) {

	var CEP = LimpaFormatoStr(pCEP);
		
	if (CEP.length == 8) {
	
		var retCEP = executaURL("retornaendereco.asp?CEP=" + escape(CEP));

		if (retCEP != "") {
			retCEP = aplicarAcentuacao(retCEP);
	
			var arCEP = retCEP.split("\r\n");
			
			if (obLogradouro) {
				obLogradouro.value = arCEP[0];
			}

			if (obBairro) {
				obBairro.value = arCEP[1];
			}

			if (obLocalidade) {
				obLocalidade.value = arCEP[2];
			}

			if (obUF) {
				obUF.value = arCEP[3];
			}

			if (obNumero) {
				obNumero.focus();
			}
		}
	}
}

function validarCPF (CPF) {
	
	CPF = LimpaFormatoStr(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")
		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)))
		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)))
		return false;
	return true;
}

function validarCNPJ(CNPJ) {
	erro = new String;
	
	if (CNPJ.length < 18) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
	
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
		if (erro.length == 0) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
	}
	//substituir os caracteres que nao sao numeros
	if(document.layers && parseInt(navigator.appVersion) == 4){
		x = CNPJ.substring(0,2);
		x += CNPJ.substring(3,6);
		x += CNPJ.substring(7,10);
		x += CNPJ.substring(11,15);
		x += CNPJ.substring(16,18);
		CNPJ = x; 
	} else {
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace("-","");
		CNPJ = CNPJ.replace("/","");
	}
	
	var nonNumbers = /\D/;
	
	if (nonNumbers.test(CNPJ)) erro += "A verificacao de CNPJ suporta apenas numeros! \n\n"; 
	
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];

	for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]); 
	}
	
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		erro +="Digito verificador com problema!";
	}
	
	if (erro.length > 0){
		return false;
	} else {
		return true;
	}
	return true;
}

function $(element){
	return document.getElementById(element);
}

