//扩展字符串的endwith方法
String.prototype.endWith=function(oString)
{  
	var   reg=new   RegExp(oString+"$");  
	return   reg.test(this);  
}
String.prototype.ReplaceAll = function(AFindText,ARepText)
{
	var raRegExp = new RegExp(AFindText,"g")
	try{
	var res = this.replace(raRegExp,ARepText);
	return res;
	}catch(e){return "";}
}
//搜索时间字段
var doctimefield = "PUBLISHTIME";
//文档类型字段
var doctypefield = "DOCTYPE";
//频道的检索信息
var channelfield = "CLASS2";
//搜索正文字段
var contentfield = "CONTENT";
//分类字段
var classfield = "CLASS2";
var classfield2 = "CLASS3";
//XML解析器
var xmlDoc = false;
//XML AJAX分析器
var XMLHttpReq = false;
//检索默认表单
var morenbiaodan = false;
var v_otherwhere = "";
//XML解析函数，对res中的XML字符串进行解析
function xmljx(res)
{
	try{
	xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
	xmlDoc.async = "false";
	xmlDoc.loadXML(res);
	}catch(e){
	var parser = new DOMParser();
    xmlDoc = parser.parseFromString(res,"text/xml");
	}
	return xmlDoc;
}
//得到XMLHttpRequest对象
function createXMLHttpRequest()
{
	if(window.XMLHttpRequest)
	{
		XMLHttpReq = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		try{
			XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
		try{
			XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){}
		}
	}
}
//进行检索参数的初始化工作
function init(xmlstr,curpage)
{
	//对XML字符串进行解析,得到所有参数的值
	xmljx(xmlstr);
	var v_basenames = decode(xmlDoc.getElementsByTagName("BASENAMES")[0].firstChild.data);
	var v_allkeyword = decode(xmlDoc.getElementsByTagName("ALLKEYWORD")[0].firstChild.data);
	var v_allinput = decode(xmlDoc.getElementsByTagName("ALLINPUT")[0].firstChild.data);
	var v_anykeyword = decode(xmlDoc.getElementsByTagName("ANYKEYWORD")[0].firstChild.data);
	var v_noallkeyword = decode(xmlDoc.getElementsByTagName("NOALLKEYWORD")[0].firstChild.data);
	var v_datefrom = decode(xmlDoc.getElementsByTagName("DATEFROM")[0].firstChild.data);
	var v_dateto = decode(xmlDoc.getElementsByTagName("DATETO")[0].firstChild.data);
	var v_doctype = decode(xmlDoc.getElementsByTagName("DOCTYPE")[0].firstChild.data);
	var v_sortfield = decode(xmlDoc.getElementsByTagName("SORTFIELD")[0].firstChild.data);
	var v_znkz = decode(xmlDoc.getElementsByTagName("ZNKZ")[0].firstChild.data);
	var v_keyword = decode(xmlDoc.getElementsByTagName("KEYWORD")[0].firstChild.data);
	var v_searchfield = decode(xmlDoc.getElementsByTagName("SEARCHFIELD")[0].firstChild.data);
	var v_channel = "ALL";
	try{
		v_channel = decode(xmlDoc.getElementsByTagName("CHANNEL")[0].firstChild.data);
	}catch(ex){v_channel = "ALL";}
	try{
		v_otherwhere = decode(xmlDoc.getElementsByTagName("OTHERWHERE")[0].firstChild.data);
	}catch(ex){v_otherwhere = "";}
	//对默认表单进行负值
	morenbiaodan = document.rmwsearchform;
	morenbiaodan.basenames.value = v_basenames;
	morenbiaodan.keyword.value = v_keyword;
	morenbiaodan.searchfield.value = v_searchfield;
	morenbiaodan.curpage.value = "1";
	morenbiaodan.pagecount.value = "20";
	morenbiaodan.classvalue.value = "ALL";
	morenbiaodan.classfield.value = classfield;
	morenbiaodan.isclass.value = "1";
	morenbiaodan.istong.value = "1";

	morenbiaodan.allkeyword.value = v_allkeyword.ReplaceAll(" ","");
	morenbiaodan.allinput.value = v_allinput.ReplaceAll(" ","");
	morenbiaodan.anykeyword.value = v_anykeyword.ReplaceAll(" ","");
	morenbiaodan.noallkeyword.value = v_noallkeyword.ReplaceAll(" ","");
	morenbiaodan.datefrom.value = v_datefrom;
	morenbiaodan.dateto.value = v_dateto;
	morenbiaodan.doctype.value = v_doctype;
	morenbiaodan.sortfield.value = v_sortfield;
	morenbiaodan.channel.value = v_channel;
	morenbiaodan.znkz.value = v_znkz;
	//如果有频道检索信息，则按照CLass3进行分类
	if(v_channel != "ALL")
		morenbiaodan.classfield.value = classfield2;
	//构造检索字符串where
	morenbiaodan.where.value = getWhere(morenbiaodan.keyword.value,morenbiaodan.searchfield.value);
	//进行检索
	initsearch();
}
//检索初始化
function initsearch()
{
	//打开滚动条
	getScroll();
	showprocessbar();
	//将检索的字符串置于二次检索框中去
	document.searchFormOne.REKEYWORD.value = morenbiaodan.keyword.value;
	var submitURL = "gj_searchht.jsp";
	var url = "basenames="+encodeURIComponent(morenbiaodan.basenames.value)+"&where="+encodeURIComponent(morenbiaodan.where.value);
	url += "&curpage="+morenbiaodan.curpage.value+"&pagecount="+morenbiaodan.pagecount.value;
	url += "&classvalue="+encodeURIComponent(morenbiaodan.classvalue.value)+"&classfield="+encodeURIComponent(morenbiaodan.classfield.value);
	url += "&isclass="+morenbiaodan.isclass.value+"&istong="+morenbiaodan.istong.value+"&keyword="+encodeURIComponent(morenbiaodan.keyword.value);		
	url += "&znkz="+morenbiaodan.znkz.value+"&sortfield="+encodeURIComponent(morenbiaodan.sortfield.value);
	url += "&id="+Math.random();
	insertURLToMysql(encodeURIComponent(morenbiaodan.keyword.value));
	var myAjax = new Ajax.Request(submitURL,{method:'post',parameters:url,onComplete:processResponse});
}
//Ajax返回的结果进行显示的函数
function processResponse(request)
{
	var reses = request.responseXML.getElementsByTagName("RMW");
	if(reses.length>0)
		showRES(reses[0]);
	else
		closeprocessbar();
}
//生成最后的结果页面，分为如下几部：
//1、生成详细信息页面  2、生成页数  3、生成同音词   4、生成同义词  5、生成分页检索页面
function showRES(reses)
{
	try{
		showDetail(reses);
		showPage(reses);
		if(morenbiaodan.isclass.value == "1")
		{
			showFenLei(reses);
			morenbiaodan.isclass.value = "0";
		}
		if(morenbiaodan.istong.value == "1")
		{
			showTong(reses);
			morenbiaodan.istong.value = "0";
		}
		closeprocessbar();
	}catch(ex){noDataHandler();}
}



