
<!--
/********************************************************************
*********************************************************************
jsUtils.js is a general-purpose API with JavaScript utility functions.
*********************************************************************
********************************************************************/
/********************************************************************
Browser Sniffer -- updated 6/13/01
********************************************************************/
var agt=navigator.userAgent.toLowerCase();
var is_mac    = (agt.indexOf("mac")!=-1);
var is_major  = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var msie_vers_start = agt.indexOf("msie")+5;
var msie_real_vers = parseFloat(agt.substring(msie_vers_start,
msie_vers_start+3));
var is_linux  = (agt.indexOf("inux")!=-1);
var is_nav  =
     ((agt.indexOf('mozilla')!=-1)
     && (agt.indexOf('spoofer')==-1)
     && (agt.indexOf('compatible') == -1)
     && (agt.indexOf('opera')==-1)
     && (agt.indexOf('webtv')==-1));
var is_nav6   = (is_nav && (agt.indexOf('netscape6') != -1));
var is_nav4up = (is_nav && (is_major >= 4));
var is_ie     = (agt.indexOf("msie") != -1);
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (msie_real_vers < 5));
var is_ie4up  = (is_ie  && (is_major >= 4));
var is_ie5up  = (is_ie  && !is_ie3 && !is_ie4);
var is_nav4_7up = (is_nav4up && (is_minor >=4.7));
/***************************END*************************************/
/******************DHTML DOMs**************************************/
var ns, ie;
if (document.layers) {
	ns = true;
} else if (document.all) {
	ie = true;
}
/***************************END***********************************/

function write_browser_message()
{
		var msgtxt, verno, tempVerNo, msgtxtS;
		var brow = navigator.appName;
		if (brow == "Microsoft Internet Explorer")
		{
			verno = ScriptEngineMajorVersion() + ".";
			verno += ScriptEngineMinorVersion();
			verno = eval(verno);
			var ver = "- Version " + verno;
		}
	
		msgtxt = "";
		
		if ((brow=="Microsoft Internet Explorer" && verno < 4.0) || brow != "Microsoft Internet Explorer")
		{

			//StartRightColumnTable
			msgtxt = msgtxt + "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
			
			//RightColumnHeaderRow
			msgtxt = msgtxt + "<tr><td class=\"headerright\"><img src=\"/images/spacer.gif\" width=\"6\" height=\"1\"></td>";
			msgtxt = msgtxt + "<td class=\"headerright\">browser</td>";
			msgtxt = msgtxt + "<td class=\"headerright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td></tr>";

			//RightColumnSpacer
			msgtxt = msgtxt + "<tr><td class=\"bgwhite\"><img src=\"/images/spacer.gif\" width=\"6\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"bgwhite\"><img src=\"/images/spacer.gif\" width=\"188\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"bgwhite\"><img src=\"/images/spacer.gif\" width=\"3\" height=\"1\" border=\"0\"></td></tr>";
		
			//RightContentRow
			msgtxt = msgtxt + "<tr><td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td></tr>";
			
			//RightContentRow
			msgtxt = msgtxt + "<tr><td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"contentright\"><b>A note to " +brow+" users</td>";
			msgtxt = msgtxt + "<td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td></tr>";
			
			//RightContentRow
//			msgtxt = msgtxt + "<tr><td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td>";
	//		msgtxt = msgtxt + "<td class=\"contentright\"></td>";
		//	msgtxt = msgtxt + "<td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td></tr>";

			//RightContentRow
			msgtxt = msgtxt + "<tr><td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"contentright\"><a href=\"http://www.microsoft.com/windows/ie/default.htm\"><img src=\"/images/IE_6_v06.gif\" alt=\"Download Internet Explorer\" border=\"0\" align=\"right\"></a> All pages may not work within "+brow+". Results may be unpredictable.  We recommend using Microsoft Internet Explorer version 5.0 or greater.</td>";
			msgtxt = msgtxt + "<td class=\"contentright\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\" border=\"0\"></td></tr>";
			
			//RightColumnSpacer
			msgtxt = msgtxt + "<tr><td class=\"bgwhite\"><img src=\"/images/spacer.gif\" width=\"6\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"bgwhite\"><img src=\"/images/spacer.gif\" width=\"188\" height=\"1\" border=\"0\"></td>";
			msgtxt = msgtxt + "<td class=\"bgwhite\"><img src=\"/images/spacer.gif\" width=\"3\" height=\"1\" border=\"0\"></td></tr>";
			
			//EndRightColumnTable
			msgtxt = msgtxt + "</table>"; 


			document.write(msgtxt);
		}

	
	
}
	
