function ow_sc(url, w, h, nev)
{
   var leftpos
   var toppos
   w = w + 20;
   h = h + 20;
   leftpos = (screen.availWidth / 2) - (w / 2);
   toppos = (screen.availHeight / 2) - (h / 2);
   popupwindow=window.open(url,nev,'height='+h+',width='+w+',left='+leftpos+',scrollbars=yes,top='+toppos);
   popupwindow.focus();
}

function ow(url, w, h, nev){
   var leftpos
   var toppos
   w = w + 20;
   h = h + 20;
   leftpos = (screen.availWidth / 2) - (w / 2);
   toppos = (screen.availHeight / 2) - (h / 2);
   popupwindow=window.open(url,nev,'height='+h+',width='+w+',left='+leftpos+',scrollbars=no,top='+toppos);
   popupwindow.focus();
}

function ow_sct(url, w, h, nev)
{
   var leftpos
   var toppos
   w = w + 20;
   h = h + 20;
   leftpos = (screen.availWidth / 2) - (w / 2);
   toppos = (screen.availHeight / 2) - (h / 2);
   popupwindow=window.open(url,nev,'height='+h+',width='+w+',left='+leftpos+',scrollbars=yes,toolbar=yes,top='+toppos);
   popupwindow.focus();
}

function ape_search()
{
    // Google
    if (document.forms['form_search'].search_type[0].checked) {
	window.open("http://www.google.com/search?q="+document.forms['form_search'].search_text.value, "google_search","");
    } else {
	document.forms['form_search'].submit();
    }
}



 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("<ape_text>", i) > lcBodyText.lastIndexOf("</ape_text>", 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;
																											  }
																											  
																											  

