/* 
Find In Page Script -- Submitted/revised by Alan Koontz (alankoontz@REMOVETHISyahoo.com) 
Permission granted to Dynamicdrive.com to feature script in archive. 
For full source code, visit www.dynamicdrive.com/ 
*/ 

// revised by Alan Koontz -- 9/18/02 

var TRange = null; 
var win = null; 
var frameval = false; 

// SELECTED BROWSER SNIFFER COMPONENTS DOCUMENTED AT 
// 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_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); 

// 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 "self" below to 
// parent.frames["thisframe"] 
// where "thisframe" is the name of the target frame 
// eg: var frametosearch1 = parent.frames["thisframe"] 

var frametosearch1 = 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; 

// INITIALIZATIONS FOR FIND-IN-PAGE SEARCHES 

if(whichform.findthis.value!=null && whichform.findthis.value!='') { 


str = whichform.findthis.value; 
if(whichframe!=self) 
frameval=true; // this will enable Nav7 to search child frame 
win = 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 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); 


// 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 


if (TRange!=null) { 
TRange.collapse(false) 
strFound=TRange.findText(str) 
if (strFound) TRange.select(); 

} 
if (TRange==null || strFound==0) { 
TRange=win.document.body.createTextRange() 
strFound=TRange.findText(str) 
if (strFound) TRange.select(); 

} 
} 

if (!strFound) alert ("Suchwort '"+str+"' nicht gefunden!") // string not found 


} 