//生成检索结果详细信息页面  辅助函数：showDetail(reses)   createOneDetailTable(detailNode)
function showDetail(reses)
{
	//将结果显示的信息清除
	var detailele = document.getElementById("DETAILELE");
	clear(detailele);
	var detaileles = reses.getElementsByTagName("RESULT");
	var detailele;
	for(var i=0;i<detaileles.length;i++)
	{
		detailele = detaileles[i];
		createOneDetailTable(detailele);
	}
}
/*
 * 方法 createOneDetailTable 的作用就是生成一个Table，模仿如下
 *<table cellspacing="0" cellpadding="0" border="0">
 *		<tbody>
 *			<tr>
 *				<td class="f">
					<a href="http://www.people.com.cn/" target="_blank"><font size="3">人民网</font></a>
 *					<br/>
 *					<font size="-1">中国的官方报纸。包括新闻报道和可检索的目录，新闻评论和专题栏目.</font>
 *					<br/>
 *					<font color="#008000">www.people.com.cn/ 125K 2007-12-5 </font>- <a class="m" href="#"     target="_blank">快照</a>
 *				 </td>
 *			</tr>
 *     </tbody>
 *	</table>
*/
function createOneDetailTable(detailNode)
{
	//解析detailNode,得到所有的对应的值
	var doctitle = detailNode.getElementsByTagName("TITLE")[0].firstChild.data;
	var doccontent = detailNode.getElementsByTagName("CONTENT")[0].firstChild.data;
	var docauthor = detailNode.getElementsByTagName("AUTHOR")[0].firstChild.data;
	var doctime = detailNode.getElementsByTagName("PUBLISHTIME")[0].firstChild.data;
	var docurl = detailNode.getElementsByTagName("DOCURL")[0].firstChild.data;
	var docchannel = detailNode.getElementsByTagName("CHANNEL")[0].firstChild.data;
	var docsize = detailNode.getElementsByTagName("DOCSIZE")[0].firstChild.data;
	var docauthor = detailNode.getElementsByTagName("AUTHOR")[0].firstChild.data;
	var docrelevance = detailNode.getElementsByTagName("RELEVANCE")[0].firstChild.data;
	//得到Detail所在的父组件
	var detailele = document.getElementById("DETAILELE");
	//1、生成一个Table
	var tableele = document.createElement("table");
	tableele.setAttribute("cellspacing","0");
	tableele.setAttribute("cellpadding","0");
	tableele.setAttribute("border","0");
	detailele.appendChild(tableele);
	//2、生成一个TBODY
	var tbodyele = document.createElement("tbody");
	tableele.appendChild(tbodyele);
	//3、生成一个TR
	var trele = document.createElement("tr");
	tbodyele.appendChild(trele);
	//生成一个TD
	var tdele = document.createElement("td");
	tdele.setAttribute("class","f");
	trele.appendChild(tdele);
	//得到TD里面的内容
	//得到TD里面的内容
	var innerstr = "<a href='"+docurl+"' target='_blank'><font size='3'>"+doctitle+"</font></a>";
	//显示相关度
	if(parseInt(docrelevance) > 0)
	{
		if(docrelevance.length > 5)
			docrelevance = docrelevance.substring(0,5);
		innerstr += "&nbsp;&nbsp;&nbsp;&nbsp;"+docrelevance+"%<br/>";
	}
	else
		innerstr += "<br/>";
	innerstr += "<font size='-1'>"+doccontent+"</font>";
	innerstr += "<br/>";
	innerstr += "<a href='"+docurl+"' target='_blank'><font color='#008000'>"+docurl+"</font></a>&nbsp;&nbsp;"+doctime;
	//innerstr += "&nbsp;&nbsp;- &nbsp;&nbsp;<a class='m' href='"+docurl+"' target='_blank'>网站快照</a>";
	innerstr += "<br/><br/>";
	tdele.innerHTML = innerstr;
	
}
//显示分页的所有信息  辅助函数：getTotleStr(totlenum,searchtime) turnPage(topage) writePage(pages)
function showPage(reses)
{
	//得到最后检索的分页信息  总信息数  检索时间  当前显示的页数  每页显示的信息数  总页数
	var totlenum = reses.getElementsByTagName("TOTALCOUNT")[0].firstChild.data;
	var searchtime = reses.getElementsByTagName("SEARCHTIME")[0].firstChild.data;
	var curpage = reses.getElementsByTagName("CURPAGE")[0].firstChild.data;
	var pagecount = reses.getElementsByTagName("PAGECOUNT")[0].firstChild.data;
	var pages = reses.getElementsByTagName("PAGES")[0].firstChild.data;
	searchtime = searchtime/1000.0;
	if(curpage != morenbiaodan.curpage.value)
		morenbiaodan.curpage.value = curpage;
	//显示一共有多少条信息
	var totleele = document.getElementById("TOTALCOUNTELE");
	clear(totleele);
	var innertext = getTotleStr(totlenum,searchtime);
	totleele.innerHTML = innertext;
	//显示 首页 上一页 下一页 末页
	var pageele = document.getElementById("PAGEELE");
	clear(pageele);
	//生成三个TD
	var tdele1 = document.createElement("td");
	var tdele2 = document.createElement("td");
	var tdele3 = document.createElement("td");
	//分别设置三个TD的属性
	tdele1.setAttribute("width","20%");
	tdele1.setAttribute("align","center");
	tdele2.setAttribute("width","60%");
	tdele2.setAttribute("align","center");
	tdele3.setAttribute("width","20%");
	tdele3.setAttribute("align","center");
	//建立三个TD innerHTML
	var tdhtml1 = "";
	if(curpage == 1)
	{
		tdhtml1 += " <input type='submit' name='Submit' value='首页' onclick='alert(\"当前显示首页\")'/>";
		tdhtml1 += "<input type='submit' name='Submit2' value='上一页' onclick='alert(\"当前显示第一页\")'/>";
	}
	else
	{
		tdhtml1 += " <input type='submit' name='Submit' value='首页' onclick='turnPage(\"1\")'/>";
		tdhtml1 += "<input type='submit' name='Submit2' value='上一页' onclick='turnPage(\""+(parseInt(curpage)-1)+"\")'/>";
	}
	var tdhtml2 = writePage(pages);
	var tdhtml3 = "";
	if(curpage == pages)
	{
		tdhtml3 += "<input type='submit' name='Submit3' value='下一页'  onclick='alert(\"当前显示最后一页\")'/>";
		tdhtml3 += "<input type='submit' name='Submit4' value='末页'  onclick='alert(\"当前显示末页\")'/>";
	}
	else
	{
		tdhtml3 += "<input type='submit' name='Submit3' value='下一页'  onclick='turnPage(\""+(parseInt(curpage)+1)+"\")'/>";
		tdhtml3 += "<input type='submit' name='Submit4' value='末页'  onclick='turnPage(\""+pages+"\")'/>";
	}
	//将三个InnerHTML负值给TD
	tdele1.innerHTML = tdhtml1;
	tdele2.innerHTML = tdhtml2;
	tdele3.innerHTML = tdhtml3;
	//将三个TD负值给TR
	pageele.appendChild(tdele1);
	pageele.appendChild(tdele2);
	pageele.appendChild(tdele3);
}
//得到总信息的字符串
function getTotleStr(totlenum,searchtime)
{
	var start = 0,end = 0;
	var v_curpage = parseInt(morenbiaodan.curpage.value);
	var v_pagecount = parseInt(morenbiaodan.pagecount.value);
	start = (v_curpage-1)*v_pagecount+1;
	end = v_curpage*v_pagecount;
	if(end > totlenum)
		end = totlenum;
	var str = "约有"+totlenum+"项符合 <font color='red'>"+morenbiaodan.keyword.value+"</font> 的查询结果， 如下是第 "+start+"-"+end+" 项(搜索用时"+searchtime+"秒)";
	return str;
}
//翻页函数
function turnPage(topage)
{
	morenbiaodan.curpage.value = topage;
	initsearch();
}
//页码显示函数
function writePage(pages)
{
	var curpage = parseInt(morenbiaodan.curpage.value);
	var start = curpage - 3;
	var end = curpage +5;
	//对页码显示范围进行分析
	if(start < 1)
	{
		end = end - start + 1;
		if(end > pages)
			end = pages;
		start = 1;
	}
	if(end > pages)
	{
		start = start - (end - pages);
		if(start < 1)
			start = 1;
		end = pages;
	}
	var pagestr = "";
	for(var i=start;i<=end;i++)
	{
		if(i == curpage)
			pagestr += "<font color='red'>"+i+"</font>&nbsp;&nbsp;&nbsp;";
		else
			pagestr += "<a href='#' onclick='turnPage(\""+i+"\")'>["+i+"]</a>&nbsp;&nbsp;&nbsp;";
	}
	return pagestr;
}
//生成分类,专题 的结果函数 辅助函数 turnClass(node)
function showFenLei(reses)
{
	//==========================================1、得到所有分类的结果
	//得到所有的分类结果的数组
	var fenleieles = reses.getElementsByTagName("CLASSRES");
	var fenleiele = false;
	var v_classvalue = "";
	var classnum = "";
	//得到CLASELE组件
	var classele = document.getElementById("CLASSELE");
	clear(classele);
	var innertext = " <div class='tt10'>搜索结果</div>";
	for(var i=0;i<fenleieles.length;i++)
	{
		if(i == 50)
			break;
		fenleiele = fenleieles[i];
		v_classvalue = fenleiele.getElementsByTagName("CLASSVALUE")[0].firstChild.data;
		classnum = fenleiele.getElementsByTagName("CLASSNUM")[0].firstChild.data;
		if(i == 0)
			innertext += "<a href='#' onclick='turnClass(\"ALL\")'>"+v_classvalue+"("+classnum+")</a><br/>";
		else
			innertext += "<a href='#' onclick='turnClass(\""+v_classvalue+"\")'>"+v_classvalue+"("+classnum+")</a><br/>";
	}
	//==========================================2、得到所有专题的结果
	var zteles = reses.getElementsByTagName("ZHUANTI");
	var ztele = false;
	var specialname = "",subspecialname="",specialurl="";
	//循环便利专题节点的数组
	innertext += " <div class='tt10'>专题结果</div>";
	for(var i=0;i<zteles.length;i++)
	{
		ztele = zteles[i];
		try{
			specialname = ztele.getElementsByTagName("ZHUANTINAME")[0].firstChild.data;
			subspecialname = ztele.getElementsByTagName("ZHUANTISUBNAME")[0].firstChild.data;
			specialurl = ztele.getElementsByTagName("ZHUANTIURL")[0].firstChild.data;
			innertext += "<a href='"+specialurl+"' title='"+specialname+"' target='_blank'>"+subspecialname+"</a><br/>";
		}catch(ex){continue;}
	}
	classele.innerHTML = innertext;	
}
//分类项信息显示
function turnClass(v_classvalue)
{
	morenbiaodan.classvalue.value = v_classvalue;
	morenbiaodan.curpage.value = "1";
	initsearch();
}


