function ChangeText()
{
	if (navigator.appName == 'Netscape') {

	    // no js search

	}

	else
	
	{
        i = 1;
        var newText = document.body.createTextRange();
        if (document.myform.tochange.value != "")
              while (newText.findText(document.myform.tochange.value))
                {
                newText.pasteHTML("<a href=#" + (i-1) + "><<</a><a name=" + i + "><FONT class=javascriptsearchHighlights>" + document.myform.tochange.value + "</FONT></a> <a href=#" + (i+1) + ">>></a> ");
                i = i + 1;
                }
                
        }        
}

function leftOf(smstring,lrgstring) {
//returns leftmost characters of lrgstring up to smstring.
//If user passes an empty string, change that to a space.
if (smstring == ""){smstring = " "}
strlen1 = smstring.length
strlen2 = lrgstring.length
foundat = 0
for (i=0;i<=strlen2;i++) {
	comp=lrgstring.substring(i-1,strlen2)
	comp = comp.substring(0,strlen1)		
	if (comp == smstring) {
		foundat = i
		break
	}
}
return lrgstring.substring(0,(foundat-1))
}

function rightOf(smstring,lrgstring) {
	//returns the rightmost characters of lrgstring back to smstring.
	//If user passes an empty string, change that to a space.
	if (smstring == ""){smstring = " "}
	strlen1 = smstring.length
	strlen2 = lrgstring.length
	foundat = 0
	for (i=strlen2;i>=0;i--) {
		comp=lrgstring.substring(i-1,strlen2)
		comp = comp.substring(0,strlen1)		
		if (comp == smstring) {
			foundat = i
			break
		}
	}
	return lrgstring.substring(foundat,255)
}


function centeredPopup(URL,w,h) {
    //sample call <a href="javascript:popup('index.htm','600','368')">screen saver 1 </a>	
    if (document.all)
    {
        var xMax = screen.width, yMax = screen.height;
    }
    else
    {
        if (document.layers)
        {
            var xMax = window.outerWidth, yMax = window.outerHeight;
		}
        else
        {
            var xMax = 640, yMax=480;
        }
	}

	var xOffset = (xMax - w)/2
	var yOffset = (yMax - h)/2
	var sCenteringString;
	sCenteringString = ',screenX=' + xOffset + ',screenY=' + yOffset + ',top='+ yOffset + ',left=' + xOffset + ''
	var day = new Date();
	var id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=' + w + ',height=' + h + sCenteringString);");
}

function postToPopup(f,decorations) {
    
    var targetWindow = window.open("","formWindow",decorations);
    return true;
}


function ReplaceString(sFull, sOld, sNew) {
  var sData = "";
  for (var i=0; i<sFull.length; i++) { 
  if (sFull.substring(i,i+sOld.length) == sOld) {
      sData = sData + sNew;
      i = i + sOld.length - 1;
  } else { sData = sData + sFull.substring(i,i+1) }
  }
  return sData;
}


//print function
var oOldHandler;

function HandleError()
{
	webbrowser1.outerHTML	=	'';
	window.onerror				=	oOldHandler;
	window.close();
	return true;
}

function PrintPage()
{
	var iVersion	=	parseInt( navigator.appVersion );
	var bIsIE4		=	( ( document.all ) && ( iVersion > 3 ) ) ? true : false;
	var bIsPC		=	( navigator.platform == 'Win32' || navigator.platform == 'Win16' );
	var bCanPrint	=	window.print || ( bIsPC && bIsIE4 );

	if( ! bCanPrint )
	{
		return;
	}

	window.focus();

	if( window.print )
	{
		window.print();
		//self.close();
	}
	else
	{
		oOldHandler		=	window.onerror;
		window.onerror	=	HandleError;
		webbrowser1.execwb( 6 , 1 ); // noprompt second = 2
		webbrowser1.outerHTML	=	'';
		window.onerror	=	oOldHandler;
		//self.close();
	}
}


