 
//--------------------------------------------------------------------------------------------
// Sniff Browser Type to see if we have version 4 or better in Netscape or IE
//--------------------------------------------------------------------------------------------
var isNav
var isIE
var isIE4
var isIE5
var isIE6 	// pjwNS6andIE6   added this line 
var isNS6 	// pjwNS6andIE6   added this line
var isMAC
isNS6 = false; 	// pjwNS6andIE6   added this line

isMAC = navigator.userAgent.indexOf("Mac");

if (parseInt(navigator.appVersion) >= 4) 
{
	
        if (navigator.appName == "Netscape") 
	{
		var tail = navigator.appVersion.indexOf(' ')
		var version = parseFloat(navigator.appVersion.substring(0,tail))
		
		if (version < 4.05) //then this is a bad version of the stand alone Navigator
		{
			gotoUpgradeBrowserPage();
		}
		if (version >= 4.05 && version <= 4.08) //then this is a GOOD version of stand alone navigator
		{
			isNav = true;
		}
		if (version > 4.08 && version < 4.5) //then this is a bad version of Communicator
		{
			gotoUpgradeBrowserPage();
		} 
		
		// pjwNS6andIE6   added the following "if ..." 
		if (version >= 5) //then this is NS 6.0
		{
			isIE = true;
			isIE5 = true;
			isNS6 = true;
		} 
		
		
		if (version >= 4.5) //then this is a GOOD version of Communicator
		{
			isNav = true;
		}	
        }
        else 
	{
                isIE = true;
                
                if (navigator.appVersion.indexOf("MSIE 5") == -1)
		{
			isIE4 = true;
		}
		
		// pjwNS6andIE6   added the following "if ..." 
		if (version > 5) //then this is IE 6.0 so tell it it's ie5
		{
			isIE = true;
			isIE5 = true;
			isIE6 = true;
			//alert('I am IE6');
		} 
		
		if (navigator.appVersion.indexOf("MSIE 5") != -1)
		{
			isIE5 = true;
			//alert('I am IE5');
		}
	}
}
else 
{
	gotoUpgradeBrowserPage();
}

function gotoUpgradeBrowserPage()
{
	top.location.href="/public/upgradeBrowser.htm"
}


//--------------------------------------------------------------------------------------------
// Function to SHOW the sub-menu when it is moused-over on the north nav bar
//--------------------------------------------------------------------------------------------
var openedMenu = 0
function showMenu(menuNumber) {

				if (isMAC > -1) { 
				   	return(0); }
				
				// pjwNS6andIE6   added the following "if (isNS6 || isIE6) { ..." statement
				if (isNS6 || isIE6) {
					if (isNS6) {
						// because Netscape 6.0 leaves the menus open unless you exit by moving the mouse
						// up and off the menu or past one of the bordering columns surrounding the menu,
						// then we must close any opened menus before we open a new one
						if (openedMenu != 0) {
							var hide = "document.getElementById(\"" + "ieLayer" + openedMenu + "\").style.visibility=\"hidden\"";
							eval (hide);
							}
						}
					
					var show = "document.getElementById(\"" + "ieLayer" + menuNumber + "\").style.visibility=\"visible\"";
					eval (show);
					openedMenu = menuNumber
                    }
					
				else if (isNav) {
						var show = "document." + "nsLayer" + menuNumber + ".visibility=\"visible\"";
                        eval (show);
                        }
                else {
				
						if (isIE4) 
							{
							//because IE4 leaves the menus open unless you exit by moving the mouse
							//up and off the menu or past one of the bordering columns surrounding the menu,
							//then we must close any opened menus before we open a new one
							if (openedMenu != 0)
								{
								var hide = "document.all." + "ieLayer" + openedMenu + ".style.visibility=\"hidden\"";
								eval (hide);
								window.event.cancelBubble=true
								}
							}
						var show = "document.all." + "ieLayer" + menuNumber + ".style.visibility=\"visible\"";
						eval (show);
						window.event.cancelBubble=true
						openedMenu = menuNumber
					} 
				return(0); // added this line to fix a problem in Netscape 4.05 
                }
                
