(function(a) {
a.fn.zsuggest = function(c) {
var e = {
offsetX: 0,
offsetY: 0,
cssUrl: "URLcss/suggest.css",
source: "article",
defaultUrl: "//search.zol.com.cn/new/autoComplatePresetNew.php",
/*defaultUrl: "//379rv.com/autoComplatePresetNew.php",
defaultUrl: "//search.zol.com.cn/new/autoComplatePresetNew.php",
defaultUrl: "//www.lvyouw.net/Prod/autoComplatePresetNew.php",*/
suggestUrl: "//search.zol.com.cn/new/autoComplateZolNew.php",
isSuggest: true,
isFixed: false
};
var b = a(this);
var c = a.extend({
suggestLock: false,
zSuggest: "#zSearchSuggest",
sResultList: "#searchResultList"
},e, c);
var d = {
getPosition: function() {
return {
"width": b.width(),
"height": b.height(),
"left": b.offset().left,
"top": b.offset().top
}
},
loadCSS: function() {
var f = a("#zSearchSuggestCSS").length > 0 ? true: false;
if (f) {
return
}
a('').appendTo("head")
},
closeSuggest: function() {
if (!c.keyword) {
c.suggestLock = false
} else {
c.suggestLock = true
}
var g = c.isFixed ? "fixed": "absolute";
var f = a(c.zSuggest + "[data-role=" + g + "]");
if (f.length > 0) {
setTimeout(function() {
f.hide()
},
100)
}
},
createHTML: function(j) {
var m = this;
var o = m.getPosition();
var i = o.left + c.offsetX;
var n = o.top + c.offsetY + o.height;
var f = c.width != "undefined" ? c.width: "auto";
var k = c.isFixed ? "fixed": "absolute";
var h = a(window).scrollTop();
n = c.isFixed ? n - h: n;
var l = {
"position": k,
"width": f,
"left": i,
"top": n,
"z-index": 100000
};
var p = a(c.zSuggest);
if (p.length > 0) {
p.css(l).html(j).show()
} else {
var g = a('
');
g.css(l).html(j).appendTo(a("body"))
}
m.resizePos();
a(document).bind("click",
function() {
m.closeSuggest()
});
a("#zSearchSuggest").click(function(q) {
q.stopPropagation();
b.focus()
});
a("#zSearchSuggestClose").click(function(q) {
q.stopPropagation();
m.closeSuggest()
})
},
getSuggest: function() {
var h = this;
var j = b.attr("data-source") == "" ? c.source: b.attr("data-source");
var l = [
'"
].join("");
if (j === "bbs") {
l = ['"].join("")
}
// alert(arguments.length);
// document.getElementById("view_test").innerHTML += 'arguments.length ' + arguments.length+'
';
if (arguments.length != 0) {
var g = c.suggestUrl + "?callback=?&m=" + j + "&key=" + arguments[0];
if (typeof c.bbsid !== "undefined") {
f += "&bbsid=" + c.bbsid
}
if (typeof c.corp !== "undefined") {
for (var i in c.corp) {
f += "&" + i + "=" + c.corp[i]
}
}
// document.getElementById("view_test").innerHTML += 'g ' + g+'
';
a.getJSON(g,
function(n) {
if (n && n.length != 0) {
var m = '';
a.each(n,
function(q) {
var o = n[q].split("@#");
var p = "- " + o[1] + "" + o[0] + "
";
m += p
});
m += "
" + l;
h.createHTML(m);
h.bindSearchResultEvent()
} else {
a(c.zSuggest).hide()
}
})
} else {
var k = location.host;
if (j == "all") {
j = "pro"
}
var f = c.defaultUrl + "?callback=?&m=" + j;
// var f = c.defaultUrl + "?callback=?&m=" + j + "&hostname=" + k;
// var f = c.defaultUrl + "?callback=?&m=" + j + "&hostname=" + k;
// if (typeof c.bbsid !== "undefined") {
// f += "&bbsid=" + c.bbsid
// }
// if (typeof c.corp !== "undefined") {
// for (var i in c.corp) {
// f += "&" + i + "=" + c.corp[i]
// }
// }
// alert(k);
// alert(f);
// document.getElementById("view_test").innerHTML += 'f ' + f+'
';
a.getJSON(f,function(n) {
// document.getElementById("view_test").innerHTML += 'f ' + f+'
';
// alert(f);
/*alert(n['pro']);*/
if (n[j] != "null") {
var m = n[j].replace(/\ 0) {
var f = g.next().length == 0 ? c.keyword: g.next().find("span").html().replace(/<[^>].*?>/g, "");
g.removeClass().next().addClass("active");
b.val(f)
} else {
h.find("li:first").addClass("active");
b.val(h.find("li:first span").html().replace(/<[^>].*?>/g, ""))
}
},
prevResult: function() {
var h = a(c.sResultList);
if (h.length == 0) {
return
}
var g = h.find("li.active");
if (g.length > 0) {
var f = g.prev().length == 0 ? c.keyword: g.prev().find("span").html().replace(/<[^>].*?>/g, "");
g.removeClass().prev().addClass("active");
b.val(f)
} else {
h.find("li:last").addClass("active");
b.val(h.find("li:last span").html().replace(/<[^>].*?>/g, ""))
}
},
bindSearchResultEvent: function() {
var f = this;
var g = a(c.sResultList).find("li");
g.hover(function() {
a(this).addClass("active")
},
function() {
a(this).removeClass("active")
});
a("#zSearchSuggest .r-buy").click(function(l) {
f.closeSuggest();
l.stopPropagation();
eventName = "pc_search_first";
var k = document.cookie.match(/ip_ck=([^;$]+)/);
if (k) {
k = k[1]
}
var h = typeof(url) === "undefined" ? document.URL: url;
var j = "//pvtest.zol.com.cn/images/pvevents.gif?t=" + new Date().getTime() + "&event=" + eventName + "&ip_ck=" + k + "&url=" + h;
var i = new Image();
i.src = j;
return a(this)
});
g.click(function() {
b.val(a(this).find("span").html().replace(/<[^>].*?>/g, "")).focus();
f.closeSuggest();
if (b.attr("data-source") != "undefined" && b.attr("data-source") != "") {
b.parent().parent("form").submit()
} else {
b.parent("form").submit()
}
})
},
resizePos: function() {
var f = this;
a(window).resize(function() {
var g = f.getPosition().left + c.offsetX;
a(c.zSuggest).css("left", g)
})
}
};
d.loadCSS();
return this.each(function() {
var h = !-[1, ] && !window.XMLHttpRequest;
if (h) {
return
}
b.attr({
"data-source": "",
"autocomplete": "off"
});
b.click(function(i) {
i.stopPropagation()
});
var f = null;
b.bind("focus",
function() {
if (c.suggestLock) {
return
}
if (f) {
clearTimeout(f)
}
f = setTimeout(function() {
d.getSuggest()
},
200)
});
b.bind("blur",
function() {});
var g = null;
b.bind("keyup",
function(j) {
var k = j.keyCode;
if ((/38$|40$|13$|108$/.test(j.keyCode))) {
j.preventDefault();
j.stopPropagation();
d.keyEvent(k)
} else {
var i = a.trim(b.val());
c.keyword = i;
if (i == "") {
if (c.suggestLock) {
setTimeout(function() {
d.getSuggest()
},
100)
}
return
}
if (!c.isSuggest && i != "") {
d.closeSuggest();
return
}
if (g) {
clearTimeout(g)
}
g = setTimeout(function() {
d.getSuggest(i);
c.suggestLock = true
},
200)
}
})
})
}
})(jQuery);