function getinbetween2(sContents, sBeginningKey, sEndingKey) {
     //this is not case sensitive
	//? GetInBetween2("<1>ddd<2>jjj", "<1>", "<2>")
	//ddd
	//? getinbetween2("<1>ddd<1>jjj","<1>","<1>")
	//ddd
	var sText;
	var iBeginningKeyStartsAt;
	var sEndingKeyStartsAt;
	var vbTextCompare;
	var sCapturedResult;
	vbTextCompare=true;
	sText = sContents
	iBeginningKeyStartsAt = instr(1, sContents, sBeginningKey, vbTextCompare);
	sEndingKeyStartsAt = instr(1, sContents, sEndingKey, vbTextCompare);
	if (iBeginningKeyStartsAt > 0 && sEndingKeyStartsAt > 0) {
	   sText = right(sText, (len(sText) - (iBeginningKeyStartsAt + (len(sBeginningKey) - 1))));
	   sText = left(sText, (instr(1, sText, sEndingKey, vbTextCompare) - 1))
	   if ( sText == "" ) {
	      sCapturedResult = ""
	   }
	   else{
	      sCapturedResult = sText
	   }
	}
	else{
	  sCapturedResult = ""
	}
    return sCapturedResult;
}


function instr(iStartingFrom,lrgstring,smstring,bolNotCaseSensitive) {
	//returns a number indicating the spot where smstring appears in lrgstring.
    //behaves exactly like vb's instr function
    //this is how to use 
    /*
	var sString;
	var sSearch;
	var iStartingFrom;
	var vbTextCompare;
	vbTextCompare=true;
	sString='hello World this is a simple string. ';
	sSearch='hello';
	iStartingFrom=1;

	alert(instr(iStartingFrom,sString,sSearch,vbTextCompare)) ;
    */
	
	lrgstring=lrgstring.substring(iStartingFrom-1,lrgstring.length)
	//alert('after the cut' + lrgstring)
	if ( bolNotCaseSensitive ) {
		lrgstring=lrgstring.toLowerCase();	
		smstring=smstring.toLowerCase();
	}	
    // this function has a bug, when the searched word is found at the beginning of the large word , it returns 0!..
    //following fix is just for that !...
   	if ( smstring == lrgstring.substring(0,smstring.length) ) {
   	   //set foundat to 1 and return immediately since smstring is found at the beginning of the lrgstring already !...
   	   foundat=1;
   	   return foundat;
   	}
	strlen1 = smstring.length
	strlen2 = lrgstring.length
	foundat = 0
	for (i=0;i<=strlen2;i++) {
		comp=lrgstring.substring(i-1,strlen2)
		comp = comp.substring(0,strlen1)		
		if (comp == smstring) {
			foundat = i
			break
		}
	}
   	
	
	if ( iStartingFrom != 1 ) {
	    return foundat-(iStartingFrom-1);
	}
	else{
		return foundat;	
	}
}

function right(str,n) {
	//returns the right n characters of str
	strlen = str.length
	return str.substring(strlen-n,strlen)
}


function mid(str,start,n) {
	//returns a substring of str starting at 'start' that's n characters long.
	//alert('mid param n is passed as ' + n);
	if ( (n == null) || n == "undefined" ) {
	   n = str.length;
	}
	strlen = str.length
	var jj = str.substring(start-1,strlen)
	jj = jj.substring(0,n)
	return jj
}

function left(str,n) {
	//returns the left n characters from str.
	return str.substring(0,n)
}



function GetParams() {
	//not currently in use but is kept for future use..
	var idx = document.URL.indexOf('?');
	var params = new Array();
	if (idx != -1) {
		var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
		for (var i=0; i<pairs.length; i++) {
			nameVal = pairs[i].split('=');
			params[nameVal[0]] = nameVal[1];
			alert(nameVal);
		}
	}
	
}

function len(str) {
/***
        IN: str - the string whose length we are interested in

        RETVAL: The number of characters in the string
***/
  return String(str).length;  
}
 

