// Global Functions
function getObject(elementId)
{
	if (document.getElementById)
	{
		return document.getElementById(elementId);
	}
	else if (document.all)
	{
		return document.all[elementId];
	}
	else if (document.layers)
	{
		return document.layers[elementId];
	}
}
function getObjectsByTagAndClass(tag, cls)
{
	var array = document.getElementsByTagName(tag);
	var output = new Array();
	var matches = 0;
	for(var i=0;i<array.length;i++)
	{
		var parts = array[i].className.split(' ');	
		for(var j=0;j<parts.length;j++)
		{
			if(parts[j]==cls)
			{
				output[matches++]=array[i];
			}
		}
	}
	return output;
}

// gets object of an element by tag and class and id
function getObjectsOfElementByTagAndClass(object, tag, cls, id)
{
    var output = new Array();
    if(object)
    {
	    var array = object.getElementsByTagName(tag);
	    var matches = 0;
	    if (array != undefined && array != null)
	    { 
	        for(var i=0;i<array.length;i++)
	        {
		        var parts = array[i].className.split(' ');	
		        for(var j=0;j<parts.length;j++)
		        {
			        if(parts[j]==cls)
			        {
				        if(id)
				        {
				            if (array[i].id.indexOf(id) == 0)
				            {
				                output[matches++]=array[i];
				            }   
				        }
				        else
				        {
				            output[matches++]=array[i];
				        }
				    }
		        }
	        }
	    }
	}
	return output;
	
	
}

function getTargetFromEvent(e)
{
	if (!e) var e = window.event;
	if (e.target) var tg = e.target;
	else if (e.srcElement) var tg = e.srcElement;
	while (tg.nodeType != 1) // Safari
		tg = tg.parentNode;
	return tg;
}

function getBrowserWidth()
{
	if(window.innerWidth) return window.innerWidth;
	else if(document.body.clientWidth) return document.body.clientWidth;
	else return -1;
}
function getBrowserHeight()
{
    return (window.innerHeight?window.innerHeight:document.documentElement.clientHeight);    
}
function getBodyHeight()
{
	if(document.body.clientHeight) return document.body.clientHeight;
	else return -1;
}
function getObjectHeight(i)
{
	return i.offsetHeight;
}

// Used to support uplevel items by commenting out the following nodes
// ex: 
//  <script type='text/javascript'>uLS();</script>
//  <p>html code to be commented</p>
//  <!-- --> (This section terminates the comment section)

function CreateFlashObject(fs,w,h,parentId)
{
	if(w==undefined)w='';
	if(h==undefined)h='';	
	document.getElementById(parentId).innerHTML="<object "+(w!=''?" width='"+w+"'":"")+(h!=''?" height='"+h+"'":"")+" classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'><param name='movie' value='"+fs+"'><param name='allowScriptAccess' value='always'><param name='quality' value='high'><param name='wmode' value='transparent'><embed "+(w!=''?" width='"+w+"'":"")+(h!=''?" height='"+h+"'":"")+" src='"+fs+"' quality='high' bgcolor='#ffffff' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http:/"+"/www.macromedia.com/go/getflashplayer' wmode='transparent'></object>";
	return true;
}

function IsFlashInstalled()
{
    if(flaGFV()>=6)
	    return true;
	else
	    return false;
}

//Get Flash version
function flaGFV()
{
		var i,flash;
		if (window.ActiveXObject)
		{
			for(i=12;i>5;i--)
			{
				try
				{
					flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
					return i;
				}
				catch(e)
				{
				}
			}
		}
		else if (navigator.plugins&&navigator.plugins.length)
		{
			for (i=0;i<navigator.plugins.length;i++)
			{
				if (navigator.plugins[i].name.indexOf('Shockwave Flash')!=-1)
				{
					return navigator.plugins[i].description.split(" ")[2];
				}
			}
		}
    return 0;
}


// Get wpfe version
var wpfeVer=-1;
function gWPFEV()
{
	return 0;
}
// MSN Ad
function writeMsnAd(id)
{
	var o=getObject('adControl');
	if(null!=o){
	dapMgr.enableACB('adControl',false);      
	dapMgr.renderAd('adControl', '&PG='+id+'&AP=1087', 180, 150);
	}
}

/*@cc_on
/*@if (@_jscript_version > 5.5)
@*/
var isLibraryLoaded = true;
var isDebug = false;


// MSCOM Rendering Engine target output JS file

window.onload = loadPage;
window.onresize = resizePage;
// window.onscroll = scrollPage;