//--------------------------------------------------------------------------------------------
// Function to HIDE the sub-menu when it is moused-out on the north nav bar
//--------------------------------------------------------------------------------------------
function hideMenu(menuNumber) {

				// pjwNS6andIE6   added the following "if (isNS6 || isIE6) { ..." statement
				if (isNS6 || isIE6) {
						var hide = "document.getElementById(\"" + "ieLayer" + menuNumber + "\").style.visibility=\"hidden\"";
                        eval (hide);
						   }

                else if (isNav) {
						var hide = "document." + "nsLayer" + menuNumber + ".visibility=\"hide\"";
                        eval (hide);
						   }
               
                else if (isIE5 || isIE4){
						var hide = "document.all." + "ieLayer" + menuNumber + ".style.visibility=\"hidden\"";
                        eval (hide);
                        }
                }
                

//--------------------------------------------------------------------------------------------
// Function to HIDE or SHOW the QuickGuide menu when the tab is clicked and when page is loaded
//--------------------------------------------------------------------------------------------

var hideShow
function HideOrShowQuickGuide() 
{
	
	//now, hide or show the menu when user clicks the toggle switch and/or depending
	//on the value in the cookie when the page loads
        if (j % 2)
		{
		//alert(' j = ' + j + ' and j % 2 = ' + (j % 2));
				// pjwNS6andIE6   added the following "if (isNS6 || isIE6) ..." statement
				if (isNS6 || isIE6) 
					{
						document.getElementById("ieQuickGuideMenu").style.visibility="visible";
                    	hideShow="show";
					}
                else if (isNav) 
					{
                        document.nsQuickGuideMenu.visibility="visible";
                        hideShow="show";
					}
				else 
					{
                        document.all.ieQuickGuideMenu.style.visibility="visible";
                        hideShow="show";
					}
        }
        else 
        {
        //alert(' j = ' + j + ' and j % 2 = ' + (j % 2));
				// pjwNS6andIE6   added the following "if (isNS6 || isIE6) ..." statement
				if (isNS6 || isIE6) 
					{
						document.getElementById("ieQuickGuideMenu").style.visibility="hidden";
                    	hideShow="hide";
					}
                else if (isNav)
					{
                        document.nsQuickGuideMenu.visibility="hidden";
                        hideShow="hide";
					}
				else
					{
                        document.all.ieQuickGuideMenu.style.visibility="hidden";
                        hideShow="hide";
					}
        }               
        
		//write the value of i to the QuickGuide cookie to track if QuickGuide is Opened or Closed
		//across pages. 
		var today = new Date();
		var expire = new Date();
		expire.setTime(today.getTime() + 1000*60*60*24*365);
		document.cookie = "hideOrShow=" + hideShow + ";expires="+expire.toGMTString()+";Path=/";

		j += 1;
        if (j > 2) j = 1;
}
//--------------------------------------------------------------------------------------------
// Function to jump to a new page from Drop-List
//--------------------------------------------------------------------------------------------

//this function loads the new page into the existing browser window
function dropAndGo(theSelectList)
{
var selectValue, arrSplitForm, windowTarget
selectValue = theSelectList[theSelectList.selectedIndex].value
arrSplitForm = selectValue.split("###");
windowTarget = arrSplitForm[1]


if (theSelectList[theSelectList.selectedIndex].value == '###')
			window.parent.self.status=" Goes Nowhere";
if (windowTarget=='blank')
	{
	popUpWithToolbar(arrSplitForm[0])
	}
if (windowTarget=='top')
	{
	top.location.href=(arrSplitForm[0]);
	}
if (windowTarget=='newEx')
	{
	popUp(arrSplitForm[0],arrSplitForm[2],arrSplitForm[3])
	}
if (windowTarget=='newIn')
	{
	popUp(arrSplitForm[0],arrSplitForm[2],arrSplitForm[3])
	}
if (windowTarget=='WebCast') {
		popUpWebcast(arrSplitForm[0],arrSplitForm[2],arrSplitForm[3],arrSplitForm[4],arrSplitForm[5])
	}
}