/********************************************************************
Plugin Detector -- from Webmonkey, needs modified
********************************************************************/

// this is where we write out the VBScript for MSIE Windows
var WM_startTagFix = '</';
var msie_windows = 0;
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)){
  msie_windows = 1;
  document.writeln('<script language="VBscript">');
  document.writeln('\'This will scan for plugins for all versions of Internet Explorer that have a VBscript engine version 2 or greater.');
  document.writeln('\'This includes all versions of IE4 and beyond and some versions of IE 3.');
  document.writeln('Dim WM_detect_through_vb');
  document.writeln('WM_detect_through_vb = 0');
  document.writeln('If ScriptEngineMajorVersion >= 2 then');
  document.writeln('  WM_detect_through_vb = 1');
  document.writeln('End If');
  document.writeln('Function WM_activeXDetect(activeXname)');
  document.writeln('  on error resume next');
  document.writeln('  If ScriptEngineMajorVersion >= 2 then');
  document.writeln('     WM_activeXDetect = False');
  document.writeln('     WM_activeXDetect = IsObject(CreateObject(activeXname))');
  document.writeln('     If (err) then');
  document.writeln('        WM_activeXDetect = False');
  document.writeln('     End If');
  document.writeln('   Else');
  document.writeln('     WM_activeXDetect = False');
  document.writeln('   End If');
  document.writeln('End Function');
  document.writeln(WM_startTagFix+'script>');
}

function WM_pluginDetect(plugindescription, pluginxtension, pluginmime, activeXname){

  //This script block will test all user agents that have a real plug-in array

  //(i.e. Netscape) and set the variables, otherwise it directs the routine

  // to WM_activeXDetect to detect the activeX control.

  

  // First define some variables
  var i,plugin_undetectable=0,detected=0, daPlugin=new Object();


  // Then we check to see if it's an MSIE browser that you can actually

  // check for the plugin in question. 

  if (msie_windows && WM_detect_through_vb){
      plugin_undetectable = 0;
  } else {
      plugin_undetectable = 1;
  }



  // If it has a real plugins or mimetypes array, we look there for the plugin first

  if(navigator.plugins) {
      numPlugins = navigator.plugins.length;
      if (numPlugins > 1) {
	  if (navigator.mimeTypes && navigator.mimeTypes[pluginmime] && navigator.mimeTypes[pluginmime].enabledPlugin && (navigator.mimeTypes[pluginmime].suffixes.indexOf(pluginxtension) != -1)) { // seems like we have it, let's just make sure and check the version (if specified)
	      if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1)) { // stupid, stupid Netscape can't handle the references to navigator.plugins by number, sooo...
		  for(i in navigator.plugins) {
		      if ((navigator.plugins[i].description.indexOf(plugindescription) != -1) || (i.indexOf(plugindescription) != -1)) { // some versions of quicktime have no description. feh!
			  detected=1;
			  break;
		      }
		  }
	      } else {
		  for (i = 0; i < numPlugins; i++) {
		      daPlugin = navigator.plugins[i];
		      if ((daPlugin.description.indexOf(plugindescription) != -1) || (daPlugin.name.indexOf(plugindescription) != -1)) {
			  detected=1;
			  break;
		      }
		  }
	      }

	      // Mac weirdness
      if (navigator.mimeTypes[pluginmime] == null) {
		  detected = 0;
	      }
	  }
	  return detected;
      } else if((msie_windows == 1) && !plugin_undetectable){
	  return WM_activeXDetect(activeXname);
      } else { 		
	  return 0;
      }
  } else {
      return 0;
  }
}


// this next function just makes it easy to detect the common plugins