var useCdn = false;
var cdnServer = ''; // these two vars should be replaced dynamically by js.aspx, if not CDN will not be used



var KPF=null;
function KP(o){
	var k = GKBH(o);
	if(k==13||k==32)
	{
		eval(KPF);
		return false;
	}
	return k;
}
//
//	Generic Keyboard Handler
//
function GKBH(o)
{
	var k;
	try{k=(window.event != null && window.event.keyCode != null) ? window.event.keyCode : e.which;}catch(e){k=null;};
	return (k==null && o !=null && o.keyCode !=null)? o.keyCode : k;
}

//
//	Sub Navigation Key Press
//
function SNKP(o)
{	
	var k = GKBH(o);
	if(k==9)
	{
		if(o==null)o=window.event;
		if(o.shiftKey!=true)
		{
			eval(KPF);
			return false;
		}
	}
	return k;
}
//
//	Master Navigation Key Press
//
function MNKP(o)
{
	var k = GKBH(o);
	if(k==9)
	{
		var nw=getObject('MNW'); // Master Navigation Window
		var f=getObject('LSNI'); // Last Sub Navigation Item
		if(null!=nw&&subNavVisible&&null!=f)
		{
			
			if(o==null)o=window.event;
			if(o.shiftKey==true)
			{
				f.focus();
				return false;
			}
		}
	}
	return k;
}

function MNFocus(which)
{	
	if(null==which)which='q';
	var o=getObject(which);
	if(null!=o)o.focus();
}
//////////////////////////
// OBJECT LEVEL METHODS //
//////////////////////////

// Vertical tab - written to allow more than one tab section on the same page (via the Array objects)

var currentTabGroup = 0;
var currentTabIndex = 0;
var activeTabIndeces = new Array();
var activeTabTimers = new Array();

function activateTab(tabGroup,index){

	clearTimeout(activeTabTimers[tabGroup]); // if a hover is pending, then clear it
	currentTabGroup = tabGroup;
	currentTabIndex = index;
	
	if(activeTabIndeces.length <= tabGroup){
		activeTabIndeces[tabGroup] = 0;
}	
	var activeTabIndex = activeTabIndeces[tabGroup];
	if(index != activeTabIndex)
	{
		activeTabTimers[tabGroup] = setTimeout("activateTabTimer()",250); // in milliseconds
	}
}

function mouseOutTab(tabGroup,index){
	clearTimeout(activeTabTimers[tabGroup]);
}

var isMouseOver = false;
function activateTabTimer()
{  
 
    var activeTabIndex = activeTabIndeces[currentTabGroup];
    if(currentTabIndex != activeTabIndex)
    {
	    var h = 'tbh' + currentTabGroup + '_';
	    var c = 'tbc' + currentTabGroup + '_';
		
	    var activeTab = getObject(h + activeTabIndex);
	    var activeTabPanel = getObject(c + activeTabIndex);
        
	    var newTab = getObject(h + currentTabIndex);
	    var newTabPanel = getObject(c + currentTabIndex);
		
	    var activeTabDiv = getObjectsByTagAndClass('div','activetabdiv');
	    if(activeTabDiv.length >0){
	        activeTabDiv[0].className = 'activetabdiv '+(newTabPanel.getAttribute('layout')!='null'?newTabPanel.getAttribute('layout'):"")+' cf';
		    activeTabDiv[0].innerHTML = newTabPanel.innerHTML;
		    isMouseOver = true;
	    }
	    
	    activeTab.className = 'tab';
	 		
	    newTab.className = 'tab tabActive';
	   		
		
	    activeTabIndeces[currentTabGroup] = currentTabIndex;
	    // Next two lines are to activate webtrends impressions for verticle tabs
	    clearTimeout(impT);
	    impT = setTimeout("swtI("+currentTabIndex+")", 1000);

    }
}
var TVIEWHEIGHT = 0;
function collapseTabs()
{
	// Switch tab area to script/collapsed view
	// - remove "dl" from tabContentPanel and all tabPanel
	// - find all 'tabPanel's, set first to 'tabPanel tabActive' and others to 'tabPanel tabHidden'
	// - hide all H3 elements inside tabPanel(s)
	// - hide dlTabs, show ulTabs
	// - hide all .dlTabSpacer
	var ih=0;
	var i=0;
	var objects = getObjectsByTagAndClass("h3","dlh");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
	
	objects = getObjectsByTagAndClass("div","tbc");
	for(i=0;i<objects.length;i++)
	{
		ih= getObjectHeight(objects[i]);
		if(ih>TVIEWHEIGHT)TVIEWHEIGHT=ih;
	}
	
	var objects = getObjectsByTagAndClass("div","dlTabs");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
	
	objects = getObjectsByTagAndClass("div","ulTabs");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'block';
	}
	
	objects = getObjectsByTagAndClass("h3","dlh");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
		
	objects = getObjectsByTagAndClass("div","dlTabSpacer");
	for(i=0;i<objects.length;i++)
	{
		objects[i].style.display = 'none';
	}
	
	objects = getObjectsByTagAndClass("div","tabContentPanel");
	for(i=0;i<objects.length;i++)
	{
		objects[i].className = 'tabContentPanel';
		//objects[i].style.height = TVIEWHEIGHT+"px"; /***commented to get content height to component - changed by TCS.***/		
	}
	

	objects = getObjectsByTagAndClass("div","tabPanel");
	for(i=0;i<objects.length;i++)
	{
		if(i==0)
		{
		    if(!isMouseOver){
			    var activeTabDiv = getObjectsByTagAndClass("div","activetabdiv");
    	    if(activeTabDiv.length > 0)
			    {
	               activeTabDiv[0].className = 'activetabdiv ' + (objects[i].getAttribute('layout')!='null'?objects[i].getAttribute('layout'):"")+' cf';
                   activeTabDiv[0].innerHTML = objects[i].innerHTML;
	            }
	        }		
		}
    	objects[i].className = 'tabPanel '+(objects[i].getAttribute('layout')!="null"?objects[i].getAttribute('layout'):"")+' tabHiddenPanel cf';				
	}
}


