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);