//显示同音词同义词方法  辅助函数 turnTong(tongstr)
function showTong(reses)
{
	//得到同音词同义词的字符串
	var tongyincistr = reses.getElementsByTagName("TONGYINCI")[0].firstChild.data;
	var tongyicistr = reses.getElementsByTagName("TONGYICI")[0].firstChild.data;
	var tyin_list = tongyincistr.split(";");
	var tyi_list = tongyicistr.split(";");
	var tyin_value = "",tyi_value="";
	//得到同音词同义词的节点
	var tyin_node = document.getElementById("TONGYINELE");
	var tyi_node = document.getElementById("TONGYIELE");
	//清除两个节点
	clear(tyin_node);clear(tyi_node);
	//建立两个InnerHTML
	var tyin_innertext = "同音字搜索: <font size='-1'>";
	for(var i=0;i<tyin_list.length;i++)
	{
		tyin_value = tyin_list[i];
		tyin_innertext += "<a href='#' onclick='turnTong(\""+tyin_value+"\")'>"+tyin_value+"</a>&nbsp;&nbsp;";
	}
	tyin_innertext += "</font>";
	var tyi_innertext = "相关搜索: <font size='-1'>";
	for(var i=0;i<tyi_list.length;i++)
	{
		tyi_value = tyi_list[i];
		tyi_innertext += "<a href='#' onclick='turnTong(\""+tyi_value+"\")'>"+tyi_value+"</a>&nbsp;&nbsp;";
	}
	//为同音词节点和同义词节点设置innerHTML
	tyin_node.innerHTML = tyin_innertext;
	tyi_node.innerHTML = tyi_innertext;
}
//同音词同义词检索函数
function turnTong(tongstr)
{
	morenbiaodan.where.value = getWhere(tongstr,"");
	morenbiaodan.keyword.value = tongstr;
	morenbiaodan.classvalue.value = "ALL";
	morenbiaodan.isclass.value = "1";
	morenbiaodan.istong.value = "1";
	morenbiaodan.curpage.value = "1";
	initsearch();
}
//检索参数，参数 isagain 0：表示不进行二次检索  1：表示进行二次检索
function twoSearchOne(isagain)
{
	//得到检索表单并且读取检索表单中的值，并负值给默认表单
	var searchformele = document.searchFormOne;
	if(searchformele.REKEYWORD.value == "")
	{
		alert("请填写关键词然后提交");
		return;
	}
	morenbiaodan.researchkeyword.value = searchformele.REKEYWORD.value;
	//3、得到检索字段的值并负值给默认表单
	var searchfieldeles = document.getElementsByName("REFIELD");
	var searchfieldele = false;
	var searchfield = "Title";
	for(var i=0;i<searchfieldeles.length;i++)
	{
		searchfieldele = searchfieldeles[i];
		if(searchfieldele.checked)
		{
			searchfield = searchfieldele.value;
			break;
		}
	}
	morenbiaodan.researchfield.value = searchfield;
	//分析是否为二次检索，分别进行处理
	if(isagain == "0")
		morenbiaodan.where.value = getWhere(morenbiaodan.researchkeyword.value,morenbiaodan.researchfield.value);
	else
	{
		var strWhere = getSearchWhere(morenbiaodan.researchkeyword.value,morenbiaodan.researchfield.value);
		var v_where = morenbiaodan.where.value;
		morenbiaodan.where.value = v_where+" and "+strWhere;
	}
	//对默认表单的其他值进行初始化
	morenbiaodan.keyword.value = morenbiaodan.researchkeyword.value;
	morenbiaodan.searchfield.value = morenbiaodan.researchfield.value;
	morenbiaodan.curpage.value = "1";
	morenbiaodan.pagecount.value = "20";
	morenbiaodan.classvalue.value = "ALL";
	morenbiaodan.isclass.value = "1";
	morenbiaodan.istong.value = "1";
	//进行检索
	initsearch();
}