// Master nav expand/collapse items

var mnl;
var mnl_h;
var mnl_oh;
var isE=true;
var timer;
var closeWhileCollapse=false;

function navH1Click(e){
	if(timer){
		clearInterval(timer);
		timer = null;
	}
	var target=getTargetFromEvent(e);	
	mnl = getObject('masterNavLinks');
	
	if(target && mnl){
		if(target.nodeName != 'H1')
		{
			target = target.parentNode;
		}
	
		mnl_h = mnl.offsetHeight;
		if(!mnl_oh){
			mnl_oh = mnl_h;
		}
		isE = !isE;
		
		if(isE)
		{
			// target.style.listStyleImage = "url('/shared/core/1/images/Master_nav_site_guide_arrow.gif')";
			target.className = 'active';
		}
		else
		{
			// target.style.listStyleImage = "url('/shared/core/1/images/Master_nav_site_guide_arrow_collapsed.gif')";
			target.className = 'inactive';
		}
		
		navH1Interval();
		
		// start timer
		timer = setInterval(navH1Interval, 1);
	}
}

function navH1Interval(){
	var isFinishedExpanding=false;
	if(mnl_h <= 0 && isE)
	{	
		var o =getObject('masterNavLinks');
		if(null!=o){o.style.display='block';}		
	}
	if(!isE){
		mnl_h -= 20;
	}
	else{
		mnl_h += 20;
	 }
	if(mnl_h < 0){
		mnl_h = 0;
	}
	else if(mnl_h > mnl_oh){
		mnl_h = mnl_oh;
		mnl.style.height="auto";
		isFinishedExpanding=true;
	}
	
	if(!isFinishedExpanding)
	mnl.style.height = mnl_h+'px';
	
	if(mnl_h <= 0 || mnl_h >= mnl_oh)
	{
		if(mnl_h <= 0 && !isE)
		{
			var o =getObject('masterNavLinks');
			o.style.display='none';
		}
		// stop timer
		clearInterval(timer);
		timer = null;
		
		// if we've finished expanding, reset the actie link to the first link
		var masterNavLinks = getObject('masterNavLinks');
		if(closeWhileCollapse && isE && masterNavLinks && masterNavLinks.childNodes){
			closeWhileCollapse = false;
			resetNavToFirst(masterNavLinks);
		}
	}
}

function resetNavToFirst(masterNavLinks)
{
	for(var i=0;i<masterNavLinks.childNodes.length;i++){
		var node = masterNavLinks.childNodes[i];
		
		if(node && node.className == 'container' && node.childNodes)
		{
			var firstIndex = 0; // In Firefox, the links are only at odd values of J.  In IE they are consecutive.
			for(var j=0;j<node.childNodes.length;j++){			
				var link = node.childNodes[j];
				if(link && link.nodeName == 'A'){
					if(j==firstIndex)
					{
						link.className='activeNav';
					}
					else
					{
						link.className='';
					}
				}
				else if(j == 0)
				{
					firstIndex = 1;
				}
			}
		}
	}
}


