//*****************************************************************************
//	FUNÇÃO DO DREAM WEAVER RESPONSAVEL POR FAZER O MOUSEOVER FUNCIONAR
//*****************************************************************************
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_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_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];}
}

//*****************************************************************************
//DESABILITA ENTER PARA NAO SUBMETER O CARRINHO
//*****************************************************************************
function dasabilitarenter(e) {
var tecla = (window.event)?event.keyCode:e.which;
if ((tecla == 13)) {
    return false;
}
}



//*****************************************************************************
//FUNÇÃO GENERICA DO DOCUMENT GET ELEMENT BY ID
//*****************************************************************************
function $(obj){
	return document.getElementById(obj);	
}


//*****************************************************************************
//	IMPORTO CLASSE DOJO
//*****************************************************************************
dojo.require("dojo.lfx.*");


//*****************************************************************************
//	IMPORTO CLASSE DOJO PARA FAZER O DIALOG
//*****************************************************************************
dojo.require("dojo.widget.Dialog");
dojo.require("dojo.widget.Button");



//*****************************************************************************
//CRIO FUNÇÃO NO ONLOAD QUE FAZ FUNCIONAR A CAIXA DE LOGIN
//*****************************************************************************
function init(e) {
	dlg0 = dojo.widget.byId("dialog0");
	var btn = document.getElementById("hider0");
	dlg0.setCloseControl(btn);
}
dojo.addOnLoad(init);



//*****************************************************************************
//	//EFEITO DOJO DE EXPANSÃO/MINIZAÇÃO DE DIV
//*****************************************************************************
function startEffect(obj) {
  void(dojo.lfx.html.wipeIn(obj, 400).play())
}

function resetEffect(obj) {
	void(dojo.lfx.html.wipeOut(obj, 400).play())
}


//EXIBE/ESCONDE CATEGORIA E SUBCATEGORIA, APLICANDO EFEITO DO DOJO
//*****************************************************************************
function toggleDisplay(divCategoria,divSubCategoria) {
  
  //DEFINO OBJETO COMO VAR DIV
  var div = $(divSubCategoria);
  div.style.display = (div.style.display=="block" ? "none" : "block");
  
  //DESCUBRO O STATUS DO OBJ PARA APLICAR O EFEITO DOJO	
  if(div.style.display == "block"){
	  $(divCategoria).className = 'CategoriaClicada'
	  startEffect(divSubCategoria);
  }else{
      $(divCategoria).className = 'Categoria'
	 resetEffect(divSubCategoria);	  
  }


}


//*****************************************************************************
//	FUNÇÃO DO COMPONENTE DOJO PARA EXIBIR IMAGEM/ESCONDER
//*****************************************************************************

function ExibeFoto(start){
	dojo.lfx.explode(start, "FotoProduto", 250).play();
}

function EscondeFoto(start){
	dojo.lfx.implode("FotoProduto", start, 250).play();
}




//*****************************************************************************
//	VALIDA CARACTER NUMERICO
//*****************************************************************************
function SomenteNumero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}


//======================================================
// FUNÇÃO QUE VALIDA CPF SEM PONTOS E TRAÇOS
//======================================================
function validaCPF(obj) {
	var  cpf = $(obj).value;

			//RETIRA PONTO E BARRA PARA FAZER VALIDAÇÃO
			cpf = cpf.replace(/\.+/g,"");
			cpf = cpf.replace(/\-+/g,"");

                 erro = new String;
                 if (cpf.length < 11) {  
                    if(cpf.length == 10){
                        cpf = "0" + cpf;
                        $(obj).value=cpf;
                    }
                    else if (cpf.length == 9) {
                        cpf = "00" + cpf;
                        $(obj).value=cpf;
                    }
                    else {
                        alert("Número de CPF inválido! \n\n");
                        $(obj).value = "";
                        $(obj).focus();
                        return false;
                    }    
                }    
                                
                 var nonNumbers = /\D/;
                 if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
                 if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
                         erro += "Numero de CPF invalido!"
                }
               var a = [];
               var b = new Number;
               var c = 11;
               for (i=0; i<11; i++){
                       a[i] = cpf.charAt(i);
                      if (i < 9) b += (a[i] * --c);
               }
               if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
               b = 0;
               c = 11;
               for (y=0; y<10; y++) b += (a[y] * c--);
               if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
               if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
                       erro +="Numero de CPF invalido!";
               }
               if (erro.length > 0){
                       alert(erro);
                       $(obj).value = "";
                       $(obj).focus();
                       $(obj).select();                    
                      
                       return false;
               }
               return true;
       }


