﻿var xmlHttp

function pause(millisecondi)
	{
	var now = new Date();
	var exitTime = now.getTime() + millisecondi;
	while(true)
		{
			now = new Date();
			if(now.getTime() > exitTime) return;
		}
	}

function doHighlight(bodyText, searchTerm)
{
  // the highlightStartTag and highlightEndTag parameters are optional
    highlightStartTag = "<font style='background-color:yellow;'>";
    highlightEndTag = "</font>";
  var newText = "";
  var i = -1;
  var lcSearchTerm = searchTerm.toLowerCase();
  var lcBodyText = bodyText.toLowerCase();
  while (bodyText.length > 0) {
    i = lcBodyText.indexOf(lcSearchTerm, i+1);
    if (i < 0) {
      newText += bodyText;
      bodyText = "";
    } else {
      // skip anything inside an HTML tag
      if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {
        // skip anything inside a <script> block
        if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
          newText += bodyText.substring(0, i) + highlightStartTag + bodyText.substr(i, searchTerm.length) + highlightEndTag;
          bodyText = bodyText.substr(i + searchTerm.length);
          lcBodyText = bodyText.toLowerCase();
          i = -1;
        }
      }
    }
  }
  return newText;
}


/*
 * This is sort of a wrapper function to the doHighlight function.
 * It takes the searchText that you pass, optionally splits it into
 * separate words, and transforms the text on the current web page.
 * Only the "searchText" parameter is required; all other parameters
 * are optional and can be omitted.
 */
function highlightSearchTerms(str,searchText)
{
    searchArray = searchText.split(" ");
    //alert(searchArray.length);
  var bodyText = str;
  for (var i = 0; i < searchArray.length; i++) {
  	  if  (searchArray[i].replace(" ","").length>0 )
  	  {
    bodyText = doHighlight(bodyText, searchArray[i]);
      }
    //alert(searchArray[i]);
  }  
  return bodyText;
}
function QueryBookNmSort(str)
{ 
var url="QueryBookNmSort.asp?" + str
//url=utf8_decode(url);
document.getElementById("ajaxstatus").innerHTML='<img src="images/new2/dataload.gif">';
xmlHttp=GetXmlHttpObject(stateChanged)
xmlHttp.open("GET", url , true)
//xmlHttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8")
//xmlhttp.overrideMimeType("text/html;charset=utf-8"); firefox可用
xmlHttp.send(null)
}

function stateChanged()
{if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		var rsp
		rsp=xmlHttp.responseText
		var d
		d=rsp.indexOf("querystr");
		//alert(rsp.substring(d+36,rsp.indexOf("</div>",d)));
		if (rsp.indexOf('<script')>=0)
		{
		set_innerHTML("ajaxdata",highlightSearchTerms(rsp,rsp.substring(d+36,rsp.indexOf("</div>",d))));
		document.getElementById("ajaxstatus").innerHTML='';}
		else
		{
		//document.getElementById("ajaxdata").innerHTML=highlightSearchTerms(rsp,rsp.substring(d+36,rsp.indexOf("</div>",d)));rsp.substring(d+36,rsp.indexOf("</div>",d))
		document.getElementById("ajaxdata").innerHTML=highlightSearchTerms(rsp,rsp.substring(d+36,rsp.indexOf("</div>",d)));
		document.getElementById("ajaxstatus").innerHTML='';}
	}
}

function GetXmlHttpObject(handler)
{
var objXmlHttp=null

if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("無法在Opera檢查帳號")
return
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{ 
var strName="Msxml2.XMLHTTP"
	if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
	{	strName="Microsoft.XMLHTTP"} 
	try
	{
		objXmlHttp=new ActiveXObject(strName)
		objXmlHttp.onreadystatechange=handler
		return objXmlHttp
	}
	catch(e)
	{
		alert("Error. Scripting for ActiveX might be disabled") 
		return
	}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}