function toggleRichMedia(state)
{
    var browserUA = navigator.userAgent.toLowerCase();    
    
    if(browserUA.indexOf("macintosh") != -1)
    {  
        var featurePanelLength = getObjectsByTagAndClass("div","featureArea");
        if(featurePanelLength.length > 0)
        {
            var objectList = featurePanelLength[0].getElementsByTagName("object");
            if(objectList)
            {
                var parentDiv = null;
                var imageDiv = null;
                var featureAreaDiv = null;
                for(var m=0; m <objectList.length; m++)
                {
                    parentDiv = objectList[m].parentNode;
                    //Check if this flash object is part of featurepanle graphic area only
                    
                    if (parentDiv != null)
                    {                        
                        imageDiv=getObjectsOfElementByTagAndClass(parentDiv.parentNode,"div","rmStaticImage");
                        if(imageDiv[0] != null)
                        {
                               if(state == "hide")
                               {                                    
                                 imageDiv[0].style.display='block';
                                 parentDiv.className = "hide";
                               }
                               else
                               {
                                  imageDiv[0].style.display='none';
                                  parentDiv.className = "";
                               }                               
                        }
                    }
                }
            }
        } 
    }
}


// Master nav level 1
var wt_level1='';
var msWinPath='';
var isAnimating=false;
var isFading=false;
var fContent;
var l1timer;
var l1op=0;
var l1al=0;
var subNav;

function navClick(e){
    var target=getTargetFromEvent(e);
	subNav=getObject('MNW');
	
	if(isAnimating){
		return false;
	}

	if(!subNav){
		return true;
	}
	try
	{
		if(!subNavVisible){
		    toggleRichMedia("hide");
		    
			subNav.innerHtml = '&nbsp;';
			subNav.className = '';
			subNavVisible = true;

		}
		

		for(var i=0;i<target.parentNode.childNodes.length;i++){
			var node = target.parentNode.childNodes[i];
			if(node && node.nodeName == 'A'){
				node.className='';
			}
		}
		target.className = 'activeNav';

		
		
		if(target.childNodes[0].nodeValue)
		{
			msWinPath = target.childNodes[0].nodeValue;
		}
		else
		{
			if(isDebug)alert('target.innerText was null: target is:' + target);
			return false;
		}
			
		if(msWinPath!=''){
			var value = GetLevel2(msWinPath);
			if(value != null && value != "")
			{
				// WEBTRENDS TRACKING
				wt_level1 = msWinPath;
				wt_level2 = 'default'; // Close and View events update this to "subNavActive" value
				try{
					var dcsuri = "/L1/" + ESQ(wt_level1) + "/";		
					dcsMultiTrack('DCS.dcsuri',dcsuri,'DCSext.ngn_clevel','Level 1','DCSext.ngn_lname',ESQ(wt_level1),'DCS.ngn_type','Master Navigation','WT.si_p','Level 2a','WT.ti',ESQ(wt_level1),'WT.dl','1','DCSext.wt_linkid','');
				}
				catch(e){}
			
				//if(isFading){
				//	fContent = value;
				//}
				//else{
					hoverSubNav = -1;
					activeSubNav = 0;
					subNav.innerHTML = value;
					resizePage();
				//}
				
				//isAnimating = true;
				//if(!isFading){
				//	l1al=0;
				//	l1op=0;
				//}
				//else{
				//	l1al=100;
				//	l1op=1;
				//}
				//l1timer = setInterval(navClickInterval, 1);
			}
			else
			{
				subNavClose();
//				mViewType=0;
//                mViewName='MNWVThumb';
				return !isDebug; // for debuging: return false to cancel default navigation
			}
		}
		setNavScreenHeight();
		var navScreen = getObject('masterNavScreen');
		navScreen.style.display = 'block';		
		return false;
	}
	catch(e)
	{
		if(isDebug)alert(e.Message + ", " + e.description + ", " + e);
		subNavClose();
		return !isDebug; // for debuging: return false to cancel default navigation
	}
}


function navMouseOver(e){
	var target=getTargetFromEvent(e);
	window.status = target.childNodes[0].nodeValue;
	return true;
}

// Master nav level 2
var wt_level2='';
var subNavVisible = false;
var hoverSubNav = -1;
var activeSubNav = 0;
var l2timer;
var l2op=0;
var l2al=0;
var mnwPanel;

function subNavOver(index){	
	if(index != activeSubNav && index != hoverSubNav)
	{		
		var newTab = getObject('sn_' + index);
		//newTab.className = 'subNavHover';
		hoverSubNav = index;
	}
}

