var isBrowser = new Is()
//if (!isBrowser.nav3 && isBrowser.js >= 1.2 &&
 //   isBrowser.win && !isBrowser.win16)
{
  // Added for dictionary testing--will prevent double-click hanlders from
  //   being installed unless the account is the 9902WBT dictionary test acct.
  // Remove the if test (but leave the code inside the block) once the
  //   dictionary is live.
 if ((document.cookie.indexOf('acct=9901AOL') == -1))
  {
    InstallEventHandlers();
   // ShowDblClickIcon();
  }
}
var gDblClk = false;
function browserDetect() { 
	browserOk=false; 
	bAgt = navigator.userAgent.toLowerCase();                                                                                                                 //determine what platform 
	bVer = parseInt(navigator.appVersion);     
	//determine what version of browser 
	if (bAgt.indexOf("mac") != -1 )    //determine if the user is on a Mac 
	{
		 browserOk = true;                         
	}
	return browserOk;
	
} 
function InstallEventHandlers()
{
  if (isBrowser.nav)
  {
	if(parseFloat(navigator.appVersion)>=5.0)
	{
		document.write("<BODY onDblClick='return handleDoubleClick();'></BODY>");
			
	}
    // Netscape Navigator.
	else
	{
		window.captureEvents (Event.DBLCLICK | Event.MOUSEUP);
		window.onDblClick = handleDoubleClick;
		window.onMouseUp  = handleMouseUp;
			
	}
  }
  else if(browserDetect())
  {
	document.write("<BODY onDblClick='return handleDoubleClick();'></BODY>");
  }
  else
  {
    // Microsoft Internet Explorer.
    document.ondblclick = handleDoubleClick;
    document.nomouseup  = handleMouseUp;

  }
}

function ShowDblClickIcon()
{
  document.writeln('<IMG SRC="/np/xxg_dblclick_long.gif" ' +
                   'WIDTH="145" HEIGHT="23" BORDER="0" ALIGN="LEFT" ' +
                   'ALT="Double-click a word to define it">');
}

// Lakshmi on May 1st 2001. SRS-WB-ENH-009
//This function is added so that only non -AOL users can see the "Tell Us" icon.
// The images in the tool box for articles and special reports are processed here.

function ShowSurveyImage(category,pf)
{
	var p = pf;
	if(category == "articles")
	{
		title= "acg_tbtitle.gif";
		psear = "acb_tbpsear.gif";
		tellus = "acb_tbtellus.gif";
		bend = "acg_tbend.gif";
	}
	else if(category == "reports")
	{
			title = p+"cg_tbtitle.gif"; 
			psear = p+"cb_tbpsear.gif";
			tellus = p+"cb_tbtellus.gif";
			bend =  p+"cg_tbend.gif";
	}	
	
	var tbHtml = '';
	tbHtml = '<TABLE BGCOLOR="#FFFFCC" CELLSPACING="0" CELLPADDING="0" ' +
	'ALIGN="RIGHT" BORDER="0"><TR>\n'+
	'<TD><IMG SRC="/na/img/'+title+'" WIDTH="55" ' +
	'HEIGHT="23" BORDER="0" ALT="Tool Box:"></TD>\n';
	tbHtml += '<TD><IMG SRC="/na/img/'+psear+'" '  +
	'WIDTH="152" HEIGHT="23" BORDER="0" USEMAP="#tbpsear"></TD>\n';
	if ((document.cookie.indexOf('acct=9901AOL') == -1))
 	{
 	 tbHtml = tbHtml + 
 	 '<TD><IMG SRC="/na/img/'+tellus+'" WIDTH="55" '+
		'HEIGHT="23" BORDER="0" USEMAP="#tbtellus"></TD>\n'; 
 	}
	tbHtml = tbHtml +
	//  '<TD><IMG SRC="/na/img/acb_tbback.gif" ' +
	//  'WIDTH="55" HEIGHT="23" BORDER="0" USEMAP="#tbback"></TD>\n' +
	'<TD><IMG SRC="/na/img/'+bend+'" WIDTH="7" ' +
	'HEIGHT="23" BORDER="0"></TD>\n</TR></TABLE>\n';
	return tbHtml;
}

//End SRS-WB-ENH-009

function handleDoubleClick(e)
{
  gDblClk = true;
  searchDict();
  return true;
}

function handleMouseUp(e)
{
  if (gDblClk)
    searchDict();
  return true;
}


function searchDict()
{
  var term = getSelectedText();
  	
  if (!term || !term.length)
    return;
  //gDblClk = false; //commented for ESE enhancement - ENH-096
  // Display selected text in the navbar's Look Up box.
  popupDict(term);

}

