function parseUri(E) {
    var D = parseUri.options, A = D.parser[D.strictMode ? "strict" : "loose"].exec(E), C = {}, B = 14; while (B--) { C[D.key[B]] = A[B] || "" } C[D.q.name] = {}; C[D.key[12]].replace(D.q.parser, function(G, F, H) { if (F) { C[D.q.name][F] = H } }); return C
} parseUri.options = { strictMode: false, key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/} }; String.prototype.endsWith = function(A) { return (this.match(A + "$") == A) }; getUrl = function() { if (typeof (sikbox_url) == "undefined") { sikbox_url = "http://sikbox.com/" } return sikbox_url }; setStats = function(C, A, B) { return; url = getUrl() + "php/stats123.php"; q = "?q=" + C; s = "&s=" + A; t = "&t=" + B; url = url + q + s + t + "&callback=?"; jQuery.getJSON(url); jQuery("script[src*='sikbox.com/php/stats123.php']").remove() }; selectItem = function(A, B) { if (A.extra) { setStats(B, A.extra[0], 1); location.href = A.extra[0] } }; getParameter = function(C, B) { B = B.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var A = "[\\?&]" + B + "=([^&#]*)"; var E = new RegExp(A); var D = E.exec(C); if (D == null) { return "" } else { return D[1] } }; google = { url: "http://ajax.googleapis.com/ajax/services/search/", key: "ABQIAAAAm_U5X3msZlIawwmBL471ORRjBtBuxop4MVJXpby6MXC7lXAdoRR-qQf4Wb33MOCWYM6VWdaYCdMLKQ", imagesearch: function(B, A, C) { _url = this.url + "images?v=1.0&rsz=large&q=" + escape(B) + "+site:" + escape(A) + "&callback=?"; jQuery.getJSON(_url, function(D) { results = D.responseData; C(results) }) }, paginate: function(D, B, A, C, E) { if (C == "next") { _index = A + 1 } else { _index = A - 1 } start = "&start=" + (8 * _index); pageurl = this.url + "images?v=1.0&rsz=large&q=" + escape(D) + "+site:" + escape(B) + start + "&callback=?"; jQuery.getJSON(pageurl, function(F) { results = F.responseData; E(results) }) } }; yahooSearchBoss = { boss_url: "http://boss.yahooapis.com/ysearch/web/v1/", params: "&format=json&callback=?", appid: "?appid=kNuTm_nV34GvU0QGUJ4x7UWXPP8CANV9VPa.Spsah_b.2eLRII9vBXP4hkU6r_PIm.4Ftw--", paginate: function(C, B, A, D) { start = "&start=" + getParameter(A, "start"); count = "&count=" + getParameter(A, "count"); sites = "&sites=" + escape(B); yahoo = this.boss_url + C + this.appid + count + sites + start + this.params; jQuery.getJSON(yahoo, function(E) { results = E.ysearchresponse; D(results) }) }, search: function(C, A, B, D) { yahoo = this.boss_url; count = "&count=" + B; sites = ""; if (A != "") { uri = parseUri(A); sites = "&sites=" + escape(uri.host) } yahoo += C + this.appid + count + sites + this.params; jQuery.getJSON(yahoo, function(E) { results = E.ysearchresponse; D(results) }) } };
jQuery.autocomplete = function(E, X) {
    var Q = this;
    var d = jQuery(E).attr("autocomplete", "off");
    if (X.inputClass) { d.addClass(X.inputClass) }
    jQuery("." + X.resultsClass).remove();
    var R = document.createElement("div");
    var I = jQuery(R);
    I.fadeOut().addClass(X.resultsClass).css("position", "absolute");
    if (X.width > 0) { I.css("width", X.width) } jQuery("body").append(R);
    E.autocompleter = Q;
    var p = null;
    var b = "";
    var r = -1;
    var K = {};
    var g = false;
    var L = false;
    var B = null;
    var c = false;
    var J = false;
    var T = "web";
    var A = 0;
    var w = 0;
    var o = "";
    var V = "";
    function N() { K = {}; K.data = {}; K.length = 0 } N(); if (X.data != null) {
        var U = "", z = {}, O = [];
        if (typeof X.url != "string")
        { X.cacheLength = 1 } for (var x = 0; x < X.data.length; x++) { O = ((typeof X.data[x] == "string") ? [X.data[x]] : X.data[x]); if (O[0].length > 0) { U = O[0].substring(0, 1).toLowerCase(); if (!z[U]) { z[U] = [] } z[U].push(O) } } for (var v in z) { X.cacheLength++; F(v, z[v]) }
    } d.keydown(function(i) { B = i.keyCode; switch (i.keyCode) { case 37: i.preventDefault(); jQuery(".sikbox_results .pagination .previous").click(); break; case 38: i.preventDefault(); j(-1); break; case 39: i.preventDefault(); jQuery(".sikbox_results .pagination .next").click(); break; case 40: i.preventDefault(); j(1); break; case 9: case 13: if (d.val() == V) { if (m()) { d.get(0).blur(); i.preventDefault() } } default: r = -1; if (p) { clearTimeout(p) } p = setTimeout(function() { W(); V = d.val() }, X.delay); break } }).focus(function() { L = true; J = false }).blur(function() { L = false; if (J == false) { D() } }); Y(); I.mousedown(function(i) { if (i.button == 2) { J = true } else { J = false } }); jQuery("*").click(function() { if (jQuery(this).is(".sikbox_results") == false) { J = false; D() } }); jQuery("*").keydown(function(i) { if (i.keyCode == 27) { J = false; D(); d.select() } }); function W() { if (B == 46 || (B > 8 && B < 32 && B != 13)) { d.select(); return I.fadeOut() } var i = d.val(); b = i; if (i.length >= X.minChars) { d.addClass(X.loadingClass); h(i) } else { I.fadeOut() } } function j(k) { var i = jQuery("li", R); if (!i) { return } r += k; if (r < 0) { r = 0 } else { if (r >= i.size()) { r = i.size() - 1 } } i.find("div").removeClass("hover"); i.removeClass("hover"); jQuery(i[r]).find("div").addClass("hover"); jQuery(i[r]).addClass("hover") } function m() { var i = jQuery("li.hover", R)[0]; if (!i) { var k = jQuery("li", R); if (X.selectOnly) { if (k.length == 1) { i = k[0] } } else { if (X.selectFirst) { i = k[0] } } } if (i) { S(i); return true } else { return false } } function S(i) { if (!i) { i = document.createElement("li"); i.extra = []; i.selectValue = "" } var k = jQuery.trim(i.selectValue ? i.selectValue : i.innerHTML); E.lastSelected = k; b = k; if (jQuery(i).find(".pagination").html() == null) { I.html(""); Y(); if (X.onItemSelect) { setTimeout(function() { X.onItemSelect(i, d.val()) }, 1) } } } function C(AB, k) { var AA = d.get(0); if (AA.createTextRange) { var i = AA.createTextRange(); i.collapse(true); i.moveStart("character", AB); i.moveEnd("character", k); i.select() } else { if (AA.setSelectionRange) { AA.setSelectionRange(AB, k) } else { if (AA.selectionStart) { AA.selectionStart = AB; AA.selectionEnd = k } } } AA.focus() } function a(i) { if (B != 8) { d.val(d.val() + i.substring(b.length)); C(b.length, i.length) } } function l() { pright = d.css("padding-right"); pleft = d.css("padding-left"); pright = parseInt(pright.replace("px", "")); pleft = parseInt(pleft.replace("px", "")); inputWidth = pright + pleft + d.width(); X.width = "305"; if (parseInt(inputWidth) > 305) { X.width = parseInt(inputWidth) } var k = e(E); var i = (X.width > inputWidth) ? X.width : inputWidth; offsetMiddle = k.z / 2; xleft = k.x; if (xleft <= offsetMiddle) { I.css({ width: parseInt(i) + "px", top: (k.y + E.offsetHeight) + "px", left: k.x + "px" }).fadeIn("slow") } else { difwidth = i - inputWidth; newleft = k.x - difwidth; I.css({ width: parseInt(i) + "px", top: (k.y + E.offsetHeight) + "px", left: newleft + "px" }).fadeIn("slow") } } function D() { if (p) { clearTimeout(p) } p = setTimeout(Y, 200) } function Y() { if (p) { clearTimeout(p) } if (I.is(":visible") && !c && !J && !X.testing) { d.removeClass(X.loadingClass); I.fadeOut() } if (X.mustMatch) { var i = d.val(); if (i != E.lastSelected) { S(null) } } } function H(AA, k, i) { if (k) { if (w == A) { d.removeClass(X.loadingClass); R.innerHTML = ""; if (i == null) { setStats(AA, X.url, 0) } if (jQuery.browser.msie) { I.append(document.createElement("iframe")) } R.appendChild(u(k)); jQuery(".sikbox_results .pagination .next").click(function() { d.addClass(X.loadingClass); c = true; if (jQuery(this).attr("id") == "nextimageset") { google.paginate(AA, X.url, o.cursor.currentPageIndex, "next", function(AB) { c = false; o = AB; AB = Z(AB.results); d.focus(); H(AA, AB); jQuery(".sikbox_results ul").addClass("images") }) } else { yahooSearchBoss.paginate(AA, X.url, o.nextpage, function(AB) { c = false; o = AB; AB = G(AB.resultset_web); d.focus(); H(AA, AB, "next") }) } }); jQuery(".sikbox_results .pagination .previous").click(function() { d.addClass(X.loadingClass); c = true; if (jQuery(this).attr("id") == "previousimageset") { google.paginate(AA, X.url, o.cursor.currentPageIndex, "previous", function(AB) { c = false; o = AB; AB = Z(AB.results); d.focus(); H(AA, AB); jQuery(".sikbox_results ul").addClass("images") }) } else { yahooSearchBoss.paginate(AA, X.url, o.prevpage, function(AB) { c = false; o = AB; AB = G(AB.resultset_web); d.focus(); H(AA, AB, "prev") }) } }); jQuery(R).find("ul").before('<div class="header"></div>'); jQuery(R).find("ul").after('<div class="footer"></div>'); jQuery(R).find("ul").wrap('<div class="content"></div>'); jQuery(R).find("ul").before('<div class="type"><div id="imagesearch"></div> <div id="websearch"></div> </div>'); jQuery("#imagesearch").click(function() { d.addClass(X.loadingClass); c = true; T = "image"; google.imagesearch(AA, X.url, function(AB) { c = false; o = AB; AB = Z(AB.results); d.focus(); H(AA, AB); jQuery(".sikbox_results ul").addClass("images") }) }); jQuery("#websearch").click(function() { d.addClass(X.loadingClass); c = true; T = "web"; yahooSearchBoss.search(AA, X.url, X.maxItemsToShow, function(AB) { c = false; o = AB; AB = G(AB.resultset_web); H(AA, AB) }) }); if (X.autoFill && (d.val().toLowerCase() == AA.toLowerCase())) { a(k[0][0]) } l() } } else { Y() } } function G(k) { var i = []; if (k) { jQuery.each(k, function(AB) { var AC = []; title = k[AB].title; AC[0] = title.replace(X.removeFromTitle, ""); AC[1] = k[AB].url; AC[2] = k[AB]["abstract"]; AC[3] = "text"; i[AB] = AC }) } else { var AA = []; AA[0] = "Nenhum resultado para '" + d.val() + "'"; AA[1] = "#"; AA[2] = ""; AA[3] = "noresults"; i[0] = AA } return i } function Z(k) { var i = []; if (k != "") { jQuery.each(k, function(AB) { var AC = []; AC[0] = decodeURI(k[AB].tbUrl); AC[1] = k[AB].originalContextUrl; AC[2] = k[AB].contentNoFormatting; AC[3] = "image"; i[AB] = AC }) } else { var AA = []; AA[0] = "No images for " + d.val(); AA[1] = "#"; AA[2] = ""; AA[3] = "noresults"; i[0] = AA } return i } function u(AB) { var AE = document.createElement("ul"); var AD = AB.length; for (var AC = 0; AC < AD; AC++) { var AH = AB[AC]; if (!AH) { continue } var AF = document.createElement("li"); var k = null; if (AH.length > 1) { k = []; for (var AA = 1; AA < AH.length; AA++) { k[k.length] = AH[AA] } } AF.extra = k; target = ""; if (X.openNewWindow) { target = 'target="_blank"' } if (AH[3] == "image") { jQuery(AF).addClass("image"); jQuery(AF).append('<div class="result"><a href="' + AH[1] + '"' + target + '><img src="' + AH[0] + '"></a></div>') } else { if (AH[3] == "text") { jQuery(AF).addClass("text"); jQuery(AF).append('<div class="result"><a href="' + AH[1] + '"' + target + ">" + AH[0] + "</a></div>") } else { jQuery(AF).append('<div class="noresults">' + AH[0] + "</div>") } } AE.appendChild(AF); jQuery(AF).find(".result").append('<div class="expand"></div>'); jQuery(AF).find(".result").append('<div class="abstract">' + AH[2] + "</div>"); jQuery(AF).find(".expand").toggle(function() { jQuery(this).parent().find(".abstract").fadeIn(); J = true }, function() { jQuery(this).parent().find(".abstract").hide(); J = true }); jQuery(AF).find(".result a").click(function() { setStats(d.val(), jQuery(this).attr("href"), 1) }); M(AE, AF) } var AG = document.createElement("li"); prevpage = ""; nextpage = ""; if (typeof o != "undefined" && AH[3] != "noresults") { if (typeof o.cursor != "undefined") { if (parseInt(o.cursor.currentPageIndex) > 0) { prevpage = '<div class="previous" id="previousimageset">&laquo;Ant</div>' } if (parseInt(o.cursor.currentPageIndex) < (parseInt(o.cursor.pages.length) - 1)) { nextpage = '<div class="next" id="nextimageset">Prox&raquo</div>' } } if (typeof o.prevpage != "undefined") { prevpage = '<div class="previous">&laquo;Ant</div>' } if (typeof o.nextpage != "undefined") { nextpage = '<div class="next">Prox&raquo</div>' } } if (nextpage != "" || prevpage != "") { pagehtml = "<div class='pagination'>" + prevpage + nextpage + "</div>"; jQuery(AG).append(pagehtml); jQuery(AG).addClass("pagination"); AE.appendChild(AG); M(AE, AG) } return AE } function M(k, i) { jQuery(i).hover(function() { jQuery("li", k).find("div").removeClass("hover"); jQuery(this).find("div").addClass("hover"); r = jQuery("li", k).indexOf(jQuery(this).get(0)) }, function() { jQuery(this).removeClass("hover") }) } function h(k) { if (!X.matchCase) { k = k.toLowerCase() } var i = X.cacheLength ? y(k) : null; if (i) { H(k, i) } else { if (k.length > 1) { ++A; if (T == "image") { google.imagesearch(k, X.url, function(AA) { o = AA; ++w; AA = Z(AA.results); H(k, AA); jQuery(".sikbox_results ul").addClass("images") }) } else { yahooSearchBoss.search(k, X.url, X.maxItemsToShow, function(AA) { o = AA; ++w; AA = G(AA.resultset_web); H(k, AA) }) } } } } function P(AB) { var k = X.url + "?q=" + encodeURI(AB); for (var AA in X.extraParams) { k += "&" + AA + "=" + encodeURI(X.extraParams[AA]) } return k } function y(AF) { if (!AF) { return null } if (K.data[AF]) { return K.data[AF] } if (X.matchSubset) { for (var AD = AF.length - 1; AD >= X.minChars; AD--) { var AA = AF.substr(0, AD); var AG = K.data[AA]; if (AG) { var AE = []; for (var AB = 0; AB < AG.length; AB++) { var k = AG[AB]; var AC = k[0]; if (f(AC, AF)) { AE[AE.length] = k } } return AE } } } return null } function f(AB, AA) { if (!X.matchCase) { AB = AB.toLowerCase() } var k = AB.indexOf(AA); if (k == -1) { return false } return k == 0 || X.matchContains } this.flushCache = function() { N() }; this.show = function() { W() }; this.setExtraParams = function(i) { X.extraParams = i }; this.setUrl = function(i) { X.url = i }; this.getUrl = function() { return X.url }; this.setMaxItemsToShow = function(i) { X.maxItemsToShow = i }; this.findValue = function() { var k = d.val(); if (!X.matchCase) { k = k.toLowerCase() } var i = X.cacheLength ? y(k) : null; if (i) { n(k, i) } else { if ((typeof X.url == "string") && (X.url.length > 0)) { jQuery.get(P(k), function(AA) { AA = G(AA); F(k, AA); n(k, AA) }) } else { n(k, null) } } }; function n(AF, AE) { var AC = (AE) ? AE.length : 0; var AA = null; for (var AD = 0; AD < AC; AD++) { var AG = AE[AD]; if (AG[0].toLowerCase() == AF.toLowerCase()) { AA = document.createElement("li"); if (X.formatItem) { AA.innerHTML = X.formatItem(AG, AD, AC); AA.selectValue = AG[0] } else { AA.innerHTML = AG[0]; AA.selectValue = AG[0] } var k = null; if (AG.length > 1) { k = []; for (var AB = 1; AB < AG.length; AB++) { k[k.length] = AG[AB] } } AA.extra = k } } if (X.onFindValue) { setTimeout(function() { X.onFindValue(AA) }, 1) } } function F(k, i) { if (!i || !k || !X.cacheLength) { return } if (!K.length || K.length > X.cacheLength) { N(); K.length++ } else { if (!K[k]) { K.length++ } } K.data[k] = i } function e(k) { var AA = k.offsetLeft || 0; var i = k.offsetTop || 0; while (k = k.offsetParent) { AA += k.offsetLeft; i += k.offsetTop; curwidth = k.offsetWidth } return { x: AA, y: i, z: curwidth} }
}; jQuery.fn.autocomplete = function(B, A, C) { A = A || {}; A.url = B; A.data = ((typeof C == "object") && (C.constructor == Array)) ? C : null; A.inputClass = A.inputClass || "input"; A.resultsClass = A.resultsClass || "sikbox_results"; A.lineSeparator = A.lineSeparator || "\n"; A.cellSeparator = A.cellSeparator || "|"; A.minChars = A.minChars || 1; A.delay = A.delay || 400; A.matchCase = A.matchCase || 0; A.matchSubset = A.matchSubset || 1; A.matchContains = A.matchContains || 0; A.cacheLength = A.cacheLength || 1; A.mustMatch = A.mustMatch || 0; A.extraParams = A.extraParams || {}; A.loadingClass = A.loadingClass || "sikbox_loading"; A.selectFirst = A.selectFirst || false; A.selectOnly = A.selectOnly || false; A.maxItemsToShow = A.maxItemsToShow || 10; A.autoFill = A.autoFill || false; A.width = parseInt(A.width, 10) || 0; A.onItemSelect = selectItem; A.removeFromTitle = A.removeFromTitle || ""; A.openNewWindow = A.openNewWindow || false; A.testing = A.testing || false; this.each(function() { var D = this; new jQuery.autocomplete(D, A) }); return this }; jQuery.fn.autocompleteArray = function(B, A) { return this.autocomplete(null, A, B) }; jQuery.fn.indexOf = function(B) { for (var A = 0; A < this.length; A++) { if (this[A] == B) { return A } } return -1 };    