function subNavOut(index)
{
	if(index == hoverSubNav && index != activeSubNav)
	{		
		var hoverTab = getObject('sn_' + hoverSubNav);
		//hoverTab.className = '';		
		hoverSubNav = -1;
	}
}

function subNavClick(index,target)
{	
	if(isAnimating){
		return;
	}

	if(index != activeSubNav)
	{
		var newTab = getObject('sn_' + index);
		var oldTab = getObject('sn_' + activeSubNav);
		if(newTab && oldTab)
		{
			newTab.className = 'subNavActive';
			oldTab.className = '';
			activeSubNav = index;
		}
		mnwPanel = getObject('MNWPanel');
		if(mnwPanel!=null)
		{
			// WEBTRENDS TRACKING
			wt_level2 = target.childNodes[0].nodeValue;
			try{
				var dcsuri = "/L1/" + ESQ(wt_level1) + "/" + ESQ(wt_level2) + "/";
				dcsMultiTrack('DCS.dcsuri',dcsuri,'DCSext.ngn_clevel','Level 2a','DCSext.ngn_lname',ESQ(wt_level2),'DCS.ngn_type','Master Navigation','WT.si_p','Level 2b','WT.ti',ESQ(wt_level1) + ": " + ESQ(wt_level2),'WT.dl','1','DCSext.wt_linkid','');
			}
			catch(e){}
			
			var value = GetLevel3(msWinPath, newTab.childNodes[0].nodeValue);
			if(value != null && value != "")
			{
				fContent = value;
				isFading = true;
				isAnimating = true;
				l2al=100;
				l2op=1;
				
				l2timer = setInterval(subNavClickInterval, 1);
			}			 
		}
	}
}
function subNavClickInterval()
{
	if(isFading){
		if(l2al<=0){
			isFading=false;
			// alert("stopping fade");
			mnwPanel.innerHTML = fContent;
		}
		else{
			l2al=l2al-15;
			if(l2al<0)l2al=0;
			l2op=l2op-0.15;
			if(l2op<0)l2op=0;
		}
	}
	else{
		l2al=l2al+15;
		l2op=l2op+0.15;
	}
	
	mnwPanel.style.MozOpacity = ''+l2op;
	mnwPanel.style.filter = 'alpha(Opacity='+l2al+')';
	
	if(l2al>=100 && !isFading)
	{
		mnwPanel.style.MozOpacity = '';
		mnwPanel.style.filter = '';
	
		// stop timer
		clearInterval(l2timer);
		isAnimating = false;
		l2timer = null;
	}
}

function subNavClose()
{
	if(isAnimating){
		return;
	}
	
	var subNav=getObject('MNW');
	if(!subNav || !subNavVisible){
		return;
	}
	toggleRichMedia("show");
	clearInterval(checkHeight);
	var navScreen = getObject('masterNavScreen');
	navScreen.style.display = 'none';
	
	subNav.className = 'hidden';
	subNavVisible = false;
	
	var masterNavLinks = getObject('masterNavLinks');
	
	// If master nav is expanded & we have a valid master nav link section, then make the first link the active one
	if(!isE)
	{
		closeWhileCollapse = true;
	}
	else if(isE && masterNavLinks && masterNavLinks.childNodes){ 
		resetNavToFirst(masterNavLinks);
		
	}
	// WEBTRENDS TRACKING
	var subNavActive = getObjectsByTagAndClass("a","subNavActive");
	if(subNavActive.length > 0)
	{
		wt_level2 = subNavActive[0].childNodes[0].nodeValue;
	}
	try{
		var dcsuri = "/L2a/" + ESQ(wt_level1) + "/" + ESQ(wt_level2) + "/close/";
		dcsMultiTrack('DCS.dcsuri',dcsuri,'DCSext.ngnclose','1','DCSext.ngn_l1close',ESQ(wt_level1),'DCS.ngn_l2aclose',ESQ(wt_level2),'DCS.ngn_type','Master Navigation','WT.si_p','Level 1','WT.ti','Nav Close','DCSext.wt_linkid','');
	}
	catch(e){}
}

