
var timeoutAutoComplete = false;
var mouse_is_inside = false;
var arAutoComplete = new Array();
var _pAC = 0;
var s_global = "";

function autoComplete(s, acesso, e) {
	
	if(e) {
		var nKeyCode = window.event ? window.event.keyCode : (e.keyCode || e.wicth);
		
		if(nKeyCode == 13) {
			$("#autoComplete").html('').hide();
			return;
			
		} else if(nKeyCode == 40 || nKeyCode == 38) {
			return;
			
		} else if(e.type === 'click') {
			if((arAutoComplete && arAutoComplete.length <= 1) || $("#autoComplete").css('display') != 'none') {
				return;
			}
		}
	}
	
	if(!arAutoComplete[0]) arAutoComplete[0] = s;
	
	if(timeoutAutoComplete) clearTimeout(timeoutAutoComplete);
	
	if(s != '' && s != s_global) {
		timeoutAutoComplete = setTimeout("autoComplete('"+s+"',true)", 700);
		
	} else if(s == '') {
		$("#autoComplete").html('').hide();
		
	}
	
	if(s == '') {
		acesso = false;
	}
	
	if(acesso) {
		clearTimeout(timeoutAutoComplete);
		s_global = s;
		arAutoComplete = new Array();
		arAutoComplete[0] = s;
		_pAC = 0;
		
		if(BrowserDetect.browser == "Opera") {
			url = "http://www.livrariacultura.com.br/AutoComplete/";
		} else {
			url = "http://" + sIP + ":8094/";
		}
		
		if ($.browser.msie && window.XDomainRequest) {
            // Use Microsoft XDR
            var xdr = new XDomainRequest();
            xdr.open("get", url + 'AutoComplete.ashx?q='+s +'&f=text&r=' + Math.random());
            xdr.onload = function() {
				texto = xdr.responseText;
				if(texto.length > 0) {
					var itens = s + '|' + texto;
					arAutoComplete = itens.split('|');
				}
				retornoAutoComplete(texto,s);
            }
            xdr.send();
        } else {
			$.ajax({
				url: url + 'AutoComplete.ashx?q='+s +'&r=' + Math.random(),
				type: 'GET',
				cache: "false",
				contentType: "application/json; charset=utf-8",
				dataType: "json",
				crossDomain: "true",
				success: function(data) {
					if(data.texto.length > 0) {
						var itens = s + '|' + data.texto;
						arAutoComplete = itens.split('|');
					}
					retornoAutoComplete(data.texto,s);
				}
			});
        }
	}
}

function retornoAutoComplete(texto,s) {
	var a;
	var	j = 0;
	var h = "<div>";
	
	if(texto.indexOf("|") == -1) {
		a = texto;
		if(a != '') {
			h += '<a class="item_'+ (++j) +'" href="/scripts/busca/busca.asp?palavra='+ a +'" onclick="document.frm_busca.palavra.value=\''+ a +'\'">'+ a.replace(s, '<b style=\'color:#000;\'>'+s+'</b>') +'</a>';
		}
	} else {
		a = texto.split("|");
		for(i in a) {
			if(a[i] != '') {
				h += '<a class="item_'+ (++j) +'" href="/scripts/busca/busca.asp?palavra='+ a[i] +'" onclick="document.frm_busca.palavra.value=\''+ a[i] +'\'">'+ a[i].replace(s, '<b style=\'color:#000;\'>'+s+'</b>') +'</a>';
			}
		}
	}
	h += "</div>";
	
	if(j > 0) {
		$("#autoComplete").html(h).show();
	} else {
		$("#autoComplete").html('').hide();
	}
}

function autoCompleteLog(e) {
	var nKeyCode = window.event ? window.event.keyCode : (e.keyCode || e.wicth);
	
	if(nKeyCode == 13) {
		$("#autoComplete").html('').hide();
		return;
		
	} else if(nKeyCode == 40 || nKeyCode == 38) {
		
		if(nKeyCode == 40) {
			if(_pAC < (arAutoComplete.length - 1)) {
				_pAC++;
			} else {
				_pAC = 0;
			}
		} 
		
		if(nKeyCode == 38) {
			if(_pAC <= 0) {
				_pAC = (arAutoComplete.length - 1);
			} else {
				_pAC--;
			}
		}
		
		$("#autoComplete a").removeClass("ativo");
		$("#autoComplete a.item_" + _pAC).addClass("ativo");
		if(arAutoComplete[_pAC]) document.frm_busca.palavra.value = arAutoComplete[_pAC];
	}
}

$(function(){
	
	$("#autoComplete,#palavra").hover(function() {
		mouse_is_inside = true;
	}, function() {
		mouse_is_inside = false;
	});
	
	$("body").mouseup(function() {
		if(!mouse_is_inside) $("#autoComplete").html('').hide();
	});
	
	if(BrowserDetect.browser == "Firefox") {
		$("#autoComplete").css('marginLeft','88px');
	} else if(BrowserDetect.browser == "Explorer") {
		$("#autoComplete").css('marginTop','-2px');
	}
	
})

// PreLoad da Imagem de Bottom
var autoCompleteBottomImg = new Image();
	autoCompleteBottomImg.src = "/imagem/layout/layout/campoBusca420_bottom.png";

