﻿function doHighlight(bodyText, searchTerm, clsColor) {
	if(clsColor){
		highlightStartTag = "<font class="+clsColor+">";
	}else highlightStartTag = "<font class=assHighlight0>";
	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 {
      if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {//equal when -1
        if(lcBodyText.lastIndexOf("/script>",i)>=lcBodyText.lastIndexOf("<script",i)){
			if(lcBodyText.lastIndexOf("/strong>",i)>=lcBodyText.lastIndexOf("<strong",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;
}

function highlightSearchTerms(searchText, treatAsPhrase){
	for (var i=0;i<searchText.length;i++){
		if ((searchText.charAt(i)+searchText.charAt(i+1)).toUpperCase()=='OR'){
			treatAsPhrase = false;
		}
		if ((searchText.charAt(i)+searchText.charAt(i+1)+searchText.charAt(i+2)).toUpperCase()=='AND'){
			treatAsPhrase = false;
		}
	}
  if (treatAsPhrase) {
    searchArray = [' '+searchText+' '];
  } else {
    searchArray = searchText.split(" ");
  }
  var objHighLight = document.getElementById('divRsSearch'); 
  var bodyText;
  if(objHighLight) bodyText = objHighLight.innerHTML;
  var j=0;
  for (var i = 0; i < searchArray.length; i++) {
	if (searchArray[i].toUpperCase() !='OR' && searchArray[i].toUpperCase()!='AND'){
		if (j==5)j=0
		if (searchArray[i].charAt(0)=='"'){
			searchArray[i]=searchArray[i].substring(1,searchArray[i].length)
		}
		if (searchArray[i].charAt(searchArray[i].length-1)=='"'){
			searchArray[i]=searchArray[i].substring(0,searchArray[i].length-1)
		}
		bodyText = doHighlight(bodyText, searchArray[i],'assHighlight'+j);
		j++;
	}
  }
  if(objHighLight)objHighLight.innerHTML = bodyText;
//add for SearchTearm
	bodyText=""
  objHighLight = document.getElementById('divSearchTearm'); 
  if(objHighLight) bodyText = objHighLight.innerHTML;
  var j=0;
  for (var i = 0; i < searchArray.length; i++) {
	if (searchArray[i].toUpperCase() !='OR' && searchArray[i].toUpperCase()!='AND'){
		if (j==5)j=0
		if (searchArray[i].charAt(0)=='"'){
			searchArray[i]=searchArray[i].substring(1,searchArray[i].length)
		}
		if (searchArray[i].charAt(searchArray[i].length-1)=='"'){
			searchArray[i]=searchArray[i].substring(0,searchArray[i].length-1)
		}
		bodyText = doHighlight(bodyText, searchArray[i],'assHighlight'+j);
		j++;
	}
  }
	 if(objHighLight)objHighLight.innerHTML = bodyText;
  return true;
}

function searchPrompt(defaultText, treatAsPhrase){ 
	if (Trim(defaultText)=='') return;
  return highlightSearchTerms(UnicodeGet(Trim(defaultText)), treatAsPhrase);
}