function getSelectedText()
{
  var sSelection = "";
  if (window.getSelection)
  {
	sSelection = window.getSelection();
   
  }
  else if (document.selection &&
           document.selection.createRange)
  {
    var range = document.selection.createRange();
    if (range)
      sSelection = range.text;
  }
  // BUG-XXX
  else if (window.getSelection)
  {
	sSelection = window.getSelection();
  } 

  if (!sSelection)
    return "";

  // Truncate string at 30 characters
  var iMaxLength = 30;
  if (sSelection.length > iMaxLength)
  {
    sSelection = sSelection.substring(0, iMaxLength);
    var iSpacePos = sSelection.lastIndexOf(' ');
    if (iSpacePos > 0)
      sSelection = sSelection.substring(0, iSpacePos);
  }

sSelection = new String(sSelection);
  // Remove Ctrl-M's that Netscape adds between lines.
  sSelection=sSelection.replace(new RegExp('\\cM', 'g'), ' ');
  // Remove non-space whitespace characters
  sSelection=sSelection.replace(new RegExp('\\n', 'g'), '');
  sSelection=sSelection.replace(new RegExp('\t', 'g'), '');
  // Remove leading & trailing spaces
  sSelection=sSelection.replace(new RegExp('^\\s+'), '');
  sSelection=sSelection.replace(new RegExp('\\s+$'), '');
  // Compress runs of spaces
  sSelection = sSelection.replace(new RegExp('\\s+'),' ');
  return sSelection;
}

//For the bug fix, UCF-WB-BUG-119
//var dictHost       = 'www.'+domain; //Changes for ESE enhancement - ENH-096

// Pop up the dictionary window sized relative to the user's screen resolution.
function popupDict(initEntryId, width, height)
{
	
  var minWidth  = 320; var maxWidth  = 660; var nomWidth  = minWidth;
  var minHeight = 240; var maxHeight = 418; var nomHeight = maxHeight;
  var features  = "menubar=yes,toolbar=yes,status=yes,resizable=yes,scrollbars=yes";
  var dictUrl   = "dict?"; 
  var cmd       = "sh";
  var height="";
  var width="";
  // Set the nominal size of the popup based on the user's resolution.
  if (window.screen)
  {
    
    maxWidth  = window.screen.width;
    maxHeight = window.screen.height -90;
    if (maxWidth==800)
    {
    if (document.all) maxHeight -= 26;
    nomWidth  = Math.round(maxWidth * .635);
    nomHeight = maxHeight-64;
    height=nomHeight;
    width=nomWidth;
    features += ",ScreenX=0,ScreenY=0,top=0,left=0";
    features += ",height=" + height + ",width=" + width;
     }
    else
    {
    if (document.all) maxHeight -= 26;
    //nomWidth  = Math.round(maxWidth * .4);
    nomWidth  = Math.round(maxWidth * .508);
    //nomHeight = maxHeight - 30;
    nomHeight = maxHeight - 232;
    height=nomHeight;
    width=nomWidth;
    features += ",ScreenX=0,ScreenY=0,top=0,left=0";
    features += ",height=" + height + ",width=" + width;
    }
    
  }
 
  // Parse the size parameters.
   // Parse the initial entry ID parameter.
  if (initEntryId == null)
  {
    initEntryId = "di000000";
  }
  else if (initEntryId.length == 8 && initEntryId.substring(0, 2) == "di")
  {
    for (i = 2; i < 8; i++)
    {
      if ((ch = initEntryId.substring(i, 1)) < "0" || ch > "9")
      {
        cmd = "lu";
        break;
      }
    }
  }
  else
  {
    cmd = "lu";
  }
  dictUrl += cmd + "=" + initEntryId;
  // Pop up the window.
 //Commented for ESE enhancement - ENH-096
 //popupWin(dictUrl, "wbolDictWin", features);
 //Added for ESE enhancement - ENH-096
// location.href = dictUrl+((edition == "in") ? '&ed=in':'')+(gDblClk ? '&cl=1':'');
                // +((wbrl == "1") ? '&wbrl=1':''); //Commented for ENH-137
 location.href = dictUrl+(gDblClk ? '&cl=1':'');
}

