document.write('<style type="text/css">'+
					  '#listHolder{position:absolute;border:0;}'+
					  '.list{font-family:verdana;font-size:10;color:#000000;background-color: #FFFFFF;border:0;width:185px;}'+
			 '<\/style>')

var textoDigitado;
var escolhido = '';
//V.2.1.1221

function checkList(obj,objIATA,evt,nStr,nStrIATA,nStrPesquisa, classOld, classAdd) {
  classAdd = (classAdd != undefined && classAdd != "undefined" && classAdd != null) ? " " + classAdd : '';
  var k = eventos(evt);
  var T = findPosY(obj); //top
  var L = findPosX(obj); //left
  var list = document.getElementById('listHolder');
  var nStrNovo = new Array();

  escolhido = obj.id;

	if(!list) {
		var list = document.createElement('DIV');
		list.id = 'listHolder';
		document.body.appendChild(list);
	}

  list.style.top=(T+obj.offsetHeight).toString() + 'px';
	list.style.left=L.toString() + 'px';
	list.style.display='none';

	window.onresize = redirecionaLista;

  obj.className = classOld;
  obj.maxLength = 100;
  objIATA.value = "";

  textoDigitado=obj.value;

  retiraAcentos();

  var trocaTexto;
  var nStrNovo = new Array;

	for(a=0;a<nStrPesquisa.length;a++){
      trocaTexto = nStrPesquisa[a];
      trocaTexto = trocaTexto.toUpperCase();
      trocaTexto = trocaTexto.replace(/[aáàâäãAÁÀÂÄÃ]/g,"a");
      trocaTexto = trocaTexto.replace(/[eéèêëEÉÈÊË]/g,"e");
      trocaTexto = trocaTexto.replace(/[iïîìíIÏÎÌÍ]/g,"i");
      trocaTexto = trocaTexto.replace(/[oóôöòõOÓÔÖÒ]/g,"o");
      trocaTexto = trocaTexto.replace(/[uûüùúUÛÜÙÚ]/g,"u");
      trocaTexto = trocaTexto.replace(/[cçCÇ]/g,"c");
      trocaTexto = trocaTexto.replace(/[-()]/g," ");
      trocaTexto = trocaTexto.replace(/[ ]/g,"");
      trocaTexto = trocaTexto.replace(/[nñNÑ]/g,"n");
      nStrNovo[a] = trocaTexto
  }

  if (textoDigitado.length < 3) {
	var str='<select class="list" style="background-color:#F3E6E6 !important;"' +
		'onclick="javascript:try{setOption(\''+obj.id+'\',this.options[this.selectedIndex].value,\''+objIATA.id+'\',this.options[this.selectedIndex].text)}catch(e){}"'+ 
		'onkeyup="if(event.keyCode==13){setOption(\''+obj.id+'\','+
		'this.options[this.selectedIndex].value,\''+objIATA.id+'\',this.options[this.selectedIndex].text)};if(event.keyCode==27){'+
		'document.getElementById(\'listHolder\').style.display=\'none\';'+
		'document.getElementById(\''+obj.id+'\').focus()};" id="selector" size="6">'
	str+=('<option value="'+''+'">'+'Digite pelo menos 3 letras...'+'<HR NOSHADE></option>');
	str+='</select>';
    list.innerHTML=str;
    list.style.display='block';
  } else {
		var str='<select class="list'+ classAdd + '"' +
				'onclick="javascript:try{setOption(\''+obj.id+'\',this.options[this.selectedIndex].value,\''+objIATA.id+'\',this.options[this.selectedIndex].text)}catch(e){}"'+ 
				'onkeyup="if(event.keyCode==13){setOption(\''+obj.id+'\','+
				'this.options[this.selectedIndex].value,\''+objIATA.id+'\',this.options[this.selectedIndex].text)};if(event.keyCode==27){'+
				'document.getElementById(\'listHolder\').style.display=\'none\';'+
				'document.getElementById(\''+obj.id+'\').focus()};" id="selector" size="6">';
		var match=false;
        var linhas=0;
        var searchIndex = -1;
        var strOptAddIni = '';
        var strOptAddFin = '';
		for(a=0;a<nStrNovo.length;a++){
		    searchIndex = nStrNovo[a].toLowerCase().search(textoDigitado.toLowerCase());
            if(searchIndex >= 0) {
                match=true;
                linhas ++;
                //Separa na lista os itens que atendem ao StartsWith(em primeiro) e os que não atendem depois
                if(searchIndex == 0)
				    strOptAddIni += ('<option value="'+nStrIATA[a].replace(/\'/gi,'’')+'">'+nStr[a]+'<HR NOSHADE></option>');
		        else
				    strOptAddFin += ('<option value="'+nStrIATA[a].replace(/\'/gi,'’')+'">'+nStr[a]+'<HR NOSHADE></option>');
            }
        }
		str+=strOptAddIni+strOptAddFin+'</select>'
		if(match){
        obj.className= classOld;
        obj.maxLength = 100;
	  		list.innerHTML=str;
		  	list.style.display='block';

  			var sel=document.getElementById('selector')
	  		if(k==40) {
            if(!(document.getElementById('listHolder') == null || document.getElementById('listHolder') == 'undefined')) {
                sel.selectedIndex = 0;
    		 	      sel.focus();
            }
		   	}
        if( k=='09' || k=='0'){
            if(!(document.getElementById('listHolder') == null || document.getElementById('listHolder') == 'undefined')) {
                sel.selectedIndex = 0;
    		 	      document.getElementById('listHolder').focus();
            }
        }

		}
    else {
        obj.className= classOld + '_invalid';
        obj.maxLength = obj.value.length;
    }

	}
}

function setOption(obj,val,objIATA,texto){
	var obj=document.getElementById(obj)
	var objIATA=document.getElementById(objIATA)

    objIATA.value=val;

	obj.value=texto;
	obj.focus()
	document.getElementById('listHolder').style.display='none'
}

function setOptionNew(obj,valor){
	var obj=document.getElementById(obj)
	obj.value=valor;
	document.getElementById('listHolder').style.display='none'
}

function findPosX(obj){
	var curleft=0;
	if(obj.offsetParent) {

		while(obj.offsetParent){
			curleft+=obj.offsetLeft
			obj=obj.offsetParent;
		}
	} else if(obj.x)
		curleft+=obj.x;
		return curleft;
}

function findPosY(obj){
	var curtop=0;
	if(obj.offsetParent){
		while(obj.offsetParent){
			curtop+=obj.offsetTop
			obj=obj.offsetParent;
		}
	} else if(obj.y)
		curtop+=obj.y;
		return curtop;
}


function retiraAcentos() {
    textoDigitado = textoDigitado.toUpperCase();
    textoDigitado = textoDigitado.replace(/[aáàâäãAÁÀÂÄÃ]/g,"a");
    textoDigitado = textoDigitado.replace(/[eéèêëEÉÈÊË]/g,"e");
    textoDigitado = textoDigitado.replace(/[iïîìíIÏÎÌÍ]/g,"i");
    textoDigitado = textoDigitado.replace(/[oóôöòõOÓÔÖÒ]/g,"o");
    textoDigitado = textoDigitado.replace(/[uûüùúUÛÜÙÚ]/g,"u");
    textoDigitado = textoDigitado.replace(/[cçCÇ]/g,"c");
    textoDigitado = textoDigitado.replace(/[-()]/g," ");
    textoDigitado = textoDigitado.replace(/[ ]/g,"");
    textoDigitado = textoDigitado.replace(/[nñNÑ]/g,"n");
}


function desabilitaLista(campo,evt) {
    var k = eventos(evt);
//    if (k == 09)  {
//        if(!(document.getElementById('listHolder') == null || document.getElementById('listHolder') == 'undefined' ||
//           document.getElementById('listHolder').style.display=='none')) {
//            document.getElementById('selector').selectedIndex = 0;
//            document.getElementById('listHolder').focus();
//        }
//    }
}


function redirecionaLista(){
    var list = document.getElementById('listHolder');
    var target = document.getElementById('' + escolhido);
    var T = findPosY(target); //top
    var L = findPosX(target); //left

    list.style.top=(T+target.offsetHeight);
    list.style.left=L;
}


function eventos(evt) {
    var k;
    if(window.event) // para o IE
    {
        k = window.event.keyCode;
    }
    else
    {
        if(evt.which) // Netscape/Firefox/Opera
        {
            k = evt.which;

        }
    }
    return k;
}



function rejeitaTecla(oEvent){


    var cod_tecla=13; //tecla que quer bloquear. 13 é o código da tecla Enter

    //filtrando o evento
    var oEvent = oEvent ? oEvent : window.event;
    var tecla = (oEvent.keyCode) ? oEvent.keyCode : oEvent.which;

    if(oEvent.type=="keydown" && navigator.appName.indexOf('Internet Explorer')<0 ){
        //se for keydown e não for o IE, vazarei pois o keypress já foi executado
        return false;
    }

   if (oEvent.keyCode == 9){
        if(!(document.getElementById('listHolder') == null || document.getElementById('listHolder') == 'undefined')) {
          document.getElementById('listHolder').style.display='none'
        }
    }

    if (typeof(oEvent.keyCode)=='number' && oEvent.keyCode == cod_tecla){
        if (typeof(oEvent.preventDefault)=='function'){
            oEvent.preventDefault();
        } else {
            oEvent.returnValue = false;
            oEvent.keyCode = 0;
        }
    }
}
//document.onkeypress = rejeitaTecla; //Pro Opereta e FF. O keydown nao tem preventDefault no OP.
//document.onkeydown = rejeitaTecla; //Pro IE. O IE 6 não executa funcoes no keypress.
