function fnEscapeString(
    strSource,
    SINQUOTE_ORIGIN,
    SINQUOTE_ESCAPE
)
{
    var iOriLength = SINQUOTE_ORIGIN.length ;
    var iCorssLength = SINQUOTE_ESCAPE.length - iOriLength ;
    var k = strSource.indexOf(SINQUOTE_ORIGIN, 0);
    while (k >= 0) {
        strSource =
            strSource.substring(0, k)
                + SINQUOTE_ESCAPE
                + strSource.substring(k + iOriLength, strSource.length);
        k = strSource.indexOf(SINQUOTE_ORIGIN, k + 1 + iCorssLength );
    }
    return strSource;

}
function getoffset(strsearch,substr,offset){
	var sublen=substr.length;
	var reval=strsearch.indexOf(substr,offset)
	if (reval==-1) return reval;
	reval=reval+sublen+1;
	if (strsearch.charAt(reval-1)=="=") return reval;
	return getoffset(strsearch,substr,reval);
}

function request(getvar){
	var strRequest,offset,endpoint,returnvar
	strRequest=window.location.search;
	strRequest="&"+strRequest.substring(1,strRequest.length);
	if (getvar.search("=|&")!=-1)return "";
	getvar="&"+getvar;
	offset=getoffset(strRequest,getvar,0);
	if (offset==-1) return "";
	endpoint=strRequest.indexOf("&",offset);
	if (endpoint==-1) endpoint=strRequest.length;
	returnvar=strRequest.substring(offset,endpoint);
	return returnvar;
}

function fullTextSearch(chlID, siteID, field, keyword){
	var strTmp;
	//alert("siteID:"+siteID+"field:"+field+"keyword:"+keyword);
	if(chlID == "0"||chlID == "")
		strTmp = "";
	else
		strTmp = "ChannelID:(" + chlID + ") AND " ;
    if (field == "0")
    	field = "AssetPath";
    	
    keyword = fnEscapeString(keyword,"asi26","&amp;");
  keyword = fnEscapeString(keyword,"<","&lt");
	keyword = fnEscapeString(keyword,">","&gt");
	keyword = fnEscapeString(keyword,"'","&apos;");
	keyword = fnEscapeString(keyword,"\"","&quot;");	
	 
	keyword = fnEscapeString(keyword,"\\","\\\\");
	
	keyword = fnEscapeString(keyword,"-","\\-");
	keyword = fnEscapeString(keyword,":","\\:");
	keyword = fnEscapeString(keyword,"+","\\+");
	keyword = fnEscapeString(keyword,"!","\\!");
	keyword = fnEscapeString(keyword,"~","\\~");
	
	keyword = fnEscapeString(keyword,"|","\\|");
	keyword = fnEscapeString(keyword,"?","\\?");
	keyword = fnEscapeString(keyword,"^","\\^");
	keyword = fnEscapeString(keyword,"*","\\*");

	
	keyword = fnEscapeString(keyword,"[","\\[");
	keyword = fnEscapeString(keyword,"]","\\]");
	keyword = fnEscapeString(keyword,"(","\\(");
	keyword = fnEscapeString(keyword,")","\\)");
	keyword = fnEscapeString(keyword,"{","\\{");
	keyword = fnEscapeString(keyword,"}","\\}");
	

	
   	var SearchCondition = strTmp + field + ":(" + keyword + ")";
   	
 
	
	
	SearchCondition = fnEscapeString(SearchCondition,"%20"," ");
	var strParam = "<SearchConditions CategoryID='1' MaxRecordsCount='5000' IndexDBID='" +
	               siteID + "'  ><SearchCondition InsertedTable=' '><Expression Fields='-1'" + " condition='contains' value=' " +
                 SearchCondition + "' /></SearchCondition></SearchConditions>";

	document.hsSearch.Search.value = strParam ;
	document.hsSearch.submit();
}