//检索参数，参数 isagain 0：表示不进行二次检索  1：表示进行二次检索
function twoSearchTwo(isagain)
{
	//得到检索表单并且读取检索表单中的值，并负值给默认表单
	var searchformele = document.searchFormTwo;
	if(searchformele.REKEYWORD.value == "")
	{
		alert("请填写关键词然后提交");
		return;
	}
	morenbiaodan.researchkeyword.value = searchformele.REKEYWORD.value;
	morenbiaodan.researchfield.value = "CONTENT";
	//分析是否为二次检索，分别进行处理
	if(isagain == "0")
		morenbiaodan.where.value = getWhere(morenbiaodan.researchkeyword.value,morenbiaodan.researchfield.value);
	else
	{
		var strWhere = getSearchWhere(morenbiaodan.researchkeyword.value,morenbiaodan.researchfield.value);
		var v_where = morenbiaodan.where.value;
		morenbiaodan.where.value = v_where+" and "+strWhere;
	}
	//对默认表单的其他值进行初始化
	morenbiaodan.keyword.value = morenbiaodan.researchkeyword.value;
	morenbiaodan.searchfield.value = morenbiaodan.researchfield.value;
	morenbiaodan.curpage.value = "1";
	morenbiaodan.pagecount.value = "20";
	morenbiaodan.classvalue.value = "ALL";
	morenbiaodan.isclass.value = "1";
	morenbiaodan.istong.value = "1";
	//进行检索
	initsearch();
}


