// JavaScript Document
// DOM para Opera para pegar corretamente os elementos
isDOM = document.getElementById ? 1:0; 

textToolTip = ""; //Variavel usada para as funcoes showToolTip, hideToolTip e quebraString
textoOriginal = ""; //Variavel usada para as funcoes showToolTip, hideToolTip e quebraString

//******************************************************************************
function validar(f) 
//******************************************************************************
{    
     for( var i=0; i < campos_checar.length; ++i ) 
     { if (! campos_checar[i][1] (f,campos_checar[i][0],campos_checar[i][2],campos_checar[i][3]) ) 
		   { return false ; }
     }
   
    // alert('Ok!!  Seu formulário foi validado com sucesso.');     
    return true ;
}

//******************************************************************************
//
//******************************************************************************
function stripSpaces(x) {
    while (x.substring(0,1) == ' ') x = x.substring(1);
    return x;
}

//******************************************************************************
function empty(x) { if (x.length > 0) return false; else return true; }
//******************************************************************************



//******************************************************************************
// Fucao para validar email.
//******************************************************************************
function chkEmail (f,fld,msg) {
  var frm = f ;
  var e = f.elements[fld]
  if (e.value == null){
    alert(msg);
    e.focus();
    return (false);}
  //tirando os espaços vazios no endereço
  for (x = 1; x < e.value.length; x ++) 
     { e.value= e.value.replace(' ', '')}
	
  var emailStr
  emailStr = e.value;
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  var matchArray = emailStr.match(emailPat)
  if (matchArray==null){
    alert('O email informado não é válido.');
    e.value="";
    e.focus();
    return (false);}
	
  var user=matchArray[1]
  var domain=matchArray[2]
  if (user.match(userPat)==null){
    //alert("O seu Nome de usuário parece não ser válido.");
	alert("E-mail informado parece não ser válido.");
    e.value="";
    e.focus();
    return (false);}
	
  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null){
  for (var i=1;i<=4;i++){
  if (IPArray[i]>255){
    alert('O endereço do IP parece não ser válido!');
    e.value="";
    e.focus();
    return (false);}
  }
  return true;}

  var domainArray=domain.match(domainPat)
  if (domainArray==null){
    alert('O domínio parece não ser válido!');
    e.value="";
    e.focus();
    return (false);}
	
  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  if (domArr[domArr.length-1].length<2 ||
    domArr[domArr.length-1].length>3){
    alert('O endereço deve conter três letras de domínio ou duas letras do país.');
    e.value="";
    e.focus();
    return (false);}
	
  if (domArr.length<2){
    var errStr="Este endereço não está encontrando o seu provedor!"
    alert(errStr);
    e.value="";
    e.focus();
    return (false);}
	
return true;
}

//DIGITAR APENAS NUMEROS IRIA
function numeros(tecla)
{
	codigo = tecla.keyCode;//retorna o cod ASCII
	if ((codigo != 8)&& // (!= diferente) (&& AND)
		((codigo < 48)|| (codigo>57))) // 48 a 57 são nrs no cod ASC (||OU)
		return false;
	return true;
}




function is_valid_numeric(campo,checkVirgula)
{
	var digits = "";
	//Serve para campos de unidades
	if (checkVirgula == true)
		digits="0123456789,"
	else
		digits="0123456789";
    var campo_temp
    for (var i=0;i<campo.value.length;i++){
      campo_temp=campo.value.substring(i,i+1)    
      if (digits.indexOf(campo_temp)==-1){
            campo.value = campo.value.substring(0,i);
            break;
       }
    }
	/**
	ORIGINAL
	DATA ALTERAÇÃO: 10-09-08
	PARAMETRO ORIGINAL: key
	var VALID_NUMERIC_KEYS    = new Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57);
	var VALID_NAVIGATION_KEYS = new Array(8, 9, 13, 27, 46);
	
	var tecla = window.event.keyCode;
		  
    for (i = 0; i < VALID_NUMERIC_KEYS.length; i++){
		if (VALID_NUMERIC_KEYS[i] > tecla){
			
		  return false;
		}else{
			
		  if (VALID_NUMERIC_KEYS[i] == tecla)
			return true;
		}
	}
  return false;*/
}



function is_valid_navigation(key)
{

var VALID_NUMERIC_KEYS    = new Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57);
var VALID_NAVIGATION_KEYS = new Array(8, 9, 13, 27, 46);

  for (i = 0; i < VALID_NAVIGATION_KEYS.length; i++)
    if (VALID_NAVIGATION_KEYS[i] > key)
      return false;
    else
      if (VALID_NAVIGATION_KEYS[i] == key)
        return true;

  return false;
}

//***********************************formatar casas decimais
function formatNumber (obj, decimal) {
	 //decimal  - the number of decimals after the digit from 0 to 3
//-- Returns the passed number as a string in the xxx,xxx.xx format.
	   anynum=eval(obj.value);
	   divider =10;
	   switch(decimal){
			case 0:
				divider =1;
				break;
			case 1:
				divider =10;
				break;
			case 2:
				divider =100;
				break;
			default:  	 //for 3 decimal places
				divider =1000;
		}

	   workNum=Math.abs((Math.round(anynum*divider)/divider));

	   workStr=""+workNum

	   if (workStr.indexOf(".")==-1){workStr+="."}

	   dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
	   pStr=workStr.substr(workStr.indexOf("."))

	   while (pStr.length-1< decimal){pStr+="0"}

	   if(pStr =='.') pStr ='';

	   //--- Adds a comma in the thousands place.    
	   if (dNum>=1000) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
	   }

	   //-- Adds a comma in the millions place.
	   if (dNum>=1000000) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
	   }
	   retval = dStr + pStr
	   //-- Put numbers in parentheses if negative.
	   if (anynum<0) {retval="("+retval+")";}

	  
	//You could include a dollar sign in the return value.
	  //retval =  "$"+retval
	  
	  obj.value = retval;
 }

