var rodou = false;
var versao = parseInt(navigator.appVersion.substring(0,1));

function countCEPDOWN(key,campo){
	if (navigator.appName != "Netscape" ||
				versao >= 5 ){
			dFilter (key, campo, "#####-###");
			
		if(key >= 96 && key<=105)
			key = key - 48;
		
		
		if(key == 46 || key ==8){
			campo.value = "";	
			rodou = false;
		}				
			
		if(campo.value.length == 9 && !rodou){
			buscador.location.href = "cep.jsp?cep="+campo.value;
			rodou = true;

			
				var ag = getLayer("saguarde");
				ag.style.visibility = "visible";
			
			
		}
	}
	return false;
	
}
function countCEPUP(key,campo){
	if (navigator.appName == "Netscape" ||
				versao >= 5 ){
		if(campo.value.length == 9 && !rodou){
			buscador.location.href = "cep.jsp?cep="+campo.value;
			if(ag != null){
				var ag = getLayer("saguarde");
				ag.style.visibility = "visible";
			}
		}
	}
	return false;
	
}


var dFilterStep

function dFilterStrip (dFilterTemp, dFilterMask)
{
    dFilterMask = replace(dFilterMask,'#','');
    for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
		{
		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}
		return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
 		dFilterTemp = dFilterMask;
    for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
		{
		 		if (dFilterMask.charAt(dFilterStep)!='#')
				{
		        dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
				}
		}
		return dFilterTemp.length;
}

function dFilter (key, textbox, dFilterMask)
{		
		//amegale mais um bug
		if(textbox.value.length == 0 && key == 8)
			return;
		
	   /* amegale
	    * corre??o do bug de quando se usa o teclado numerico da direita
	    * era imprimido um letra
	    */  
		if(key >= 96 && key<=105)
			key = key - 48;
			
		/* amegale
		 * corre??o do bug que n?o apaga as mascaras inseridas
		 */
		if(key == 8){
			dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
			return;
		}
		
			
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
		
		if (key==9)
		{
		    return true;
		}
		else if (key==8&&dFilterNum.length!=0)
		{
		 	 	dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
		}
 	  else if ( ((key>47&&key<58)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
		{
        dFilterNum=dFilterNum+String.fromCharCode(key);
		}

		var dFilterFinal='';
    for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
		{
        if (dFilterMask.charAt(dFilterStep)=='#')
				{
					  if (dFilterNum.length!=0)
					  {
				        dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
					      dFilterNum = dFilterNum.substring(1,dFilterNum.length);
					  }
				    else
				    {
				        dFilterFinal = dFilterFinal + "";
				    }
				}
		 		else if (dFilterMask.charAt(dFilterStep)!='#')
				{
				    dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep); 			
				}
//		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
		}


		textbox.value = dFilterFinal;
    return false;
}

function replace(fullString,text,by) {
// Replaces text with by in string
    var strLength = fullString.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return fullString;

    var i = fullString.indexOf(text);
    if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
    if (i == -1) return fullString;

    var newstr = fullString.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function getLayer(nome){
	var olayer;
	if (document.layers)
		olayer = document.layers[nome];

	if (document.all)
		olayer = document.all[nome];

	if (!document.all && document.getElementById )
		olayer = document.getElementById(nome);

	return olayer;
}

function getTopLayer(nome){
	var olayer;
	if (top.document.layers)
		olayer = top.document.layers[nome];

	if (top.document.all)
		olayer = top.document.all[nome];

	if (!top.document.all && top.document.getElementById )
		olayer = top.document.getElementById(nome);
	
	if(olayer == null){
		alert('Layer nulo!');
		return null;
	}
	
	return olayer;
}
