/******************************************
* Find In Page Script -- Submitted/revised by Alan Koontz (alankoontz@REMOVETHISyahoo.com)
* Visit Dynamic Drive (http:// www.dynamicdrive.com/) for full source code
* This notice must stay intact for use
******************************************/
// revised by Alan Koontz -- May 2003
var TRange=null;
var dupeRange=null;
var TestRange=null;
var win=null;
// SELECTED BROWSER SNIFFER COMPONENTS DOCUMENTED AT
// http:// www.mozilla.org/docs/web-developer/sniffer/browser_type.html
var nom=navigator.appName.toLowerCase();
var agt=navigator.userAgent.toLowerCase();
var is_major=parseInt(navigator.appVersion);
var is_minor=parseFloat(navigator.appVersion);
var is_ie=(agt.indexOf("msie") != -1);
var is_ie4up=(is_ie&&(is_major>=4));
var is_not_moz=(agt.indexOf('netscape')!=-1)
var is_nav=(nom.indexOf('netscape')!=-1);
var is_nav4=(is_nav&&(is_major == 4));
var is_mac=(agt.indexOf("mac")!=-1);
var is_gecko=(agt.indexOf('gecko') != -1);
var is_opera=(agt.indexOf("opera") != -1);
// GECKO REVISION
var is_rev=0
if(is_gecko){
	temp=agt.split("rv:")
	is_rev=parseFloat(temp[1])
}
// USE THE FOLLOWING VARIABLE TO CONFIGURE FRAMES TO SEARCH
// (SELF OR CHILD FRAME)
// If you want to search another frame, change from "self" to
// the name of the target frame:
// e.g., var frametosearch='main'
// var frametosearch='main';
var frametosearch=self;
function search(whichform, whichframe){
	// TEST FOR IE5 FOR MAC (NO DOCUMENTATION)
	if(is_ie4up&&is_mac) return;
	// TEST FOR NAV 6 (NO DOCUMENTATION)
	if(is_gecko&&(is_rev <1)) return;
	// TEST FOR Opera (NO DOCUMENTATION)
	if(is_opera) return;
	// INITIALIZATIONS FOR FIND-IN-PAGE SEARCHES
	if(whichform.findthis.value!=null&&whichform.findthis.value!=''&&whichform.findthis.value!=whichform.findthis.defaultValue){
		str=whichform.findthis.value;
		win=whichframe;
		var frameval=false;
		if(win!=self){
			frameval=true; // this will enable Nav7 to search child frame
			win=parent.frames[whichframe];
		}
	}
	else return; // i.e., no search string was entered
	var strFound;
	// NAVIGATOR 4 SPECIFIC CODE
	if(is_nav4&&(is_minor<5)){
		strFound=win.find(str); // case insensitive, forward search by default
		// There are 3 arguments available:
		// searchString: type string and it's the item to be searched
		// caseSensitive: boolean -- is search case sensitive?
		// backwards: boolean --should we also search backwards?
		// strFound=win.find(str, false, false) is the explicit
		// version of the above
		// The Mac version of Nav4 has wrapAround, but
		// cannot be specified in JS
	}
	// NAVIGATOR 7 and Mozilla rev 1+ SPECIFIC CODE (WILL NOT WORK WITH NAVIGATOR 6)
	if(is_gecko&&(is_rev>=1)){
    	if(frameval!=false) win.focus(); // force search in specified child frame
    	strFound=win.find(str, false, false, true, false, frameval, false);
		// The following statement enables reversion of focus 
		// back to the search box after each search event 
		// allowing the user to press the ENTER key instead
		// of clicking the search button to continue search.
		// Note: tends to be buggy in Mozilla as of 1.3.1
		// (see www.mozilla.org) so is excluded from users 
		// of that browser.
		if(is_not_moz)  whichform.findthis.focus();
		// There are 7 arguments available:
		// searchString: type string and it's the item to be searched
		// caseSensitive: boolean -- is search case sensitive?
		// backwards: boolean --should we also search backwards?
		// wrapAround: boolean -- should we wrap the search?
		// wholeWord: boolean: should we search only for whole words
		// searchInFrames: boolean -- should we search in frames?
		// showDialog: boolean -- should we show the Find Dialog?
	}
	if(is_ie4up){
		// EXPLORER-SPECIFIC CODE revised 5/21/03
		if(TRange!=null){
   			TestRange=win.document.body.createTextRange();
			if(dupeRange.inRange(TestRange)){
				TRange.collapse(false);
				strFound=TRange.findText(str);
				if(strFound){
					// the following line added by Mike and Susan Keenan, 7 June 2003
					win.document.body.scrollTop=win.document.body.scrollTop + TRange.offsetTop;
					TRange.select();
				}
			}else{
				TRange=win.document.body.createTextRange();
				TRange.collapse(false);
				strFound=TRange.findText(str);
				if(strFound){
					// the following line added by Mike and Susan Keenan, 7 June 2003
					win.document.body.scrollTop=TRange.offsetTop;
					TRange.select();
				}
			}
		}
		if(TRange==null||strFound==0){
			TRange=win.document.body.createTextRange();
			dupeRange=TRange.duplicate();
			strFound=TRange.findText(str);
			if(strFound){
				// the following line added by Mike and Susan Keenan, 7 June 2003
				win.document.body.scrollTop=TRange.offsetTop;
				TRange.select();
			}
		}
	}
	if(!strFound) alert(s_FinishedSearching) // string not found
}