//======================================================
// FUNÇÕES DE MASCARA GENERICA
//======================================================
function Mascara(objeto, evt, mask) {
//Ela pode criar máscaras utilizando os seguintes caracteres:
//    * "#" - Numeros
//    * "A" - Letras UpperCase
//    * "a" - Letras LowerCase
//    * "Z" - Letras
//    * "*" - Qualquer Caracter	
 
var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var Numeros = '0123456789';
var Fixos  = '().-:/ ';
var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";

evt = (evt) ? evt : (window.event) ? window.event : "";
var value = objeto.value;
if (evt) {
 var ntecla = (evt.which) ? evt.which : evt.keyCode;
 tecla = Charset.substr(ntecla - 32, 1);
 if (ntecla < 32) return true;

 var tamanho = value.length;
 if (tamanho >= mask.length) return false;

 var pos = mask.substr(tamanho,1);
 while (Fixos.indexOf(pos) != -1) {
  value += pos;
  tamanho = value.length;
  if (tamanho >= mask.length) return false;
  pos = mask.substr(tamanho,1);
 }

 switch (pos) {
   case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
   case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
   case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
   case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
   case '*' : objeto.value = value; return true; break;
   default : return false; break;
 }
}
objeto.value = value;
return true;
}


//======================================================
// FUNÇÕES DE FORMATAÇÕES
//======================================================
function MaskCEP(objeto, evt) {
	return Mascara(objeto, evt, '#####-###');
}

function MaskTelefone(objeto, evt) {
	return Mascara(objeto, evt, '(##) ####-####');
}

function MaskCPF(objeto, evt) {
	return Mascara(objeto, evt, '###.###.###-##');
}

function MaskNumero(objeto, evt) {
	return Mascara(objeto, evt, '######');
}

function MaskPlacaCarro(objeto, evt) {
	return Mascara(objeto, evt, 'AAA-####');
}






//======================================================
// FUNCAO QUE FORMATA O CNPJ
//======================================================
function FormataCNPJ(Campo, teclapres){

	var tecla = teclapres.keyCode;

	var vr = new String(Campo.value);
	vr = vr.replace(".", "");
	vr = vr.replace(".", "");
	vr = vr.replace("/", "");
	vr = vr.replace("-", "");

	tam = vr.length + 1 ;

	
	if (tecla != 9 && tecla != 8){
		if (tam > 2 && tam < 6)
			Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
		if (tam >= 6 && tam < 9)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
		if (tam >= 9 && tam < 13)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
		if (tam >= 13 && tam < 15)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
		}
}


//======================================================
// FUNCAO QUE VALIDA CNPJ SE E VERDADEIRO
//======================================================
function validaCNPJ() {
	CNPJ = $("cnpj").value;
	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 +="CNPJ incorreto!";
		document.getElementById("cnpj").focus();
	}
	if (erro.length > 0){
		alert(erro);
		return false;
	} else {
		//alert("CNPJ valido!");
	}
	return true;
}



//======================================================
// FUNCAO PARA ALGUMAS REGRAS DO CADASTRO
//======================================================

//DESABILITA CAMPO INSCRIÇÃO ESTADUAL CASO SEJA ISENTO
function Isento(){
	if($("isento").checked == true){
		$("ie").value = "";
		$("ie").disabled = "disabled";
	}else{
		$("ie").disabled = "";
	}
}