//
// home.js
//

// -------------------------------------------------------------
// cross-browser helper functions
// -------------------------------------------------------------

// Global variables
var isCSS 			= false;
var isW3C 			= false;
var isIE4 			= false;
var isNN4 			= false;
var isIE6 			= false;
var isGecko 		= false;
var isOpera 		= false;
var isDHTML 		= false;
var suppressMenus	= false;
var legacyMode		= false;
var timerID			= null;
var subtimerID		= null;

// initialize upon load to let all browsers establish content objects
function autoconfig()
{
    if(document && document.images)
    {
        isCSS		= (document.body && document.body.style) ? true : false;
        isW3C		= (isCSS && document.getElementById) ? true : false;
        isIE4		= (isCSS && document.all && readIEVer() >= 4.0) ? true : false;
        isNN4		= (document.layers) ? true : false;
        isGecko		= (isCSS && navigator && navigator.product && navigator.product == "Gecko");
        isOpera		= (isCSS && navigator.userAgent.indexOf( "Opera") != -1 );
		isIE6CSS	= (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
		isIE6		= ( isIE6CSS && readIEVer() >= 6.0 );
        isDHTML		= isCSS && ( isIE4 || isGecko || isOpera );
        
        if( suppressMenus || ( isOpera && readOperaVer() < 7 ) || ( isGecko && navigator.productSub <= 20011022 ) || ( isGecko && navigator.productSub == 20030107 ) )
        {
			// Opera 6.x doesn't seem to like the DHTML...
			// Netscape 6.2 puts the menus in the wrong place...
			// Safari, the menus don't go away... problem in ResetMenu
			isDHTML	= false;
        }
    }
}

function readIEVer()
{
	var agent	= navigator.userAgent;
	var offset	= agent.indexOf( "MSIE" );
	if( offset < 0 )
	{
		return 0;
	}
	return parseFloat( agent.substring( offset + 5, agent.indexOf( ";", offset ) ) );
}

function readOperaVer()
{
	var agent	= navigator.userAgent;
	var offset	= agent.indexOf( "Opera" );
	if( offset < 0 )
	{
		return 0;
	}
	return parseFloat( agent.substring( offset + 6 ) );
}

// -------------------------------------------------------------
// client-side masthead
// -------------------------------------------------------------

var m_pnlinks;
var m_crumbs;
var m_mhFixed		= false;
var m_isHome		= false;
var m_isSegHome		= false;
var m_mda			= null;
var m_printLink		= null;
var m_emailLink		= false;
var m_production	= true;
var m_menudef		= "content/public/menudef.aspx";

function mhFixupLink( href, extra )
{
	if( typeof(extra) == "undefined" )
	{
		extra = "&~ck=mn";
	}
	
	if( href )
	{
		var anchor		= null;
		var anchorix	= href.indexOf( "#" );
		
		if( anchorix != -1 )
		{
			anchor		= href.substr( anchorix );
			href		= href.substr( 0, anchorix );
		}
		
		if( href.indexOf( "?" ) == -1 )
		{
			extra = "?" + extra.substr( 1 );
		}

		if( href.toLowerCase().indexOf( "javascript:" ) == -1 )
		{
			href += extra;
		}
		else
		{
			start = href.indexOf( "?" );
			
			if( start != -1 )
			{
				ix = href.indexOf( "\'", start );
				
				if( ix == -1 )
				{
					ix = href.indexOf( "\\", start );

					if( ix == -1 )
					{
						ix = href.indexOf( "\"", start );
					}
				}
				
				if( ix != -1 )
				{
					href = href.substr( 0, ix ) + extra + href.substr( ix );
				}
			}
		}
		
		if( anchor )
		{
			href += anchor;
		}
	}
	
	return href;
}

function menuItem( text, href )
{
	this.Text			= text;
	this.Href			= mhFixupLink( href, "&~ck=mn" );
	this.IsSeparator	= false;
	this.IsCaption		= false;
	this.MenuItems		= null;
}

function writeMH( phoneTitle, phoneMsg, phoneTariff, segmentTitle, hasLocale, logoLink, pnmsg )
{
	autoconfig();

		
	m_mhFixed	= true;

	document.writeln( "<a name=\"mastheadtop\"></a>" );

		
	// phone strip
	
	if( phoneTitle || phoneMsg )
	{
		document.write( "<span class=\"mhTextEmph\">" );
		
		if( phoneTitle )
		{
			document.write( phoneTitle );
			document.write( " " );
		}

		if( phoneMsg )
		{
			document.write( phoneMsg );
		}
			
		document.write( "</span>" );
	}
	
	if( phoneTariff )
	{
		document.write( "<span class=\"mhTextTrf\"> " + phoneTariff + "</span>" );
	}	
	
	
	
	if( pnmsg )
	{
	//	document.write( "<span class=\"mhTextPnMsg\">&nbsp;&nbsp;&nbsp;&nbsp;" + pnmsg + "</span>" );
	}
	
	
	// mda
			
	document.write( "</table>" );
}


function mhLink( text, href, icon, extra )
{
	href = mhFixupLink( href, extra );

	this.Text			= text;
	this.Href			= href;
	this.Icon			= icon;
}

function addPnLink( text, href, icon )
{
	if( !m_pnlinks )
	{
		m_pnlinks = new Array();
	}
	
	m_pnlinks[m_pnlinks.length] = new mhLink( text, href, icon );
}

function addCrumb( text, href )
{
	if( !m_crumbs )
	{
		m_crumbs = new Array();
	}
	
	m_crumbs[m_crumbs.length] = new mhLink( text, href, null );
}

// -------------------------------------------------------------
// client-side footer
// -------------------------------------------------------------


// -------------------------------------------------------------
// Flash handling
// -------------------------------------------------------------

var activeX = false;
var swf = false;

function writeFlash(swfFile,altFile,width,height,ver,params) {
var s = '';
bgcolor= '#FFFFFF';
  if(hasFlash(ver)) {
    if(!activeX) {
    s = '<embed src="'+swfFile+'" quality="high" pluginspage="../www.macromedia.com/shockwave/download/index.cgi_40P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" bgcolor="'+bgcolor+'" wmode="opaque"></embed>\n';
    } else {
    var st = 0;

    s = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0/#version=4,0,2,0/default.htm" width="'+width+'" height="'+height+'">\n';
    s += '\t<param name="movie" value="'+swfFile+'" />\n';
    s += '\t<param name="quality" value="high" />\n';
    s += '\t<param name="menu" value="false" />\n';
    s += '\t<param name="wmode" value="opaque" />\n';
    s += '\t<param name="bgcolor" value="'+bgcolor+'" />\n';

    if (params && params.length>0) {
        while (true) {
            var e = (params.indexOf('&',st)>0)?params.indexOf('&',st):params.length-1;
            var t = params.substr(st,params.indexOf('=',st));
            var v = params.substr(params.indexOf('=',st)+1,(e-(params.indexOf('=',st)+1)));
            s += '\t<param name="' + t + '" value="' + v + '" />\n';
            if (e >= params.length-1) break;
            params = params.substr(e+1);
        }
    }

    s += '</object>\n\n';
    }
  } else {
    if(altFile.search(/(.gif)|(.jpg)$/gi) != -1) {
    s = '<img src="'+altFile+'" width="'+width+'" height="'+height+'" border="0" alt="" />\n';
    } else {
    window.location.href = altFile;
    return;
    }
  }
  with(document) {
  open('text/html');
  write(s);
  close();
  }
}

function hasFlash(ver) {
if(!window.ua) ua = window;
  if(!ua.ver) {
  var av = navigator.appVersion;
  ua.mac = (av.indexOf("Mac") != -1);
  ua.ie = (av.indexOf("MSIE") != -1);
  }
if(!ver) ver = 0;
  if(!ua.mac && ua.ie) {
    for(var i=ver; i<=5&&i!=1&&swf!=true; i++) {
    execScript('on error resume next: swf=IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash'+((i==0)?'':'.'+i)+'"))','VBScript');
    }
  activeX = swf;
  }
  else if(navigator && navigator.plugins) {
  var n,m,t,d,v;
  n = navigator;
  m = n.mimeTypes;
  t = 'application/x-shockwave-flash';
    if(m && m[t] && m[t].enabledPlugin && m[t].enabledPlugin.description) {
    d = m[t].enabledPlugin.description;
    v = d.charAt(d.indexOf('.')-1);
      if(v >= ver) swf=true;
    }
  }
return swf;
}

// -------------------------------------------------------------
// end of home.js
// -------------------------------------------------------------
