/*********************************************************************************
 * The contents of this file are subject to the urbanINFLUENCE WorkSpace Public 
 * License; You may not use this file except in compliance with the
 * License. You may obtain a copy of the License at http://www.urbaninfluence.com/SPL
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is: urbanINFLUENCE 
 * The Initial Developer of the Original Code is urbanINFLUENCE Design Studio
 * Portions created by urbanINFLUENCE are Copyright (C) 2004-2006 urbanINFLUENCE;
 * All Rights Reserved.
 * Contributor(s): Michael Hamson______________________________________.
 ********************************************************************************/
/*********************************************************************************
 * Description:
 * Created On: 
 * Portions created by urbanINFLUENCE are Copyright (C) urbanINFLUENCE.
 * All Rights Reserved.
 * Contributor(s): Michael Hamson
 ********************************************************************************/
/*********************************************************************************
 * Description: This is that horrible menu/image code that really needs to be thrown out.
 * Contributor(s): Michael Hamson
 ********************************************************************************/
	function OpenTestinonialSubmissionWindow() {
 	//window.open('submitTestionial.php','substory','left=20,top=20,width=270,height=300,toolbar=0,resizable=0');
	  tswindow = window.open ("/submitTestionial.php","substory",'left=20,top=20,width=270,height=320,toolbar=0,resizable=0');
	}

	function clearInputValue(objid, txstring) {
		var el = $(objid);
		if (el.value == txstring) {
			el.value = "";
		}
	}

	function resetErrMsgDiv() {
		var el = $('target');
		el.innerHTML = "";
	}
	
	/*
	 * This is the function that actually highlights a text string by
	 * adding HTML tags before and after all occurrences of the search
	 * term. You can pass your own tags if you'd like, or if the
	 * highlightStartTag or highlightEndTag parameters are omitted or
	 * are empty strings then the default <font> tags will be used.
	 */
	function doHighlight(bodyText, searchTerm, highlightStartTag, highlightEndTag) 
	{
	  // the highlightStartTag and highlightEndTag parameters are optional
	  if ((!highlightStartTag) || (!highlightEndTag)) {
	    highlightStartTag = "<font style='color:blue; background-color:yellow;'>";
	    highlightEndTag = "</font>";
	  }

	  // find all occurences of the search term in the given text,
	  // and add some "highlight" tags to them (we're not using a
	  // regular expression search, because we want to filter out
	  // matches that occur within HTML tags and script blocks, so
	  // we have to do a little extra validation)
	  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(searchText, treatAsPhrase, warnOnFailure, highlightStartTag, highlightEndTag)
	{
	  // if the treatAsPhrase parameter is true, then we should search for 
	  // the entire phrase that was entered; otherwise, we will split the
	  // search string so that each word is searched for and highlighted
	  // individually
	  if (treatAsPhrase) {
	    searchArray = [searchText];
	  } else {
	    searchArray = searchText.split(",");
	  }

	  if (!document.body || typeof(document.body.innerHTML) == "undefined") {
	    if (warnOnFailure) {
	      alert("Sorry, for some reason the text of this page is unavailable. Searching will not work.");
	    }
	    return false;
	  }

	  var bodyText = document.body.innerHTML;
	  for (var i = 0; i < searchArray.length; i++) {
	    bodyText = doHighlight(bodyText, searchArray[i], highlightStartTag, highlightEndTag);
	  }

	  document.body.innerHTML = bodyText;
	  return true;
	}