//onChange='formatNumber(this,2)'
/*function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}
*/

function num(e) {

    if (window.event) //IE
    {
     tecla = e.keyCode;
    }

    else if (e.which) //FF
    {
     tecla = e.which;
    }

    if ((tecla != 8)&& // (!= diferente) (&& AND)
		((tecla < 48)|| (tecla>57))) // 48 a 57 são nrs no cod ASC (||OU)
		return false;

    {
     return true;
    }

   }
   
   //MASCARAS PARA OS CAMPOS DE DATA
function formatar(src, mask)
{
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida)
  {
        src.value += texto.substring(0,1);
  }
  
}

//FUNCAO PARA EXIBIR BALAO DE DICA EM CIMA DE LINKS E IMAGENS
function showToolTip(element,evt){
	/********************************************************
	**						COMO USAR					   **
	CRIA ESTILO PARA A DIV
	ESTILO:
	#divMensagem{
	position:absolute;
	background-color: #676767;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #FFFFFF;
	border: 1px solid #333333;
	padding: 2px;
	display:none;
	}	
	NOME DA DIV: divMensagem
	CÓDIGO HTML DA DIV: <div id="divMensagem" ></div>
	
	O QUE DEVE POSSUIR: CADA LINK OU IMAGEM DEVE TER UM id 
	PARA A TAG E UM alt/title, ISSO SERA O TEXTO EXIBIDO
	
	COMO CHAMAR: onmouseover="showToolTip(this,event)"
	onmouseout="hideToolTip(this)"
	***********************************************************/
	
	if (document.getElementById(element.id).alt != ""){
		textToolTip = document.getElementById(element.id).alt
		document.getElementById(element.id).alt = "";
	}
	if (document.getElementById(element.id).title != "") {
		textToolTip = document.getElementById(element.id).title;
		document.getElementById(element.id).title = "";
	}
	textoOriginal = textToolTip;
	var camadaAviso = document.getElementById('divMensagem'); //TRAZ A CAMADA DE AVISO
	
	marginX = 0;
	marginY = 0;
	_x = 10;
	_Y = 10;
	
	if (document.all) {//SE FOR O IE ELE ENTRA NESSA CONDICAO
		_x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		_y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		_x += (window.event.clientX+marginX);
		_y += (window.event.clientY+marginY);
	} else 
	if (navigator.appName != 'Netscape') {//SE FOR UM BOM NAVEGADOR E NAO FOR DA FAMILIA NETSCAPE
		_x = event.clientX;
		_Y = event.clientY;	
	}
	else
	if (navigator.appName == 'Netscape'){//SE FOR DA FAMILIA NETSCAPE	
		_x =  evt.pageX;
		_Y =  evt.pageY;
	}
	_x = _x + 15;
	
	quebraString(textToolTip);
	camadaAviso.innerHTML = " "+textToolTip+" ";
	camadaAviso.style.left = _x+"px";
	camadaAviso.style.top = _Y+"px";
	camadaAviso.style.display = "block";
	
}

//FUNCAO PARA QUEBRAR AS STRINGS EM VÁRIAS LINHAS
function quebraString(text){
	var totalItens = 50; //NUMERO DE CHARS POR LINHA
	if (text.length > totalItens){
		var numeroLinhas = Math.ceil(text.length/totalItens);
		textToolTip = "";
		var pos = 0; //POSICAO DAONDE SERA TRAZIDO O TEXTO
		for (i=0;i<=numeroLinhas;i++){
			//endText = text.substr(pos,totalItens);
			//endChar = endText.substr(endText.length-1,endText.length);

			if (i==numeroLinhas){
				textToolTip = textToolTip + text.substr(pos,totalItens);
			}
			else
			textToolTip = textToolTip + text.substr(pos,totalItens)+"<br />";
			pos = pos + totalItens;
		}
	}
	else
		var numeroLinhas = 1;
}

//FUNCAO PARA ESCONDER O BALAO DE DICA
function hideToolTip(element){
	document.getElementById('divMensagem').style.display = "none";
	document.getElementById(element.id).alt = textoOriginal;
	document.getElementById(element.id).title = textoOriginal;
}

function confirmaLimpaCarrinho(){
	//AO CHAMAR ESSA FUNÇÃO ELE CRIA UMA JANELA DE CONFIRMAÇÃO, AONDE SE PERGUNTA SE QUER LIMPAR O CARRINHO
	//SE FOR SIM ELE CHAMA A PÁGINA DE LIMPAR
	if (window.confirm("Deletar este item?") == true){
		return true;
		window.location = "site.php?menu=carrinho&acao=limparCarrinho";
	}
}
function outPesquisa(){campo=document.getElementById('filtroPesquisa');if(campo.value==""){campo.value="Pesquisar por...";}}
function inPesquisa(){campo=document.getElementById('filtroPesquisa');if(campo.value=="Pesquisar por..."){campo.value="";}}