//--------------------------------------------------------------------------------------------
// PopUp a Window 
//--------------------------------------------------------------------------------------------

function popUp(url, winWidth, winHeight){

var winWidth
var winHeight

winHeight = parseInt(winHeight);
winWidth = parseInt(winWidth);

winWidth = winWidth + 17  // this is to account for room in the scrollbar for IE
			
popUpWindow = window.open(url, null,' menu=0,menubar=0,toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,copyhistory=0,top=120,left=115,width=' + winWidth + ',height=' + winHeight);
//popUpWindow.focus();  //this line of code causes Access is Denied error pop up message in IE 4.0
}


//--------------------------------------------------------------------------------------------
// PopUp a Window With Everything 
//--------------------------------------------------------------------------------------------

function popUpWithToolbar(url){
		
popUpWindow = window.open(url, null,' menu=1,menubar=1,toolbar=1,location=1,directories=1,status=1,scrollbars=1,resizable=1,copyhistory=1,top=120,left=115');
//popUpWindow.focus();  //this line of code causes Access is Denied error pop up message in IE 4.0
} 




//--------------------------------------------------------------------------------------------
// PopUp a Glossary Window 
//--------------------------------------------------------------------------------------------

function GlossaryPopUp(url){

var winWidth
var winHeight

winHeight = parseInt(450);
winWidth = parseInt(680);

window.open(url, null,' menu=0,menubar=0,toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,copyhistory=0,top=120,left=115,width=' + winWidth + ',height=' + winHeight);
 
}


function leaveSite(d) {
	
	boolConfirmResponse = confirm("\rYou are now leaving Russell 20-20 web site.  The following link may contain information concerning investments other than those offered by Frank Russell Company, its affiliates, subsidiaries, or distribution channels.  Neither Frank Russell Company nor its affiliates are responsible for investment decisions made with respect to such investments or for the accuracy or completeness of information about such investments.\r\rThe material available on this site has been produced by independent providers that are not affiliated with Frank Russell Company.  Descriptions of, references to, or links to products or publications within any linked web site does not imply endorsement of that product or publication by Frank Russell Company.  Any opinions or recommendations expressed are solely those of the independent providers and are not the opinions or recommendations of Frank Russell Company, which is not responsible for any inaccuracies or errors.");

    if(boolConfirmResponse) 
		{
		window.open(d);
		}
}




//--------------------------------------------------------------------------------------------
// Date Stamp Function
//--------------------------------------------------------------------------------------------

function dateStamp()
{
today = new Date()
mm=today.getMonth()+1;
if(mm==1) date="January";
	if(mm==2) date="February";
	if(mm==3) date="March";
	if(mm==4) date="April";
	if(mm==5) date="May";
	if(mm==6) date="June";
	if(mm==7) date="July";
	if(mm==8) date="August";
	if(mm==9) date="September";
	if(mm==10) date="October";
	if(mm==11) date="November";
	if(mm==12) date="December";

yy=today.getFullYear();

if (yy <= 99)
	{
	yy = yy + 1900;
	}
document.write(date," ",today.getDate(),", ",yy);
}



//--------------------------------------------------------------------------------------------
// Open Printer Friendly Page
//--------------------------------------------------------------------------------------------
function openPrintPage(url,winWidth,winHeight) {
var winWidth
var winHeight
if (winWidth == '' || winWidth == null || winWidth == 'undefined')
{
	winWidth = parseInt(660);
	winHeight = parseInt(450);
}
if (winWidth != '' && winWidth != null && winWidth != 'undefined')
{
	winWidth = parseInt(winWidth);
	winHeight = parseInt(winHeight);
}

winWidth = winWidth + 17  // this is to account for room in the scrollbar for IE

if (url == '' || url =='undefined')
	{
	printWin = window.open('', null,' menu=0,menubar=1,toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,copyhistory=0,top=100,left=115,width=' + winWidth + ',height=' + winHeight);
	printWin.window.document.open();
	//Some Netscape browsers need us to wait a second before writing content into the new window
	setTimeout("writeTOPrintWin()",1000)
	}
else
	{
	printWin = window.open(url, null,' menu=0,menubar=1,toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,copyhistory=0,top=100,left=115,width=' + winWidth + ',height=' + winHeight);
	}

}

