/*

  DATA...............: 06-02-2007
  SCRIPT.............: VECTOR.JS
  DESCRICAO..........: SCRIPT AJAX
  ----------------------------------------------------------------------------------------------------------
  Nº   DATA      NOME     ALTERAÇÃO
  ----------------------------------------------------------------------------------------------------------
  001  06-02-07  LUIS     OPENAJAX VERIFICA OS BROWSERS
  002  06-02-07  LUIS     INCLUDE FUNÇÃO QUE ACESSA A PÁGINA PHP E TRAZ O RESULTADO SUBSTITUINDO PELO 
                          ID PASSADO NA FUNÇÃO INCLUDE
  003  06-02-07  LUIS     FUNÇÃO FORMAT
  004  06-02-07  LUIS     MASCARA DE VALORES EM REAIS
  005  06-02-07  LUIS     MASCARA DE CAMP DE VALOR
  006  06-02-07  LUIS     CAIXA ALTA
  007  06-02-07  CLEBER   FUNÇÃO QUE LIMITA O TAMANHO DE UM CAMPO

*/


//----------------------------------------------------------------------------------------------------------
// 001
//----------------------------------------------------------------------------------------------------------

function openAjax() 
{
	var ajax;
	
	try
	{
		ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
	}
	catch(ee)
	{
		try
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
		}
		catch(e)
		{
			try
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
			}
			catch(E)
			{
				ajax = false;
			}
		}
	}
	
	return ajax;
}

//----------------------------------------------------------------------------------------------------------
// 002
//----------------------------------------------------------------------------------------------------------

function include(id,pag,destino)
{
	url = 'ajax/'+pag+'.php?id='+id;
	
	var ajax = openAjax(); // Inicia o Ajax
	
	ajax.open("GET", url, true);
	ajax.send(null);	
	
	ajax.onreadystatechange = function() 
	{
		if (ajax.readyState == 4) 
		{
			if (ajax.status == 200) 
			{
				document.getElementById(destino).innerHTML = ajax.responseText;
			}
			else
			{
				alert("Erro: " + ajax.statusText);
			}
		}
		else
		{
			document.getElementById(destino).innerHTML = '<p align=\"center\"><img src=\"ico/load.gif\" alt=\"Carregando...\" /></p>';
		}
	}
}

//----------------------------------------------------------------------------------------------------------
// 003 - <input type="text" name="cep" id="telefone" onKeyPress="return formata(this, '###.###.###-##', event)"> 
//----------------------------------------------------------------------------------------------------------

function formata(campo, mask, evt) 
{
	if(document.all) 
	{ // Internet Explorer
		key = evt.keyCode; 
	}
	else
	{ // Nestcape
		key = evt.which;
	}
	
	if(key != 0 && key!=8)
	{
		string = campo.value;  
		i = string.length;
		
		if (i < mask.length) 
		{
			if (mask.charAt(i) == '#') 
			{
				return (key > 47 && key < 58);
			} 
			else 
			{
				
				if (mask.charAt(i) == '!') 
				{  
					return true;  
				}
			
				for (c = i; c < mask.length; c++) 
				{
					if (mask.charAt(c) != '#' && mask.charAt(c) != '!')
					{
						campo.value = campo.value + mask.charAt(c);
					}
					else if (mask.charAt(c) == '!')
					{
						return true;
					} 
					else 
					{
						return (key > 47 && key < 58);
					}
				}
			}
		} else return false;
	}
	else
	{
		return true; 
	}
}


//----------------------------------------------------------------------------------------------------------
// 004
//----------------------------------------------------------------------------------------------------------

function teclas(campo,evt)
{
	if (((evt.keyCode < 96) || (evt.keyCode > 105)) && ((evt.keyCode < 48) || (evt.keyCode > 57)))
	{
		campo.value = campo.value.replace(String.fromCharCode(evt.keyCode).toLowerCase(),"");
	}
}

//----------------------------------------------------------------------------------------------------------
// 005
//----------------------------------------------------------------------------------------------------------

function numMoeda(campo,evt)
{
   // para evitar caracteres alfas.
   teclas(campo,evt);
   str = campo.value;

   while(str.search(",") != -1)
	   str = str.replace(",","");
   i = 0;

   while(i< str.length)
   {
	   if(str.substr(i,1) == ".")
		  str = str.replace(".","");
		  i++;
   }

   part1 = str.substr(0,str.length - 2);
   
   while(part1.search(" ") != -1)
	   part1 = part1.replace(" ","");

	   part2 = str.substr(str.length - 2,2);
	   res = "";
	   i = part1.length;
	   sob = i % 3;
	   if((sob != 0) && (i > 2))
		  res = part1.substr(0,sob) + ".";
	   else
		  res = part1.substr(0,sob);
	   j = 1;
	   part1 = part1.substr(sob);
	   i = 0;
	   while(i < part1.length){
		  if(j == 3)
		  {
			 if(i + 1 == part1.length)
				res = res + part1.substr(i-2,3);
			 else res = res + part1.substr(i-2,3) + ".";
		  }
		  i++;
		  j = j<3?j+1:1;
	   }
	   campo.value = res + "," + part2;
}

//----------------------------------------------------------------------------------------------------------
// 006
//----------------------------------------------------------------------------------------------------------

function caixaAlta(obj) 
{	
	obj.value = obj.value.toUpperCase(); 
}

//----------------------------------------------------------------------------------------------------------
// 007
//----------------------------------------------------------------------------------------------------------

function contador(obj, tamanho) 
{
	if (tamanho > 0)
	{
		if ($(obj.name).value.length > tamanho)  
		{
			$(obj.name).value = $(obj.name).value.substring(0, tamanho);
		}				
	}
	
	$('max_caracter').value = tamanho - $(obj.name).value.length;
} 