//清除某一个组件的所有子组件
function clear(ele)
{
	var index = ele.childNodes.length;
	for(var i=index-1;i>=0;i--)
		ele.removeChild(ele.childNodes[i]);
}
//显示关闭进度条
function showprocessbar()
{
	var bar = document.getElementById("processbar");
	bar.style.display = "block";
	document.bgColor="whitesmoke";
}
function closeprocessbar()
{
	var bar = document.getElementById("processbar");
	bar.style.display = "none";
	document.bgColor="white";
}
//控制滚动条位置
function getScroll()
{
	if (document.documentElement && document.documentElement.scrollTop)       
		document.documentElement.scrollTop = 0;
	else if (document.body)      
		document.body.scrollTop = 0;
}
//没有检索出结果的处理方法
function noDataHandler()
{
	closeprocessbar();
	//禁止显示一共有多少条信息
	var totleele = document.getElementById("TOTALCOUNTELE");
	clear(totleele);
	var innertext = getTotleStr("0","0");
	totleele.innerHTML = innertext;
	//禁止 首页 上一页 下一页 末页
	var pageele = document.getElementById("PAGEELE");
	clear(pageele);
	alert("没有检索出结果");
}
//将检索词中的空格替换成and
function getSearchWhere(where,columnName)
{
	if(where == "")
		return "";
	var strWhere = handlerWhere(where);
	var res = "";
	if(columnName == "")
		res = strWhere;
	else if(columnName.toUpperCase() == "CONTENT")
		res = "(CONTENT="+strWhere+" or TITLE="+strWhere+" or SUBTITLE="+strWhere+" or PRETITLE="+strWhere+" or AUTHOR="+strWhere+")";
	else
		res = columnName+"="+strWhere;
	return res;
}
//对一个where进行分析，将所有的空格转换成为 and
function handlerWhere(where)
{
	var strWhere = where.toUpperCase();
	if(strWhere.contains("AND") || strWhere.contains("OR") || strWhere.contains("!")
		|| strWhere.contains("*") || strWhere.contains("+") || strWhere.contains("-") || strWhere.contains("ADJ")	|| strWhere.contains("EQU") ||  strWhere.contains("PRE") || strWhere.contains("SOR") ||strWhere.contains("NOT"))
		return "("+where+")";
	var wherelist = where.split(" ");
	var where_value = "";
	strWhere = "(";
	for(var i=0;i<wherelist.length;i++)
	{
		where_value = wherelist[i];
		if(trim(where_value) == "")
			continue;
		else
			strWhere += where_value+" and ";
	}
	if(strWhere.endWith(" and "))
		strWhere = strWhere.substring(0,strWhere.length-5);
	strWhere += ")";
	return strWhere;
}
//trim函数
function trim(str) 
{
	if (!str || str=="") 
		return "";
	while ((str.charAt(0)==' ') || (str.charAt(0)=='\n') || (str.charAt(0,1)=='\r')) 
		str=str.substring(1,str.length);
	while ((str.charAt(str.length-1)==' ') || (str.charAt(str.length-1)=='\n') || (str.charAt(str.length-1)=='\r')) 
		str=str.substring(0,str.length-1);
	return str;
}
function getWhere(v_keyword,v_searchfield)
{
	 //根据检索字段以及检索关键词得到检索字符串
	 var strWhere = getSearchWhere(v_keyword,v_searchfield);
	 //得到 === 包含以下的所有字的检索字符串
	 var allkeywordWhere = morenbiaodan.allkeyword.value;
	 if(allkeywordWhere!="")
		 strWhere = addWhere(strWhere,"like("+allkeywordWhere+")");
	 //得到 === 包含以下的完整字句
	 var allinputWhere = morenbiaodan.allinput.value;
	 if(allinputWhere!="")
		 strWhere = addWhere(strWhere,"("+allinputWhere+")");
	 //得到 === 包含以下任何一个字词
	 var anykeywordWhere = morenbiaodan.anykeyword.value;
	 if(anykeywordWhere!="")
		 strWhere = addWhere(strWhere,"like["+anykeywordWhere+"]");	 
	 //得到 === 不包含以下的完整字句
	 var noallkeywordWhere = morenbiaodan.noallkeyword.value;
	 if(noallkeywordWhere!="")
		 strWhere = addWhere(strWhere,"("+contentfield+"!="+noallkeywordWhere+")");	 
	 //得到时间的限制范围
	 var timeWhere = "";
	 var timeFrom = morenbiaodan.datefrom.value;
	 var timeTo = morenbiaodan.dateto.value;
	 if(timeFrom != "")
	 {
		 timeFrom = timeFrom.ReplaceAll("-",".");
		 timeWhere = doctimefield+" >="+timeFrom;
	 }
	 if(timeTo != "")
	 {
		 timeTo = timeTo.ReplaceAll("-",".");
		 timeWhere = (timeWhere == "")?(doctimefield+" <="+timeTo):timeWhere + " and "+(doctimefield+" <="+timeTo);
	 }
	 //将时间限制分为加入到strWhere 中去
	 if(timeWhere!="")
		strWhere = addWhere(strWhere,"("+timeWhere+")");	 
	 //得到文档格式的检索字符串
	 var doctype = "";
	 var v_doctype =  morenbiaodan.doctype.value;
	 var docWhere = "";
	 if(v_doctype != "0")
	 {
		 docWhere = doctypefield+"="+v_doctype;
		 //将搜索范围限制分为加入到strWhere 中去
		 strWhere = addWhere(strWhere,"("+docWhere+")");
	 }
	 //得到频道的检索信息
	 var v_channel = morenbiaodan.channel.value;
	 var channelWhere = "";
	 if(v_channel != "ALL")
	{
		channelWhere = channelfield+"="+v_channel;
		//将搜索范围限制分为加入到strWhere 中去
		strWhere = addWhere(strWhere,"("+channelWhere+")");
	}
	if(v_otherwhere != "" && v_otherwhere!="undefined")
	{
		strWhere = addWhere(strWhere,"("+v_otherwhere+")");
	}
	strWhere = addWhere(strWhere,"(deleted = 0)");
	return strWhere;
}
//对strWhere检索字符串进行分析，如果不为空则应该加上 and 
function addWhere(strWhere,mWhere)
{
	if(strWhere == "")
		strWhere += mWhere;
	else
		strWhere += " and "+mWhere;
	return strWhere;
}