////////////////////////
// PAGE LEVEL METHODS //
////////////////////////
function loadPage()
{
    resizePage(); // moves nav to the left if the browser is too narrow

	// Hook up master nav
		
	try{
	if(eval('nP'))
	{
		var masterNavLinks = getObject('masterNavLinks');
		
		if(masterNavLinks && masterNavLinks.childNodes){		
			for(var i=0;i<masterNavLinks.childNodes.length;i++){
				var node = masterNavLinks.childNodes[i];
				
				if(node && node.className == 'container' && node.childNodes)
				{			
					for(var j=0;j<node.childNodes.length;j++){			
						var link = node.childNodes[j];
						if(link && link.nodeName == 'A' && link.className.indexOf('link') == -1){
							link.onclick=navClick;
						}
					}
				}
			}
		}
		
		var masterNavBody = getObject('masterNavBody');
		if(masterNavBody && masterNavBody.childNodes){
			for(var i=0;i<masterNavBody.childNodes.length;i++){
				var node = masterNavBody.childNodes[i];
				if(node && node.nodeName == 'H1'){
					node.onclick=navH1Click;
				}
			}
		}	
		
	}
	}catch(e){;}
	collapseTabs(); // Needed here to fix wierd IE bug not properly rendering the first tab once in a while
}


var checkHeight;

function setNavScreenHeight()
{
    var navScreen = getObject('masterNavScreen');
    var page = getObject('pageC');
    
    var ag=navigator.userAgent.toLowerCase();	
		
		checkHeight = setInterval(function ()
		{
			if(navScreen.clientHeight != page.clientHeight )
			{
    			if(ag.indexOf("msie") !=-1)
		        {		    
		            navScreen.style.height = document.body.clientHeight - 70 +'px';
		        }		
		        else
		        {
		           navScreen.style.height=  page.clientHeight + 'px';		   
		        }
			}

		},1);
}

function resizePage(){
    
	var width = getBrowserWidth();
	var masterNav = getObject('masterNav');
	if(masterNav && masterNav.style){
		if(width <= 950){
			masterNav.style.right = '37px';
		}
		else{
			masterNav.style.right = '';
		}
	}
	
	// Master nav window height modification
	
	// when browser height goes below 575, subtract from below
	
	var bHeight = getBrowserHeight();
	var d = 0;
	if(bHeight > 0 && bHeight <= 575)
	{
		d = 575-bHeight;
		if(d>205)
		{
			d = 205; // max 200px resize
		}
	}
	// max: height:468px;
	var object = getObject("MNWTabsC");
	if(object)
	{
		object.style.height = (468-d)+'px';
	}
	
	// max: height:477px;
	object = getObject("MNWPanel");
	if(object)
	{
		object.style.height = (477-d)+'px';
	}
	
	// max: height:478px;
	object = getObject("MNWBody");
	if(object)
	{
		object.style.height = (478-d)+'px';
	}
	
	// max: height:522px;
	object = getObject("MNW");
	if(object)
	{
		object.style.height = (530-d)+'px';
	}
}

function loadImages()
{
	if(document.images)
	{
		var a = new Array();
		a[0] = 'arrow_rt.png';
		a[1] = 'inactivemenubg.png';
		a[2] = 'mainmenuselected.jpg';
		a[3] = 'close_window.jpg';
		a[4] = 'detail_button_down.gif';
		a[5] = 'detail_button_normal.gif';
		a[6] = 'detail_button_over.gif';
		a[7] = 'detail_button_selected.gif';
		a[8] = 'detail_thumbnail_holder.png';
		a[9] = 'header_gradient.gif';
		a[10] = 'list_button_down.gif';
		a[11] = 'list_button_normal.gif';
		a[12] = 'list_button_over.gif';
		a[13] = 'list_button_selected.gif';
		a[14] = 'thumb_button_down.gif';
		a[15] = 'thumb_button_normal.gif';
		a[16] = 'thumb_button_over.gif';
		a[17] = 'thumb_button_selected.gif';
		a[18] = 'navwin_vertical_gradient.gif';
		a[19] = 'thumbnail_highlight.png';
		a[20] = 'thumbnail_holder.png';
		a[21] = 'hover_noani1.gif';
		
		var image;
		var prefix = '';
		if(useCdn)
		{
			prefix = "http:/" + "/" + cdnServer; // don't use http:// as it will trigger comment removal
		}
		prefix = prefix + "/shared/core/1/images/";
		for(var i=0;i<a.length;i++){
			image=new Image();
			image.src=prefix+a[i];
		}
	}
}
function enc(s){
	return encodeURI(s).replace("&","%26");
}
//** MiniAjax ***
function Ping(){
	return DoRequest('/shared/core/1/webservice/navigation.asmx/Ping');
}

function GetLevel1(){
	return DoRequest('/shared/core/1/webservice/navigation.asmx/GetMasterNav', 'navPath='+nP);
}