function WM_easyDetect(whichPlugin) {

    // this function just makes it easy to do basic plug-in detection without

    // knowing all the mimetypes and activeX names and such
    var isItThere = 0;
    if( (whichPlugin == 'flash') || (whichPlugin == 'Flash') ) {
	isItThere = WM_pluginDetect('Flash', 'swf', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash');
    } else if( (whichPlugin == 'director') || (whichPlugin == 'Director') ) {
	isItThere = WM_pluginDetect('Shockwave', 'dcr', 'application/x-director', 'SWCtl.SWCtl.1');
    } else if( (whichPlugin == 'quicktime') || (whichPlugin == 'Quicktime') || (whichPlugin == 'QuickTime') ) {
	isItThere = WM_pluginDetect('QuickTime', 'mov', 'video/quicktime', '');
    } else if( (whichPlugin == 'realaudio') || (whichPlugin == 'Realaudio') || (whichPlugin == 'RealAudio') ) {
	isItThere = (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','rmocx.RealPlayer G2 Control')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealVideo.RealVideo(tm) ActiveX Control (32-bit)'))
    } else {

	alert('You need to tell me which plug-in to look for, like so:\n\n' + '          WM_easyDetect(\'flash\')\n\n' + '          WM_easyDetect(\'director\')\n\n' + '          WM_easyDetect(\'quicktime\')\n\n' + '          WM_easyDetect(\'realaudio\')');
    }
    return isItThere;
}




/*****************************END**********************************************/
/*******************************
Function to instantiate js fxns/objects onload without customizing the body tag every time.
*******************************/
var onLoadScriptArray = new Array();

function hf_setOnLoadScript(a) {
	onLoadScriptArray[onLoadScriptArray.length] = a;
}

function hf_initPageScripts() {
	for (var i=0; i<onLoadScriptArray.length; i++) {
		eval(onLoadScriptArray[i]);
	}
}

window.onload = hf_initPageScripts;
/*****************END*************/
/**********************************
The following functions have been removed from in-line script 
elements throughout the site...
***********************************/
// Initialize selectedCountry to be the value of countryselect.country if
  // it exists; else default it to 1 (aka US).
  /*
  var selectedCountry = 1;
  var navCookie = new Cookie(document, "countryselect", 10000, "/");
  updateCountryID( ((!navCookie.load() || !navCookie.country) 
                       ? 1 : navCookie.country) );

  var selectedIndustry=0;
  var viewingsheets = false;  
*/
/****************END*************/
/********************************
Fxn that opens a pop up window -- can be extended to
support all pop up window needs
********************************/
function openwin(URL) {
	popupWin = window.open(URL, 'flash', 'width=320,height=240')
	window.name = 'opener';
}
/***************END*************/
/*******************************
Fxn to run the country combo boxes
********************************/
function jumpto(sel)
	  {var i;
	   var matchok = /http:/;
	  i = sel.selectedIndex;
	  if (i > 0)
	    {
		if(matchok.test(sel.options[i].value))
		{
			window.open(sel.options[i].value);
		}
		else
		{
			location = sel.options[i].value;
	    }
	  }
	}
/***************END********************/
/**************************************
pop up window script
***************************************/


// popup attrs = 'width=400,height=300,menubar=1,toolbar=1,resizable=1'
function dc_popup(url, name, attrs) {
	var w = window.open(url, name, attrs);
 	w.focus();
}

// x_popup =  var w = window.open('/privacy.htm', 'privacyPolicy', 'width=640,height=480,directories=no,personalbar=no,location=no,menubar=no,toolbar=no,resizable=yes,status=no,scrollbars=yes');
function dc_popXup() {
		var win1 = window.open( 'url', 'x', 'width=516,height=600,directories=no,personalbar=no,location=no,menubar=no,toolbar=no,resizable=yes,status=no,scrollbars=yes' );
		if ((win1) && (!win1.closed)) {
			win1.focus();
		}
}
/******************END*************/
/***FRAMEBUSTER CODE***********/
//framebuster -- uncomment below to turn on
//if(top != self) { top.location = location };
/*********END****************/


// -->
