www.gusucode.com > 在线影院小偷程序联盟多风格后台版 3.2源码程序 > js/search.js
var sajax_debug_mode = false; var sajax_request_type = "POST"; var sajax_target_id = ""; var sajax_failure_redirect = ""; function sajax_debug(text) { if (sajax_debug_mode) alert(text); } function sajax_init_object() { sajax_debug("sajax_init_object() called..") var A; var msxmlhttp = new Array( 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'); for (var i = 0; i < msxmlhttp.length; i++) { try { A = new ActiveXObject(msxmlhttp[i]); } catch (e) { A = null; } } if(!A && typeof XMLHttpRequest != "undefined") A = new XMLHttpRequest(); if (!A) sajax_debug("Could not create connection object."); return A; } var sajax_requests = new Array(); function sajax_cancel() { for (var i = 0; i < sajax_requests.length; i++) sajax_requests[i].abort(); } function sajax_do_call(func_name, args) { var i, x, n; var uri; var post_data; var target_id; sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id); target_id = sajax_target_id; if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "") sajax_request_type = "GET"; uri = "/inc/keyword.asp"; if (sajax_request_type == "GET") { if (uri.indexOf("?") == -1) uri += "?rs=" + escape(func_name); else uri += "&rs=" + escape(func_name); uri += "&rst=" + escape(sajax_target_id); uri += "&rsrnd=" + new Date().getTime(); for (i = 0; i < args.length-1; i++) uri += "&rsargs[]=" + escape(args[i]); post_data = null; } else if (sajax_request_type == "POST") { post_data = "rs=" + escape(func_name); post_data += "&rst=" + escape(sajax_target_id); post_data += "&rsrnd=" + new Date().getTime(); for (i = 0; i < args.length-1; i++) post_data = post_data + "&rsargs[]=" + escape(args[i]); } else { alert("Illegal request type: " + sajax_request_type); } x = sajax_init_object(); if (x == null) { if (sajax_failure_redirect != "") { location.href = sajax_failure_redirect; return false; } else { sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent); return false; } } else { x.open(sajax_request_type, uri, true); //window.open(uri); sajax_requests[sajax_requests.length] = x; if (sajax_request_type == "POST") { x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1"); x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } x.onreadystatechange = function() { if (x.readyState != 4) return; sajax_debug("received " + x.responseText); var status; var data; var txt = x.responseText.replace(/^\s*|\s*$/g,""); status = txt.charAt(0); data = txt.substring(2); if (status == "") { // let's just assume this is a pre-response bailout and let it slide for now } else if (status == "-") alert("Error: " + data); else { if (target_id != "") document.getElementById(target_id).innerHTML = eval(data); else { try { var callback; var extra_data = false; if (typeof args[args.length-1] == "object") { callback = args[args.length-1].callback; extra_data = args[args.length-1].extra_data; } else { callback = args[args.length-1]; } callback(eval(data), extra_data); } catch (e) { sajax_debug("Caught error " + e + ": Could not eval " + data ); } } } } } sajax_debug(func_name + " uri = " + uri + "/post = " + post_data); x.send(post_data); sajax_debug(func_name + " waiting.."); delete x; return true; } // wrapper for pre_get_array function x_pre_get_array() { sajax_do_call("pre_get_array", x_pre_get_array.arguments); } var key=''; var key_count=-1; var copy_result_arrary=new Array(); var exit_flag=false; function ow(obj,width,height) { URL=obj.href; var left = ( screen.width - width ) / 2; var top = ( screen.height - height ) / 2; window.open(URL,'','width='+width+',height='+height+',top='+top+',left='+left+',scrollbars=0,resizable=0'); return false; } function go_search(key) { exit_flag=true; //document.getElementById("keyword").value=key; // document.getElementById("search").submit(); window.open('/film/'+key+'.html',''); document.getElementById("Layer1").style.visibility="hidden"; } function go_url(key) { window.open(key); } function close_div() { document.getElementById("Layer1").style.visibility="hidden"; } function open_div() { document.getElementById("Layer1").style.visibility="visible"; now=-1; } function mydivMove(x,y,id) { document.getElementById(id).style.left=x-1+"px"; document.getElementById(id).style.top=y-2+"px"; document.getElementById(id).style.width="480px"; } var target=null; function set_place(obj) { if(target==null && obj==null) return; if(target==null) target=obj; var left = target.offsetLeft; var top = target.offsetTop + target.offsetHeight; var parent = target; while(parent = parent.offsetParent) { top += parent.offsetTop; left += parent.offsetLeft; } mydivMove(left-2,top+5,'Layer1'); } var now=-1; function set_now(s_now) { now=s_now; } function switch_key(event) { if(document.getElementById("Layer1").style.visibility=="hidden") return; var last_now=now; //方向键 up var flag=false; if(event.keyCode==38) { if(now==-1) return; if(now!=0) now--; flag=true; } //方向键 down if(event.keyCode==40) { if(now!=key_count) now++; flag=true; } //移动方向 if(flag) { if(last_now==-1) last_now=0; var layer_id="list_"+last_now; document.getElementById(layer_id).className='layer_list_out'; layer_id="list_"+now; document.getElementById(layer_id).className='layer_list_over'; document.getElementById("keyword").value=copy_result_arrary[now]; key=copy_result_arrary[now]; } } function assign_div(array_result) { if(exit_flag) return; var assign_tpl='<table width="100%" border="0" cellpadding="0" cellspacing="0" class="layer_temp" >'; var count=0; //alert(array_result.length); while(array_result[count]['song']!='~!@#$%^&*') { var title=array_result[count]['song']; biaohong = document.getElementById('keyword').value; if(array_result[count]['song'].substr(0,biaohong.length)==biaohong) { var ctitle="<span>"+biaohong+"</span>"+array_result[count]['song'].substring(biaohong.length); }else{ //var feibiaohonglen = array_result[count]['song'].length - biaohong.length; var ctitle=title; } assign_tpl+='<tr id=list_'+count+' onMouseOver="set_now('+count+');this.className=\'layer_list_over\' " onMouseOut="this.className=\'layer_list_out\' " " onClick=""><td class="layer_list" onClick="go_search(\''+array_result[count]['artist']+'\')">'+ctitle+'</td><td nowrap class="layer_list2"><a href="/film/'+array_result[count]['artist']+'.html" target=_blank>查看介绍</a></td></tr>'; copy_result_arrary[count]=title; count++; } key_count=count-1; if(count==0) { document.getElementById("Layer1").style.visibility="hidden"; } else { assign_tpl+='</table>'; document.getElementById("list_show").innerHTML=assign_tpl; document.getElementById("Layer1").style.visibility="visible"; now=-1; } } function start_get() { set_place(); setTimeout("start_get()",50); if(document.getElementById("keyword").value=="") { document.getElementById("Layer1").style.visibility="hidden"; key=""; return; } if(key=="") { key=document.getElementById("keyword").value; x_pre_get_array(document.getElementById('keyword').value,assign_div); return; } if(document.getElementById("keyword").value!=key) { key=document.getElementById("keyword").value; x_pre_get_array(document.getElementById('keyword').value,assign_div); return; } } function clear_key() { if(document.getElementById("keyword").value=="请输入电影名搜索") { document.getElementById("keyword").value=""; } key=""; start_get(); } function set_check(val) { var s='s'+val; document.getElementById(s).checked=true; } function checksearch() { if(document.getElementById('keyword').value=='') { alert('请输入电影名或演员名搜索'); return false; } return true; } var jstop=""; jstop = jstop + "<DIV id=Layer1 style=\"VISIBILITY: hidden;Z-INDEX: 100; LEFT: 201px; WIDTH: 200px; BORDER: none; POSITION: absolute; TOP: 128px; background:#fff;filter: alpha(opacity=90); \">"; jstop = jstop + "<div class=\"ss_pp\">"; jstop = jstop + "<span class=\"ss_l\">关键字自动匹配功能</span>"; jstop = jstop + "<span class=\"ss_r\" onclick=\"close_div()\">×关闭提示</span>"; jstop = jstop + "</div>"; jstop = jstop + "<SPAN id=list_show></SPAN>"; jstop = jstop + "<div class=\"ss_pp sp2\">"; jstop = jstop + "<span class=\"ss_l\"></span>"; jstop = jstop + "<span class=\"ss_r\" onclick=\"close_div()\">×关闭提示</span>"; jstop = jstop + "</div>"; jstop = jstop + "</div>"; document.write(jstop);