// The following is taken from Netscape's site.
function Is ()
{   // convert all characters to lowercase to simplify testing
    var agt=navigator.userAgent.toLowerCase()

    // *** BROWSER VERSION ***
    this.major = parseInt(navigator.appVersion)
    this.minor = parseFloat(navigator.appVersion)

    this.nav  = ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1)))
    this.nav2 = (this.nav && (this.major == 2))
    this.nav3 = (this.nav && (this.major == 3))
    this.nav4 = (this.nav && (this.major == 4))
    this.navonly      = (this.nav && (agt.indexOf(";nav") != -1))

    this.ie   = (agt.indexOf("msie") != -1)
    this.ie3  = (this.ie && (this.major == 2))
    this.ie4  = (this.ie && (this.major == 4))

    this.opera = (agt.indexOf("opera") != -1)

    // *** JAVASCRIPT VERSION CHECK ***
    // Useful to workaround Nav3 bug in which Nav3
    // loads <SCRIPT LANGUAGE="JavaScript1.2">.
    if (this.nav2 || this.ie3) this.js = 1.0
    else if (this.nav3 || this.opera) this.js = 1.1
    else if (this.nav4 || this.ie4) this.js = 1.2
    // NOTE: In the future, update this code when newer versions of JS
    // are released. For now, we try to provide some upward compatibility
    // so that future versions of Nav and IE will show they are at
    // *least* JS 1.2 capable. Always check for JS version compatibility
    // with > or >=.
    else if ((this.nav && (this.minor > 4.05)) || (this.ie && (this.major > 4)))
         this.js = 1.2
    else this.js = 0.0 // HACK: always check for JS version with > or >=

    // *** PLATFORM ***
    this.win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) )
    // NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
    //        Win32, so you can't distinguish between Win95 and WinNT.
    this.win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1))

    // is this a 16 bit compiled version?
    this.win16 = ((agt.indexOf("win16")!=-1)
               || (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1)
               || (agt.indexOf("windows 16-bit")!=-1) )

    this.win31 = (agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                 (agt.indexOf("windows 16-bit")!=-1)

    // NOTE: Reliable detection of Win98 may not be possible. It appears that:
    //       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
    //       - On Mercury client, the 32-bit version will return "Win98", but
    //         the 16-bit version running on Win98 will still return "Win95".
    this.win98 = ((agt.indexOf("win98")!=-1)||(agt.indexOf("windows 98")!=-1))
    this.winnt = ((agt.indexOf("winnt")!=-1)||(agt.indexOf("windows nt")!=-1))
    this.win32 = this.win95 || this.winnt || this.win98 ||
                 ((this.major >= 4) && (navigator.platform == "Win32")) ||
                 (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1)

    this.os2   = (agt.indexOf("os/2")!=-1)
                 || (navigator.appVersion.indexOf("OS/2")!=-1)
                 || (agt.indexOf("ibm-webexplorer")!=-1)

    this.mac    = (agt.indexOf("mac")!=-1)
    this.mac68k = this.mac && ((agt.indexOf("68k")!=-1) ||
                               (agt.indexOf("68000")!=-1))
    this.macppc = this.mac && ((agt.indexOf("ppc")!=-1) ||
                               (agt.indexOf("powerpc")!=-1))

    this.sun   = (agt.indexOf("sunos")!=-1)
    this.sun4  = (agt.indexOf("sunos 4")!=-1)
    this.sun5  = (agt.indexOf("sunos 5")!=-1)
    this.suni86= this.sun && (agt.indexOf("i86")!=-1)
    this.irix  = (agt.indexOf("irix") !=-1)    // SGI
    this.irix5 = (agt.indexOf("irix 5") !=-1)
    this.irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1))
    this.hpux  = (agt.indexOf("hp-ux")!=-1)
    this.hpux9 = this.hpux && (agt.indexOf("09.")!=-1)
    this.hpux10= this.hpux && (agt.indexOf("10.")!=-1)
    this.aix   = (agt.indexOf("aix")  !=-1)      // IBM
    this.aix1  = (agt.indexOf("aix 1")  !=-1)
    this.aix2  = (agt.indexOf("aix 2")  !=-1)
    this.aix3  = (agt.indexOf("aix 3")  !=-1)
    this.aix4  = (agt.indexOf("aix 4")  !=-1)
    this.linux = (agt.indexOf("inux")!=-1)
    this.sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1)
    this.unixware = (agt.indexOf("unix_system_v")!=-1)
    this.mpras    = (agt.indexOf("ncr")!=-1)
    this.reliant  = (agt.indexOf("reliantunix")!=-1)
    this.dec   = (agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1)
           || (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1)
           || (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)
    this.sinix = (agt.indexOf("sinix")!=-1)
    this.freebsd = (agt.indexOf("freebsd")!=-1)
    this.bsd = (agt.indexOf("bsd")!=-1)
    this.unix  = (agt.indexOf("x11")!=-1) || this.sun || this.irix || this.hpux ||
                 this.sco ||this.unixware || this.mpras || this.reliant ||
                 this.dec || this.sinix || this.aix || this.linux || this.freebsd

    this.vms   = (agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1)
}

function showPopup()
{
    rt=sMasterEntryId.substring(2,3)
    var url = '/wb/content/'+edition+ '/di/co/'+ rt+ '/'+ sMasterEntryId + '.htm';
    openAWindow(0,url);
}

function showEntry(sEntryRit, sBookmark)
{
  if (sEntryRit)
  {
	if((sEntryRit.charAt(sEntryRit.length - 1)) == '.')
	{
		sEntryRit = sEntryRit.substring(0,sEntryRit.length-1);
		if(sEntryRit.indexOf('.') > -1)sEntryRit += '.';
	}
	location.href = "http://" + self.location.hostname + "/wb/dict?lu=" + sEntryRit +
					(edition == "in" ? '&ed=in':'')+
                    //(location.href.indexOf("wbrl")!=-1 ? "&wbrl=1":"") +
                    (sBookmark ? ("#" + sBookmark) : '');
  }
}