//-------------------------------------------------------------------------------------------------
// supports the checkAndPop function(below)
//-------------------------------------------------------------------------------------------------
function GetCheckAndPopCookie(sName)
{
	  // cookies are separated by semicolons
	  var aCookie = document.cookie.split(";");
	  for (var i=0; i < aCookie.length; i++)
	  {
	    // a name/value pair (a crumb) is separated by an equal sign
	    var aCrumb = aCookie[i].split("=");
	    //get rid of spaces in cookie name
	    aCrumb[0] = aCrumb[0].replace(' ','')

	    //alert('|' + aCrumb[0] + '| = |' + aCrumb[1] + '|');

	    if (sName == aCrumb[0])
	    {
	      GetCheckAndPopCookie = unescape(aCrumb[1]);
	      return GetCheckAndPopCookie
	    }
	  }

	  // a cookie with the requested name does not exist
}

//-------------------------------------------------------------------------------------------------
// supports the checkAndPop function(below)
//-------------------------------------------------------------------------------------------------
function writeCheckAndPopCookie(Cname,Cvalue,CexpireMonth,CexpireDay,CexpireYear,pageToOpen,pageToOpenWidth,pageToOpenHeight)
{
	var today = new Date();

	//var expire = new Date();
	//var CnumberOfDaysFromTodayToExpire
	//CnumberOfDaysFromTodayToExpire = parseInt(CnumberOfDaysFromTodayToExpire);
	//expire.setTime(today.getTime() + 1000*60*60*24*CnumberOfDaysFromTodayToExpire);

	//months start with 0 (january = 0 and Dec = 11) so fix the vaule that the user entered
	var CexpireMonth = parseInt(CexpireMonth)
	CexpireMonth = CexpireMonth - 1

	var CexpireDay= parseInt(CexpireDay)

	var CexpireYear= parseInt(CexpireYear)

	var expire = new Date(CexpireYear, CexpireMonth, CexpireDay);

	//expire.setTime(today.getTime());

	//alert('expire = ' + expire);
	//alert('expire.toGMTString() = ' + expire.toGMTString());


	document.cookie = Cname + "=" + Cvalue + ";expires="+expire.toGMTString();
}


//-------------------------------------------------------------------------------------------------
// check for cookie, if they don't have it, pop open the specified window
//-------------------------------------------------------------------------------------------------
function checkAndPop(Cname,CexpireMonth,CexpireDay,CexpireYear,pageToOpen,pageToOpenWidth,pageToOpenHeight)
{
//check to see if the cookie exists, if it does and it's value is TRUE, then do nothing
//if it doesn't exist or it's value is anything other than TRUE then set then create the cookie
//and set it's value to TRUE along with the specified expiration date, then
//pop open a window at the size specified and load the specified URL into it
if (GetCheckAndPopCookie(Cname) != 'true')
{
 var strCookieToWrite = "writeCheckAndPopCookie('" + Cname + "','true','" + CexpireMonth + "','" + CexpireDay + "','" + CexpireYear + "','" + pageToOpen + "','" + pageToOpenWidth + "','" + pageToOpenHeight + "');"
 //alert('strCookieToWrite = ' + strCookieToWrite);
 eval(strCookieToWrite)

 popUp(pageToOpen,pageToOpenWidth,pageToOpenHeight);
}
}