function GetLevel2(group){
	group=enc(group);
	return DoRequest('/shared/core/1/webservice/navigation.asmx/GetWindowNav', 'navPath='+nP+'&groupName='+group+'&viewType='+mViewType);
}

function GetLevel3(group,tab){
	group=enc(group);
	tab=enc(tab);
	return DoRequest('/shared/core/1/webservice/navigation.asmx/GetWindowContent', 'navPath='+nP+'&groupName='+group+'&tabName='+tab+'&viewType='+mViewType);
}

function DoRequest(url, urlParmString){
	var result = null;
	var callBack = new XMLHttpRequest();
	if(callBack){
		try{
			callBack.open('POST',url, false);
			if(urlParmString==null)urlParmString='';
			callBack.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');
			callBack.send(urlParmString);
						
			if(callBack.responseXML.childNodes[0] && callBack.responseXML.childNodes[0].firstChild)
				{
					
					result = callBack.responseText.substring(callBack.responseText.indexOf("%"));
					result = result.replace("</string>", "");
					result = unescape(result);
				}
				else if(callBack.responseXML.childNodes.length > 1){
					result = unescape(callBack.responseXML.childNodes[1].text);
				}
				
		}catch(e){;
			if(isDebug){
				if(callBack.responseText != null && callBack.responseText != '')
					alert('DoRequest() Error:\n' + e + "\n\n" + callBack.responseText);
				else
					alert('DoRequest() Error:\n' + e);
			}
			subNavClose();
		}
		callBack = null;
	}
	else{
		if(isDebug)alert('Dev Debug error: callBack is false');
	}
	return result;
}


var mIsInitialized = false;
var mViewType=0;
var mViewName='MNWVThumb';
var mTab;
if (!window.XMLHttpRequest){
// Next line has been turned into an eval statement so the 
//	autocompression doesnt put the new function() on a seperate line 
//	and potentially break the statement
//
	eval("window.XMLHttpRequest = f" +"unction(){var progIDs = [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];for (var i = 0; i < progIDs.length; i++){try{var xmlHttp = new ActiveXObject(progIDs[i]);mIsInitialized = true;return xmlHttp;}catch (ex) {}}return null;}");
}else{mIsInitialized = true;}
// ViewButton Style Switch
function vss(obj,styleType)
{
	if(obj.id==mViewName)return;
	obj.className=obj.id+styleType;
}
//View Button Click, 0=Thumbnail, 1=Detail, 2=List
function vbc(obj, viewType)
{
    var tmp=mViewName;
	if(obj.id==mViewName)return;
	vss(obj,'S');
	mViewType = viewType;
	mViewName=obj.id;
	vss(getObject(tmp),'N');
	try{
		var value = GetLevel3(msWinPath, getObject('sn_' + activeSubNav).childNodes[0].nodeValue);
		if(value != null && value != "")
		{
			getObject('MNWPanel').innerHTML = value;
		}
	}catch(ex){
		if(isDebug)alert(ex);
	}
	
	// WEBTRENDS TRACKING
	var subNavActive = getObjectsByTagAndClass("a","subNavActive");
	if(subNavActive.length > 0)
	{
		wt_level2 = subNavActive[0].childNodes[0].nodeValue;
	}
	try{
		var vt = 'Thumbnail';
		if(viewType==1)vt='Detail';
		if(viewType==2)vt='List';
		var dcsuri = "/L2a/" + ESQ(wt_level1) + "/" + ESQ(wt_level2) + "/" + vt + "/";
		dcsMultiTrack('DCS.dcsuri',dcsuri,'DCSext.ngn_vt',vt,'DCSext.ngn_l1vt',ESQ(wt_level1),'DCS.ngn_l2avt',ESQ(wt_level2),'DCS.ngn_type','Master Navigation','WT.ti','View Change: ' + vt,'DCSext.wt_linkid','');
	}
	catch(e){}
}
//** End MiniAjax

//** WebTrends 3rd level nav tracking ***
//Array for impressions
var tlids=new Array();
// Impression Timer
var impT=null;
// Send Webtrends Impression
function swtI(n)
{
	if(impT!=null && n>0 && tlids[n]!=false)
	{
		try{
			dcsMultiTrack("DCS.dcsuri","/tabs/"+(n+1),"WT.ad","","WT.mc_id","","DCSext.wt_linkid",tlids[n],"WT.dl","5","WT.ti","Tab "+(n+1));
			tlids[n]=false;
			impT=null;
		}catch(e){;}
	}
}
function mn3md(target)
{
	// alert("master nav 3rd level mouse down");
	
	var isIE = navigator.appVersion.indexOf("MSIE")!=-1;
	if(!isIE)
	{
		mn3track(target);
	}
}

