﻿(function(a){a.fn.mimass=function(r){var e=a.extend({},a.fn.mimass.defaults,r);var t=c();var v=null;var g=null;var l=[];var d=-1;return this.each(function(){$this=a(this);$this.attr("autocomplete","off");$this.focus(m);$this.keydown(o);$this.keyup(j);$this.blur(h)});function m(w){v=a(this)}function o(w){switch(w.keyCode){case 13:p();w.preventDefault();break;case 37:case 39:case 9:p();break;default:break}}function j(w){switch(w.keyCode){case 16:case 17:case 18:case 13:case 37:case 39:case 9:break;case 38:i(d-1);break;case 40:i(d+1);break;default:u();break}}function h(w){if(d==-1){f();n()}}function k(x){var w=t.children().index(this);i(w)}function u(){e.onUnSelect();n();if(v.val().length>2){g=a.getJSON(e.url+e.requestDataCallback(v),q)}else{f()}}function n(){if(g!==null&&g.readyState!=4){g.abort()}}function q(w){d=-1;l=w;t.empty();a.each(l,function(x){t.append('<div style="cursor: default;">'+l[x].nome+"</div>");$itemDiv=t.children(":last");$itemDiv.mouseover(k);$itemDiv.click(function(y){p();y.stopPropagation()});t.mouseleave(b)});if(l.length>0){s()}else{f()}}function i(w){if(t.css("display")=="none"){d=-1;return}var x=t.children();x.removeClass("ui-state-hover");d=w;if(d>=l.length){d=0}else{if(d<0){d=l.length-1}}a(x[d]).addClass("ui-state-hover")}function b(){d=-1;t.children().removeClass("ui-state-hover")}function p(){if(d>-1){v.val(l[d].nome);e.onSelect(l[d]);f()}d=-1}function c(){if(a("div.mimass").length==0){a("body").append("<div style='display:none; position: absolute; width: auto; padding: 0.3em;' class='mimass ui-widget ui-widget-content'></div>")}return a("div.mimass")}function s(){if(t.css("display")=="none"){var x=v.position();var w=v.height();t.css("top",x.top+w+2);t.css("left",x.left);t.show("blind",{},100)}}function f(){t.hide()}};a.fn.mimass.defaults={url:".",requestDataCallback:function(b){return{text:b.val()}}}})(jQuery);