//-------------------------------------------------------------------------------------------------
// check for cookie, if they don't have it, pop open the specified window
//-------------------------------------------------------------------------------------------------
function checkAndPopSession(Cname,pageToOpen,pageToOpenWidth,pageToOpenHeight)
{
//check to see if the cookie exists, if it does and it's value is TRUE, then do nothing
//if it doesn't exist or it's value is anything other than TRUE then set then create the cookie
//and set it's value to TRUE along with the specified expiration date, then
//pop open a window at the size specified and load the specified URL into it

if (GetCheckAndPopCookie(Cname) != 'true')
{
 document.cookie = Cname + "=true; path=;";

 popUp(pageToOpen,pageToOpenWidth,pageToOpenHeight);
}
}

//-------------------------------------------------------------------------------------------------
// check for cookie, if they don't have it, pop open the specified window
//-------------------------------------------------------------------------------------------------
function popWriteCookie(Cname,CexpireMonth,CexpireDay,CexpireYear)
{

 var today = new Date();
 
 	 
 	//months start with 0 (january = 0 and Dec = 11) so fix the vaule that the user entered
 	var CexpireMonth = parseInt(CexpireMonth)
 	CexpireMonth = CexpireMonth - 1
 
 	var CexpireDay= parseInt(CexpireDay)
 
 	var CexpireYear= parseInt(CexpireYear)
 
 	var expire = new Date(CexpireYear, CexpireMonth, CexpireDay);
 
 	document.cookie = Cname + "=true;  path=; expires="+expire.toGMTString();

}
//------------------------------------------------------------
// Start search page function
//------------------------------------------------------------
function searchValidateNewSearch() {
	if (document.forms[0].query.value.length > 0) {
		return true;
	} else {
		document.forms[0].query.focus();
		return false;
	}
}

function searchSyncInput(passedVal) {
	document.forms[0].txtquery.value = passedVal;
	document.forms[0].txtquerybot.value = passedVal;
}

function searchQueryCriteriaChanged() {
	var df = document.forms[0];
	
	if (df.txtquery.value.toLowerCase() != df.query.value.toLowerCase() ||
		df.txtquerybot.value.toLowerCase() != df.query.value.toLowerCase()) {
		
		if (df.txtquery.value != df.query.value) {
			df.txtquerybot.value = df.txtquery.value;
			df.query.value = df.txtquery.value;
		}
		
		if (df.txtquerybot.value != df.query.value) {
			df.txtquery.value = df.txtquerybot.value;
			df.query.value = df.txtquerybot.value;
		}
		
		return true;
	} else {
		return false;
	}
}

function searchValidate() {
	if (searchQueryCriteriaChanged()) {
		document.forms[0].page.value = 0;
	}
	return true;
}

function searchViewResultsPage(passedVal) {
	document.forms[0].page.value = passedVal;
	if (searchQueryCriteriaChanged()) {
		document.forms[0].page.value = 0;
	}
	document.forms[0].submit();
}

function searchShowDocSummaries(passedVal) {
	document.forms[0].showDocSummaries.value = passedVal;
	searchValidate();
	document.forms[0].submit();
}
//------------------------------------------------------------
// End search page function
//------------------------------------------------------------

//------------------------------------------------------------
// START modifications for WebTrends
//------------------------------------------------------------
var dcs_imgarray = new Array;
var dcs_ptr = 0;
var dCurrent = new Date();
var DCS=new Object();
var WT=new Object();
var DCSext=new Object();

var dcsADDR = "ssdc.russell.com";
var dcsID = "";

if (dcsID == ""){
	var TagPath = dcsADDR;
} else {
	var TagPath = dcsADDR+"/"+dcsID;
}

function dcs_var(){
	WT.tz = dCurrent.getTimezoneOffset();
	WT.ul = navigator.appName=="Netscape" ? navigator.language : navigator.userLanguage;
	WT.cd = screen.colorDepth;
	WT.sr = screen.width+"x"+screen.height;
	WT.jo = navigator.javaEnabled() ? "Yes" : "No";
	WT.ti   = document.title;
	DCS.dcsdat = dCurrent.getTime();
	if ((window.document.referrer != "") && (window.document.referrer != "-")){
		if (!(navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) < 4) ){
			DCS.dcsref = window.document.referrer;
		}
	}

	DCS.dcsuri = window.location.pathname;
	DCS.dcsqry = window.location.search;
	DCS.dcssip = window.location.hostname;

}