function mn3mc(target)
{
	// alert("master nav 3rd level mouse click");
	
	var isIE = navigator.appVersion.indexOf("MSIE")!=-1;
	if(isIE)
	{
		mn3track(target);
	}
}

function mn3track(target)
{
	// WEBTRENDS TRACKING
	
	// set wt_level2 in case it hasn't been set yet
	var subNavActive = getObjectsByTagAndClass("a","subNavActive");
	if(subNavActive.length > 0)
	{
		wt_level2 = subNavActive[0].childNodes[0].nodeValue;
	}
	
	var wt_level3 = 'unknown';
	
	// determine level 3 (business: 2b) title
	//  - find the <div class="Title"> under the current target
	if(target)
	{
		for(var i=0;i<target.childNodes.length;i++)
		{
			var child = target.childNodes[i];
			if(child.nodeName == "DIV" && (child.className == "Title" || child.className == "dummyTitle2") && child.childNodes.length > 0)
			{
				wt_level3 = child.childNodes[0].nodeValue;
			}
		}
	}
	
	var href = '';
	var qs = '';
	if(target.href)
	{
		href = target.href;
		var qStart = href.indexOf('?');
		if(qStart != -1)
		{
			var arr = href.split('?');
			href=arr[0];
			qs=arr[1];
		}
		href = target.hostname;
	}
	var uri = (target.pathname == "") ? "/" : ((target.pathname.substring(0, 1) == "/") ? target.pathname : "/" + target.pathname);
	try{
		dcsMultiTrack('DCS.dcssip',href,'DCS.dcsuri',uri,'DCS.dcsqry',qs,'DCSext.ngn_clevel','Level 2b','DCSext.ngn_lname',ESQ(wt_level3),'DCS.ngn_type','Master Navigation','WT.si_p','Level 3','WT.ti',ESQ(wt_level1) + ": " + ESQ(wt_level2) + ":" + ESQ(wt_level3),'DCSext.wt_linkid','');
	}
	catch(e){}
}

function WTID(o)
{
	try{DCSext.wt_linkid=o;}catch(e){;}
}

function ESQ(str)
{
    return str.replace("'", "''");
}

/*@end@*/

function WriteWTJs()
{
    // Render webtrends.js if one of the following condition is true.
    // lsp.js or pagegate.js does not exist on page
    // lsp.js exists but pagegate.js does not exist on page
    // IsPageGateDisplayed is false 
    if (typeof(window.Csp) != "undefined")
    {
        if (typeof(Csp.Silverlight) == 'undefined' || (typeof(Csp.Silverlight) != 'undefined' && (typeof(Csp.Silverlight.IsPageGateDisplayed) == 'undefined' || Csp.Silverlight.IsPageGateDisplayed == false)))
        {
            dcsTag();
        }
    }
}

// JavaScript previously in RichMedia.aspx BEGIN

var dcsLinkId = "DCSext.wt_linkid";
var slVersion = "1.0";

function hideStaticImg(id) { 
    if (id) {
        var img_div = getObject(id);
        if (img_div) {
            img_div.style.display = "none";
        }
    }
}

function parseMetaTagContent(isRichMediaDisplayed, imgLinkId, mediaLinkId) {
    var metaTags = document.getElementsByTagName("meta");
    if (!!metaTags) {
        var wtLinkIdMetaName = dcsLinkId.toLowerCase();
        for (var m = metaTags.length - 1; m > 0; m--) {
            var metaName = metaTags[m].name || "";
            if (metaName.toLowerCase() == wtLinkIdMetaName) {
                var metaContent = metaTags[m].content || "";
                var linkId = isRichMediaDisplayed ? imgLinkId : mediaLinkId;
                metaTags[m].content = removeWtLinkId(metaContent, linkId);
                break;
            }
        }
    }
}

function removeWtLinkId(content, linkId) {
    var oldIds = content.split(";");
    var newIds = [];
    var removeLinkIds = linkId.split(";");
    var keepLink = true;
    for (var i = 0; i < oldIds.length; i++) {
        keepLink = true;
        for (var j = 0; j < removeLinkIds.length; j++) {
            if (oldIds[i] == removeLinkIds[j]) {
                keepLink = false;
            }
        }
        if (!!oldIds[i] && keepLink) {
            newIds.push(oldIds[i]);
        }
    }
    return newIds.join(";");
}

// JavaScript previously in RichMedia.aspx END