function A(N,V){
	return "&"+N+"="+escape(V);
}

function dcs_createImage(dcs_src)
{
	if (document.images){
		dcs_imgarray[dcs_ptr] = new Image;
		dcs_imgarray[dcs_ptr].src = dcs_src;
		dcs_ptr++;
	}
}

function dcsMeta(){
	var MRV="";
	var F=false;
	var myDocumentElements;
	if (document.all){
		F = true;
		myDocumentElements=document.all.tags("meta");
	}
	if (!F && document.documentElement){
		F = true;
		myDocumentElements=document.getElementsByTagName("meta");
	}
	if (F){
		for (var i=1; i<=myDocumentElements.length;i++){
			myMeta=myDocumentElements.item(i-1);
			if (myMeta.name) {
				if (myMeta.name.indexOf('WT.')==0){
					WT[myMeta.name.substring(3)]=myMeta.content;
				}
				if (myMeta.name.indexOf('DCSext.')==0){
					DCSext[myMeta.name.substring(7)]=myMeta.content;
				}
				if (myMeta.name.indexOf('DCS.')==0){
					DCS[myMeta.name.substring(4)]=myMeta.content;
				}
			}
		}
	}
}

function dcs_TAG(TagImage){
	var P ="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+TagImage+"/dcs.gif?";
	for (N in DCS){P+=A( N, DCS[N]);}
	for (N in WT){P+=A( "WT."+N, WT[N]);}
	for (N in DCSext){P+=A( N, DCSext[N]);}

	dcs_createImage(P);
}

dcs_var();
dcsMeta();
dcs_TAG(TagPath);
//------------------------------------------------------------
// END modifications for WebTrends
//------------------------------------------------------------
//--------------------------------------------------------------------------------------------
// PopUp a WebCastWindow
//--------------------------------------------------------------------------------------------
function popUpWebcast(url, winWidth, winHeight, winTop, winLeft){

	var winWidth = (winWidth.length > 0) ? winWidth : 740;
	var winHeight = (winHeight.length > 0) ? winHeight : 495;
	var winTop = (winTop.length > 0) ? winTop : 33;
	var winLeft = (winLeft.length > 0) ? winLeft : 50;
	popUpWindow = window.open(url, null,' menu=0,menubar=0,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=1,copyhistory=0,top=' + winTop + ',left='+ winLeft + ',width=' + winWidth + ',height=' + winHeight);
}
//--------------------------------------------------------------------------------------------
// PopUp a Window enabling Save Target As for PDF documents.
// In order to work, put the call of the function in the onclick:
// <a href="File.pdf" onclick="return ClickPopUp('File.pdf', 600, 400)">File</a>
//--------------------------------------------------------------------------------------------
function ClickPopUp(url, winWidth, winHeight){
popUp(url, winWidth, winHeight);
return false;
}
//--------------------------------------------------------------------------------------------
// PopUp a Window enabling Save Target As for PDF documents.
// In order to work, put the call of the function in the onclick:
// <a href="File.pdf" onclick="return ClickPopUpWebCast('File.pdf', winWidth, winHeight, winTop, winLeft)">File</a>
//--------------------------------------------------------------------------------------------
function ClickPopUpWebCast(url, winWidth, winHeight, winTop, winLeft){
popUpWebcast(url, winWidth, winHeight, winTop, winLeft);
return false;
}
//--------------------------------------------------------------------------------------------
// Open new window with confirm (call to this)
//--------------------------------------------------------------------------------------------
function clickleaveSite(d) {
	leaveSite(d);
	return false;
}

//------------------------------------------------------------
// Omniture Include Script
// CR9452
// April 20th 2009
// Guillaume Lapierre - CGI Quebec
//------------------------------------------------------------

document.write(unescape("%3Cscript src='/common/js/omnitureCode.js' type='text/javascript'%3E%3C/script%3E"));

//------------------------------------------------------------
// End Omniture Include Script
//------------------------------------------------------------