From: <Saved by Windows Internet Explorer 7>
Subject: CN - News - CN to acquire key operations of Elgin, Joliet and Eastern Railway for US$300 million
Date: Tue, 12 Feb 2008 12:15:47 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C86D71.0014BBF0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/about/media/news_releases/2007/3rd_quarter/en_News20070926.shtml

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xml:lang=3D"en" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>CN - News - CN to =
acquire key operations of Elgin, Joliet and Eastern Railway for US$300 =
million</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3DISO-8859-1">
<META http-equiv=3DContent-Style-Type content=3Dtext/css><LINK=20
href=3D"http://www.cn.ca/styles/cn.css" type=3Dtext/css =
rel=3Dstylesheet>
<SCRIPT src=3D"http://www.cn.ca/scripts/server.js" =
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/navigation_support.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/basePage.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/rollovers.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/utilities.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/en_specific.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/fscommand.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK href=3D"http://www.cn.ca/styles/cn_contacts_xml.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<SCRIPT src=3D"http://www.cn.ca/scripts/contactsXML.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/rss20.js" =
type=3Dtext/JavaScript></SCRIPT>

<SCRIPT src=3D"http://www.cn.ca/scripts/statistics.js"=20
type=3Dtext/JavaScript></SCRIPT>

<META http-equiv=3DPRAGMA content=3DNO-CACHE>
<META http-equiv=3DCACHE-CONTROL content=3DNO-CACHE>
<META http-equiv=3DEXPIRES content=3D0>
<META content=3D"CN News Releases" name=3Dname>
<META=20
content=3D"CN news releases, CN press releases, CN news, canadian =
national railway news, cnr news, cni news, freight news, rail news, CN =
Rail news,  canadian national news, news, latest news, press, press =
release, speeches, photo libtrary,  Media Contacts, FAQ"=20
name=3Dkeywords>
<META content=3D"Hot off the press=85 the latest news about CN." =
name=3Ddescription>
<META content=3D"MSHTML 6.00.6000.16587" name=3DGENERATOR></HEAD>
<BODY><!-- include top navigation --><IMG class=3Dprint title=3DCN =
height=3D63 alt=3DCN=20
src=3D"http://www.cn.ca/images/templates/top_logo_printable.gif" =
width=3D103>=20
<TABLE id=3Dtop cellSpacing=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD rowSpan=3D2><IMG title=3DCN height=3D81 alt=3DCN=20
      src=3D"http://www.cn.ca/images/templates/top_logo.gif" =
width=3D116></TD>
    <TD>
      <TABLE id=3Dtoolbar cellSpacing=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD><A=20
            =
href=3D"javascript:open_Window2('http://cn.akanda.com/cn');"><IMG=20
            title=3D"CN Network Map" height=3D40 alt=3D"CN Network Map"=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_nav_map_en.gif"=20
            width=3D114></A></TD>
          <TD><A =
href=3D"http://www.cn.ca/contactus/en_HomeContactUs.shtml"><IMG=20
            title=3DContacts height=3D40 alt=3DContacts=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_nav_contacts_en.gif"=20
            width=3D67></A></TD>
          <TD><A href=3D"http://www.cn.ca/en_sitemap.shtml"><IMG=20
            title=3D"Site Guide" height=3D40 alt=3D"Site Guide"=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_nav_guide_en.gif"=20
            width=3D72></A></TD>
          <TD><A=20
            =
href=3D"http://www.cn.ca/about/company_information/faq/en_AboutCNFAQ.shtm=
l"><IMG=20
            title=3DFAQs height=3D40 alt=3DFAQs=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_nav_faqs_en.gif"=20
            width=3D46></A></TD>
          <TD><A href=3D"javascript:changeLanguage();"><IMG lang=3Dfr=20
            title=3DFran=E7ais height=3D40 alt=3DFran=E7ais=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_nav_language_en.gif"=20
            width=3D64></A></TD>
          <TD><A href=3D"http://www.cn.ca/search/en_search.shtml"><IMG=20
            title=3DSearch height=3D40 alt=3DSearch=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_nav_search_en.gif"=20
            width=3D60></A></TD>
          <TD><IMG id=3DtoolbarContactPhone title=3D"Emergency: =
1-800-465-9239"=20
            height=3D40 alt=3D"Emergency: 1-800-465-9239"=20
            =
src=3D"http://www.cn.ca/images/templates/toolbar_emergency_en.gif"=20
            width=3D236></TD></TR></TBODY></TABLE></TD></TR>
  <SCRIPT language=3Djavascript type=3Dtext/javascript>
document.body.s_semaphore =3D 1;
function vlogin(){
	cname =3D "LOGIN";
	logstatus =3D document.cookie;
	start=3Dlogstatus.indexOf(cname+'=3Dlogin');=20
//	start=3Dlogstatus.indexOf(cname+'=3D');=20
	if (start =3D=3D -1 )
		{
		window.location.href=3D =
"http://"+Corp_server+"/velocity/en_velocity.shtml"
		}	=09
	else
		{=09
		if(parent.frames.length =3D=3D 0)
			{=20
			window.location.href =
=3D"https://"+Velocity_server+"/ebusiness/common/html/english/mainmenu/cn=
_frameset.html";
			}
		else=20
			{
			parent.frames[9].location.href=3D =
"https://"+Velocity_server+"/ebusiness/common/html/english/mainmenu/cn_st=
atic.html";
			}
		}
	}
=09
</SCRIPT>

  <TR>
    <TD>
      <TABLE id=3Dmenu cellSpacing=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD><A onmouseover=3D"swap('nav_1st_1');" =
onmouseout=3Drestore();=20
            href=3D"http://www.cn.ca/about/en_about.shtml"><IMG =
id=3Dnav_1st_1=20
            title=3D"About CN" height=3D41 alt=3D"About CN"=20
            =
src=3D"http://www.cn.ca/images/templates/main_nav_about_en.gif"=20
            width=3D77></A></TD>
          <TD><A onmouseover=3D"swap('nav_1st_5');" =
onmouseout=3Drestore();=20
            href=3D"http://www.cn.ca/investor/en_index.shtml"><IMG =
id=3Dnav_1st_5=20
            title=3DInvestors height=3D41 alt=3DInvestors=20
            =
src=3D"http://www.cn.ca/images/templates/main_nav_inv_en.gif"=20
            width=3D97></A></TD>
          <TD><A onmouseover=3D"swap('nav_1st_2');" =
onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/productsservices/en_index.shtml"><IMG=20
            id=3Dnav_1st_2 title=3D"Shipping by Product" height=3D41=20
            alt=3D"Shipping by Product"=20
            =
src=3D"http://www.cn.ca/images/templates/main_nav_shipping_en.gif"=20
            width=3D128></A></TD>
          <TD><A onmouseover=3D"swap('nav_1st_3');" =
onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/customer_centre/en_customer.shtml"><IMG=20
            id=3Dnav_1st_3 title=3D"Customer Centre" height=3D41 =
alt=3D"Customer Centre"=20
            =
src=3D"http://www.cn.ca/images/templates/main_nav_customer_en.gif"=20
            width=3D111></A></TD>
          <TD><A onmouseover=3D"swap('nav_1st_4');" =
onmouseout=3Drestore();=20
            href=3D"http://www.cn.ca/specialized/en_index.shtml"><IMG =
id=3Dnav_1st_4=20
            title=3D"Specialized Services" height=3D41 =
alt=3D"Specialized Services"=20
            =
src=3D"http://www.cn.ca/images/templates/main_nav_specialized_en.gif"=20
            width=3D125></A></TD>
          <TD><A onmouseover=3D"swap('nav_1st_6');" onclick=3Dvlogin()=20
            onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/about/media/news_releases/2007/3rd_quarter/en_Ne=
ws20070926.shtml#"><IMG=20
            id=3Dnav_1st_6 title=3D"Velocity Login" height=3D41 =
alt=3D"Velocity Login"=20
            =
src=3D"http://www.cn.ca/images/templates/main_nav_velocity_en.gif"=20
            =
width=3D121></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><A=20
name=3Dtop></A>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
o_image =3D document.getElementById('nav_1st_6');
if(parent.frames.length =3D=3D 0) {
	o_image.src =3D '/images/templates/main_nav_velocity_en.gif';
	o_image.alt =3D "Velocity Login";
	o_image.title =3D "Velocity Login";
	}
else {
	o_image.src =3D '/images/templates/main_nav_velocity_loggedin_en.gif';
	o_image.alt =3D "Velocity Home";
	o_image.title =3D "Velocity Home";
	}
</SCRIPT>

<TABLE id=3Dsubmenu cellSpacing=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD>
      <TABLE cellSpacing=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD><A onmouseover=3D"swap('nav_2nd_1');" =
onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/about/company_information/en_index.shtml"><IMG=20
            id=3Dnav_2nd_1 title=3D"Company Information" height=3D24=20
            alt=3D"Company Information"=20
            src=3D"http://www.cn.ca/images/templates/sub_nav_1_1_en.gif" =

            width=3D174></A></TD>
          <TD><A onmouseover=3D"swap('nav_2nd_2');" =
onmouseout=3Drestore();=20
            href=3D"http://www.cn.ca/about/media/en_index.shtml"><IMG =
id=3Dnav_2nd_2=20
            title=3DMedia height=3D24 alt=3DMedia=20
            src=3D"http://www.cn.ca/images/templates/sub_nav_1_2_en.gif" =

            width=3D74></A></TD>
          <TD><A onmouseover=3D"swap('nav_2nd_3');" =
onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/about/community/en_index.shtml"><IMG=20
            id=3Dnav_2nd_3 title=3DCommunity height=3D24 alt=3DCommunity =

            src=3D"http://www.cn.ca/images/templates/sub_nav_1_3_en.gif" =

            width=3D97></A></TD>
          <TD><A onmouseover=3D"swap('nav_2nd_4');" =
onmouseout=3Drestore();=20
            href=3D"http://www.cn.ca/about/careers/en_index.shtml"><IMG=20
            id=3Dnav_2nd_4 title=3DCareers height=3D24 alt=3DCareers=20
            src=3D"http://www.cn.ca/images/templates/sub_nav_1_4_en.gif" =

            width=3D71></A></TD>
          <TD><A onmouseover=3D"swap('nav_2nd_5');" =
onmouseout=3Drestore();=20
            href=3D"http://www.cn.ca/about/safety/en_index.shtml"><IMG=20
            id=3Dnav_2nd_5 title=3DSafety height=3D24 alt=3DSafety=20
            src=3D"http://www.cn.ca/images/templates/sub_nav_1_5_en.gif" =

            width=3D69></A></TD>
          <TD><A onmouseover=3D"swap('nav_2nd_6');" =
onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/about/environment/en_SEEnvironment.shtml"><IMG=20
            id=3Dnav_2nd_6 title=3DEnvironment height=3D24 =
alt=3DEnvironment=20
            src=3D"http://www.cn.ca/images/templates/sub_nav_1_6_en.gif" =

            width=3D115></A></TD>
          <TD><A onmouseover=3D"swap('nav_2nd_7');" =
onmouseout=3Drestore();=20
            =
href=3D"http://www.cn.ca/about/surplus_assets/en_index.shtml"><IMG=20
            id=3Dnav_2nd_7 title=3D"Sale of Surplus Assets" height=3D24=20
            alt=3D"Sale of Surplus Assets"=20
            src=3D"http://www.cn.ca/images/templates/sub_nav_1_7_en.gif" =

            width=3D175></A></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD><IMG height=3D17 alt=3D""=20
      src=3D"http://www.cn.ca/images/templates/sub_bottom_default.gif"=20
    width=3D775></TD></TR></TBODY></TABLE>
<TABLE id=3Dmain cellSpacing=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD width=3D"1%"><IMG height=3D1 alt=3D""=20
      src=3D"http://www.cn.ca/images/templates/spacer.gif" =
width=3D132><BR><!-- include left navigation -->
      <UL class=3Dnav_3rd id=3Dnav_3rd>
        <LI><A id=3Dnav_3rd_1=20
        =
href=3D"http://www.cn.ca/about/media/news_releases/en_index.shtml">News=20
        Releases</A>=20
        <UL class=3Dnav_4th id=3Dnav_3rd_1_4th>
          <LI><A id=3Dnav_3rd_1_4th_1=20
          =
href=3D"http://www.cn.ca/about/media/news_releases/2008/1st_quarter/en_Ne=
ws1stQuarter2008.shtml">2008</A>=20

          <LI><A id=3Dnav_3rd_1_4th_2=20
          =
href=3D"http://www.cn.ca/about/media/news_releases/2007/4th_quarter/en_Ne=
ws4thQuarter2007.shtml">2007</A>=20

          <LI><A id=3Dnav_3rd_1_4th_3=20
          =
href=3D"http://www.cn.ca/about/media/news_releases/2006/4th_quarter/en_Ne=
ws4thQuarter2006.shtml">2006</A>=20

          <LI><A id=3Dnav_3rd_1_4th_4=20
          =
href=3D"http://www.cn.ca/about/media/news_releases/2005/4th_quarter/en_Ne=
ws4thQuarter2005.shtml">2005</A>=20
<!--		<li><a id=3D"nav_3rd_1_4th_4" =
href=3D"/about/media/news_releases/2004/4th_quarter/en_News4thQuarter2004=
.shtml">2004</a></li>
	<li><a id=3D"nav_3rd_1_4th_5" =
href=3D"/about/media/news_releases/2003/4th_quarter/en_News4thQuarter2003=
.shtml">2003</a></li>-->
          <LI><A id=3Dnav_3rd_1_4th_5=20
          =
href=3D"http://www.cn.ca/about/media/news_releases/archive/en_NewsArchive=
.shtml">Archives</A>=20
          </LI></UL>
        <LI><A id=3Dnav_3rd_2=20
        =
href=3D"http://www.cn.ca/about/media/media_image_centre/en_NewsMediaImage=
Library.shtml">Media=20
        Image Centre</A>=20
        <LI><A id=3Dnav_3rd_3=20
        =
href=3D"http://www.cn.ca/about/media/media_updates/en_index.shtml">Media =

        Updates</A>=20
        <LI><A id=3Dnav_3rd_4=20
        =
href=3D"http://www.cn.ca/about/media/contacts/en_NewsMediaContacts.shtml"=
>Contacts</A>=20
        </LI></UL></TD>
    <TD id=3Dcontent width=3D"99%">
      <H2><IMG title=3DMedia height=3D30 alt=3DMedia=20
      src=3D"http://www.cn.ca/images/templates/H2_media_en.gif" =
width=3D360></H2>
      <H3>News Releases : 2007</H3>
      <H4>2007 3rd Quarter News Releases</H4><!-- begin body content  =
-->
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D616 border=3D0>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop width=3D616>
            <H4>CN to acquire key operations of Elgin, Joliet and =
Eastern=20
            Railway for US$300 million</H4>
            <P align=3Djustify><STRONG>MONTREAL and PITTSBURGH, Sept. =
26, 2007=20
            =97</STRONG> Canadian National Railway Company (CN) (NYSE: =
CNI, TSX:=20
            CNR) and United States Steel Corporation (NYSE: X) announced =
today=20
            that their respective Boards of Directors have approved an =
agreement=20
            under which CN will acquire the major portion of the Elgin, =
Joliet=20
            and Eastern Railway Company (EJ&amp;E) for US$300 million=20
            (approximately C$301 million). The acquisition will =
significantly=20
            improve the fluidity of CN=92s rail operations in the =
Chicago region,=20
            rewarding customers with faster transit times and more =
reliable=20
            service. Under the agreement, U. S. Steel=92s Transtar =
subsidiary will=20
            retain railroad assets, equipment, and employees that =
support the=20
            Gary Works site in Northwest Indiana and the steelmaking =
operations=20
            of U. S. Steel. Transtar=92s remaining operations will =
become the Gary=20
            Railway. </P>
            <P align=3Djustify>The acquisition is subject to regulatory =
review by=20
            the U.S. Surface Transportation Board (STB). Both CN and U. =
S. Steel=20
            believe that if the application is approved by the STB as =
filed, it=20
            should allow closing in mid-2008.</P>
            <P align=3Djustify>EJ&amp;E, a Class II railroad, operates =
over 198=20
            main line miles of track encircling the City of Chicago from =

            Waukegan, Ill., on the north, to Joliet, Ill., on the west, =
to Gary,=20
            Ind., on the southeast, and then to South Chicago.</P>
            <P align=3Djustify>CN President and Chief Executive Officer =
E. Hunter=20
            Harrison said: =93This acquisition is good news for =
railroading in=20
            Chicago. Chicago is essential to CN=92s rail operations, yet =
it=20
            presents us with major operational challenges. This =
transaction will=20
            improve rail operations on the CN system and the rest of the =
Chicago=20
            rail network by moving CN trains out of the urban core to =
EJ&amp;E=20
            lines on the outskirts of the Chicago metropolitan area.=94 =
</P>
            <P align=3Djustify>U. S. Steel Chairman and Chief Executive =
Officer=20
            John P. Surma said: =93This transaction is positive for all =
involved.=20
            Our EJ&amp;E employees and customers, and the communities in =
which=20
            we operate will benefit from the EJ&amp;E being part of a =
large=20
            Class I railroad, while U. S. Steel will be able to focus on =
the=20
            railroad assets serving Gary Works.=94 </P>
            <P align=3Djustify>Harrison said: =93This acquisition not =
only will give=20
            CN an opportunity to expand its service to the North =
American steel=20
            industry, but also will drive new efficiencies and operating =

            improvements on CN=92s network. Streamlined rail operations =
and=20
            reduced congestion resulting from this acquisition will =
benefit=20
            current CN and EJ&amp;E customers, the City of Chicago, =
nearby=20
            communities, and the overall rail network in the =
region.=94<BR>CN=20
            plans to invest approximately US$100 million for =
integration, new=20
            connections, and infrastructure improvements to add capacity =
on the=20
            EJ&amp;E line and allow network synergies to be realized =
over time.=20
            The acquisition, which will be financed with debt and =
cash-on-hand,=20
            is expected to be slightly accretive to CN=92s diluted =
earnings per=20
            share in the first year following STB approval.</P>
            <P align=3Djustify>The combination of the two rail networks =
is=20
            straightforward and will allow EJ&amp;E=92s existing traffic =
to be=20
            moved more efficiently and at lower cost. There are no =
shippers=20
            served only by CN and EJ&amp;E (2=96to-1 shippers) who will =
lose=20
            direct rail competition as a result of the acquisition, nor =
will=20
            there be any other adverse impacts on competition. As in =
past=20
            transactions, CN is committed to keeping gateways open and =
honoring=20
            trackage rights agreements with all connecting carriers. =
</P>
            <P align=3Djustify>Gordon T. Trafton, CN=92s Senior =
Vice-President,=20
            Southern Region, said: =93This acquisition will bring =
EJ&amp;E=92s=20
            experienced railroaders into the CN family and will bridge =
what has=20
            been the missing link to connect the Eastern, Western, and =
Southern=20
            regions of CN=92s network. We will apply our proven business =
model in=20
            implementing this acquisition using the measured, =
step-by-step=20
            approach we have employed in our previous transactions to =
flawlessly=20
            integrate these operations.=94</P>
            <P align=3Djustify>CN will host a conference call for media =
and the=20
            investment community to discuss the transaction at 10 a.m. =
Eastern=20
            time today. Participants may dial 1-866-542-4239 or =
1-416-641-6114.=20
            CN will also webcast the call via the "<A=20
            href=3D"http://www.cn.ca/investors">Investors</A>" section =
of its=20
            website.</P>
            <P align=3Djustify>More information on the transaction, =
including a=20
            map of the areas served by EJ&amp;E and CN, is available at =
<A=20
            =
href=3D"http://www.cn.ca/EJEacquisition">www.cn.ca/EJEacquisition</A>=20
            or click on the EJ&amp;E Acquisition icon on CN=92s home =
page.</P>
            <P align=3Djustify><STRONG>Franchise Facts for Elgin, Joliet =
&amp;=20
            Eastern Railway Company</STRONG></P>
            <UL>
              <LI>The Elgin, Joliet &amp; Eastern Railway Company is a =
Class II=20
              railroad owned by United States Steel=92s Transtar =
subsidiary.=20
              <LI>EJ&amp;E operates over 198 main line miles of track =
encircling=20
              the City of Chicago from Waukegan, Ill., on the north to =
Joliet,=20
              Ill., on the west, to Gary, Ind., on the southeast, and =
then to=20
              South Chicago.=20
              <LI>EJ&amp;E serves steel mills, petroleum and chemical =
plants,=20
              and a diverse group of distribution centers, handling a =
full range=20
              of commodities, from bulk raw materials to finished =
products. Coal=20
              is also moved to utility plants in Illinois and Indiana.=20
              <LI>EJ&amp;E owns 58 locomotives and operates a fleet of =
general=20
              service and specialized railroad equipment.=20
              <LI>Interline rail connections exist with all of the major =

              railroads entering Chicago, which gives EJ&amp;E customers =
access=20
              to the North American rail system.=20
              <LI>EJ&amp;E employs 700 people in Illinois and Indiana. =
</LI></UL>
            <P align=3Djustify><STRONG>Franchise Facts for Canadian =
National=20
            Railway Company</STRONG></P>
            <UL>
              <LI>CN operates the largest rail network in Canada and the =
only=20
              transcontinental network in North America. The company =
operates=20
              approximately 20,300 route miles in eight Canadian =
provinces and=20
              16 U.S. states.=20
              <LI>CN has the shortest route from the Atlantic coast to =
the U.S.=20
              Midwest through the Paul M. Tellier Tunnel between Sarnia, =
Ont.,=20
              and Port Huron, Mich. The tunnel handles double stack =
containers=20
              and the largest automotive carriers in service.=20
              <LI>CN=92s business strategy is guided by five core =
principles:=20
              providing good service, controlling costs, focusing on =
asset=20
              utilization, committing to safety, and developing people. =
CN=92s=20
              efforts to increase speed, efficiency, and reliability =
through the=20
              execution of its precision railroading concept are ongoing =
and=20
              never-ending.=20
              <LI>CN=92s revenue is derived from movements of a balanced =
mix of=20
              goods between diverse origins and destinations. =
Approximately 77=20
              percent of CN=92s revenue comes from U.S. domestic =
operations,=20
              Canada/U.S. transborder operations, and offshore traffic, =
with 23=20
              percent generated from Canadian domestic operations.=20
              <LI>CN has the lowest operating ratio among Class I =
railroads.=20
              <LI>CN employs approximately 21,700 people in the U.S. and =
Canada.=20
              </LI></UL>
            <P align=3Djustify>CN =96 Canadian National Railway Company =
and its=20
            operating railway subsidiaries =96 spans Canada and =
mid-America, from=20
            the Atlantic and Pacific oceans to the Gulf of Mexico, =
serving the=20
            ports of Vancouver, Prince Rupert, B.C., Montreal, Halifax, =
New=20
            Orleans, and Mobile, Ala., and the key metropolitan areas of =

            Toronto, Buffalo, Chicago, Detroit, Duluth, Minn./Superior, =
Wis.,=20
            Green Bay, Wis., Minneapolis/St. Paul, Memphis, St. Louis, =
and=20
            Jackson, Miss., with connections to all points in North =
America.=20
            CN=92s 2006 revenue was C$7.9 billion (US$7.9 billion).</P>
            <P align=3Djustify>United States Steel Corporation is an =
integrated=20
            steel producer focused on high value-added steel sheet and =
tubular=20
            products. U. S. Steel has major production operations in the =
United=20
            States and Central Europe with more than 46,000 employees =
worldwide=20
            and an annual raw steel production capability of 26.8 =
million net=20
            tons. The company is also engaged in several other business=20
            activities including the production of iron ore pellets in =
the=20
            United States and the production of coke in both the United =
States=20
            and Central Europe; transportation services (railroad and =
barge=20
            operations); and real estate operations.</P>
            <P align=3Djustify><EM>This news release contains =
forward-looking=20
            statements. CN cautions that, by their nature, =
forward-looking=20
            statements involve risk and uncertainties, including the =
assumption=20
            that, while CN expects there may be continued weakness in =
certain=20
            segments of the North American economy in the near term, =
positive=20
            economic conditions in North America and globally will =
continue, and=20
            that its results could differ materially from those =
expressed or=20
            implied in such statements. Important factors that could =
cause such=20
            differences include, but are not limited to, industry =
competition,=20
            legislative and/or regulatory developments, compliance with=20
            environmental laws and regulations, various events which =
could=20
            disrupt operations, including natural events such as severe =
weather,=20
            droughts, floods and earthquakes, the effects of adverse =
general=20
            economic and business conditions, inflation, currency =
fluctuations,=20
            changes in fuel prices, labor disruptions, environmental =
claims,=20
            investigations or proceedings, other types of claims and =
litigation,=20
            and other risks detailed from time to time in reports filed =
by CN=20
            with securities regulators in Canada and the United States.=20
            Reference should be made to CN=92s most recent Form 40-F =
filed with=20
            the United States Securities and Exchange Commission, its =
Annual=20
            Information Form filed with the Canadian securities =
regulators, its=20
            2006 Annual Consolidated Financial Statements and Notes =
thereto and=20
            Management=92s Discussion and Analysis (MD&amp;A), as well =
as its 2007=20
            quarterly consolidated financial statements and MD&amp;A, =
for a=20
            summary of major risks.</EM></P>
            <P align=3Djustify>&nbsp;</P>
            <P align=3Djustify>&nbsp;</P></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D540 border=3D0>
        <TBODY>
        <TR vAlign=3Dtop>
          <TD colSpan=3D3><STRONG><EM>For=20
            =
CN:</EM>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;=20
            =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

            =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

            =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

            </STRONG><STRONG><EM>For US Steel:</EM></STRONG></TD></TR>
        <TR vAlign=3Dtop>
          <TD width=3D11>&nbsp;</TD>
          <TD width=3D254>
            <P><STRONG>Media</STRONG><BR>Mark Hallman <BR>(905) =
669-3384</P>
            <P>Jim Kvedaras <BR>(708) 332-3508</P>
            <P><STRONG>Investment Community</STRONG><BR>Robert=20
            Noorigian<BR>(514) 399-0052</P>
            <P><BR><BR></P></TD>
          <TD width=3D275>
            <P><STRONG>Media</STRONG><BR>John Armstrong<BR>(412) =
433-6792</P>
            <P><STRONG>Investment Community</STRONG><BR>Nick =
Harper<BR>(412)=20
            433-1184<BR><BR></P></TD></TR>
        <TR vAlign=3Dtop>
          <TD>&nbsp;</TD>
          <TD>&nbsp;</TD>
          <TD>&nbsp;</TD></TR></TBODY></TABLE><!-- end body content =
--></TD></TR></TBODY></TABLE></TD><TD=20
width=3D"1%"><!-- include footer --></TD>
<DIV id=3Dfooter>
<P id=3DPrinterFriendlyLink></P></A>
<P>This page was last updated on
<SCRIPT type=3Dtext/javascript>modDate();</SCRIPT>
 </P>
<P><A =
href=3D"http://www.cn.ca/my_homepage/en_home.shtml?home=3D1">Change my=20
homepage</A></P>
<HR>

<P>By accessing and using this Web site, you agree to its <A=20
href=3D"http://www.cn.ca/en_HomeLegalTermsAndConditions.shtml">Legal =
Terms and=20
Conditions</A>.<BR><A =
href=3D"http://www.cn.ca/en_HomePrivacy.shtml">Privacy=20
Policy</A><BR>=A9 2008, Canadian National Railway Company </P><!-- =
SiteCatalyst Code=20
Copyright 1997-2005 Omniture, Inc.=20
More info available at http://www.omniture.com -->
<SCRIPT language=3DJavaScript =
src=3D"http://www.cn.ca/scripts/s_code.js"></SCRIPT>

<SCRIPT language=3DJavaScript><!--
function SiteCatalyst(){
	/* SiteCatalyst Variables */
	=
s.pageName=3Dget_hierarchy(window.location.pathname)+get_pagename(window.=
location.pathname); // in statistics.js file. page naming rules

	//alert(s.pageName);
	/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
	var s_code=3Ds.t();if(s_code)document.write(s_code)//-->
}
</SCRIPT>
<!-- End SiteCatalyst Code -->
<SCRIPT language=3Djavascript type=3Dtext/javascript>
	globalvarip =3D "69.143.3.229"
// init evar variables here to force cleanup of presistent variables on =
Omniture server side.
	s.eVar1 =3D "";
	s.eVar2 =3D "";
	s.eVar3 =3D "";=09
	s.eVar4 =3D "";
	if(oPage.onloadFunctionToCall)
	   =
oPage.onloadFunctionToCall=3D"advert_usage('flash','onLoad');advert_usage=
('gif','onLoad');SiteCatalyst();"+"document.body.s_semaphore =3D =
0;"+oPage.onloadFunctionToCall;
	else
		=
oPage.onloadFunctionToCall=3D"advert_usage('flash','onLoad');advert_usage=
('gif','onLoad');SiteCatalyst();"+"document.body.s_semaphore =3D 0;"
</SCRIPT>
</DIV></BODY></HTML>

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/top_logo_printable.gif

R0lGODlhZwA/APcAAOYuLvOenu99ffOdnfSkpOhDQ/739/nR0frT0/nMzOUrK+hCQuQjI+taWuYv
L+QkJOc5Oe5wcOQiIv74+Pvd3etZWf719exkZOpTU+5ycv3u7v/+/vSlpf/9/e5zc/75+fzk5OUt
LfOamvSjo+UnJ+UsLPnPz+c6Ouc9PeYxMeY0NPKTk+hERPzp6e1qavOfn/WwsOlMTP7z8+lHR+pS
UvKRkf709OUmJvWtrfWrq+g/P/Obm/a4uPKVlf729vOgoP76+ulKSu1ra/rX1/CHh+YyMvjGxvjI
yPCAgO52dvKWlvGJifa3t/fBwfazs+c4OO1tbfrW1vjJyec7O+1paffAwOc+PvGKivCBgfrY2PKX
l+Y1Ne53d+tbW/e/v+tXV/aysutdXfnLy/vf3+UlJfvg4PSmpvWpqexiYuUoKPe9vf3t7eYwMPCC
gvzm5vCDg/3w8PrU1Pvh4f/8/O98fOhAQOUqKuc2Nva0tPKUlPjHx/Snp+pUVPzj4+1oaPzo6Oc8
PPWvr/77++5vb/ShofnKyuUpKelISPzi4vnS0vOcnOhFReQhIf///wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABnAD8A
AAj/ABsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
MGPKnEmzps2bOHPq3Mmzp8+fM204SbIAgNGjSJMqXQqAjQmGB2rwcQBAhQszLToSUDolIZNDjMKK
HUu2rFmyYhQi8nDD7IkRczYOKKvgYAciZ/PqNcsgQcIDC/ZCgaMxQFkAB/HuXby3L8IDKhhfAJLR
MFnEBXkw3pzXsUEfQTgnqXy4oIwCnFOTleDXYA7VVzBaHot5IBjVuMVKMTghBm4tF2eLrS0wg1ka
SgIMWM68ufPnzwP8MZhIQlkHWBRdyAvDovCwxBud/yhLw0bJQGUf8BC4QcBZO00qfmcUXkFZESZf
lAX0YaAgIWcVcQBF84UHQFkcmDQfCxMQZEEFZ+lQxkQFFnQgWQQoWFYBBhTUQmhmxbCGRBUSdOFY
GZY0H4cGUbDIWQ1oEFGJA50oVookrdihQUNAcBYalD1Eo0A2hoXjSDoiVIUhZyEB0ZCNFMnIkSIl
iRAOD5xVg5ClmVgWlSFZiRAHeeHXEJRSggmSmAitcBYD3TGE5pcaksWiQht4cJYDR8jZZY10qrjh
jgr5QMVZEDyl0JwY1jnWnQs9eJYVICz6J5GB5jioQ32gZhYGMiLEKIqOigUpQxSgAKMMol4aZaZI
bv/60AFFnOVHfwaNemOpYZ3akBdtmfXGQboaySsjvja0R5Zm9ZCrq1ImWNIPZS1AKEQ75EVIQdRe
VpB9ZDlbkptkzYCrREucRQYeBOVRVgkFqVpupSNRUEdZFWxQkXFmhVCIQGMERtYTBdFhFgQZCKDw
wgw37PDDDkewhVlOVmTBdmYpIIQHd5jFRUFq5CbyYhLocZEGGOBmREETpDzyy2WF0QFGILCQWhcz
F5RAGjD3zEgIcWgUhY+MhYAAQiP4/PIDOHB0RAqMqTmQCCUojZsDZ3hkhA56ATACQwi4QILVjJEQ
QRYgudGGlCQMMsRDCOzwBVN01013Ay8cPZIcOUQVkAIADQSgN1CEF2744YgnrvjiDQUEADs=

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/top_logo.gif

R0lGODlhdABRAPcAAOYuLsHCwvOenu99ffOdnehDQ/SkpP739/nR0frT0/nMzOQjI+taWuc5OeYv
L+QkJOUrK+np6ehCQuQiIuUtLepTU+UnJ/Slpf74+OtZWfSjo+5wcPzk5Pvd3f75+f719e5ycuzs
7O5zc+xkZPOamv/9/f3u7v/+/ulKSs/Q0fjIyPrX1/zp6fa4uPj4+Obn5/Ofn/KVleUsLPCAgOfn
5+52duc6Ouc9Pf7z8+Y0NNjZ2fKTk/OgoOUmJuYyMt7e3upSUulHR+1qavObm/nPz/WwsP729uYx
MfKRkelMTP709O1ra/76+vWrq+g/P/Hx8fb29uhERPjGxszNzfWtrfCHh/WpqfWvr/n5+fSnp+Tk
5OtbW+Hi4+vr6+hFRffAwP3t7fazs+Y1NeUlJfvg4PKXl/e/v/rY2PjJyelISPrU1Pa3t9vc3P3w
8OhAQOYwMMTFxe3t7fnS0vKWluc+Puc7O+tdXfShof77+/zm5vv7++53d+UoKPCCgva0tPGJieUq
KvSmpu1tbf/8/NnZ2upUVPf39+1oaO5vb/zo6POcnPvf3+c2Nu1paec4OPe9vetXV/zi4vCDg/vh
4faysvnLy/rW1vfBwe98fPCBgfnKyvKUlNra2vGKiuc8PPjHx/zj4+rq6+UpKexiYujo6OQhIf//
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAB0AFEA
AAj/AE0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
MGPKnEmzps2bOHPq3Mmzp8+fQIMKHRpTSZgaEgAoXcq0qdOnAN4QYYgASSEHAHIICcSiowGndSyu
SVOqrNmzaNOqRVtJYSQRPdTa0DBoI4G0ECiWqLK2r1+1CxQkRCDhr6A2GgWkBUCR79/HfwMjRJAD
8ggmGRWjZSyxBeTPfSUbNIICdI3MiyXiKAC6NdoJgg02cd0Jo+aznCFScs3bLBqDGJLwLnPxttnc
D0GoBTJHAIHn0KNLnz5dQCKDciakdZBJ0Yi+RSwa/y+L3KGNtECUlLyS9kELgScGrAV0qeL4UuUb
QkhLwiSMtJ54MBAeS6zlAwIU3ZcfQwCkdYFJ90WBAUEfZLCWE2RMpKBEDaJlAIRpFXBAQSyUplYS
YEi0YUQdnvVhSfeJaFAHXqzFgAkRrQhRi2a9SFKMIxq0QgNrjYLZQzo+xGNZPo4EJEJfiLLWDBAl
6dCSpTQp0pMIUfHAWkggmRqLaWkZEpcIXdBXfw1Z2RCWZoKEJkI7rLVAeAy5yWCZIKIlo0IniLCW
AyrkOeaOfMIYYpAKGdHIWg1MpZCeC8HZ51l/LlThWnRwMOmhSib646IOgcKaWhXgiBClClmqqJ+M
Mv/UwQ024rAqqFeK6iSpDyHgw1qHCGgQqwm5OiqsEZkRl1qSHEQsQsbuimxEWXypVgzD4vqmgybx
kJYEsT40RF93FOTtZhLthxa2JdWJVhDCSvTHWmP4QdAmackgEa3vejpSB26klcEJFSmnFgWaCLRI
YWg5IhEmajUAwgAUV2zxxRhnjPEGYqhFZUUffKcWBEuIwIhae0j0SG8sPzbBJxeZUAFvUkiEwcwt
55yWHSVgxEEUrW3Rs0QK8KHz0aVQoIZGlhAJGQUJVKQB0jk/QAVHKhwBWZwQkSAD1bw5YIVHUjjh
FwAaZJSAEBaADZkFG5wBUh59YGkBIitwlMAQkEC45ffffjMAQ9QjTdLEBkcAwIAAhBPl+OOQRy75
5JRXbvnlmGeu+eacd+7556CHLnpKLtCgwxRwBKD66qy37vrrsMcu++y01077QS+kwAYpEZDi++/A
By/88MQXb/zxyCeffEF6/BAKFFCEoPz01Fdv/fXCF/QDF1g80QX24IcvPvYEvcCJIXH0Pv767LcP
/EAupPCE9O7Xbz/4A9FACP339+8/8gPRgRbU978CGvB3A5kCAQ/IQP8FBAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_nav_map_en.gif

R0lGODlhcgAoAMQAAPjExOtcXPGJie96eug/P/vh4f3w8OYwMOlNTfKXl/SmpvrT0/a1te1ra//+
/u1qavWvr+QjI+UrK+YzM/GQkOc2Nuc3N+QkJOQhIf///wAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAByACgAAAX/YCaOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRK
rVqv2Kx2y+16v+AwzwF5WCQRjHrNbrvf8Lh8Tq/LTQ6Kfc/v+/9vJhCAhIWGhCYPh4uMjW0mE3UH
CiIJCAACagAIawkABxgDCRieAAAYpqYJDA2hmxgCmQkGBqOoppmkA66gGJenagyvGAoMa6m7cyYX
dQoLBAcBARkFahkBxxm7AqcACtIYAQLXl5kABuaxBQQEBZkZAg0Gu5gE6GvTGZz21xj2BZwwwBvQ
704JO/rwZQCwq+CtatxQ5VIzTU3EAt4wGAiwIJeABQKxYZJois00BpkE/zDop1KBrX4jDZKoU1Hh
gFMOMRUQ1w1TrpoNChy49izDUGzhMggUQJATgAIGelHUBpIBQWwLBgwAGdJesjgmaCpViGFnTqaY
esaaqoZAhgZFA1QrWDHDAgMKNEENONWt26N+/QoUkVfZwToZCJAVQAmpxAN4u01MusYAAGOWjRVI
NmCuNKMkubJdICzkuBHvHBueWeeymmhKh54ltVCiybGo7p3LpABYxn7zJLqdWHFcagC2EoB0uHpE
GjoICmBkULPxsUxuu43AVpM2tgT9DiyQvgBUv2K2xwWsiCCxwAZv1cA/irBEJDvSpDp6g4Dv/j6J
/CfggPWRMAiBCCbIBhoeeijo4IAnkPFABWg8aOEhYmSo4YYcdthECAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_nav_contacts_en.gif

R0lGODlhQwAoALMAAPjExOtcXPGJieYwMOg/P/3w8PSmpulNTfrT0+96evvh4fa1tfKXl+1ra+Qh
If///yH5BAAAAAAALAAAAABDACgAAAT/8MlJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv
/8Ag0EEsGo/IpHLJbDqf0Kh0Sq1ar9hs8QB4FBKOhOKxGIQBAQeXC2iDDYviwCBhMNpth6DwaGAV
BgMEBwEPAQMLAHoPBg6FAwEGCAEEBAUKB0SSBJCEDwKUDwcDZlYBBUYMcWoPAwIIBQSFRAKKegsG
DESiR4aOvFi1RgACRYa1BqAPtLYICQkIv0i+DrDFV8JFxMYBtZYNy3qKBA+V5bO9aQ4DXWCmCkYG
jQ7kBMIAdMyLE8Xl6UaJrgwocG1AggJmBMATBi7cPV0OGEQDsKoUNTMM5lk5iABBMQMFNWBlyjaG
2YA+RMANOKBAAcVdaSwBKKBOYICasrLcLGWEEE8tQIMKHUq0qNGjQIUoXcq0KYYIADs=

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_nav_guide_en.gif

R0lGODlhSAAoALMAAPGJifjExOtcXPvh4elNTeg/P/SmpvrT0+96euYwMPa1te1ra/KXl/3w8OQh
If///yH5BAAAAAAALAAAAABIACgAAAT/8MlJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv
/8CgcKhzGI/IpHLJbDqf0Kh0Sq1ar9isdrstBB4HByEwDpgRCDMZKThIEA4GPA4npwMGgfG+1hoU
DgUOAg8JAgYHAgUAiQIJRwUPBg4JBA4BAEaYDg8CjIcPCw6fjlsBgEaERgABq61JAANJm5eZnaxG
Bq24XA4LDwGCqqOvsQAAgkYKmQQClrSbt6+qxshcCA2yw7zVybVxA63Qtp7TD6MDx95aBJ3bxa9I
AJPE39/Sq2G8XI8JDwXvXCkhZAmXAXoD4OBb0CDTvi2IBgAKOGpCpiMAgIULNODARk6eIiSkW2Vx
iyFLVwzpOeKsl8uXMGPKnEmzpk0tRHLq3MlTRAQAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_nav_faqs_en.gif

R0lGODlhLgAoALMAAPGJieYwMPvh4fjExO96eutcXOg/P/rT0/3w8PSmpva1te1ra+lNTfKXl+Qh
If///yH5BAAAAAAALAAAAAAuACgAAATG8MlJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33jeOXzv
/8CgcEgsGo/IpHLJbAIJgygjMAD0CIKHIsBLPBAGpw9wKBQChAOCV3icFQMHNhAW9wBxngIgWDga
CjwMDwF8XHZ3AgAAAQ8GCQ0OVT1uBggCBYg8fItYcgKSVjxuDgxZdXZ4ehQMCQk8Bo48AYqaqg4P
fg4HDQQIXHwOhwcEtnELhDwNBw4JCGp+WAcCh5pEBgSkDmbWSQuM3eHi4+RJOufo6RoRADs=

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_nav_language_en.gif

R0lGODlhQAAoALMAAOtcXPjExPGJifSmpug/P/rT0+YwMO96evKXl/vh4f3w8O1ra+lNTfa1teQh
If///yH5BAAAAAAALAAAAABAACgAAAT/8MlJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv
/0CcY0gsGo/IpHLJbDqf0Kh0Sq1ar86AFsHQBhbEQYMYGAwRh6Eg8SgMAd9h10EItK0PAYABeAAE
DwR0CgkMQxKCAQIOBwpgAEMDBWMOfQ5idHiQlQ+HkAINAwiHZQ6KpqNFjg8GnKaUeAN6fQAICkMF
BwduDg+NBqcKm0MLCQ4Jj50LDwGCVQ+yAH12aQSB1oJ+sqd+RQNm366MhJpvnQJugBOLfgAJp6dE
ChO3lnLdVPiWDIEBqQhuuhXIwyiBIAN9Whl4sMCSwkDPNtlLAAiMg2ULIR0g6GBNAAUALIkUQGBJ
UgJYWKwgaOAsCUJDKbEYGDAsps0jBgSkucmzp8+fSYIIHUq06IMIADs=

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_nav_search_en.gif

R0lGODlhPAAoAMQAAPGJifjExOtcXOg/P/vh4e96euYwMP3w8PKXl/SmpvrT0+1ra+lNTf/+/vWv
r/a1tfGQkO1qauUrK+QiIu1oaOc2NuQjI+UoKOxnZ+YxMfWuruQhIf///wAAAAAAAAAAACH5BAAA
AAAALAAAAAA8ACgAAAX/ICeOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp+sjXRK
rVqv2Gx2kok4GhyteEweQxrltLrsWLvf1UhWQOAgNoWAniFNPKZ6AQBTAAccChsBfAV3aRVZBIMD
GwAKAgIGGwMHBHwbHAALBwV4BwIbC5+nAAFqElmghK2EDwmNHKeCiYNTuJSzZRZZCHaZAJEAkwoF
BYifAAUcfL69CazAcFTECZTIAwMc3+GfCgfcqlQc1nrZVwBhrIQkg7gCHJkBpL2r2O2ZCwR+AWqE
AJGvUd0yZfIVr90UAgEODHon4l0qVPd8+dlgIGKAgAz7ZRsgYFI2BiXbHl1wyHIMhZYwsbSJSVPK
mZotJ0jAoAEMlJ9AgyoJAQA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/toolbar_emergency_en.gif

R0lGODlh7AAoAMQAAAAAAP///+QhIeYwMOg/P+lNTetYWOtcXOxmZu1ra+96evCAgPGJifKXl/Sm
pva1tfjExPjGxvrT0/rU1Pvh4f3w8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA
ABYALAAAAADsACgAAAX/YCCOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRK
rVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDbA4NARAShIsBDQQCAgwS
BwkjBwwkB5oJDycHAgECBy6apVgNB4okFQoDAgoVja4MsRSfBBAnEJciFAmQmAyloyQPjwWKDwWQ
CRUSywIJipMCBA5QCtEPDgwQkNehxCLVjgKdJZ+N4CzkDYdW2QK5JA0CDg8DDA+RDpEBBQQeHBhA
wcQnYgUGPIBw6AABd+96CSgAASCiBhCyScJYr0AAAgqzFWzirdIIb9XG/4kLF0BCtAruwKVLJMJQ
g1iG1rE8KYFhLkMjKTRwEAsCBQjXgB4VwfCc0aYiKhhaOLLniI7y0BHbBCrAQJeHvEVkOqDAqH7z
RGg6Ua+Tt7Q71QpwiSnUWCX1VDGtZi7uTgEGli1T4BWUqH8TB0D4tayu32oJRd0KsC9hgQqiRDGY
SCDd5k+EOT9yQMGVw2giCHg8WQ9ugFYSJAxwRKwe2nGESTxcy4BABQixvFIceTWr2BGYcweoMODA
cb9K0pHwxqD541H1DNh7PTedqH7vwBYeIaD52moV9lXaDKEzIgH1sk5cDokC/EZzy1ewfyCbql/0
3dVaCRUkNEBotcGXlf9fDgxQwVoOubLdJ5AoR9l99UQ0IDUHVIDZKC6tFF1XJ8HX2mHkQSIKAl3t
g4ph/QkQXIYZLdjOIYcdZ9srEJSU432FgceQgsSIUtYIaO2jlwgDQkRBgwMRECKTCs4jCkQTPOTV
KJ8QBVIABVGwjAQQITYQkKURI1SXAWxmoIhJiDQdfMz9stJERo333ovhSIefijbeOYqO8lRTymd7
ytVRKf0UeRBy8PVmwoClRGAdcwMlOGAoCZSygDkVISPdpheispZUDbgEzjLEpUaACA9gVICFeAG5
1yHxCDoCgKV6R4mMVLp2XaI7OsaSfbmN1hd5jhLw6q4HFGBssHO+c9D/ACL8cpx4VAJ6SVekunhC
P4pko5NcJNh3VxLMDaBKT/fZh6JKxV3jn68ZLueSSXrh2eOHxMrj0DRTfqRQfJjG8gDA4WRzSEH9
LEvPglFN5ExZbZVWSXMVbLakJYPKU8GXuRQ413QtWdcPRYlIAHGOyyUUXBOyceYckNnoGpVgr4wn
iskJNZANQOIAWmjIh7QmwSOQeEPM0pGk06CKf3VIISiYYTspxTVJKGUAv0xUEAQSrqsWMfEMcA3T
to4DSQEFXX2lil9TqFgUqKb620i/LUkTcjGJYNXfNkHsTqsx9DSzCc6eJGy6eXIaw9+Cw7W3C0fN
/K8JfatwlN+PMwKDIj41mr0CmduJrnoCruQzwy/Tqi777LTXbvvtuOeu++5mhAAAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/main_nav_about_en.gif

R0lGODlhTQApAOYAAPPz8/X19fb29vDw8Pv7+21tbfb29+3t7vj4+Lm5uZOTk+7u7pKSkvX19vf3
9+7u7/Hx8XZ2d7i4uPLy8tXV1oCAgO/v74mJiu3t7cLCw8/Q0fLy89/f36WlpcHBwczMzO/v8PDw
8X9/f/T19dbW19PT0+Xm5vPz9KampuXl5tTU1MrKyvb39+rq69jZ2a+vsNHR0XZ2duXl5be3t9XV
1fT09cDAwPf3+K6urtvb2+jo6YiIieDh4a+vr9LS0q2trba2t93d3eTk5cjIyeTk5ImJiZycnObm
5vn5+cHCwsvMzfv7/Ojo6P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAABNACkAAAf/gE2Cg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWm
p6ikIykuGhpKsLGys7S1tre1LikjkC0kJhsEBKmLGyYkLY4tPCzEkCw8yYsjJM3OzyS8iikm15Im
KYsuG96RGy6LGsPljwQa6evsje6LSkv3+Pn3CQo69woAE9zjcKHABQ5LMry4p/AFQID5EkQwmEEB
hSUcFOjTp6Texo0VLghcUiDBhwgZJkQQKHECv30KOFAoeZFhhIsfEhRAsWTmR3wdFdn7ORDlhXsF
Loo8iS9CTo1LXpKs+W9k1AsRdPgkGjSREmFgwwrrgYJJgQkEdvaowIQfWAUJ/9wSkFuARti6YPmh
SECjgFixXREpQUK4sGEkFTwgVlygA44YKyQwKMxAgmTCl5EUUGF4c2HJRyAXOHw48KHBpAsHKcC6
gBHNnHEw8FChcOLMmT1TVox5MoMOo1MTNm1ICYLjCG4gPz6jyPEVBSwUKGHht4zpCEoUkGGjwvEO
HY5jRz6jggUEFmYwQAC9wHEHDhDAvwGfeCEl8B0Y2M/fwI4f+x1QwBCtMSCDAzYUwEABNsDHgAg7
iCDEfgX4kJ8BBzAQw4NAMLCfCAX0J6IB9hGihAAopqjiiiymiAEMGKiYAwwtrjgjEQYIkCN/Kjbg
o48lDqJEAEQWaeSRDRyppLSRP/7IpI9LEumkkTVUGaQgSkygJQATAOAll1+GKeaYZJZp5gkAnKCm
mBtscGUTSoAg5wB00mlBnXgOAEKefPbpZ50QhBACBIQOWiihiELwphIYYHDAApBGKukDCzxg6aWY
WgrpAZx2yummnobqqaMYWGDBAhhIaloSrLbq6quwxirrrLTWWisTuOaq66689urrr8AGK+ywxBZr
7LHIJqvsssw26+yz0EYr7bTUVmvttdguGwgAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/main_nav_inv_en.gif

R0lGODlhYQApAOYAAPPz8/b29vX19fDw8Pv7+/j4+Pb2921tbe3t7u7u7pOTk/X19pKSku7u77m5
uff39/Ly8vHx8dXV1nZ2doCAgLi4uKampu/v76Wlpbe3t/Ly8+3t7c/Q0d/f3+/v8Ojo6ebm5sLC
w6+vsJycnYmJivb39/Dw8eXl5tbW1/T19eXm5tTU1Orq69jZ2czMzPPz9PT09dHR0eTk5MrKyq6u
rpycnNXV1YmJidvb23Z2d+Dh4ba2t9LS0vf3+K+vr39/f8DAwNHR0sHBwa2trZubm6SkpOXl5dPT
093d3cHCwsvMzfn5+fv7/Ojo6P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAABhACkAAAf/gE6Cg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWm
p6ipqqusracpJy0cHEq1tre4ubq7vL2+vC0nKY0sKCoaBASunRoqKCyLLDoly6IlOtCIKSjU1dYo
w4cnKt6kKieILRrloxotiBzK7KEEHPDy85/1iEpM/v8AAwpU0CGEAglMOihwMMIfhIMiFEhkIoHC
AREGJRIMYXEEBCYRFVj46CDHARcCU6ZUwk+lS4AHJDg4YIHigRAHPjBxceChBQkIKThg8uGDBBI/
eUqAMEIBE5FHLXw40AHCx5cuWR7qh9VlTAckchjteZOJBRJPh/o7oNbfQpAN/xP2fOvgINWuL7Ua
UpKsr9+/gAkcsFHXggMbBwjUqEFAKAGJDhwQ8HHAB4RkCx9LTjZYpAvHNyZsDkzar95CSpaoXs26
tesDKyowADFhxYElFSaAOIBkCQMGFSqopnEAg2rgvoWrhs2AgnPVAxgcEOK6evXThFJb374atmzf
GG7vxkDhuPLVFW4nX4LB+JLdIIAPmDBjdQ0G3LljH6SkgP8CPfwn4IACHnBEBgwUMMMBB/gXGg3+
MZDBfxcoSEGEEwIxQYUZXChhAURgUECFNIhIoH8PoJjiAw/0wOJ+gijB4gMG1GjjjTfO+MABPCDI
4g8HsDjEAUHUKB2DPPzAwP8EOxjZpAFFTBAaDgZI+ICGRkywZJE4dumlATA6oUQAZJZp5plopqnm
mTLEIIOaba6JQwwbmGlAAHfeaOYCfPIZphICBCrooIQuQOihgvbZ56B8Imooo48G+mijiEpKqaAw
ZPqnVRAA0CkAoH4K6qiklmrqqaSKiuqqrI76wqulaqDBnx7UOsCtt16A664DeMDrr8D+qiuwvgYb
bAQmmBDBssgyqyyzy/65wQYIJGDttdg2kEAD3HbrrbYJICDuuOJaSy622277bbnhisstufCOS+0G
F1yQwAbYnpbEvvz26++/AAcs8MAEF2zwv00krPDCDDfs8MMQRyzxxBRXbPEfxRhnrPHGHHfs8ccg
hyzyyCSXbPLJKKes8sost6xyIAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/main_nav_shipping_en.gif

R0lGODlhgAApAOYAAPDw8Pb29vX19W1tbZOTk/v7+/j4+JKSku3t7u7u77m5ufb29/f39+7u7vX1
9tXV1ri4uICAgKampvLy8tTU1Le3t/Hx8cLCw3Z2dt/f3+/v79XV1a+vsO3t7aWlpYmJiujo6dHR
0dPT0/Ly85ycnczMzM/Q0X9/f+/v8HZ2d4iIidLS0ubm5tbW18rKytjZ2fb39/T19fPz9OXm5uXl
5vDw8erq68DAwLa2t6SkpPT09a6urtvb2+Xl5eDh4Zubm8HBwdzc3N3d3dHR0vf3+L+/wOTk5ImJ
iZycnMLCwq+vr/Pz8/n5+cHCwsvMzfv7/Ojo6P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAACAACkAAAf/gFGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWm
p6ipqqusra6vsLGys7SlMTQvJiZOvL2+v8DBwsPExcbHyE4vNDGNNi0zIwUFtbUjMy02izY+MNXf
gzA+2ogxLd7g6TAtzYc0M+nxUTM0iC8j8ukjL4gm1PnfCpjo9w9gLYGInDxZyJAhCAIDPjzJQGAh
hwtPCGTgQICAggkXOkoAkTFDyAcTKz558GHAAIwWRU54QIBkCQITFnYkgJEjAQk5J5AYEAEjRQIk
YF60aBRiipA7MzScutBJQqoMJZB4QvLBAJ0KngygKaFEBAUKPtCsOFbBAAkr/7+CePtkglSdEljC
jQD3A9yFAxRcGPtTb0YSM8d6faAgBYeMYSE/4TsBRAa9D3JiZWj1kMLNSBl6BSuWZlgFHiuObvsh
BYjRCiJg9fiE45MLKUoMIAkYZerTOAfcJcFh9O2vtCE/SDE1+WbOCadJn66bAJQCGwLHVlBgwAaP
E36iLqAkQvcNqCUoyF4ACfcMGzJI7xi7xLQIGCRM9w4FQ5KfZq03gHSosTeNdx5N49F40yU43YPS
dWaIE0xUaOGFQGAQARMUDAABBBFAwMQAFBzg0gEsQOBSBBSMSAEEKGLgwgBMHCDiDhEcYOEBNkaw
Q4VADCDEhS4N4EGNESTJIf+NFcLYoYUk2lihjTBeWKOIVmbJhISFUKilhUKQ+OSVLkrZpI5Qvqjj
AR7QCMGRTFQ5pYgzVjhmmjtCAICMLAzAQoUeeDBmhwCYaSMFG15o5pcWckmIEwZEagARkhqggaUD
9CDCAJEeUIEBA4jgqaQVHFBpqKUaMCOnmwZhQKqdfopjpJtWCqoIko76gwcGRPCpBhjcUGsQR5ga
aKQR3ADsp5YaMKoBDETKQLTTEjGto4M4MS0DC3TrbQ4qnPDDAkMMMK2nDAywArrTlspttwMM4S4D
JwzQLQ4DHHDCAd0yYOIAJ6ww7QrmbpuuwOdWwMANGCzAAwYqYJADAwQPIHH/Awz0cEK4/C5QBMQq
4LDAASJ7a/LJ2AriRAAst9xyByHw4PLMNNds88shhHDzzjwHEIIRPMfsMswhLBCA0Sa77MDSS6cc
hRMCRC311FM7QPXVVTO9dNZYW43112BrvfXXYo9NttlR66C2005M4PYSEywhN9xz12333XjnHXfe
fPft999+y7CEDITbPcIIbKOgOACMM65B45CjAPnklFfe+OOVS2755px3vrkFNdRgweigky466aOz
3UEHCDTg+uuwJyD77LTP7joCuOeO++25w95AAr/XLnzwwgPfgO6618478swzz3oHGmjQQAewc9nE
9dhnr/323Hfv/ffghy/+QPjkdw/F+einr/767Lfv/vvwxy///PTXb//9+Oev//789+///wAMoAAH
SMACGvCACEygAhfIwAY68IEQjOABAwEAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/main_nav_customer_en.gif

R0lGODlhbwApAOYAAPPz8/Dw8PX19fb29vv7+5OTk/j4+O3t7vb299XV1rm5ue7u7pKSkvX19u7u
7/f399TU1Li4uPHx8fLy8t/f33Z2dtXV1be3t4CAgO/v78LCw+jo6aampu3t7dPT06Wlpc/Q0fLy
83Z2d39/f9HR0e/v8MrKyomJiuTk5K+vsJycneXl5tbW19jZ2erq6+bm5sDAwOXm5pubm/Pz9Pb3
9/T19dHR0szMzPT09dvb28LCwra2t4mJicHBwa+vr/Dw8eXl5eDh4dLS0q6urqSkpPf3+MnJyc7O
z5ycnIiIidzc3G1tbfn5+cHCwsvMzfv7/Ojo6P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAABvACkAAAf/gFGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWm
p6ipqqusra6vsLGDNSstICBOubq7vL2+v8DBwsPCLSs1jS4sMSEEBLKnITEsLosuQTTQrDRB1Yg1
LNna2yzIhysx464xK4gtIeqtIS2IIM/xqwQg9ff4qfqInDwZSJCgAhFLTlAoMHDhkwQYlqTQUKBi
AQoaIqqY8KQihYEKCmhYWHGkxRsFJ3BYIpGkSIoJnix0KdKigoEWUxTcOdBJQJ4DNYiIeSPBkoFG
n2C4uWFDghMcEhxZkmCCCoYsbyoVocBoggROqSpYsoEghxMbJnylCnYsh4dL/9SeBbtEwQ0RGp7U
TfARKEGfhwQCLaAVLtKjdQsSfpJCRcO4S67KFEE46eGBVAku6WsY5AkRYUEy1BtzcWa/BQEbcuKs
deslFlpbWOJsNgEfS3xMcEaYQG9nsJfoiKuAA+HZChRYmG3BRwXZtKEntxCSg/LoIYErGE6BwBLr
OlyLd6a6kBMm6NOjXwIhPYQl6N+jH7LkA3oGEZjgT8+ePQYTPJiA33sRRADBewws0YN78DFYIAQR
MPBCBSY0GOF6PFRgHxP1RbCgeiAyUR4h54Wo34dMyJdig0xE0OB+H2z4whIzQjAEEvANyKJ8EfCg
Ho0MpnchAx9YyMB6By4RAP+H7ZkI4oiDOGHAlAYUQeUFGGRgQAZALAGEATBgsKUBJohpAAMXgFmB
llgasIQHHiwhw5kXxEmlnUp4SSUDc25p55QXMEAmS4AK6qYHBlQAw6FTPtCoow88UESkUAriRKQP
IKCppgcwUAEDIyCww6cVGPHACJ5eECmakRJRQRIV5IDAEkI8oCgCDOxgA0tLMLBrpCOoGmkOI6Aq
gxC85soAAqcuEWmgmi5hAwJEyDArr5tmm22lUTgxwLfghpsDCSh8iwIJHZhLbrjhnsvuu/DGOwAJ
6Mpr77eaDqBtuA302y+3Tggg8MAEF9xAwQgP7K+/BPeb8MEJP7wwxAJD7HDQxAIwTDAOHAM8wccA
TADAyCGTbPLJKKesssgqt+zyyyjPAMAMNJ8cQggAl6BzADzznEHPQAdQQtBEF030z0UPbfTSTPcs
wQ8SRB011FNLLTXAHXRwwAJcd+21Aws4IPbYZIO9wAFop40212p7HXbYZcfNttppz32A2HTnfYDW
HWSQwQIdeF1eE4QXbvjhiCeu+OKMN+7445AjDsXklFdu+eWYZ6755px37vnnoIcu+uikl2766ain
rvrqrLfu+uuwxy777LTXbvvtuOeuO+uBAAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/main_nav_specialized_en.gif

R0lGODlhfQApAOYAAPDw8Pb29vX19fv7+/j4+JOTk+3t7pKSkrm5ue7u7vX19u7u7/b299XV1ri4
uPLy8vf393Z2dvHx8dTU1Ojo6d/f34CAgKampu/v78LCw4mJia+vsNXV1dPT0+bm5nZ2d+3t7be3
t6Wlpc/Q0dHR0dHR0tvb28zMzPLy866urn9/f+/v8PT19erq69LS0ra2t+Xl5vb395ycnZubm/Pz
9NbW19jZ2eXm5omJisDAwJycnPDw8cjIycLCwvT09d3d3cHBweDh4eXl5cnJyff3+OTk5YiIicrK
yq2traSkpNzc3L+/wOTk5Le3uPPz821tbfn5+cHCwsvMzfv7/Ojo6P///wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAAB9ACkAAAf/gFWCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWm
p6ipqqusra6vsLGys7SELDA2IyNSvL2+v8DBwsPExcbHxjYwLI0tNTcoAwO1sig3NS2LLUEx1N4x
QdmILDXd3t81zIcwN+fuNzCINiju5yg2iCPT9dQDI/n7+NHyh0jKlIMIESL48OREhQIFZDSYsgFi
gYMnLDyx8LDCwQsyDj5EmGFDBosFKlSEOMUiggcJFzakaLElRAQNClD4iKDklAcXnjzZ8BBihilB
P+xMyHSKlIJND1J4UuHBgwZPGmz48KDAhQYTpyKYUmFq2A8cp2BVqBNsAaVe/8FOedLTAg6EU6vC
jDuR7okPTZ4cfdAQwcULOChcxQqWQgYLD5ZGRfj0kMGoWD2qfXIwa4GxBxGERJh1iugLGzazlUq3
Jei5YUtv1uya9MTPOC5MyfDkgeG5tNeGhjyZaWVDUqQpX64hAoIBHJ4MOPGEys3nn5c/4TBAQ48e
GqBLl2ZY2oUIDwZcH7BdWnZpzZ+r//ycbg+qCCIMuKBjgOHoy0WHAAIcUBGBBdwtp6A0xxUiBRQQ
RhghAAc8AcQEQkXgABQHHODAhh5K+MQEHjzhQYkeYBihAwdAgeGGHHq44YgQhgghhRbG+CEUTzQn
AhQ/PPGDBRuyqGKELzowAf+QGnkg4ZMQNkjIg1BKqMMBR9YIIxQO/BjhiA4IJZSST6zY4gEWAKDl
l0sCEMERT17J4ZYjYqimBSKYyGWLekKY5Y1EVimhlINIQcChBBCBKAEYEJCCCB08segBISAaqRKH
YvBEBwekcGgKGkSKaAgHRJoDopQiuqkQIkTQaKaOikBAqoduSkAEp6YQgQaHkjrrDJmKCisBGpx6
KAQQEIAsEcgSKogUyELAwLTTFhHBARGUUMIT0yJboVAuQIDEEweoYMITPKA77RBPsCvUCy8c8IKY
T5Tw7RMuiDmDCdEKcW22DNybb7hJzMBAui8wAAGpEJigggoHzLCtUAcsoYL/ESoYQO3GGztbhRQB
hCyyyCaQAMLIKKPMBAkmpOzyyzCnXPLJMdccAAkmj8xAACWQsPHICgQdtMdSCGD00UgnrUDSTB8t
tNBIB9300k1P/TTVTF+NtQBUS1210V4f7cPYRFv1gBNnO6F22mq37fbbcMftNtty12333XjHTcPe
NLyNAgpEryA4AIQTjkHhiAOwQuKMN8744Y0v7vjklFfOuAQ77CDB5pxvrnnnEhANAggGJGD66agv
kMACrLfuuuoJGCD77LKbTjvqq6/++u620z676az37nvpscvO+vDIGwACBhgkAALqDUYh/fTUV2/9
9dhnr/323Hfv/ffVUyH+Ofjkl2/++einr/767Lfv/vvwxy///PTXb//9+Oev//789+///wAMoAAH
SMACGvCACEygAhfIQPUFAgA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/main_nav_velocity_en.gif

R0lGODlheQApAOYAAPn5+fPz8/b29vX19fDw8G1tbfv7+/j4+JKSkvb29+3t7u7u7pOTk/X19rm5
ue7u77i4uHZ2dvf394CAgPLy8tXV1vHx8cLCw7e3t9TU1NXV1d/f3+/v76+vsOjo6aWlpaamps/Q
0e3t7fLy89jZ2ba2t3Z2d+/v8Onp6cHBweXm5tvb2/Pz9Orq69HR0ZycnfDw8eXl5tbW1/b39/T1
9YmJitPT09LS0vT09efn54mJieDh4YiIiebm5szNzeTk5H9/f93d3ZycnMLCwvf3+MzMzKSkpNPU
1c3NztHR0pubm+vr7Obn5+Tk5cTFxeLi4+vr6+Li4sDAwOrq6q6urtvb3Nra28rKytDQ0b+/wMvM
zcHCwvv7/Ojo6P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAAB5ACkAAAf/gF6Cg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWm
p6ipqqusra6vsLGys4w0MSQhIVq7vL2+v8DBwsPExCQxNKMtMiojBga0mSMqMi2hLTsz0Z4zO9ae
NDLa29wyyZ0xKuSgKjGeJCPrnyMkniHQ8p0GIfb4+Zv7PGnhQrAgFwoMihB0AGIDg4cXLnQoSOFF
gQkXCDosYCJihwsPHzp4sRCERgYGO5gwMXHhBI4buDDY0IEBBS4SDeokqEXgToITTHKp0aFCgQoV
PDhASZDBCwpGK3AJSsHDhqUeKtQAUWFDgQsUvhI0WtDBBA8eJjjAKRYtl6MM/8Qu/WmwZ6eBPztM
4OKhQBGyC5mGjcnlRVETBufKXMsFBAOzBQEPZeyghkyhBeEy2KuYLhe7nLQ8Gz3a64YhEQxoKODA
gYalz1aPXgp7NoNnj591KRBhyGjZzwpoiF3AQIThGjR0MSD88YTXt0lLNwB6kxYA2LNnjwDhgxAA
GQpAgJABAgLs4bObN6+dPQAEELJ/iKA9PfYCGdAXAID/PXf+GcCXAnznaWcgANVpct2B2HkXQQrg
7Yedez0U0EODH2QwQXsFwqdegfplNwGEAKSwIQIkeogffARE8AGIDCIo0AE0HkBEjQdcEUEBHBxg
QwE1YoBAjRNgcAAHEUiBpP+RRwpJIwJMHuBkjT/W+OKTH0g5QY9QHlCADV1SUQACEtAoQZlnEnFm
gplocaYECcQppwJjxplEAXhCiWcBN6wQgQ4RGHFmFhHwwEMJQp6JQAlyloCAnAncsGcJCugABBA6
LCDBAkpEgEAEGEjA56IJNFEnpKgmwCYmWgjg6quwxiprrC78AKsILrgw6667rrBCrD+48OurCQhQ
LKSwNqCssqteosUA0EYrrbQNTGsttcsqi+211W4bbbfLUmttuNLiYG6zlmhBwboBUBDAu+3CK++8
9NZrr7v25qvvvCwEwMK/844wArqVaHHCwQQknDAHCjd8QsMQRyyxwgxL/PDLxBgnDAMMFnRsAccd
g+yxBQRTooUIIiiwwMost/zAyzDHDPPKCtRsc80029zyAg/wLDPOC9j8ss5B33xzyiJwwMECIrRc
8iNbRC311FRXbfXVWGet9dZcdy21Ez6QkMMBiHRh9tlop6322my37fbbcMctt9o7YMHEIXPnrffe
fPet9hRQVBGEP4L4bfjhiBuOwgJPBFFI4pBHLvnaKHBghTqDTK755oijgAISZBfO+eikz73EETlk
XvrqrKuNQhT1iN767Kzn4MMggQAAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_1_en.gif

R0lGODlhrgAYAOYAAKGhoXh4eE9PT7+/v+Tk5GNjY5aWlqCgoL6+vnd3d8nJyW5ubllZWd7e3qur
q9ra2uDg4NTU1IKCgrW1td/f39vb24yMjNzc3NLS0ouLi+Li4sjIyJWVleHh4W1tbd3d3cfHx9nZ
2b29vdHR0cTFxaqqqoGBgc/Pz+/v7/f398zNzfLy8vj4+Ovr67S0tOrq6p+fn9jZ2enp6e3t7dna
2+zs7Kmpqfn5+c/Q0O7u7ubn5+rr69DQ0Ojo6fz8/PDw8OLj4/v7++Pj4+Xl5cHCwubm5ufn5///
/+jo6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAACuABgAAAf/gEeCJEiFhoeIiYqLjI2Oj5CRjkVFSEVDmASamkKdnp+goaKjQh0U
F52CR0SSra6vsLGRl0Ocm6S4uaKmD6mCrLLBwsPEhrS1m8m3usygEA0hQhiqwMXDEQMK1sQLAtqL
lOHilJjlmBUg5ubK6u2YGhAVmNTbwhYFAQsD9Y8AAIoDFkwaR5DciHQiErhbyPAdBXlD6PGDZUCC
oQYTG/kDGGBgQYIHYDQcuRBehSLTfmV8xQDjIQMCGDhA4sBAAQYTCgiYWVOnASQRAggoMAGJAQMM
dk74iQRA0UIbjyZ1oGABg44wZdK0OSAAzAwHBHi4UASBzgQbShQowGEDhyEV/xIMTceBQ1IbJCkJ
iUdJ4spICjoecmCxQYEIADoCaKmAQdMCDQwrULBvQAEkASwOYBDBMZLDhjZmRrK5AQB9hJEYRgwZ
iQAEHwocKGJitgsMRQ5kwJAhwwYECYpkEAmiwJAEJoaIYLCQoBAKD/qq/BupKyIJTw042GjddVOm
Bv4ZEoB5n/cFCiJcDv0vgHny1rEX0g6AqQAjRgIgMHJgdjjguc0GIANkFeHBCAmIgIkA5nykF3RF
8OAXdY5UhYh7UPnzT3fkbdQUAA1IEIBQ5RVCXng1HSLae6R1hOGHHt6X3379GRFYAh4E119ZwQkQ
TgLAIUCJjw6K81wI0q1CYf8knB3yooYbCtaheP5YIB55L5IXmAVPZViid9Y9qaGJ+OnH3wFGFKCA
EQDuCCCRRQAJ5JBFGkkBkkVMuCQjFanIFHrcSdmUQEjoE0BRA2DJ4mfrsfclfIr9qUCMZdKIpgAf
8BfAmTzS5kIRFzAQp5BFwFnncw8YcYKeeyoSIj76NLBAPhZ82KKJTeWzgEATXEViloVYIJijwFon
K622ulbpmUbYFIAHm5bAgAEAblBAAgWUMCqdReJnBAEQpGoEq60qgs03pKG7iD/YGEJZI+HBkk0i
3tbrLQJrejtZvRcggFud4dj7bbj4qULCC+Xy42F1oBUj8MMQ11tnxAOnuqq4ICqgIEPC2zgwkyQB
iOcwxSSXXDK44qoSwwozcOxyRibHLHO9KBcsiBEtpIDwyzyPPPPPJNd88REsDJHCDz0n7TPQTHsL
bgU2C7LCDj7UoPTVxDTNNAEdQD2uKkc0AMQNLWBttjBAHxLzEB1cYMQIYB8RRAMPoJDDxmfn7crP
aps8hAaZfh23DjjQYEQPeicuicx9l/x34HGrwoIRMahAAhGYZ6755px37vnnoIcu+uikl2766Z4H
AgA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_2_en.gif

R0lGODlhSgAYAMQAAHh4eOXl5b+/v6GhoePj409PT+Tk5N7e3uHh4WNjY8nJyW5ubtvb25aWloyM
jIKCguLi4llZWd3d3bW1taurq9TU1NDQ0Nzc3ODg4NLS0t/f39fX18HCwubm5ufn5+jo6CH5BAAA
AAAALAAAAABKABgAAAX/ICGKRmkGH0R07Oe+cCzPdB13BPaOpGkEKFbHRiwaZTida+T7AYPDo3Q6
w2k+m89TyG1RaRTKR/ClBQiHV3cdjQkKjdehALANBp9CeXZOu9hdMwIJCS8UCXU1d3tmEBIfFR+A
XIIACwouDw11BwB0aQ0FCQ54dYN0mGUBjmqTXm4ADXEHEQJ1pB8PAwoJBwcJeHoTkQMOewEIj3+u
HpW8HxQOth8RLgK6cR8NwTDTqggXHxmSXB7m580y0wkKDxPTBfF0ix+LegoAlolfyAxq6ADNVdLm
oNq0ai/o2fvAbsw+Kv1eBAw4UEEBY9PcuTggYIGLBdwKpBnwcEpECx8mdgIcyHCCww8KIljCs6Am
yDzaEC0oKSWiC5XovnBMNSaSG6Lf/P0EKpCR0yInUzJN97QqHwRKpTK1yjWGT61Au4rVgvUDyqlU
x1ZFFm7pVrVWV7UFqxKu1Q6sxqG1WxWHH7oT+T71+4KD4cOIEytezLix48eMQwAAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_3_en.gif

R0lGODlhYQAYANUAAKGhoXh4eL+/v09PT97e3uXl5eHh4WNjY6urq8nJyW5ubllZWbW1tdvb24KC
goyMjObm5uLi4paWluPj49TU1N3d3dzc3NDQ0OTk5NLS0tnZ2dbW1uDg4N/f39HR0cHCwujo6AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABhABgAAAb/QJBw
SCwaj8ikcslsQjCRpnRKrVpBT8N1y+0yIROtxgsiCARkKTpdmHDSiEUgAEgzB0KGt90hMw4EQoF2
TXhdBRGBG10OekQSAwsIIAgSBwt/A5MJDwGang8gCRJCCAicngqBASCedJMgDhRUiBVkC0UIDmUH
FACsAAsECbgCwgkDAgQHCQKsIAAAAgMJrXV40wIAuxQHVbVkhkONQhII0SDOQtjPhgFnz9Hq0Nfr
ZbgIobQGthldwkTeCYmGbh47e63gDZQWrx4IQwoEPHA0pYABC2QcwBIikF7BdulAJpwnr+FDhNEA
fTPQwI/KgaRAKEjw0Z5Bjme8WSPp0FC3eWf7WnrwEmwOAAIKAigIVfPkzYQyFUhluPAkiAMzr9ZZ
2TKNmTXpqm0xM2uJmUBZuRJaW4XAnysWW15gS3dJgo5q6+qlG3evX0J95/4dvMUiRsKIrSA6nLix
kwj9HEtOAmbQ5MtFKg/5wLmz58+gQ4seTbq06dOggwAAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_4_en.gif

R0lGODlhRwAYAMQAAHh4eL+/v97e3llZWaGhoeXl5eHh4cnJyU9PT4KCgtvb225ubtTU1Obm5oyM
jOPj45aWluLi4mNjY6urq7W1tdzc3N3d3dDQ0NLS0t/f39XV1dHR0eDg4NnZ2cHCwujo6CH5BAAA
AAAALAAAAABHABgAAAX/4CeOZGmeaKquzWOscCzPY8t9Ha3vc5vxpEBAACx+Cg8i8DAAABJGYCFC
1OwYg4NIGdVNLUACpORADAifgwNAEAAQAOJkMJh8IJCBGy4rGMA8CQElaAIDDAEIWg5oCQQMEgJM
H08fBA4fXCt+FR8YOwCDJ6EBCyIDIgGOaJQHABSWCZqbBp2BsCQQTgNCACIIwHAEwQgBoZkAdX0G
CmGYIxNQlL2nJASsIsephzF+zRtXWSNimbzGIgm4kqaZ0+0fC6K0zUAUTU9YAAsS1GlNC2gcSAAg
wR0BfexgeIsihAiiWVsCaBFxYEiJijMWXujC0QuzjiAzfgxJUoXGkihLJ3BKyXLEFFstUzaIAOZT
zJItIN7smHPnTQ9AgwodSrSo0aNIkw4NAQA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_5_en.gif

R0lGODlhRQAYAMQAAKGhoXh4eN7e3r+/v+Xl5U9PT8nJyWNjY+Hh4W5ubtTU1Nvb2+bm5llZWePj
45aWlqurq7W1tYyMjNzc3OLi4t3d3dDQ0NLS0uTk5IKCgtnZ2dHR0eDg4NXV1cHCwujo6CH5BAAA
AAAALAAAAABFABgAAAX/4CeOZGmeaKqmDIascCzPH+O8dK7LNvdpu9JggIoUMsGTTZAcKQ6JAOAU
iJysO4KD2fwAJKoA0VQIapmdJuBBAjQKEsGjkYAYDgV2oCBle7ErBBQVXR8KBVMiEEwBdgkATwYC
BwYDBQMGDSIHCjGChIUDdFwiAFNiBgGlU2UfCQZPMgQIEx8XhQKPHxABAQenQwXCiB+tDwAQfjCz
tYUiEQFPTKYfqKokrakSgIEIC7ilEgMJIlLVRA1cTK0fBwczs98balENBq4J+cC7Db73UPckXPPk
zVkldQM6mVCQUISAAUyOwSvorMkAThO/WagYxFxGjiC7fQtJ0kS8DxtLJapkprLlB0HNXJJkMMiW
zJBLbs7cIsKDz59AgwodSrSo0aM/QwAAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_6_en.gif

R0lGODlhcwAYAMQAAHh4eL+/v09PT97e3ubm5snJyZaWluTk5Kurq1lZWePj44KCgm5ubmNjY+fn
5+Hh4YyMjN/f39TU1LW1tdjY2ODg4NbW1tPT093d3dnZ2dfX1+Xl5cjIyKGhocHCwujo6CH5BAAA
AAAALAAAAABzABgAAAX/4CeOZGmeaKqubOuSzna8dG3f+OkcSu7/QN/u8cEEbRfJcckaMgGCaIDV
6TBTF86RcCAuAdMrsLrtfjJHMAlgECQKE4MI0UEgChCAtZ1AfBAGDQIQf4EJE4J+H20NBR9sbgUI
DQ1yQFxeaR0BAQMfAlYdCxICIgt0mwKOCAsfAw0SHQ0DA28dAB8dCQMFCX+top+hoxAQjpcHFU8M
AACOpR8BuAxTu1UBDKYTIgaoImBk0iKlC2G+0OJkQVwRHxRpYeMi4gYdBdnXuI9hVergVuI+PYoS
RWA0XOouKWj3JZ5BcQX0hNqkT02uft8ChNNHziE6hFbWLXzicZ6+BM4uhAbsYIlBAX8aAXLMZcnT
x4tbFHjSkIaglZsfIPhSqW8AMwaEYG6UZ5RZq5sIElj6QUCnmB8BjtXglKKAVh9VPV0dS/ZF2A8W
yqpdW+Is27dr3cKde/VsWrp4czLMy5fqgb19A9vYoeyd4MMunCBe3MSMCA+QI0ueTLmy5cuYM2ve
zBlzCAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_nav_1_7_en.gif

R0lGODlhrwAYANUAAHh4eL+/v09PT6Ghod7e3snJyWNjY////1lZWYKCgpaWlqurq9TU1G5uboyM
jLW1tfz8/Pv7++np6fPz8/X19vf39/Ly8sTFxfr6+vj4+Pn5+fT09fT09O3t7cvMzPj4+dXW1u/v
7+rq6vX19eHi4vPz9Nzc3PLy8/b29uLi487Pz/X29vLz89vc3ebm5/n5+vf4+NPT1OLj4/39/fDw
8eTk5NjY2Onq6uvr6+/v8OPj5PP09P7+/tjY2cHCwujo6CH5BAAAAAAALAAAAACvABgAAAb/wJ9w
SCwaj8ikcslsOp/QqPRyqEqv2Kx2y+X6qoeueEwum41fq5QQKBwLCqhCMCAWAoQo4Mzvp8NRDwgA
DQFGAXtPAnlDAAYACVECUAaRUQxufV5gUgkLSYhQk0MFBlijTQUNi1EDdZpbf1IAD0QOAgh1oaUC
cURzCJ8AAgCZAQ2/mXsKCggFDsMAeZMLnz8KBbyvQgoDnkILCAJ40dwCBgULBgbYBnSwUrJR4bVC
dQQIDKHoBOhDC5H66RvH6EclRgAM/ZgE6UcAAW4S1JnkSkjCbwUNMvAmJN8PAgMcfPwB8Ic3Bg4c
FMAIL4q8VgJEEkmIqECiikIS1FPwCZUQ/wYNnP1IKIRhrWNCHkSi+OriNiGlfjBghUChN0YJFCIw
WUdiy3icrhSoeg0AgKqIHgpYu40o14VHoA1VyNBQKId7mFpssy7TtawBDHwKJ43AWWFr174t5e+r
k5dSupWcWzNREbcVfQ4hULfoXLxCQun9bNKUkEdmKwkhkDJ0vqxEcJZ2/DgsFKwLBsTBFyAUAkYF
dQtp4MYno6gAPj38/DBPN7ghP1bNwxmq6R9jRz6QNjyA8JEVqWumjcQHBAgzZhFqQIDBoAYGeu8h
3PhjA0IyfQY+/EOQ2c7H3OfRJO4REl8CjvjCDBEGPPAIAg8MsJ5990USjgIIskMeE+ZFANTBFb0N
oU9GPwXAwCF+GaHPiVApRAQibJA44hBtLMEGi3e86GI2DqW4YXkRePgjF3cNaaQSElyAwQsRHJkF
HE5GWYQIInigQQYYSKnlllJIEIILIGRQgQZclmlmEjhUYAMJI1AAw5lwxtlBCCqcsMEGFcSpJ5cS
0NCDDBRMsEMGexbqpAQd6GACCiWwMAKZhkZKngQ3tGACBxxYMAEKWUrqaUs1xJDCCplOsMEHEPig
6qqsturqq7DGKuustNZq66245hrrBR6AQEIOJZygKQUfRMBDEAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/sub_bottom_default.gif

R0lGODlhBwMRAMQAAPHx8fr6+vj5+fLy8vLy8/z8/O/v8PLz8+/w8PT09PP09Pv7+/T09ff39/n5
+fj4+fb29u/v7/Hy8v39/vPz9PX19fr6+/Dw8Pj4+P39/f7+/vPz8////wAAAAAAAAAAACH5BAAA
AAAALAAAAAAHAxEAAAX/ICeOZGlyWdAkG7G9cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqJQ5
qAKuAALjsdBoTmCTJuOoDC4GxGXNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWGh4iJiouMjY6FCAgG
EQYXABIKEFxfX2GeIhoqDAcuU6anqKmqq6ytrq+wsbKztDGkBxQKCRAYAQVenZ+fBRYOAhjIycrL
zM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvmxwICAb4ZwcLCwBn4+fr7/P3+/wADChxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatyoccI8TvVCdgJGsqTJkyhTp6pcybKly5cwY8qcSbOm
zZs4c+rcybOnz59AgwodSrSo0ZBIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo
06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2ve
zLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+venToEADs=

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/spacer.gif

R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cn.ca/images/templates/H2_media_en.gif

R0lGODlhaAEeAMQAAPjExPKXl+tcXOg/P+lNTe96euYwMP3w8PrT0/a1tfSmpvvh4fGJie1ra+Qk
JOQjI+QiIuQhIf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAABoAR4AAAX/oCSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRK
rVqv2Kx2y5UsEN2weExeBgReQHnNbl8jEfUJLnedJYGIe8/vHyMDDCcJA3EwdwpofouMjTYRDAMn
BQyGL3eOmZqbKXEGYCWflnaKnKanjXGUJYQSlgcFBhEFByOEgAl3CIoHAQQRBrSow8Raca0kBQWu
cgQECQnOIgoRAQAKAwRoAHp4A9bRksXj5FCGEaAiBgnMEgoGtRIHht8jCBHb3QvxXhHs5QADGjHU
IMAIAAZEEBQ0oiA3fhIa5ENBwKDAixh7GFJAYASDZe0G/BMRoGBHEne49qEQYDGjy5czDM1bIEKk
QjURtAnYOYBlKZITRQAo8AtOS5hIk3aSU1ACgoQ3XRUIQJWqAkwjUnajViABAAAVlYodO8ISRwkf
y6oxUCfrTzxBDSggwZKs3aSvIiywGbVuCZXJJgIeEfau4YyjGsQiYSjAAIjq5oo4YGDiPZoi7h09
zJncKK6M1RzIBmaBNTxsvTgLmo0mgAH1OsseN2qe5KhOBcABBqrAbgYAgiIoBOzq5tnIXy4AkE7E
csh/2yafTr269VO7s2vfzr279+/gw4sfT768+fPo06tfz769+/e7Ich/QN+B/ev48+vfz7+///8A
BmhFCAA7

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/styles/cn.css

BODY {
	MARGIN: 0px; VERTICAL-ALIGN: top; BACKGROUND-COLOR: #ffffff; =
TEXT-ALIGN: center
}
IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 0px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
.print {
	DISPLAY: none; MARGIN-LEFT: 19px
}
A.ebusinessNewHL {
	COLOR: #ffffff
}
A.ebusinessNewHL:visited {
	COLOR: #ffffff
}
A.ebusinessNewHL:hover {
	COLOR: #ffffff; TEXT-DECORATION: none
}
DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TABLE#top {
	MARGIN-LEFT: auto; WIDTH: 775px; MARGIN-RIGHT: auto; TEXT-ALIGN: left
}
TABLE#submenu {
	MARGIN-LEFT: auto; WIDTH: 775px; MARGIN-RIGHT: auto; TEXT-ALIGN: left
}
TABLE#main {
	MARGIN-LEFT: auto; WIDTH: 775px; MARGIN-RIGHT: auto; TEXT-ALIGN: left
}
TD#content {
	FONT-SIZE: 11px; COLOR: #333333
}
TD#content P {
	MARGIN-RIGHT: 20px
}
TD#content TD {
	FONT-SIZE: 11px; COLOR: #333333
}
TABLE#top IMG {
	DISPLAY: block
}
TABLE#submenu IMG {
	DISPLAY: block
}
IMG#billboard {
	DISPLAY: block
}
.block {
	DISPLAY: block
}
H2 {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: right bottom; PADDING-LEFT: =
0px; BACKGROUND-IMAGE: url(/images/templates/header_background.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
H2 IMG {
	DISPLAY: block
}
h7 {
	BACKGROUND-POSITION: right bottom; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND-IMAGE: url(/images/templates/header_background.gif); COLOR: =
#e42121; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
h7 IMG {
	DISPLAY: block
}
P {
	FONT-SIZE: 11px; COLOR: #333333; LINE-HEIGHT: 1.3em; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.caption {
	FONT-SIZE: 9px; COLOR: #333333; LINE-HEIGHT: 1.3em; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
UL {
	FONT-SIZE: 11px; LIST-STYLE-IMAGE: =
url(/images/templates/bullet_grey_square.gif); COLOR: #333333; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
UL UL {
	FONT-SIZE: 11px
}
TD#content UL LI {
	MARGIN-RIGHT: 20px
}
TD#content OL LI {
	MARGIN-RIGHT: 20px
}
UL LI {
	MARGIN-BOTTOM: 10px
}
LABEL {
	MARGIN-BOTTOM: 5px; MARGIN-LEFT: 5px; COLOR: #e42121
}
H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #e42121; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
H4 {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
A {
	COLOR: #e42121; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #e42121; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #000000; TEXT-DECORATION: underline
}
TABLE#chinatable DIV {
	MARGIN-TOP: 3px; MARGIN-BOTTOM: 1px
}
.ChinaTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 13pt; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.ChinaHeader {
	FONT-WEIGHT: bold; FONT-SIZE: 11pt; COLOR: #3366cc; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.ChinaHighlight {
	FONT-SIZE: 11pt; COLOR: #3366cc; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.ChinaText {
	FONT-SIZE: 11pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.ChinaNav {
	FONT-SIZE: 11pt; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.MktHighlight {
	COLOR: #3366cc
}
.MktHighlightBold {
	FONT-WEIGHT: bold; COLOR: #3366cc
}
BLOCKQUOTE.faqq {
	MARGIN-TOP: -33px; MARGIN-BOTTOM: -18px; MARGIN-LEFT: 20px
}
BLOCKQUOTE.faqa {
	MARGIN-TOP: -33px; MARGIN-BOTTOM: -5px; MARGIN-LEFT: 20px
}
UL.nav_3rd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; MARGIN: 0px 15px; COLOR: #333333; =
PADDING-TOP: 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
UL.nav_3rd LI {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: left bottom; PADDING-LEFT: =
0px; BACKGROUND-IMAGE: url(/images/templates/nav_3rd_rule.gif); =
LIST-STYLE-IMAGE: url(/images/templates/nav_3rd_bullet.gif); =
PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-TOP: 5px; BACKGROUND-REPEAT: =
no-repeat
}
UL.nav_3rd A {
	COLOR: #333333; TEXT-DECORATION: none
}
UL.nav_3rd A:visited {
	COLOR: #333333; TEXT-DECORATION: none
}
UL.nav_3rd A:hover {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_3rd A.lit {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_3rd A.lit:visited {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_3rd A.lit:hover {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_4th {
	DISPLAY: none! important
}
UL.nav_4th_lit {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
normal; FONT-SIZE: 10px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px; COLOR: =
#333333; PADDING-TOP: 0px; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif
}
UL.nav_4th_lit LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND-IMAGE: none; =
LIST-STYLE-IMAGE: none; PADDING-BOTTOM: 6px; MARGIN: 0px; PADDING-TOP: =
0px; LIST-STYLE-TYPE: none
}
UL.nav_4th_lit A {
	COLOR: #333333; TEXT-DECORATION: none
}
UL.nav_4th_lit A:visited {
	COLOR: #333333; TEXT-DECORATION: none
}
UL.nav_4th_lit A:hover {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_4th_lit A.lit {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_4th_lit A.lit:visited {
	COLOR: #e42121; TEXT-DECORATION: none
}
UL.nav_4th_lit A.lit:hover {
	COLOR: #e42121; TEXT-DECORATION: none
}
#nav_5th {
	BORDER-RIGHT: #c1c2c2 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#c1c2c2 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 6px; BORDER-LEFT: =
#c1c2c2 1px solid; PADDING-TOP: 6px; BORDER-BOTTOM: #c1c2c2 1px solid; =
BACKGROUND-COLOR: #e8e8e8
}
#nav_5th P {
	COLOR: #000000
}
#nav_5th A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; COLOR: #000000; PADDING-TOP: 0px; TEXT-DECORATION: none
}
#nav_5th A:visited {
	FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none
}
#nav_5th A:hover {
	FONT-SIZE: 10px; COLOR: #e42121; TEXT-DECORATION: none
}
DIV#footer {
	MARGIN-TOP: 60px; PADDING-BOTTOM: 30px; MARGIN-LEFT: auto; WIDTH: =
775px; MARGIN-RIGHT: auto; TEXT-ALIGN: center
}
DIV#footer P {
	MARGIN-TOP: 0px; FONT-SIZE: 10px; MARGIN-BOTTOM: 0px; COLOR: #878787; =
LINE-HEIGHT: 1.5em
}
DIV#footer HR {
	COLOR: #f0f0f0; HEIGHT: 1px
}
#features P {
	MARGIN: 10px 6px 5px 5px
}
#features UL {
	PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(/images/templates/bullet_grey.gif); MARGIN: 5px 12px 5px 25px
}
#features UL LI {
	MARGIN-BOTTOM: 5px
}
TABLE#sidebar {
	BACKGROUND-IMAGE: url(/images/sidebar_features/sidebar_tile.gif)
}
TABLE#state {
	BACKGROUND-IMAGE: =
url(/images/sidebar_features/sidebar_state_background.gif)
}
TABLE#state TD {
	FONT-SIZE: 10px; VERTICAL-ALIGN: middle; COLOR: #7c7c7c; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
TABLE#velocity UL {
	PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(/images/sidebar_features/bullet_sidebar.gif); MARGIN: 5px 12px 0px =
50px
}
TABLE#velocity UL LI {
	MARGIN-BOTTOM: 5px
}
TABLE#quicklinks UL {
	PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(/images/sidebar_features/bullet_sidebar.gif); MARGIN: 5px 12px 0px =
50px
}
TABLE#quicklinks UL LI {
	MARGIN-BOTTOM: 5px
}
#home TD#content {
	PADDING-RIGHT: 0px
}
#highlights P {
	MARGIN-TOP: 0px; MARGIN-LEFT: 45px; MARGIN-RIGHT: 20px
}
BODY#velocity {
	MARGIN: 0px 20px
}
#velocity #menu TD {
	BACKGROUND-IMAGE: url(/images/velocity/vel_main_nav_tile.gif); =
BACKGROUND-REPEAT: repeat-x
}
#velocity #submenu {
	MARGIN-LEFT: 0em; WIDTH: 100%; MARGIN-RIGHT: 0em
}
#velocity #submenu TD {
	BACKGROUND-IMAGE: url(/images/velocity/vel_sub_bottom_tile.gif); =
BACKGROUND-REPEAT: repeat-x
}
#velocity #top {
	MARGIN-LEFT: 0em; WIDTH: 100%; MARGIN-RIGHT: 0em; TEXT-ALIGN: left
}
#velocity #main {
	MARGIN-LEFT: 0em; WIDTH: 100%; MARGIN-RIGHT: 0em; TEXT-ALIGN: left
}
DIV.velocityfeature {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 174px; PADDING-TOP: 0px; HEIGHT: 15em
}
#velocity UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 25px; PADDING-BOTTOM: 20px; MARGIN: =
0px; PADDING-TOP: 5px
}
#velocity #sidebar {
	MARGIN-TOP: 40px
}
#velocity #sidebar #speed TD {
	BACKGROUND-IMAGE: url(/images/velocity/vel_sidebar_speed_tile.gif)
}
#velocity #sidebar #speed FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 0px 30px; PADDING-TOP: 0px
}
#velocity #sidebar #speed SELECT {
	WIDTH: 140px
}
#velocity #sidebar #speed P {
	MARGIN: 10px 25px 10px 30px
}
#velocity #sidebar #enews P {
	MARGIN: 10px 15px 10px 25px
}
BODY#popup {
	MARGIN: 0px 20px; TEXT-ALIGN: left
}
TABLE.popup {
	MARGIN: 0px 0px 0px -10px
}
TD.popup {
	BACKGROUND-IMAGE: url(../images/templates/popup_tile.gif)
}
BODY#tunnel TABLE {
	MARGIN: auto
}
BODY#tunnel TD {
	VERTICAL-ALIGN: middle; TEXT-ALIGN: center
}
BODY#contactus UL {
	MARGIN-LEFT: 25px; MARGIN-RIGHT: 25px
}
BODY#contactus LI {
	MARGIN-BOTTOM: 5px
}
BODY#contactus TD#general LI {
	MARGIN-BOTTOM: 15px; LINE-HEIGHT: 1.5
}
BLOCKQUOTE.inv_faqq {
	FONT-WEIGHT: bold; POSITION: relative
}
BLOCKQUOTE.inv_faqa {
	POSITION: relative
}
.InvestorTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN-BOTTOM: 4px; FONT-STYLE: =
italic; FONT-FAMILY: Arial, Helvetica, sans-serif
}

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.cn.ca/styles/cn_contacts_xml.css

.line {
	BACKGROUND-COLOR: #666666
}
.even {
	BACKGROUND-COLOR: #ffffff
}
.odd {
	BACKGROUND-COLOR: #eeeeee
}

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: http://www.cn.ca/scripts/server.js

// JavaScript Document
Corp_server = "www.cn.ca";
Velocity_server = "ecprod.cn.ca";
------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/navigation_support.js

var oPage;
var cn_BillboardList;
var cn_SidebarFeatureList;
var defaultBillboard;
var defaultSidebarFeature;
var sectionBillboard;
var sectionSidebarFeature;
var ready =3D false;

function BaseInit(){
 	 window.onload=3DNavigationInit;
	 oPage=3D new BasePage();
	 oPage.configureNav();
	// oPage.configureBillboard();
=09
	if(oPage.Level1=3D=3D6){
		//add focus to the  Velocity login username field
		setTimeout('addFocus()',1000);
	}
}
//change Emergency contact number graphic in toolbar if in velocity =
section
function swapToolbarContactPhone(){
	if (oPage.Level1=3D=3D6){
	var obj;
	obj =3D document.getElementById("toolbarContactPhone");

	if(obj!=3Dundefined){
		switch (oPage.language){

			case 'fr':
				obj.src=3D'/images/velocity/vel_toolbar_ebusiness_fr.gif';
				obj.alt=3D'Affaires =E9lectronique: 1-800-361-0198';
				obj.title=3D'Affaires =E9lectronique: 1-800-361-0198';
				break;
			default:
				obj.src=3D'/images/velocity/vel_toolbar_ebusiness_en.gif';
				obj.alt=3D'eBusiness: 1-800-361-0198';
				obj.title=3D'eBusiness: 1-800-361-0198';
				break;			=09
			}
		}
	}
	}

//Switch to a printer-friendly version of this page
function hLelve1(){
	/*
	Highlight Level 1 graphic
	*/
	if (oPage.Level1!=3D0){
		var Level1item =3D "nav_1st_" + oPage.Level1;
		sec1 =3D document.getElementById(Level1item);
//		if(getQueryVariable('home')=3D=3D'1'){
//			hiliteGraphic(document.getElementById("nav_1st_5"),1);
//		}
//		else{
			hiliteGraphic(sec1,1);
//			}
		}=09
	}

function hLelve2(){
	/*
	Highlight Level 2 graphic

	*/

	if (oPage.Level2!=3D0 && oPage.Level2 !=3D undefined){//1



	=09

	//sub-home page Shipping by Product -highlight first element

	if((oPage.Level1=3D=3D2)&&(oPage.pageLevel=3D=3D2)){//2

			var Level2item =3D "nav_2nd_1";

			//********

			sec2 =3D document.getElementById(Level2item);

				if (sec2!=3Dundefined){hiliteGraphic(sec2,3);return;}

		}	//2

		//left nav

		//account for shift in navigation for Shipping section	=09

		if((oPage.Level1=3D=3D2)&&(oPage.pageLevel>2)){//3

			//********

			//match imagename with level3 instead of 2

			//need to add 1 to account for PRODUCT Home graphic

			var p =3D oPage.Level3+1;

			var Level2item =3D "nav_2nd_" + p;

			//alert(Level2item);

			//********

			sec2 =3D document.getElementById(Level2item);

				if (sec2!=3Dundefined){hiliteGraphic(sec2,3);}

		}//3

		//regular page

		if(oPage.Level1!=3D2){//4

			var Level2item =3D "nav_2nd_" + oPage.Level2;

			sec2 =3D document.getElementById(Level2item);

				if (sec2!=3Dundefined){hiliteGraphic(sec2,2);}

		}//4

	}//1

	}

function hLelve3(){

if (oPage.Level3!=3D0 && oPage.Level3 !=3D undefined){

	if (oPage.Level1!=3D2){

		//regular page

		var Level3item =3D "nav_3rd_" + oPage.Level3;

		}else{

		//account for navigation shift

			if (oPage.Level4!=3D0 && oPage.Level4 !=3D undefined){

				var Level3item =3D "nav_3rd_" + oPage.Level4;

			}

		}



		sec3 =3D document.getElementById(Level3item);



		var l3Submenu =3D Level3item + "_4th";

		var subMenu3 =3D document.getElementById(l3Submenu);

		if (sec3!=3Dundefined){

			hiliteItem(sec3);

			}

		if (subMenu3!=3Dundefined){

			expandItem(subMenu3);

			}		=09

		}=09

	}

function hLelve4(){

	//

	if (oPage.Level4!=3D0 && oPage.Level4 !=3D undefined){

		if(oPage.Level1!=3D2){

		var Level4item =3D "nav_3rd_" + oPage.Level3 + "_4th_" + oPage.Level4;

		sec4 =3D document.getElementById(Level4item);

		//alert(sec4);

		}else{

		var Level4item =3D "nav_3rd_" + oPage.Level4 + "_4th_" + oPage.Level5;

		sec4 =3D document.getElementById(Level4item);

			}

		if (sec4!=3Dundefined){

			hiliteItem(sec4);

			//}

		}		}

	}





function NavigationInit(){

	swapToolbarContactPhone();

//called on page load

//Change printer friendly link text first

	var targetLink;

	var aPNode;

	var aLinkText;

	targetLink =3D document.getElementById("PrinterFriendlyLink");=09

	if(targetLink!=3Dundefined){

	aPNode =3D document.createElement("a");

	aPNode.setAttribute("href", "JavaScript:TogglePrint()");

=09

		if(oPage.language!=3D'fr'){

			if (printable!=3D'true'){aLinkText=3Ddocument.createTextNode('Print =
this page')}else{aLinkText=3Ddocument.createTextNode('Graphical Version =
')}

			}

		else{

			if =
(printable!=3D'true'){aLinkText=3Ddocument.createTextNode('Imprimez =
cette page')}else{aLinkText=3Ddocument.createTextNode('Version =
graphique')}

			}	=09

=09

	aPNode.appendChild(aLinkText);

	targetLink.appendChild(aPNode);

=09

=09

}

	/*

	Highlight Level 1 graphic

	*/

	hLelve1()

	/*

	Highlight Level 2 graphic

	*/

	hLelve2()=09

	/*

	Highlight Level 3 section

	*/

	hLelve3()	=09

=09

	/*

	Highlight Level 4 section

	*/	=09

	hLelve4()=09

=09

	/*

	Toggle Open Status for Customer Centre Links

	*/
=09
	InitLinkToggle();=20

=09

	var temp;

	var m =3D 0;

	for (m=3D1;m<5;m++){

		if(!(ready=3D=3Dtrue)){

			pauseProcessing(100);

			waitForLoad();

			}

		}

	if(oPage.onloadFunctionToCall!=3Dundefined){

		eval(oPage.onloadFunctionToCall);

	}

}

function addDefinedFeatures(){

	if (oPage.HasBillboard||BillboardDivExists()){addBillboard();}=09

	if (oPage.HasSidebarFeature||SidebarDivExists()){addSidebarFeature();}=09

}=09

function pauseProcessing(millis)=20

{

//setTimeout function

	date =3D new Date();

	var curDate =3D null;

	do {=20

		var curDate =3D new Date();

		}=20

	while(curDate-date < millis);

}=20



function waitForLoad(){



	ready =3D oPage.BillboardConfigured;



	if (ready=3D=3Dtrue){addDefinedFeatures();}

}



function expandItem(oMenu){

	oMenu.className=3D"nav_4th_lit";

}

function hiliteItem(oItem)

{

	oItem.className=3D"lit";

}



function hiliteGraphic(img,level){

	try{

			if (img=3D=3Dundefined){return;}

			var n =3D img.src;

			//if(n.indexOf("_selected")!=3D-1){return;}

			if(n.indexOf("_over")!=3D-1){n=3Dn.replace('_over','');}



			var suffix;

			dot =3D n.lastIndexOf(".");

			temp =3D n.substr(dot,n.length).toString();

			orig =3D n.substr(0,dot).toString();

			if(level=3D=3D1){suffix=3D'_selected';}else{suffix=3D'_over';}

			newsrc =3D orig + suffix + temp;=09

			//alert(newsrc);

			img.src =3D newsrc;

			//}

		}

			catch(e){

			alert(e);

		}



}







function addSidebarFeature(){



var x;



if(oPage.defaultSidebarFeature!=3Dundefined){x =3D =
oPage.defaultSidebarFeature;}

else{//1



//Choose any item flash or graphic



		=
if(((oPage.BillboardType!=3D'flash')||oPage.BillboardType=3D=3Dundefined)=
){//if1

			if(cn_SidebarFeatureList!=3Dundefined){

				ranNum=3D =
Math.round(Math.random()*(cn_SidebarFeatureList.length-1));

			=09

				x =3D cn_SidebarFeatureList[ranNum];

			}else{

			=09

				if(sectionSidebarFeature!=3Dundefined){//q

				//alert('gimmee');

					ranNum=3D =
Math.round(Math.random()*(sectionSidebarFeature.length-1));

					x=3DsectionSidebarFeature[ranNum];

					//alert(x);

				}//q		=09

				}

		}//if1

		else{//else1

		//choose graphic only

		//Billboard is flash or, feature must be graphic

		//new array

				//Billboard is flash, feature must be graphic

				//alert('1');

				var newList =3D new Array();

				var y=3D0;

			=09

				if(cn_SidebarFeatureList !=3Dundefined){

				=09

				for(i=3D0;i<cn_SidebarFeatureList.length;i++){//for

				//alert('2');

				//TODO: What if there are no graphics defined??

						//alert(cn_ContentFeatureList[i][1]);

					if(cn_SidebarFeatureList[i][1]=3D=3D'graphic'){

					//alert('thisoneisgraphic');

						newList[y]=3Dcn_SidebarFeatureList[i];

						y+=3D1;

					}

				}//for

				}

			=09

				if(newList.length>=3D1){//1

				//alert('3');

					if(newList.length=3D=3D1){//2

							ranNum =3D 0

						}else if(newList.length>1){

							ranNum=3D Math.round(Math.random()*(newList.length-1));

						} //2

						x =3D newList[ranNum];

						//alert(x);

					=09

					}//1

		//end new array

		}//else1



		if(x=3D=3Dundefined && SidebarDivExists()&&oPage.pageLevel>1){//last =
if



		//nothing defined - section specific item used if billboard div on =
page -=20

			if(sectionSidebarFeature!=3Dundefined){//internal

				=
if(((oPage.BillboardType!=3D'flash')||oPage.BillboardType=3D=3Dundefined)=
){//again

					ranNum=3D =
Math.round(Math.random()*(sectionSidebarFeature.length-1));

					x=3DsectionSidebarFeature[ranNum];

					//alert(x);

				}//again

				else{//BB is flash  - need graphic only

							//new array

							//Billboard is flash, feature must be graphic

							var newList =3D new Array();

							var t=3D0;

							//alert(sectionSidebarFeature.length);

							for(i=3D0;i<sectionSidebarFeature.length;i++){//for

							//TODO: What if there are no graphics defined??

									//alert(cn_ContentFeatureList[i][1]);

								if(sectionSidebarFeature[i][1]=3D=3D'graphic'){

								//alert('thisoneisgraphic');

									newList[t]=3DsectionSidebarFeature[i];

									t+=3D1;

								}

							}//for

						=09

							if(newList.length>=3D1){//1

							//alert('>1');

								if(newList.length=3D=3D1){//2

										ranNum =3D 0

									}

									else if(newList.length>1){

										ranNum=3D Math.round(Math.random()*(newList.length-1));

									} //2

									x =3D newList[ranNum];

								}//1

					//end new array

				}// end BB is flash  - need graphic only

				}//internal

		}//last if



}//1

//if after all that - we have x - add sidebar



if(x!=3Dundefined){

			oPage.SidebarFeaturesrc =3D x[0]

			oPage.SidebarFeatureType =3D x[1]

			oPage.SidebarFeatureUrl =3D x[2]

			oPage.SidebarFeatureAlt =3D x[3]

			oPage.SidebarFeatureWidth =3D x[4]

			oPage.SidebarFeatureHeight =3D x[5]=09

	}else{

			//no feature found - add rounded corned graphic to sidebar

			oPage.SidebarFeaturesrc =3D =
'/images/sidebar_features/sidebar_top.jpg'

			oPage.SidebarFeatureType =3D 'graphic'

			oPage.SidebarFeatureUrl =3D '';

			oPage.SidebarFeatureAlt =3D '';

			oPage.SidebarFeatureWidth =3D 228;

			oPage.SidebarFeatureHeight =3D 12;	=09

	=09

		}

			if(oPage.SidebarFeatureType=3D=3D'flash'){

				createFlashLayer =
('SidebarPromo','bbswf',oPage.SidebarFeaturesrc,oPage.SidebarFeatureWidth=
,155)

			}else{

				createImageLayer =
('SidebarPromo','bbimg',oPage.SidebarFeaturesrc,228,155,oPage.SidebarFeat=
ureUrl,oPage.SidebarFeatureAlt)

			}

}



function addBillboard(){

/*

if default is defined use it

else

if an array has been defined get random and use it

else

check if div is on page and if sectionBillboard is defined=20

*/=09

=09



var x;

//alert('1');

if(oPage.defaultBillboard!=3Dundefined){x =3D oPage.defaultBillboard;}

else{//1



	//get random entry

	if(cn_BillboardList!=3Dundefined){

	var ranNum=3D Math.round(Math.random()*(cn_BillboardList.length-1));

	x =3D cn_BillboardList[ranNum];

	}else{//nothing defined - section specific item used if billboard div =
on page

			if((BillboardDivExists())&&(sectionBillboard!=3Dundefined)){

				var ranNum=3D Math.round(Math.random()*(sectionBillboard.length-1));

				x=3DsectionBillboard[ranNum];

				}

		}

}//1

if(x!=3Dundefined){

	oPage.Billboardsrc =3D x[0]=09

	oPage.BillboardType =3D x[1]

	oPage.BillboardUrl =3D x[2]

	oPage.BillboardAlt =3D x[3]

	oPage.BillboardWidth =3D x[4]

	oPage.BillboardHeight =3D x[5]



		if(oPage.BillboardType=3D=3D'flash'){

			createFlashLayer =
('Billboard','bbswf',oPage.Billboardsrc,oPage.BillboardWidth,oPage.Billbo=
ardHeight)

		}else{

			createImageLayer =
('Billboard','bbimg',oPage.Billboardsrc,528,155,oPage.BillboardUrl,oPage.=
BillboardAlt)

		}

	}

}

function createImageLayer (layerName,ID,jpg,width,height,url,alt) {=20

	bodyTarget =3D document.getElementById(layerName);=20

	if (bodyTarget =3D=3D undefined){return;}



//if hardcoded

if(bodyTarget.hasChildNodes() && layerName =3D=3D "SidebarPromo"){

	=
if(oPage.replaceHardcodedSidebar){removeChildrenFromNode(bodyTarget);}els=
e{return false;}

}

	//if replace

		//replace

	//return false

//else continue













	aNode =3D document.createElement("a");

	aNode.setAttribute("href", url);

=09

	imgNode =3D document.createElement("img");

	imgNode.setAttribute("id", ID);

	imgNode.setAttribute("src", jpg);

	//commented out to let image scale to it's natural height

		//imgNode.setAttribute("width", width);

		//imgNode.setAttribute("height", height);

	imgNode.setAttribute("alt", alt);=09

	imgNode.setAttribute("title", alt);

	aNode.appendChild(imgNode);

	bodyTarget.appendChild(aNode);

}





function removeChildrenFromNode(node)

{=20

   if(node =3D=3D undefined && node =3D=3D null) {

   	return;

   }

  =20

   var len =3D node.childNodes.length;

 =20

	while (node.hasChildNodes()) {

		node.removeChild(node.firstChild);

	}

}



function createFlashLayer (layerName,flashID,swf,width,height) {=20



bodyTarget =3D document.getElementById(layerName);=20



if (bodyTarget =3D=3D undefined){return;}



if(bodyTarget.hasChildNodes() && layerName =3D=3D "SidebarPromo"){

	=
if(oPage.replaceHardcodedSidebar){removeChildrenFromNode(bodyTarget);}els=
e{return false;}

}



	objectNode =3D document.createElement("object"); // Mozilla=20

	paramNode =3D document.createElement("param"); // Mozilla=20

	embedNode =3D document.createElement("embed"); // IE=20

	infoP =3D document.createElement("p");

	infoA =3D document.createElement("a");

	infoText =3D document.createTextNode("Get the latest version of the =
player from here.");

	infoA.setAttribute("href", =
"http://www.macromedia.com/go/getflashplayer/");

	infoA.appendChild(infoText);

	infoP.appendChild(infoA);

=09

	// embed tag for IE=20

	embedNode.setAttribute("src", swf);

	embedNode.setAttribute("scale", 'exactfit');

	embedNode.setAttribute("type", 'application/x-shockwave-flash');

	embedNode.setAttribute ("swLiveConnect","true");

	embedNode.setAttribute("id", flashID);

	embedNode.setAttribute("width", width);

	embedNode.setAttribute("height", height);

	embedNode.setAttribute ("wmode","transparent");

	//embedNode.setAttribute ("FlashVars","");



// check if the user agent supports ActiveX or Plug-in API=20

if (window.ActiveXObject) {=20

// IE uses embed tag !!=20

	bodyTarget.appendChild(embedNode);

	} else {=20

	// if the user agent uses plug-in api=20

	// do not use *src* but *data* in order to use movie param=20

	objectNode.setAttribute("data", swf);

	objectNode.setAttribute("title", '');

	objectNode.setAttribute("type", 'application/x-shockwave-flash');

	objectNode.setAttribute("id", flashID);

	objectNode.setAttribute("width", width);

	objectNode.setAttribute("height", height);

	objectNode.setAttribute("scale", 'exactfit');

	objectNode.setAttribute ("wmode","transparent");

	objectNode.setAttribute ("swLiveConnect","true");

	//objectNode.setAttribute ("FlashVars","");

	paramNode.setAttribute("movie", swf);

	//paramNode.setAttribute ("wmode", "transparent");

	paramNode.setAttribute ("swLiveConnect","true");

=09

	// Mozilla=20

	objectNode.appendChild(paramNode);

	objectNode.appendChild(infoP);

	bodyTarget.appendChild(objectNode);

	}=20

}



function changeLanguage(){

	var qs =3D location.search.replace('#','');

	var newUrl;

	var one;

	var two;

=09

	if(arguments.length=3D=3D0){

		//alert(oPage.language);

		one =3D oPage.language + "_";

		two =3D oPage.alternateLanguage + "_";

		//alert(oPage.alternateLanguage);

		}else{

			one =3D arguments[0] + "_";

			two =3D arguments[1] + "_";

			}

		newUrl =3D oPage.fileName.replace(one,two);

		//alert(newUrl);

		document.location=3DnewUrl;

	}

function BillboardDivExists(){

	return !(document.getElementById("Billboard")=3D=3Dundefined);

	}

function SidebarDivExists(){

	//alert(!(document.getElementById("SidebarPromo")=3D=3Dundefined));

	return !(document.getElementById("SidebarPromo")=3D=3Dundefined);

	}=09

=09

function  addFocus(){

//alert(this);

try{

//add focus to the Velocity login username field

var  oUsername=3Ddocument.forms.ebusiness.username;

if(oUsername!=3Dundefined){

oUsername.focus();

}

}

catch(e){

}

}


------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/basePage.js

// <![CDATA[
/* *******************************************
BasePage.js

A common template used to provide necessary interface
for all CN.ca pages
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Properties:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
	currentURL - string
	fileName - string (parsed from currentURL)
	PageLevel - integer - length of folders array
	Level1 - integer
	Level2 - integer
	Level3 - integer
	Level4 - integer
	Level5 - integer
	level1Folder - 1 folder
	level2Folder - 2 folder
	level3Folder - 3 folder
	level4Folder - 4 folder
	level5Folder - 5 folder			=09
	HasBillboard - boolean -=20
	HasBanner - boolean -
	Language - string
	BillboardType  =3D flash, or graphic
******************************************* */
//main sections array
//		0	-> folder to match place holder
var sec1;
var sec2;
var sec3;
var homePage =3D getCookie('CNHomePage');
//alert(homePage);
var printable =3D getQueryVariable("printable");

if (printable=3D=3D'true'){
	document.write('<link rel=3D"stylesheet" =
href=3D"/styles/cn_printable.css" type=3D"text/css" />');
}
var cn_mainSections =3D [
	[1,"about"],
	[2,"productsservices"],
	[3,"customer_centre"],
	[4,"specialized"],
	[5,"investor"],
	[6,"velocity"],
	[3,"ebusiness"]=09
]

function BasePage()
{
//---------------
/*this variable is set from page scripts wishing to attach an event to =
the body onLoad event
ex:
oPage.onloadFunctionToCall=3D"nonSecureWin('/specialized/ports_docks/prin=
ce_rupert/en_PrinceRupert.shtml?ad=3DeMail','scrollbars,resizable,width=3D=
825,height=3D616,left=3D15,top=3D30,screenX=3D15,screenY=3D30')";
or
oPage.onloadFunctionToCall=3D"proc_pop()";
*/
var onloadFunctionToCall;
//---------------
//flags for debugging
var navConfigured;
this.navConfigured =3D false;
//***********************************//
//flag forcing hardcoded sidebar features
//to be replaced with scripted features
var replaceHardcodedSidebar;
this.replaceHardcodedSidebar =3D false;
//***********************************//

//flags to indicate processing is complete
//when true-safe to add billboard/sidebar feature to page
var BillboardConfigured;
this.BillboardConfigured =3D false;

this.HasBillboard =3D false;
this.HasContentFeature =3D false;
var loaded; //all scripts have loaded flag
	var iLevel1;
	var iLevel2;
	var iLevel3;
	var iLevel4;
	var iLevel5;
	var intArLen =3D 0;

	var rawURL;
	var defaultBillboard;
	var defaultSidebarFeature;
	var alternateLanguage;
	var language;
/* get URL of current page */
//TODO: get rid of servername
//alert(document.location.host);

	this.currentURL=3Ddocument.location.toString().replace('//','');
	=
this.currentURL=3Dthis.currentURL.replace(document.location.protocol,'');=

	this.currentURL=3Dthis.currentURL.replace(document.location.host,'');
	this.rawURL=3Dthis.currentURL;
	this.currentURL=3Dthis.currentURL.toLowerCase();
=09
	//alert(this.rawURL);
	var x =3D this.currentURL.indexOf('.shtml');
	//alert(x);
	x+=3D6;
	this.currentURL=3Dthis.currentURL.substr(0,(x));
//	alert(this.currentURL);
	this.fileName =3D getFileName(this.rawURL);
//	alert(this.fileName);
/* extract each folder into useable properties*/=09
	this.level1Folder =3D getFolder(this.currentURL,1);
=09
	this.level2Folder =3D getFolder(this.currentURL,2);
=09
	this.level3Folder =3D getFolder(this.currentURL,3);
=09
	this.level4Folder =3D getFolder(this.currentURL,4);
=09
	this.level5Folder =3D getFolder(this.currentURL,5);
=09
/* get langauage (by filename) */
	this.language =3D parseLanguage(this.currentURL);
	//alert(this.language);
	this.alternateLanguage =3D alternateLanguage;
	//alert(this.alternateLanguage);
/* lookup first folder in arrays */
	this.Level1 =3D getLevelValue(this.level1Folder,cn_mainSections);
// alert(this.level1Folder);
	this.pageLevel =3D intArLen;
//	alert("Page level is " + this.pageLevel);
	//parseLanguage(this.currentURL);
=09
	function parseLanguage(fpath){
		var lTemp;
	//default to 'en' if not found
	//(fpath.indexOf('/fr_')!=3D-1
	//return (fpath.indexOf('/fr_')!=3D-1)? "fr": "en");
	lTemp =3D (fpath.indexOf('/fr_')!=3D-1)?'fr':'en';

	alternateLanguage =3D (lTemp=3D=3D'fr')?'en':'fr';

	return lTemp;
}=09
=09
=09
	function getFileName(fpath){
		return fpath.substring(fpath.lastIndexOf('/')+1);
	}
/* return specified folder name */=09
	function getFolder(fpath,iLevel){
		var new_array=3Dfpath.split("/");
		intArLen =3D new_array.length-2;
		//alert("Page level is " + intArLen);
		switch (iLevel)
		{
		case 1:
		if (new_array.length>=3D2){
			return new_array[1];}else{return "";}
			break;
		case 2:
		if (new_array.length>=3D3){
			return new_array[2];}else{return "";}
			break;
		case 3:
		if (new_array.length>=3D4){
			return new_array[3];}else{return "";}
			break;
		case 4:
		if (new_array.length>=3D5){
			return new_array[4];}else{return "";}
			break;
		case 5:
		if (new_array.length>=3D6){
			return new_array[5];}else{return "";}
			break;
			}//switch
		}

=20
this.configureBillboard =3D function(){

		var bblang =3D "/scripts/billboard_config_" + oPage.language + ".js"
		var head =3D document.getElementsByTagName('head').item(0)
		script =3D document.createElement('script');
		script.src =3D bblang;
		script.type =3D 'text/javascript';
		script.id =3D 'loadScript';
		head.appendChild(script)
}
	/* *******************************************
	Base Properties are now set
	Load 1 of 7 possible secondary navigation arrays=20
	******************************************* */
this.configureNav =3D function(){
	if(this.Level1>0) {
		var head =3D document.getElementsByTagName('head').item(0);
		script =3D document.createElement('script');
		script.src =3D '/scripts/baseLevel2Navigation' + oPage.Level1 + '.js';
		script.type =3D 'text/javascript';
		script.id =3D 'loadScript';
		head.appendChild(script)
	}
}
	/* ******************************************* */	=09
}//basepage

function getLevelValue(sFolder,arr){
			var sTemp=3D0;
			if(!sFolder){return}
				for(var x =3D 0;x< arr.length;x++){
				//alert(sFolder =3D=3D arr[x][1]);
				//alert(arr[x][1].toLowerCase());
					if((sFolder)=3D=3D(arr[x][1].toLowerCase())){
						sTemp =3D arr[x][0];
					}
				}
				return sTemp;=09
		}
/*=20
lookup filename in arrays
Hopefully never have to use this function as each navigation element =
should be its own folder=09
 */
function getLevelValuebyFileName(sFilename,arr){
//sometimes used for 4th level=09
			var sTemp=3D0;
			if(!sFilename){return}
				for(var x =3D 0;x< arr.length;x++){
				if(sFilename.indexOf(arr[x][1].toLowerCase())>-1){
						sTemp =3D arr[x][0];
					}
				}
				return sTemp;=09
		}	=09

function TogglePrint(){

	if(printable=3D=3D'true'){
		location.href=3DoPage.currentURL;}
	else{
		var Url =3D oPage.currentURL + "?printable=3Dtrue";
		location.href=3DUrl;
}
//<link rel=3D"stylesheet" href=3D"/styles/cn.css" type=3D"text/css" />

		/*var head =3D document.getElementsByTagName('head').item(0)
		css =3D document.createElement('style');
		css.setAttribute("rel", 'stylesheet');
		css.setAttribute("href", '/styles/cn_printable.css');
		css.setAttribute("type", 'text/css');
		css.setAttribute("id", 'PrintableStyles');
		head.appendChild(css)
		alert('ok');*/
		}

//*************************************
//get a query string variable
//*************************************
function getQueryVariable(variable) {
	var retVal =3D "";
	var query =3D window.location.search.substring(1);
	var vars =3D query.split("&");
	for (var i=3D0; i<vars.length; i++) {
		var pair =3D vars[i].split("=3D");
		if (pair[0].toLowerCase() =3D=3D variable.toLowerCase()) {
			retVal =3D pair[1];
		}
	}=20
	return retVal;
}	=09
=09

BaseInit();=09

function getCookie(name)
{
    var dc =3D document.cookie;
    var prefix =3D name + "=3D";
    var begin =3D dc.indexOf("; " + prefix);
    if (begin =3D=3D -1)
    {
        begin =3D dc.indexOf(prefix);
        if (begin !=3D 0) return null;
    }
    else
    {
        begin +=3D 2;
    }
    var end =3D document.cookie.indexOf(";", begin);
    if (end =3D=3D -1)
    {
        end =3D dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}
// ]]

// Customer Centre Related
function InitLinkToggle() {
	if(oPage.Level2 =3D=3D 3 || oPage.Level2 =3D=3D 6) {
		if(document.getElementById("nav_3rd_" + oPage.Level3 + "_4th")) {
			document.getElementById("nav_3rd_" + oPage.Level3 + =
"_4th").style.display =3D "block";
		}
	}
}
------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/rollovers.js

var isRestored;
function getSrc(n) { =20
	if((n.indexOf("_over")=3D=3D-1)&&(n.indexOf("_selected")=3D=3D-1)){
		dot =3D n.lastIndexOf(".");
		temp =3D n.substr(dot,n.length).toString();
		orig =3D n.substr(0,dot).toString();
		newsrc =3D orig + "_over" + temp;
		newsrc =3D newsrc.toString();
		return newsrc;
	}else{
		return n;
	}
}

function swap(imgname) {
	//if (isRestored){
		isRestored=3Dfalse;
		n =3D arguments[0].toString();
		var img =3D document.getElementById(imgname);
		oldSrc =3D img.src;
		old =3D img;=09
		img.src =3D getSrc(oldSrc);
	//}else{restore();}
 }
 var q =3D location.search;
function restore() {
	//isRestored=3Dtrue;
	///check if old image is one to be highlighted(just in case mouseout =
occurs before page load;)
		=
if((old=3D=3Dsec1)||(old=3D=3Dsec2)||(q=3D=3D'?home=3D1'&&old.src.indexOf=
("_selected")!=3D-1)){return;}
	old.src=3DoldSrc;
}
------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/utilities.js

function dumpform(oform){
//	alert(oform);
	var dump =3D '';
//	alert(document.forms[oform].elements[0].value);
	for (i=3D 0; i < document.forms[oform].elements.length; i++){
//		alert(document.forms[oform].elements[i].value);
		dump =3D dump + "<" + document.forms[oform].elements[i].value + ">";
	}
//	alert(dump);
}

/* Donald Camacho June 25 2002. August 20 2002
 Put result of SSL 128 bit test into a global javascript variable called =
ssl_flag. default value is false.
 A nonsecure test is performed to check the availability of the ecprod =
server and the server_flag is set.
 Then if the server is available the 128 bit test is performed and the =
variable, ssl_flag, is set to true if appropriate.
=20
var ssl_flag =3D false;
var server_flag =3D false;
The code to check for 128 bit encryption has been changed. The code that =
performs the test has been removed from=20
the footer file and re-written in javascript. That code is below.
 !WARNING! If the graphic redline.gif is removed from server or moved =
from the expected folder location=20
  the test will return false and ALL USERS WILL BE DENIED ACCESS TO THE =
PRODUCTION SERVER.
 eBusiness must supply the "server is down page". It will be placed on =
our server.=20
 You must change line 264 to the correct URL.
*/
var server_flag , ssl_flag , glbl_formname;
function server_error(){ server_flag =3D true; logon("1");}
function server_OK() { server_flag =3D true; logon("1");}
function ssl_error() { ssl_flag =3D true; logon("2");}
function ssl_OK() { ssl_flag =3D true; logon("2");}
function resetflags(){
  server_flag =3D true;
  ssl_flag =3D true;
}

function messageDisplayer() {
	if (MESSAGE !=3D ""){
		alert(MESSAGE);
	} else {
		return false;
	}
}

function removeExtraSpaces( strWithSpaces ) {
	// removes leading and trailing spaces in a string
	var strSpacesRemoved;
=09
	strSpacesRemoved =3D strWithSpaces;
	// remove leading spaces
	while (strSpacesRemoved.charAt(0) =3D=3D ' ')
		strSpacesRemoved =3D
			strSpacesRemoved.substring( 1, strSpacesRemoved.length );
	// remove trailing spaces
	while (strSpacesRemoved.charAt(strSpacesRemoved.length - 1) =3D=3D ' ')
		strSpacesRemoved =3D
			strSpacesRemoved.substring( 0, strSpacesRemoved.length - 1 );
	=09
return strSpacesRemoved;
}

//CheckInfo is a function used to validate forms within the site. In =
reality it is only used during logon to validate the required fields.
//It accepts as parameters , the name of the form, and the number of =
elements to validate i.e. javascript:CheckInfo('ebusiness',2);
function CheckInfo(formname, numelements,lang)
{
//Next 3 lines will disable the login and popup an info message. to be =
used only in EMERGENCIES =09
//NewWindow('/customer_centre/ebusiness/eBiz_outtage.shtml', 'outtage', =
550, 200, 'scrollbars,resizable');=20
//alert(" CN Velocity Login  - Ouverture de session - V=E9locit=E9 \n\n  =
The CN Velocity site is currently unavailable. \n           Please check =
back here shortly.\n\n  Le site V=E9locit=E9 du CN est temporairement =
hors d=92usage. \n   Veuillez essayer de nouveau dans quelques =
instants.");=20
//return;=20

var msg =3D false;
glbl_formname =3D formname;
number  =3D parseInt(arguments[1]);

//if (! browser_version()) return;
for (i=3D0; i< numelements; i++)  {
	var theform;
	theformtype =3D eval("document." + formname + ".elements[" + i + =
"].type");
	theform =3D eval("document." + formname + ".elements[" + i + =
"].value");
	theform =3D removeExtraSpaces(theform);
	var name =3D eval("document." + formname + ".elements[" + i + =
"].name");
 	document.forms[formname].elements[name].value =3D theform;
	if (theform =3D=3D""){
		theformelementname =3D eval("document." + formname + ".elements[" + i =
+ "].name");
		msg =3D true;
		eval("document." + formname + ".elements[" + i + "].focus();");
		break;
	}
	/*
	<!--
	Added an if statement to display message when a user does not=20
	enter a username or password for the login section.
--------------------------------------------------------------------
	Agatha Teofilska, CN Corporate WebTeam, 24 JAN 2001
	-->
	*/												=09
	}  // end of for loop
	if (msg =3D=3D true)
	{ =20
	    if(lang=3D=3D'fr'){
	 	if (msg =3D=3D true){alert("Veuillez inscrire votre nom d'usager et =
(ou) votre mot de passe.");}
	    }else{
	 	if (msg =3D=3D true){alert("Please enter your username and (or) =
password.");}		=09
		}
	}
	else
	{=20
	//	  resetflags();=20
//			servertest =3D new Image();
//			servertest.onerror =3D server_error;
//			servertest.onabort =3D server_error;
//			servertest.onload =3D server_OK;
//			T1 =3D setTimeout("logon('1')",1000);
//		  servertest.src =3D "https://ecenv.cn.ca/images/redline.gif";
		=09
			secure=3D true;
			nonsecure=3D false;
			domain=3D "";
			path =3D "/";
			setCookie("LOGIN","true",0, path, domain, nonsecure); //to set for a =
two minute test use 0.000139  0.08134
			// Language cookie requested by Seb.
			domain =3D "";
			setCookie("LANGUAGE",lang , 365, path, domain, nonsecure); // cookie =
expires in one year
			// Kill tabs cookie requested by Satish
			domain=3D "";
			deleteCookie('tabs', path, domain);
		dumpform(formname);
		document.forms[formname].submit();
  }
}

/*
<!--
this function applies to the  eBusiness logon to preserve bookmarks and =
first logon.
--------------------------------------------
Kevin Dineen, CN Corporate WebTeam,  02 FEB 2001
---------------------------------------------
Update : URL will default to eBusiness main menu if value  does not have =
two splitters=20
---------------------------------------------
KDineen, CWT, 31 MAY 2001
----------------------------------------------
-->
*/
function SendURL()
{
	var eURL =3D 	window.location.href;
	var Splitter =3D "=3D";			//if you need the split the URL with another =
character, place it here between the quotes
	var urlArray =3D new Array();
=09
	urlArray =3D eURL.split(Splitter);
  	//alert(urlArray);			alerts used for testing purposes
	//alert(urlArray.length);
	{
	if (urlArray.length > 2)
		 {=20
		 	eURL =3D urlArray[1]; =20
		 	for (i=3D2; i < urlArray.length; i++ )
				{ eURL =3D eURL + Splitter + urlArray[i] ;}
		 }
 		else
		 {
		  eURL =3D" ";=20
		 }
	}	 return(eURL);			=09
}
/////////////////////////////////
function rollover(name,source)
{
document[name].src=3Dsource;
}

function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}


function nonSecureWin(url,newfeatures) {
	if (newfeatures =3D=3D null){
		newfeatures =3D =
'width=3D788,height=3D527,left=3D1,top=3D16,screenX=3D1,screenY=3D16';=09
	}
	nSWin =3D window.open(url,"nSWin",newfeatures);
	if (nSWin.opener =3D=3D null) nSWin.opener =3D window;
  	nSWin.opener.name =3D "myWindow";
	nSWin.focus();
}

function open_eWindow(url) {
	popupWin =3D window.open(url, 'CN3', =
'scrollbars,width=3D790,height=3D520,left=3D10,top=3D10,toolbar,menubar,s=
tatus,location,resizable');
	if (popupWin.opener =3D=3D null) popupWin.opener =3D window;
  popupWin.opener.name =3D "myWindow";
}  =20

function open_Window(url) {
	popupWin =3D window.open(url, 'CN1', =
'scrollbars,width=3D640,height=3D395,left=3D10,top=3D10,toolbar,menubar,s=
tatus,location,resizable');
	if (popupWin.opener =3D=3D null) popupWin.opener =3D window;
  popupWin.opener.name =3D "myWindow";
}=20

function open_CIP_Window(url) {
	popupWin =3D window.open(url, 'CIP', =
'scrollbars,width=3D750,height=3D450,left=3D25,top=3D25');
	if (popupWin.opener =3D=3D null) popupWin.opener =3D window;
    popupWin.opener.name =3D "myWindow";
	if (parseInt(navigator.appVersion) >=3D 4) popupWin.window.focus();
}

// For a window to popup in the center of your screen. Added if =
statements to handle low res screen 800 X 600 -- DC Aug 08 2003
function NewWindow(MyUrl, MyName, w, h, features) {
	var WinLeft =3D (screen.width - w) / 2;
	if(WinLeft < 1 ){ WinLeft =3D 0; w =3D screen.width - 30;}
	var WinTop =3D (screen.height - h) / 2;
	if(WinTop < 1 ){ WinTop =3D 0; h =3D screen.height - 45;}
=09
	WinLoc =3D =
'height=3D'+h+',width=3D'+w+',top=3D'+WinTop+',left=3D'+WinLeft+',resizab=
le,'+features;
	popUp =3D window.open(MyUrl, MyName, WinLoc)
	if (parseInt(navigator.appVersion) >=3D 4) {=20
     popUp.window.focus();=20
  }
}

//
//This function was used to open only the Akanda CN network Map popup =
window.
//Modified to give the parent window a name.
//This allows the links on the Network Map page to target the primary =
window by name
// and not as parent. This will allow ecomm application windows to also =
open the Network Map window
//  =20
function open_Window2(url) {
	popupWin =3D window.open(url, 'CN2', =
'scrollbars,width=3D760,height=3D570,left=3D10,top=3D10,resizable');
//	if (popupWin.opener =3D=3D null) popupWin.opener =3D window;
    popupWin.opener.name =3D "myWindow";
}  =20

function open_Window3(url) {
	popupWin =3D window.open(url, 'CN2', =
'scrollbars,width=3D760,height=3D570,left=3D10,top=3D10,resizable');
//	if (popupWin.opener =3D=3D null) popupWin.opener =3D window;
    popupWin.opener.name =3D "myWindow";
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=3Ddocument.MM_sr; =
for(i=3D0;a&&i<a.length&&(x=3Da[i])&&x.oSrc;i++) x.src=3Dx.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=3Ddocument; if(d.images){ if(!d.MM_p) d.MM_p=3Dnew Array();
    var i,j=3Dd.MM_p.length,a=3DMM_preloadImages.arguments; for(i=3D0; =
i<a.length; i++)
    if (a[i].indexOf("#")!=3D0){ d.MM_p[j]=3Dnew Image; =
d.MM_p[j++].src=3Da[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=3Ddocument; =
if((p=3Dn.indexOf("?"))>0&&parent.frames.length) {
    d=3Dparent.frames[n.substring(p+1)].document; n=3Dn.substring(0,p);}
  if(!(x=3Dd[n])&&d.all) x=3Dd.all[n]; for =
(i=3D0;!x&&i<d.forms.length;i++) x=3Dd.forms[i][n];
  for(i=3D0;!x&&d.layers&&i<d.layers.length;i++) =
x=3DMM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=3Dd.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=3D0,x,a=3DMM_swapImage.arguments; document.MM_sr=3Dnew Array; =
for(i=3D0;i<(a.length-2);i+=3D3)
   if ((x=3DMM_findObj(a[i]))!=3Dnull){document.MM_sr[j++]=3Dx; =
if(!x.oSrc) x.oSrc=3Dx.src; x.src=3Da[i+2];}
}

var InternetExplorer =3D navigator.appName.indexOf("Microsoft") !=3D -1;
// Handle all the the FSCommand messages in a Flash movie
function Our_story2_DoFSCommand(command, args) {
var Our_story2Obj =3D InternetExplorer ? Our_story2 : =
document.Our_story2;
win=3Dopen(command,"CNHistoryPop","HEIGHT=3D480,WIDTH=3D615,TOP=3D0,LEFT=3D=
0,SCREENX=3D0,SCREENY=3D0,scrollbars=3Dyes");
}
// Hook for Internet Explorer=20
if (navigator.appName && navigator.appName.indexOf("Microsoft") !=3D -1 =
&&  navigator.userAgent.indexOf("Windows") !=3D -1) {
	document.write('<SCRIPT LANGUAGE=3DVBScript\> \n');
	document.write('on error resume next \n');
	document.write('Sub Our_story2_FSCommand(ByVal command, ByVal =
args)\n');
	document.write('  call Our_story2_DoFSCommand(command, args)\n');
	document.write('end sub\n');
	document.write('</SCRIPT\> \n');
}


function getCheckedValue(radioObj) {
var bCheck =3D false;
var sVal;
	if(!radioObj)
		return "";
	var radioLength =3D radioObj.length;
	if(radioLength =3D=3D undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i =3D 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			bCheck =3D true;
			sVal=3D radioObj[i].value;
		}
	}

		return sVal;

}
function setCheckedValue(radioObj, newValue) {
var bFound=3Dfalse;
	if(!radioObj)
		return;
	var radioLength =3D radioObj.length;
	if(radioLength =3D=3D undefined) {
		radioObj.checked =3D (radioObj.value =3D=3D newValue.toString());
		return;
	}
	for(var i =3D 0; i < radioLength; i++) {
		//radioObj[i].checked =3D false;
		if(radioObj[i].value =3D=3D newValue.toString()) {
			radioObj[i].checked =3D true;
		}
	}
}
/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current =
session)
 * [path]     Path where the cookie is valid (default: path of calling =
document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission =
requires a
 *              secure transmission
 */
function setCookie(name, value, days, path, domain, secure)
{=20
	if (days !=3D 0) {
		var expdate =3D new Date();=20
		expdate.setTime(expdate.getTime() + days*24*60*60*1000);=20
	}

	document.cookie=3D name + "=3D" + escape(value) +=20
        ((expdate) ? "; expires=3D" + expdate.toGMTString() : "") +
        ((path) ? "; path=3D" + path : "") +
        ((domain) ? "; domain=3D" + domain : "") +
        ((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name)
{
    var dc =3D document.cookie;
    var prefix =3D name + "=3D";
    var begin =3D dc.indexOf("; " + prefix); // other than first =
position in cookie
    if (begin =3D=3D -1)
    {
        begin =3D dc.indexOf(prefix);
        if (begin !=3D 0) return null;  // if not at start of cookie =
then cookie not found and leave with nothing
    }
    else
    {
        begin +=3D 2;
    }
    var end =3D document.cookie.indexOf(";", begin);
    if (end =3D=3D -1)
    {
        end =3D dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create =
cookie)
 * [domain]  domain of the cookie (must be same as domain used to create =
cookie)
 */
function deleteCookie(name, path, vdomain)
{
//	alert(vdomain);
    if (getCookie(name))
    {
//		alert("cookie found: "+name);
        document.cookie =3D name + "=3D" +=20
            ((path) ? "; path=3D" + path : "") +
            ((vdomain) ? "; domain=3D" + vdomain : "; domain=3D" + =
document.domain) +
            "; expires=3DThu, 01-Jan-70 00:00:01 GMT";
    }
}
//remove all occurences of a single character from a string
function remove_a_char(str, achar){
	new_str =3D '';
	for (ix =3D 0; ix < str.length; ix++){
		if (!(str.charAt(ix) =3D=3D achar)) new_str =3D new_str + =
str.charAt(ix);
	}
	return(new_str);
}

function go(url){
	if (url!=3D""){
		open_Window(url);
	}
}

function gotoCorpWeb(url) {document.location.href =3D url}

function days_between(date1, date2) {
    // The number of milliseconds in one day
    var ONE_DAY =3D 1000 * 60 * 60 * 24
    // Convert both dates to milliseconds
    var date1_ms =3D date1.getTime()
    var date2_ms =3D date2.getTime()
    // Calculate the difference in milliseconds
    var difference_ms =3D Math.abs(date1_ms - date2_ms)
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)
}

// eBusiness (velocity) customer attribute to business unit home page =
conversion table.
language =3D '';
var language =3D getCookie('LANGUAGE');=20
if (language !=3Dnull){
	language =3D language.toLowerCase();
	var validLang =3D 'en,fr,';
	if (validLang.indexOf(language) =3D=3D -1) language =3D 'en';
}
else language =3D 'en';

var bu_home_page =3D new Array();
bu_home_page['10'] =3D =
'/productsservices/forest_products/'+language+'_ForestProducts.shtml';
bu_home_page['20'] =3D =
'/productsservices/petroleum_chemicals/'+language+'_KFPetroleumandChemica=
ls.shtml';
bu_home_page['25'] =3D =
'/productsservices/metals_minerals/'+language+'_MME.shtml';
bu_home_page['30'] =3D '/productsservices/auto/'+language+'_Auto.shtml';
bu_home_page['50'] =3D '/productsservices/coal/'+language+'_Coal.shtml';
bu_home_page['61'] =3D =
'/productsservices/grain/'+language+'_Grain.shtml';
bu_home_page['62'] =3D =
'/productsservices/fertilizer/'+language+'_Fertilizer.shtml';
bu_home_page['71'] =3D =
'/productsservices/intermodal/overseas/'+language+'_Overseas.shtml';
bu_home_page['72'] =3D =
'/productsservices/intermodal/'+language+'_IMX.shtml';

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/en_specific.js

function modDate()
{
	var months =3D new Array(13);
	months[1] =3D "January";
	months[2] =3D "February";
	months[3] =3D "March";
	months[4] =3D "April";
	months[5] =3D "May";
	months[6] =3D "June";
	months[7] =3D "July";
	months[8] =3D "August";
	months[9] =3D "September";
	months[10] =3D "October";
	months[11] =3D "November";
	months[12] =3D "December";
	//alert(Date(document.lastModified));
	var dateObj =3D new Date(document.lastModified);
	var fyear =3D dateObj.getYear();
//	alert(fyear);
	if ((fyear > 50) && (fyear < 150))
	{=20
		fyear =3D fyear + 1900;
	}
	if ((fyear <=3D 50) && (fyear >=3D 0)) //corrects Y2K bug in IE4.0 & =
NN4.5
	{
		fyear =3D fyear + 2000;
	}
	// if the year is still clearly wrong (prior to 1998)then use 2005
	if (fyear < 1998 )
	{
		var dateObj =3D new Date();=20
		var fyear =3D 2005;=20
	}
	var lmonth =3D months[dateObj.getMonth() + 1];
//	alert(lmonth);
	var date =3D dateObj.getDate();
//	alert(date);
	document.write( lmonth +" " + date +", " + fyear);
}

function ExternalNavigationConfirmation(url) {
	varRet =3D confirm('You are now leaving the Canadian National Railway =
Company website  to go to a third party site.  Canadian National Railway =
Company does not control any third party site and is not responsible for =
the contents of any linked site or any link contained in a linked site. =
Canadian National Railway Company is providing such link to you only as =
a convenience and the inclusion of any link does not imply endorsement, =
investigation or verification by Canadian National Railway Company of =
the linked site or information contained therein.');
=09
	 if (varRet =3D=3D true) {
	 	popupWin =3D =
window.open(url,'CN1','scrollbars,width=3D640,height=3D395,left=3D10,top=3D=
10,toolbar,menubar,status,location,resizable');
		}
}


function logon(test){
clearTimeout(T1);=20
if (!server_flag)=20
	NewWindow('/customer_centre/ebusiness/eBiz_outtage.shtml', 'outtage', =
800, 400, 'scrollbars,resizable')
else document.forms[glbl_formname].submit();
}

/////////////////////////////////
////////////////////////////////////////////////////

// Created November 17, 2003  by Donald Camacho. Needed for the Stellent =
ePrice Document application. For public docs only
function ePriceDocumnets_public(DocID) {
docURL =
=3D"http://ecprod.cn.ca/ebusiness/eDistribution/english/public/PriceDocum=
entDisplay?DOCUMENT_CONTENT_VIEW_TYPE=3DDATE&DOCUMENT_REFERENCE_NUMBER=3D=
";
var doc_ref_num =3D DocID;
doc_ref_num =3D DocID.replace(/ /g,"+"); // replace all spaces by a plus =
sign
docURL =3D docURL+doc_ref_num;
nonSecureWin(docURL,'scrollbars,resizable,status');
}

function ePriceDocumnets_publicdate(DocID,date) {
docURL =
=3D"http://ecprod.cn.ca/ebusiness/eDistribution/english/public/PriceDocum=
entDisplay?DOCUMENT_CONTENT_VIEW_TYPE=3DDATE&DOCUMENT_REFERENCE_NUMBER=3D=
";
var doc_ref_num =3D DocID;
doc_ref_num =3D DocID.replace(/ /g,"+"); // replace all spaces by a plus =
sign
docURL =3D docURL+doc_ref_num;
docURL =3D docURL+"&DOCUMENT_CONTENT_EFFECTIVE_DATE=3D"+date;
nonSecureWin(docURL,'scrollbars,resizable,status');
}
function ePriceDocumnets_publicAllVersions(DocID) {                      =
            =20
docURL =
=3D"http://ecprod.cn.ca/ebusiness/eDistribution/english/public/DisplayPag=
e?URL=3DPriceDocuments%3FACTION%3DDisplayDocumentOtherVersions%26DOCUMENT=
_REFERENCE_NUMBER%3D";
var doc_ref_num =3D DocID;
doc_ref_num =3D DocID.replace(/ /g,"+"); // replace all spaces by a plus =
sign
docURL =3D docURL+doc_ref_num;
nonSecureWin(docURL,'scrollbars,resizable,status');
}
------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/fscommand.js

 var popup =3D null;=20
// Handle all the the FSCommand messages in a Flash movie
function en_community_Investment_DoFSCommand(URL, args) {
//alert(URL);
popup=3D =
document.open(URL,"Investment","height=3D500,width=3D465,left=3D350,top=3D=
150,resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=
=3D350,screeny=3D150");=20
if (popup.opener =3D=3D null) popup.opener =3D window; popup.opener.name =
=3D "myWindow";
}
function school_DoFSCommand(URL,args) {
popup=3D =
document.open(URL,"school","height=3D500,width=3D630,left=3D50,top=3D50,r=
esizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D50=
,screeny=3D50");=20
}
function CNradio_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"CNradio","height=3D500,width=3D650,left=3D10,top=3D10,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D1=
0,screeny=3D10");=20
}=20
function highlights_DoFSCommand(URL,args) {=20
popup=3D =
document.open(URL,"History","height=3D390,width=3D550,left=3D50,top=3D50,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D5=
0,screeny=3D50");=20
}=20
function presidents_DoFSCommand(URL,args) {=20
alert('Hello');
popup=3D =
document.open(URL,"President","height=3D450,width=3D500,left=3D50,top=3D5=
0,resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D=
50,screeny=3D50");=20
}=20
// IC history documents
function IChighlights_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"History","height=3D390,width=3D550,left=3D50,top=3D50,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D5=
0,screeny=3D50");=20
}=20
function ICpresidents_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"ICPresident","height=3D450,width=3D500,left=3D50,top=3D=
50,resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D=
50,screeny=3D50");=20
}=20
function IClogoe_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"Logos","height=3D450,width=3D430,left=3D50,top=3D50,re=
sizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D50,=
screeny=3D50");=20
}
function logoe_DoFSCommand(URL,args) {=20
popup=3D =
document.open(URL,"Logos","height=3D450,width=3D430,left=3D50,top=3D50,re=
sizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D50,=
screeny=3D50");=20
}=20
function fr_community_Investment_DoFSCommand(URL, args) {
popup=3D =
document.open(URL,"Investment","height=3D500,width=3D630,left=3D50,top=3D=
50,resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D=
50,screeny=3D50");=20
}
function CNradiof_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"CNradio","height=3D500,width=3D650,left=3D10,top=3D10,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D1=
0,screeny=3D10");=20
}=20
function fr_highlight_DoFSCommand(URL,args) {=20
popup=3D =
document.open(URL,"History","height=3D390,width=3D550,left=3D50,top=3D50,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D5=
0,screeny=3D50");=20
}=20
function fr_presidents_DoFSCommand(URL,args) {=20
popup=3D =
document.open(URL,"President","height=3D450,width=3D500,left=3D50,top=3D5=
0,resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D=
50,screeny=3D50");=20
}=20
function logof_DoFSCommand(URL,args) {=20
popup=3D =
document.open(URL,"Logos","height=3D450,width=3D430,left=3D50,top=3D50,re=
sizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D50,=
screeny=3D50");=20
}=20
=20
function IChighlightsf_DoFSCommand(URL,args) {=20
popup=3D =
document.open(URL,"History","height=3D390,width=3D550,left=3D50,top=3D50,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D5=
0,screeny=3D50");=20
}=20
function ICpresidentsf_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"ICPresident","height=3D450,width=3D500,left=3D50,top=3D=
50,resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D=
50,screeny=3D50");=20
}=20
function IClogof_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"Logos","height=3D450,width=3D430,left=3D50,top=3D50,re=
sizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D50,=
screeny=3D50");=20
}
function schoolfr_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"school","height=3D500,width=3D630,left=3D50,top=3D50,r=
esizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D50=
,screeny=3D50");=20
}
function Our_story2f_DoFSCommand(URL,args) {=20
//alert(URL);
popup=3D =
document.open(URL,"History","height=3D500,width=3D618,left=3D50,top=3D50,=
resizable=3D0,tools=3D0,menubar=3D0,status=3D0,scrollbars=3D1,screenx=3D5=
0,screeny=3D50");=20
}
------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/contactsXML.js

<!--
/* =
*************************************************************************=
****
	Date:  		October 12, 2005
	Version:	4
				- Code is browser independent (except for the import function) and =
works
					for both IE and FireFox.
				- Allows for setting column widths using the 'width' attribute
					found in any xml data file <headers> <colheader> node.
				- Allows for specifying newlines in table columns using the
					'newline' attribute found in any xml data file <config> <column> =
node.
				- Code presents a better separation of logic using more procedures
				- Code documented
	Purpose:  	Client-side Javascript gets xml file data from server and =
presents
   				xhtml tables containing the data to the user.
				Except fot the 'importXML' function, this script is shared by,
				and works with both IE and FireFox browsers.
	Written: 	by Andre Richard for CN WebTeam & www.cn.ca			=09
   =
*************************************************************************=
***/
function getLanguageElement() {=20
/* *** web page's language : based on filename 'en_...' or 'fr_...' */

var pageLang;=20
var pageName =3D window.location.pathname;
=20
if ( pageName.indexOf( '/fr_' ) !=3D -1 ) {							 // french page=20
pageLang =3D 'french';=20
}=20
else if ( pageName.indexOf( '/en_' ) !=3D -1 ) { 				// english page=20
pageLang =3D 'english';=20
}=20
else { 										// spanish, or chinese or ... ; any other third =
language=20
pageLang =3D 'other';
}=20
=20
return pageLang;=20
} =09
function importXML( dataFile ) {
/* ***  Import Data  =
*********************************************************/
	// FireFox
	if (document.implementation && document.implementation.createDocument) =
{
		xmlDoc =3D document.implementation.createDocument('', 'contacts', =
null);
		// mozilla : generates asynchronous requests by default
		xmlDoc.onload =3D createTables;
	=09
	}
	// IE
	else if (window.ActiveXObject) {
		xmlDoc =3D new ActiveXObject('Microsoft.XMLDOM');
		xmlDoc.async =3D true;	// seems true by default anyway
		xmlDoc.onreadystatechange =3D function ()
			{if (xmlDoc.readyState =3D=3D 4) createTables()};
 	}
	else {
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load( dataFile );
}

/* ***  Functions to create various parts of the
		web pages's output table structure  =
***********************************/

function createText( toTag, strText ) {
	var nodeText;
=09
	if ( strText !=3D '' ) {
		nodeText =3D document.createTextNode( strText );
		toTag.appendChild( nodeText );
	}
}

function createNBbspaceText( toTag ) {
	createText( toTag, '\u00A0' );=09
}

function createLineFeedTag( toTag ) {
	var lineFeed;
=09
	lineFeed =3D document.createElement('br');
	toTag.appendChild( lineFeed );
}

function createSpacerImgTag( toTag, spacerWidth ) {
	// sets up an image spacer width x height : 1x1 or 2x1
	var spacer;
=09
	spacer_url =3D '/images/interface/blank.gif';
=09
	spacer =3D document.createElement('img');
	spacer.setAttribute( 'src', spacer_url );
	spacer.setAttribute( 'width', spacerWidth );
	spacer.setAttribute( 'height', 1 );
	spacer.setAttribute( 'alt', 'spacer' );
	toTag.appendChild( spacer );
}

function createEmailTag( toTag, url, text ) {
	var emailTag;
=09
	emailTag =3D document.createElement('a');
	emailTag.setAttribute( 'href', 'mailto:' + url );
	createText( emailTag, text );
	toTag.appendChild( emailTag );
}

function createEmptyCellTableTag( toRowTag, colWidth, colClass ) {
	var col;

	col =3D document.createElement('td');
	col.className =3D colClass;

	col.setAttribute( 'width', colWidth );
	col.setAttribute( 'height', 1 );
	createSpacerImgTag( col, colWidth );
	toRowTag.appendChild( col );
}

function createDataSeparatorCol( toRow, rowNum ) {
	// COLUMN SEPARATOR
	// <td width=3D"2" height=3D"1">
	//		<img src=3D"/images/interface/blank.gif" alt=3D" " width=3D"2" =
height=3D"1" /></td>
	// <td width=3D"1" height=3D"1" bgcolor=3D"666666">
	//		<img src=3D"/images/interface/blank.gif" alt=3D" " width=3D"1" =
height=3D"1" /></td>
	// <td width=3D"2" height=3D"1">
	//		<img src=3D"/images/interface/blank.gif" alt=3D" " width=3D"2" =
height=3D"1" /></td>
	var rowColor;

	rowColor =3D getRowColor( rowNum );
	// comment 1st & 3rd columns if using ONE column between data ;
	//		un-comment if using THREE columns
	createEmptyCellTableTag( toRow, 2, rowColor );
	createEmptyCellTableTag( toRow, 1, 'line' );
	createEmptyCellTableTag( toRow, 2, rowColor );
}

function createLineSeparatorRow( toTableBody, numCols ) {
	//	<tr><!-- 1 PIXEL SOLID LINE -->
	//		<td style=3D"background-color: #666666;" height=3D"1" =
colspan=3D"17">
	//			<img src=3D"/images/interface/blank.gif" alt=3D" " width=3D"1" =
height=3D"1" /></td>
	//	</tr>
	var row, col;
	var numTDs;		// number of columns for this page's html table
=09
	numTDs =3D  ( numCols + 1 ) + 3 * numCols;

	row =3D document.createElement('tr');
	row.className =3D 'line';
	col =3D document.createElement('td');
	col.setAttribute( 'colSpan', numTDs );
	createSpacerImgTag( col, 1 );
	row.appendChild( col );

	toTableBody.appendChild( row );
}

function applyRowColor( toRowTag, rowNum ) {
	var rowColor;
=09
	rowColor =3D getRowColor( rowNum );
	toRowTag.className =3D rowColor;
}
/* ***  End output table creation functions  =
**********************************/

/* ***  Get Node Information  =
*************************************************/

function getStrNodeValue( thenode ) {
// if 'thenode' is a text node -> text content returned
// if 'thenode' is an element node -> null returned
	return thenode.nodeValue;
}

function getStrNodeName( thenode ) {
// if 'thenode' is a text node -> '#text' returned
// if 'thenode' is an element node -> tag name returned
	return thenode.nodeName;
}

function getStrNodeType( thenode ) {
// if 'thenode' is a text node -> 3 returned
// if 'thenode' is an element node -> 1 returned
	return thenode.nodeType;
}

function getStrTextInNode( nodeArr ) {
	var nodeCount, nextNode, nodeText;
=09
	nodeText =3D '';
	for ( nodeCount =3D 0; nodeCount < nodeArr.length; nodeCount++ ) {
		nextNode =3D nodeArr[ nodeCount ];
		// nodeArr[ nodeCount ].hasChildNodes =3D
		//		nextNode.hasChildNodes =3D false for a text node
		if ( getStrNodeType( nextNode ) =3D=3D 3 ) {	// ie text node
			nodeText =3D nodeText + getStrNodeValue( nextNode );
		}
	}
	return nodeText;	// note : no lead / trail spaces are returned in =
string
}
/* ***  End get Node Information  =
*********************************************/

/* ***  Create this tables' HEADERS using xml data column titles   =
************/
function createHeadersRow( colTitlesArr, tableBody ) {
	var titleLanguageNodeArr, titleLanguageVal, nextTitle;
	var row, col;
	var strong;
	var numCols;	// number of column headers in current group (table)

	numCols =3D colTitlesArr.length - 1;
	createLineSeparatorRow( tableBody, numCols );

	row =3D document.createElement('tr');
	for ( nextTitle =3D 0; nextTitle <=3D numCols; nextTitle++ ) {

		col =3D document.createElement('td');

		// get column width if exists
		// IE & Firefox can use eg.: '50' or '50px' or '50%' for column widths
		testWidthAttribute( col, colTitlesArr[ nextTitle ].getAttribute( =
'width' ) );

		strong =3D document.createElement('strong');
		// Get DATA	=09
		titleLanguageNodeArr =3D
			colTitlesArr[ nextTitle ].getElementsByTagName( getLanguageElement() =
);
		titleLanguageNodeArr =3D titleLanguageNodeArr[0].childNodes;
		titleLanguageVal =3D getStrTextInNode( titleLanguageNodeArr );		=09
		createText( strong, titleLanguageVal );
		col.appendChild( strong );
		row.appendChild(col);
		if ( nextTitle < numCols ) {
			createDataSeparatorCol( row, 1 );	// force even color with the 1
		}
	}
	tableBody.appendChild(row);
}

/* ***  'createDataRows' helper functions =
*************************************/
function getRowColor( num ) {
	if( num % 2 =3D=3D 1 ) {
		return 'even';
	}
	else {=20
		return 'odd';
	}
}

function removeExtraSpaces( strWithSpaces ) {
	// removes leading and trailing spaces in a string
	var strSpacesRemoved;
=09
	strSpacesRemoved =3D strWithSpaces;
	// remove leading spaces
	while (strSpacesRemoved.charAt(0) =3D=3D ' ')
		strSpacesRemoved =3D
			strSpacesRemoved.substring( 1, strSpacesRemoved.length );
	// remove trailing spaces
	while (strSpacesRemoved.charAt(strSpacesRemoved.length - 1) =3D=3D ' ')
		strSpacesRemoved =3D
			strSpacesRemoved.substring( 0, strSpacesRemoved.length - 1 );
	=09
	//alert('PRETRIM =3D \'' + strWithSpaces + '\' --  ' + 'POSTTRIM =3D =
\'' + strSpacesRemoved + '\'');
	// strSpacesRemoved =3D strWithSpaces.replace( '^\s{1,}|\s{1,}$', '' );
	=09
	return strSpacesRemoved;
}

function testWidthAttribute( toTag, str ) {
	// Allows for html column width settings in the <headers><colheader =
width=3D"">... tag
	// Allowable values for width :
	// 	1 - optional	-> eg.: '<colheader>'			-> function returns 'invalid'
	// 	2 - empty		-> eg.: '<column width=3D"">		-> function returns =
'invalid'	=09
	// 	3 - number		-> eg.: '<column width=3D"50">	-> function returns =
'50px'
	// 	4 - pixel		-> eg.: '<column width=3D"50px">	-> function returns =
'50px'
	// 	5 - percentage	-> eg.: '<column width=3D"50%">	-> function returns =
'50%'
	var colWidth;
=09
	colWidth =3D 'ignore';
	// parseInt :
	//		If parameter is a string equivalent of a number -> returns the =
number ;
	//		If parameter is a string equivalent of a number followed by text
	//			-> parseInt returns the integer portion
	//		Otherwise parseInt returns NaN if it can't return a number.
	// test that one case IS found :
	//		str =3D 'n' or str =3D 'npx' or str =3D 'n%' where 'n' is a number
	if ( ( str =3D=3D ( parseInt(str) ) ) ||
		 ( str =3D=3D ( parseInt(str) + 'px' ) ) ||
		 ( str =3D=3D ( parseInt(str) + '%' ) ) ) {
		if ( parseInt(str) > 0 ) {	// true -> number returned is > 0
			if ( str =3D=3D ( parseInt(str) + 'px' ) ) {
			// str is an number with no 'px' substring
				colWidth =3D str + 'px';
			}
			else {
				colWidth =3D str;
			}
		}
	}
=09
	if ( colWidth !=3D 'ignore' ) {
		toTag.setAttribute( 'width', colWidth );
	}
}

function processNewlineAttribute( toTag, newLineType, isLastItem ) {
	var newLineVals =3D 'last all none';
=09
	// get 'last', 'none', or 'all'
	if ( newLineVals.indexOf( newLineType ) =3D=3D -1 ) {=09
	// if true -> str not found in 'newLineVals' so set newline to default
		newLineType =3D 'last';
	}
=09
	if ( isLastItem ) {	// last item to write in table cell
		if ( ( newLineType =3D=3D 'last' ) || ( newLineType =3D=3D 'all' ) ) {
			createLineFeedTag( toTag );
			createNBbspaceText( toTag );
		}
	}
	else {
		createLineFeedTag( toTag );
		if ( newLineType =3D=3D 'all' ) {
			createNBbspaceText( toTag );
			createLineFeedTag( toTag );
		}
	}
}

function processTextNodeData( toTag, includedDataArr, newLineType, =
lastItem ) {
	var strColData;

	strColData =3D getStrTextInNode( includedDataArr[ 0 ].childNodes );
	if ( strColData !=3D '' ) {
		createText( toTag, strColData );
		processNewlineAttribute( toTag, newLineType, lastItem );
	}
}

function processLanguageData( toTag, includedDataArr, newLineType, =
lastItem ) {
	var langDataArr, langData;

	langDataArr =3D includedDataArr[0].getElementsByTagName( =
getLanguageElement() );
	processTextNodeData( toTag, langDataArr, newLineType, lastItem )
}

function processEmailData( toTag, includedDataArr, newLineType, lastItem =
) {
	var emailDataArr;
	var emailUrl, emailText;

	emailDataArr =3D includedDataArr[0].getElementsByTagName( 'url' );
	emailUrl =3D getStrTextInNode( emailDataArr[ 0 ].childNodes );
	emailDataArr =3D includedDataArr[0].getElementsByTagName( 'text' );
	emailText =3D getStrTextInNode( emailDataArr[ 0 ].childNodes );
	if ( emailText !=3D '' ) {
		if ( emailUrl !=3D '' ) {
			createEmailTag( toTag, emailUrl, emailText );
		}
		else {
			createText( toTag, emailText );	// show text no link
		}
		processNewlineAttribute( toTag, newLineType, lastItem );
	}
}

function processDataToIncludeNode( toTag, dataToIncludeNode, =
dataIncludedNode ) {
	// INPUT :	- 'dataToIncludeNode' -> one <column> (node) from within =
<config> node
	//			- 'dataIncludedNode' -> one <contact> node of data
=09
	//	'dataToIncludeArr' -> array of all <data_include> nodes obtained =
from within <column>
	//	There are 'numColItems' # of <data_include>
	//		 nodes in 'dataToIncludeArr' array ;
	//	One 'nextColItem' node from array 'dataToIncludeArr' is
	//		<data_include>...</data_include> from the xml data file ;
	//	'dataToInclude' -> Text within a <data_include> node, =3D a (direct) =
child data
	//		node to look for within a 'dataIncludedArr' node, specifying the =
<contact> node data				=09
	var dataToIncludeArr, dataToInclude, numColItems, nextColItem;
	var dataIncludedArr;	//	<contact> data to include in a resulting table =
cell
	var dataNewLineType;

	dataNewLineType =3D dataToIncludeNode.getAttribute( 'newline' );
	dataToIncludeArr =3D
		dataToIncludeNode.getElementsByTagName( 'data_include' );
	numColItems =3D dataToIncludeArr.length - 1;
	lastColItem =3D false;
=09
	for ( nextColItem =3D 0; nextColItem <=3D numColItems; nextColItem++ ) =
{
		// dataToInclude -> string value specifying which 1st level column=20
		//		data to get from the '<contact>...</contact>' node ;
		dataToInclude =3D getStrTextInNode( dataToIncludeArr[ nextColItem =
].childNodes );
		if ( nextColItem =3D=3D numColItems ) {
			lastColItem =3D true;
		}

		// GET DATA
		// dataIncludedArr -> top-level nodelist from a <contact> eg.: the =
<email>...</email>
		dataIncludedArr =3D dataIncludedNode.getElementsByTagName( =
dataToInclude );

		// 1st IF :  check if we have the <email>...</email> node from :
		//		<contact>...<email>...</email>...</contact>
		if ( dataToInclude =3D=3D 'email' ) {
			processEmailData( toTag, dataIncludedArr, dataNewLineType, =
lastColItem );
		}
		// ELSE : node has more nodes in it and they are language nodes
		// 2nd if : if there is another element as a child ( element nodeType =
=3D 1),
		//		then we have a language case to get
		else if ( dataIncludedArr[0].getElementsByTagName( =
getLanguageElement() ).length > 0 ) {
			processLanguageData( toTag, dataIncludedArr, dataNewLineType, =
lastColItem );
		}
		// data node contains only text and no more elements
		else {
			processTextNodeData( toTag, dataIncludedArr, dataNewLineType, =
lastColItem );
		}	// end if..else
	}	// for nextColItem
}

/* ***  Create DATA ROWS for a table of a particular group  =
*******************/
function createDataRows( currGroupVal, configColumnsArr, dataArr, =
tableBody ) {
	//	***  CONFIG Input Parameter 'configColumnsArr' array  =
******************
	// There are 'numConfigColumns' # of <column> nodes in the <config> =
node		=09
	var numConfigColumns, nextConfigColumn;

	//	***  Input Parameter 'dataArr' array  ***
	//	There are 'numDataNodes' # of 'dataNode' nodes in input parameter
	//		 'dataArr' array ; a 'dataNode' is <contact>...</contact> in xml =
data file.
	var dataNode, numDataNodes, nextDataNode;

	var dataGroupArr;	//	array ; the (single) <group> child node of a =
<contact>
	var dataGroupVal;	//	string ; the text within the <group> child node of =
a
						//		 <contact> to compare with the 'group' attribute value
						//		'currGroupVal' from <headers> element.

	// count the <contact> nodes processed for current table ;
	//		required to alternate row color.
	var coloredRows;
	// resulting output table will have 'row's and 'numConfigColumns' =
header columns ('col').	=09
	var row, col;

	numConfigColumns =3D configColumnsArr.length - 1;
	numDataNodes =3D dataArr.length - 1;
=09
	if ( ( numDataNodes >=3D 0 ) && ( numConfigColumns >=3D 0 ) ) {
		// ROW
		coloredRows =3D 0;	// count number of contacts in this group
		for ( nextDataNode =3D 0; nextDataNode <=3D numDataNodes; =
nextDataNode++ ) {
			dataNode =3D dataArr[ nextDataNode ];

			dataGroupArr =3D dataNode.getElementsByTagName( 'group' );
			dataGroupArr =3D dataGroupArr[0].childNodes;
			dataGroupVal =3D removeExtraSpaces( getStrTextInNode( dataGroupArr ) =
);
			// Note :  when xml file has an element, eg.: <elem>data text in =
here</elem>
			//			all leading and trailing spaces between the element start
			//			and end tag will NOT be returned by the function =
'getStrTextInNode'
			//	strip leading and trailing spaces from 'dataGroupVal'
			//	tempDataGroupVal =3D dataGroupVal;	// for alert test below
			//	dataGroupVal =3D removeExtraSpaces( dataGroupVal );
			//	alert('PRETRIM =3D \'' + tempDataGroupVal + '\' --  ' + 'POSTTRIM =
=3D \'' + dataGroupVal + '\'');

			// both 'dataGroupVal' and 'currGroupVal'
			//		 don't have leading and trailing spaces	=09
			if ( dataGroupVal =3D=3D currGroupVal ) {
				createLineSeparatorRow( tableBody, numConfigColumns );
				row =3D document.createElement('tr');
				coloredRows +=3D 1;
				applyRowColor( row, coloredRows );

				// there are 'numConfigColumns's <column> nodes within
				//		the (one) <config> node in the group <headers> node
				for ( nextConfigColumn =3D 0; nextConfigColumn
				   <=3D numConfigColumns; nextConfigColumn++ ) {
					col =3D document.createElement('td');

					processDataToIncludeNode(
						col, configColumnsArr[ nextConfigColumn ], dataNode );
				=09
					row.appendChild(col);
					if ( nextConfigColumn < numConfigColumns ) {
						createDataSeparatorCol( row, coloredRows );
					}
				}	// for nextConfigColumn
=09
				tableBody.appendChild(row);
			}	// if dataGroupVal =3D ...
		}	// for nextDataNode
	}	// if
}

/************************************************************************=
******/
/* ***  Create all tables for the web page  =
***********************************/
function createTables() {
	// group (table) variables
	var headersArr, numHeaders, headersCount, currHeaderGroup;
	// group (table) column title and widths definition variables
	var headersColheaderArr;
	// column includes <--> data variables
	var headersConfigArr, headersConfigColsArr;
	// contact data variables
	var dataArray;
	var tBody, contactTable;
	=09
	spacer1x1 =3D null;
	spacer2x1 =3D null;
=09
	// HEADERS
	// data file :
	//		position 1..r -> 'headers' elements
	//		position (r+1)..s -> 'contact' elements
	//		=3D> get all 1..r 'headers' elements
	// get array of root.headers (group) elements from xmlDoc ;
	//			these elements define a group's resulting (html) data table
	headersArr =3D xmlDoc.getElementsByTagName('headers');
	numHeaders =3D headersArr.length - 1;	// 0..n ; number of html tables

	// DATA ROWS
	// data file :
	//		position 1..r -> 'headers' elements
	//		position (r+1)..s -> 'contact' elements
	//		=3D> get all (r+1)..s 'contact' elements
	// get array of root.contact elements from xmlDoc
	dataArray =3D xmlDoc.getElementsByTagName('contact');
=09
	// for each group construct a table
	for ( headersCount =3D 0; headersCount <=3D numHeaders; headersCount++ =
) {

		// get current group (table)
		currHeaderGroup =3D headersArr[ headersCount ].getAttribute( 'group' =
);
		// Note :  when xml file has an attribute, eg.: att=3D"val",=20
		//			all leading and trailing spaces between the quotes IS significant
		// strip leading and trailing spaces from 'currHeaderGroup'
		//tempHeaderGroup =3D currHeaderGroup;	// for alert test below
		currHeaderGroup =3D removeExtraSpaces( currHeaderGroup );
		//alert('PRETRIM =3D \'' + tempHeaderGroup + '\' --  ' + 'POSTTRIM =3D =
\'' + currHeaderGroup + '\'');
		// eg.: '<p id=3D"id"></p>' must exist in the page using this script
		//		where "id" =3D 'currHeaderGroup' ; if the 'currHeaderGroup' pf the =
"id"
		//		contains leading or trailing spaces, the table will not be =
displayed					=09
		if ( document.getElementById( currHeaderGroup ) ) {
			contactTable =3D document.createElement('table');
			contactTable.setAttribute('width','100%');
			contactTable.setAttribute('cellPadding',0);
			contactTable.setAttribute('cellSpacing',0);
			contactTable.setAttribute('border',0);
			tBody =3D document.createElement('tbody');

			// get array of root.headers.colheader elements from xmlDoc ;
			//		these elements supply the actual name to be given to a resulting
			//		(html) table column header	=09
			headersColheaderArr =3D
				headersArr[ headersCount ].getElementsByTagName( 'colheader' );

			createHeadersRow( headersColheaderArr, tBody );
=09
			// get array of root.headers.config elements from xmlDoc
			//		for current 'headers' element
			headersConfigArr =3D
				headersArr[ headersCount ].getElementsByTagName( 'config' );
			// get array of root.headers.config.column elements from xmlDoc :
			//		- these elements define what columns to include in resulting =
table ;
			//		- each 'column' element may have a 'width' attribute (optional) =
to set
			//		  a table column width ;	=09
			//		- [ 0 ] -> we can only have 1 config element per 'headers' =
(group) element
			headersConfigColsArr =3D
				headersConfigArr[ 0 ].getElementsByTagName( 'column' );

			createDataRows( currHeaderGroup, headersConfigColsArr, dataArray, =
tBody );
	=09
			contactTable.appendChild( tBody );
			// Attach completed table to web page :
			//		eg.: if page <body> contains a '<p id=3D"Automotive"></p>',
			//			 and xml defines a group 'Automotive', then attach table
			document.getElementById( currHeaderGroup ).appendChild( contactTable =
);
		}
//		else {
//			document.getElementsByTagName( 'body' ).appendChild(
//				createElementDataText(
//					'The contact list for \'' +
//					currHeaderGroup +
//					'\' is presently unavailable') );
//		}
	}
}
/************************************************************************=
******/
// -->

------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/rss20.js


function loadRSS(divId, url) {
    //linksDiv =3D document.getElementById(divId);
    var req, wrapper;
    wrapper =3D new Object();
    wrapper.divId =3D divId;
    wrapper.url =3D url;
	language =3D 'en'
	if (document.location.pathname.indexOf('/fr_') > 0) language =3D 'fr';
=09
=09
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req =3D new XMLHttpRequest();
        wrapper.request =3D req;
        req.onreadystatechange=3Dfunction() {
            processLinksRequest(wrapper);
        }
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req =3D new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            wrapper.request =3D req;
            req.onreadystatechange=3Dfunction() {
              processLinksRequest(wrapper);
            }
            req.open("GET", url, true);
            req.send();
        }
    }
}

function clearHeadlines(divId) {
  var elem =3D document.getElementById('headlines');
  if (elem) {
    elem.innerHTML =3D '';=20
  }
  return false;
}

// handle onreadystatechange event of req object
function processLinksRequest(wrapper) {
    if (wrapper.request) {
      // only if req shows "loaded"
      if (wrapper.request.readyState =3D=3D 4) {
          // only if "OK"
          if (wrapper.request.status =3D=3D 200) {
 //             dump(wrapper.request);
              writeHeadlines(wrapper);
           } else {
              alert("Status: " + wrapper.request.status);
              alert("There was a problem retrieving the XML data:\n" +
                  wrapper.request.statusText);
           }
      }
    }
    else {      alert('Request is undefined');
    }
}

function dump(req) {
    try {
      clearText();
      var node =3D req.responseXML;
      appendText('');
      appendText(req.responseText);
    }
    catch (ex) {
      alert('EXCEPTION: ' + ex.message);
    }

}

function writeHeadlines(wrapper) {
//	alert("writeHeadlines()");
    var linksDiv, items, i, title, link, anchor, description;
	var space =3D " ";
	var emdash =3D '=97';
	var en_new_image =3D createImageTag( "/images/content/new_flag.gif", =
32, 17, 'New News');
	en_new_image.setAttribute("align","absbottom");
	var fr_new_image =3D createImageTag( =
"/images/content/nouveau_flag.gif", 58, 15, 'Nouveau');
	fr_new_image.setAttribute("align","absbottom");
    linksDiv =3D document.getElementById("highlights");
=09
	items =3D wrapper.request.responseXML.getElementsByTagName('item');
    for (i=3D0;i<items.length;i++) {
	  category =3D =
getStrTextInNode(items[i].getElementsByTagName('category')[0].childNodes)=
;=20
	  if (category =3D=3D wrapper.divId) {
		  var arrow =3D =
createImageTag('/productsservices/images/fr_home_whatsnew_arrow.gif', =
22, 15, ' ') ;
		  pubDate =3D =
getStrTextInNode(items[i].getElementsByTagName('pubDate')[0].childNodes);=
=20
		  title =3D =
getStrTextInNode(items[i].getElementsByTagName('title')[0].childNodes);=20
		  link =3D =
getStrTextInNode(items[i].getElementsByTagName('link')[0].childNodes);
//		  alert(link);
		  description =3D =
getStrTextNodeInNode(items[i].getElementsByTagName('description')[0].chil=
dNodes);
		=20
         var para =3D document.createElement('p');
		 para.align =3D "justify";
		 para.appendChild(arrow);

		if (displaynew(pubDate)) {
			if (language =3D=3D 'en')=20
				new_image =3D createImageTag( "/images/content/new_flag.gif", 32, =
17, 'New News');
			else=20
				new_image =3D createImageTag( "/images/content/nouveau_flag.gif", =
58, 15, 'Nouveau');
			=09
			new_image.setAttribute("align","absbottom");			=09
			para.appendChild(new_image);
		}
		para.appendChild(document.createTextNode(space));

		 if ( link !=3D ''){
//			 if (link.toLowerCase.indexOf('https://'+Velocity_server) > -1) ; =
//linking to an ecprod application
//			 if (link.toLowerCase.indexOf('://www.cn.ca') =3D -1) ; // linking =
to an external page
            var anchor =3D document.createElement('a');
            anchor.href =3D link;
            anchor.appendChild(document.createTextNode(title));
	        para.appendChild(anchor)
		 }
		 else if (title !=3D '') {=20
			 bold =3D document.createElement('strong')
			 bold.appendChild(document.createTextNode(title));
			 para.appendChild(bold)
		 	}
		 para.appendChild(document.createTextNode(' : '))
         para.appendChild(description);
         linksDiv.appendChild(para);
	  }
    }
}


/* ***  Get Node Information  =
*************************************************/

function getStrNodeValue( thenode ) {
// if 'thenode' is a text node -> text content returned
// if 'thenode' is an element node -> null returned
	return thenode.nodeValue;
}

function getStrNodeName( thenode ) {
// if 'thenode' is a text node -> '#text' returned
// if 'thenode' is an element node -> tag name returned
	return thenode.nodeName;
}

function getStrNodeType( thenode ) {
// if 'thenode' is a text node -> 3 returned
// if 'thenode' is an element node -> 1 returned
	return thenode.nodeType;
}

function getStrTextInNode( nodeArr ) {
	var nodeCount, nextNode, nodeText;
=09
	nodeText =3D '';
	for ( nodeCount =3D 0; nodeCount < nodeArr.length; nodeCount++ ) {
		nextNode =3D nodeArr[ nodeCount ];
		// nodeArr[ nodeCount ].hasChildNodes =3D
		//		nextNode.hasChildNodes =3D false for a text node
		if ( getStrNodeType( nextNode ) =3D=3D 3 ) {	// ie text node
			nodeText =3D nodeText + getStrNodeValue( nextNode );
		}
		else if ( getStrNodeType( nextNode )=3D=3D 4 ) {   // CDATA node
				cdata=3D nextNode.nodeValue;
			}
			else if ( getStrNodeType( nextNode )=3D=3D 1 ){alert(getStrNodeType( =
nextNode ))}
	}
	return nodeText;	// note : no lead / trail spaces are returned in =
string
}


function getStrTextNodeInNode( nodeArr ) {
	var nodeCount, nextNode, nodeText;
	var div =3D document.createElement('span');
	nodeText =3D '';
	for ( nodeCount =3D 0; nodeCount < nodeArr.length; nodeCount++ ) {
		nextNode =3D nodeArr[ nodeCount ];
		// nodeArr[ nodeCount ].hasChildNodes =3D
		//		nextNode.hasChildNodes =3D false for a text node
		if ( getStrNodeType( nextNode ) =3D=3D 3 ) {	// ie text node
			nodeText =3D nodeText + getStrNodeValue( nextNode );
		}
		else if ( getStrNodeType( nextNode )=3D=3D 4 ) {   // CDATA node
				div.appendChild(document.createTextNode(nodeText));
				nodeText =3D '';
				cdata=3D nextNode.nodeValue;
				cdata =3D processCDATA(cdata);
				span =3D document.createElement('span');
				span.innerHTML =3D cdata;
				div.appendChild(span);
			}
			else if (( getStrNodeType( nextNode )=3D=3D 1 )&&(nextNode.nodeName =
=3D=3D 'a')){
				div.appendChild(document.createTextNode(nodeText+' '));
				nodeText =3D ' ';
				var anchor =3D document.createElement('a');
				anchor.href=3DnextNode.getAttribute("href");
				anchor.onclick =3D Function(nextNode.getAttribute("onClick"));
				=
anchor.appendChild(document.createTextNode(nextNode.childNodes[0].nodeVal=
ue));
				div.appendChild(anchor);	=09
			}
	}
	div.appendChild(document.createTextNode(nodeText));
	return div;	// note : no lead / trail spaces are returned in string
}

function removeleadspaces(str) {
	len =3D str.length;
	str=3Dstr+'x';
	i =3D 0;
	while (str.charAt(i) =3D=3D ' ') i++ ;
	if (i=3D=3Dlen) return("");
	else return(str.substring(i,len));	=09
}

function findonclick( string ){
	startposition =3D string.indexOf("onClick=3D");=20
	string1 =3D string.substring(startposition+8,string.length );
	string1 =3D removeleadspaces(string1);
	quote =3D string1.charAt(0);
	// This should be a single or double quote. If neither return an empty =
node
	if ((quote =3D=3D "'") || (quote =3D=3D '"') ) =
string1=3Dstring1.substring(1,string1.length);
	else return("");
	// Find position of matching quote character=09
	endposition =3D string1.indexOf(quote);
	// get text between opening and closing quotes.
	return(string1.substring(0,endposition));
}

function processCDATA( cd ) {=20
	if (cd.toLowerCase().indexOf('ecprod.cn.ca') =3D=3D -1) return(cd);
//	will dismantel and disect and substitute text in cd variable and =
rebuild it in variable parta
	var doubleQuote =3D '"';
	var singleQuote =3D "'";
	var js_string =3D 'javascript:nonSecureWin(';
	var js_string2 =3D ",'scrollbars,resizable,status')";
 	startposition =3D cd.indexOf("href=3D");
	// get position of next non blank character
	parta =3D cd.substring(0,startposition+5);
	string1 =3D cd.substring(startposition+5,cd.length );
	string1 =3D removeleadspaces(string1);
	quote =3D string1.charAt(0);
	// This should be a single or double quote. If neither return original =
string
	if ((quote =3D=3D singleQuote) || (quote =3D=3D doubleQuote) ) =
string1=3Dstring1.substring(1,string1.length);
	else return(cd);
	// Find position of matching quote character=09
	endposition =3D string1.indexOf(quote);
	// get text between opening and closing quotes.
	url=3D string1.substring(0,endposition)
	parta =3D =
parta+doubleQuote+js_string+singleQuote+url+singleQuote+js_string2+double=
Quote+string1.substring(endposition+1);
	return(parta);
	if(url.indexOf())
	if (url.length < 2) {
		onclickinstruction =3D findonclick(string1);
		if (onclickinstruction.length > 0) anchor.onclick =3D =
Function(onclickinstruction);
	}
 	// find position of '>' character
	startposition =3D string1.indexOf('>');
	//find position of closing anchor tag </a>
	endposition =3D string1.indexOf("<");
	// get text between these two positions
    =
anchor.appendChild(document.createTextNode(string1.substring(startpositio=
n+1,endposition)));=09
	return anchor;
}

/* ***  End get Node Information  =
*********************************************/

function createImageTag( src, width, height, alt ) {
	// sets up an image=20

	var image =3D document.createElement('img');
	image.setAttribute( 'src', src );
	image.setAttribute( 'width', width );
	image.setAttribute( 'height', height );
	image.setAttribute( 'alt', alt );
	return image;
}

function displaynew(expiryDate)
{
	duration =3D 10 * 24 * 60 * 60 * 1000;  // 10 days in milliseconds
	PublishDate =3D new Date(expiryDate);
	curDate =3D new Date();
//alert(curDate.getTime()-PublishDate.getTime()+", "+duration+", =
"+((curDate.getTime()) < (PublishDate.getTime() + duration)));
	return((curDate.getTime()) < (PublishDate.getTime() + duration))
}

function strong(node){
	var tag =3D document.createElement('strong');
	// test for empty tag
	if (node.childNodes[0].nodeValue.length < 1) =
return(document.createTextNode(' '));
	tag.appendChild(document.createTextNode(node.childNodes[0].nodeValue));
	return tag;
}

function clearText() {
    var elem =3D document.getElementById('output');
    elem.value =3D '';
}

function appendText(text) {
	var elem =3D document.getElementById('output');
	elem.value =3D elem.value + text + "\n";
}

function appendLink(title, link, description) {
}

function handleError() {
    alert('An error occurred here');
}

//window.onerror=3DhandleError;


------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/statistics.js

// JavaScript Document
//Capitalize only first letter of text.
function Caps(text){=20
	if (text.length < 1) return text;
	tmpstr =3D text.toLowerCase();
	first =3D tmpstr.charAt(0).toUpperCase();
	newstr =3D first + tmpstr.substr(1);
return(newstr);
}

//Give folder names in the url path a more descriptive text
function descriptive_text(folder_name){

var description =3D '';
var path =3D new Array();
path['contactus'] =3D 'Contact Us';
path['404'] =3D 'CN Shortcut';
path['my_homepage'] =3D 'My Home Page';

path['about'] =3D 'About CN';
path['investor'] =3D 'CN Investor Section';
path['companyinfo'] =3D 'Company Information';
path['company_information'] =3D 'Company Information';
path['surplus_assets'] =3D 'Sale of Surplus Assets';
path['xmas'] =3D 'Holliday Special';

path['velocite'] =3D 'Velocity Login';
path['velocity'] =3D 'Velocity Login';
path['ebusiness'] =3D 'Velocity Support Pages';

path['marketing_video'] =3D 'Marketing Video';

path['customer_centre'] =3D 'Customer Centre';

path['productsservices'] =3D 'Shipping by Product';
path['specialized'] =3D 'Specialized Services';

path['auto'] =3D 'Automotive';
path['resource_centre'] =3D 'Resource Centre';
path['forest_products'] =3D 'Forest Products';
path['lumber_panels'] =3D 'Lumber and Panels';
path['pulp_paper'] =3D 'Pulp and Paper';
path['us'] =3D 'U.S.';
path['north_america'] =3D 'North-America';
path['overseas'] =3D 'Overseas Markets';
path['petroleum_chemicals'] =3D 'Petroleum and Chemicals';
path['metals_minerals'] =3D 'Metals and Minerals';
path['construction'] =3D 'Construction Materials';
path['machinery'] =3D 'Machinery and Dimensional Loads';
path['nonferrous'] =3D 'Non-Ferrous';
path['shipto_north_america'] =3D 'Ship to North-America';
path['shipto_china'] =3D 'Ship to China';
path['chain_logostics'] =3D 'Supply Chain Logistics';
path['ferry_service'] =3D 'Ferry Service';
path['mexico_customs'] =3D 'Mexico Customs Process';
path['ports_docks'] =3D 'Ports and Docks';
path['saint_john'] =3D 'Saint-John';
path['prince_rupert'] =3D 'Prince Rupert';
path['quebec_city'] =3D 'Quebec City';
path['new_orleans'] =3D 'New Orleans';
path['cargoflo'] =3D 'CargoFlo';
path['supply_chain'] =3D 'Supply Chain Logistics';
path['new_customers'] =3D 'New Customer';
path['shipping_tools'] =3D 'Shipping Tools';
path['services_support'] =3D 'Other Information';
path['supp_services_tariffs'] =3D 'Optional Services and Tariffs';
path['customer_support'] =3D 'Customer Support';
path['storage_agreement'] =3D 'Private Car Storage';

folder_name =3D folder_name.toLowerCase();
if (path.propertyIsEnumerable(folder_name)) {
	description =3D path[folder_name];=20
}
else { =20
	description =3D Caps(folder_name);
}
return description;
}
//Simple page name generation.=20
function get_pagename(path){
	if (path.indexOf('index') > -1) return('Home Page');
	if (path.indexOf('/') =3D=3D -1) return(path);
	filename =3D path.substring(path.lastIndexOf('/')+1);
	return filename;
}

function get_hierarchy_depth(folder){
	var depth =3D new Array();
	depth['Web Site'] =3D 1 ;=09
	depth['Public Affairs'] =3D 2 ;
	depth['Investor'] =3D 2 ;
	depth['Marketing'] =3D 2 ;
	depth['about'] =3D 3 ;
	depth['productsservices'] =3D 3 ;
	depth['canada'] =3D 4 ;
	depth['us'] =3D 4 ;
	depth['forestproducts'] =3D  4;
	depth['north_america'] =3D 4 ;
	depth['overseas'] =3D 4 ;
	depth['metals_minerals'] =3D 4 ;
	depth['chemicals'] =3D 4 ;
	depth['petroleum'] =3D 4 ;
	depth['resource_centre'] =3D -1;
	depth['contacts'] =3D -1;
=09
	depth['specialized'] =3D 3 ;
	depth['china'] =3D 3 ;
	depth['ports_docks'] =3D 4 ;
	depth['map'] =3D -1;
	depth['transloading'] =3D 3 ;
	depth['marketing_video'] =3D 3 ;
=09
	depth['cargoflo'] =3D  4;
	depth['metals_minerals'] =3D 4 ;
	depth['forest_products'] =3D 4 ;
=09
	depth['customer_centre'] =3D  3;
	depth['services_support'] =3D 3 ;
=09
	depth['supp_services_tariffs'] =3D 4 ;
	depth['customer_support'] =3D 4 ;
	depth['customs'] =3D 4 ;
	depth['storage_agreement'] =3D 4 ;
	depth['shipto_north_america'] =3D 4 ;
	depth['shipto_china'] =3D 4 ;
	if(depth.propertyIsEnumerable(folder)) return depth[folder];
	return -1;
}

//populate the s.channel and s.hier1 properties and=20
//return a hierarchy string to be used with the file name to produce a =
more descriptive page name.
function get_hierarchy(path){=20
=09
	var h =3D new Array();
	var dir =3D new Array();
	var channel =3D new Array();
=09
	var folders =3D new Array();
	h['channel'] =3D "CN Web"; // default channel
	=09
	dir[0] =3D "contactus,404,my_homepage,search";
	channel[0] =3D "CN Web";
	dir[1] =3D "about,companyinfo";
	channel[1] =3D "Public Affairs";
	dir[2] =3D "productsservices,customer_centre,specialized,velocity";
	channel[2] =3D "Marketing";
	dir[3] =3D "investor";
	channel[3] =3D "CN Investor";
	=09
	var folders =3D path.split('/');
=09
	// build the hierarchy
	var hierarchy_depth =3D 2; // default value
	var depth_count =3D 1;
	var hier_str =3D ": ";
	var hierarchy =3D '';
	var name =3D folders[depth_count];
	//determine the channel or major section to which the page belongs.
	for (ix =3D 0; ix < dir.length; ix++) {
		if (dir[ix].indexOf(name) > -1) {
			h['channel'] =3D channel[ix];=20
		}
		s.channel =3D h['channel']; // if no match then the default is used
	}
	hierarchy =3D s.channel;
	if (get_hierarchy_depth(name) > 0)=20
		hierarchy_depth =3D get_hierarchy_depth(name);
//	alert(name)
//	alert(hierarchy_depth)
	while ((depth_count < folders.length-1) && (depth_count < =
hierarchy_depth)){
		name =3D descriptive_text(name);
		hier_str =3D hier_str.concat(name,' : ');
	//	alert(depth_count+"-"+hier_str);
=09
		hierarchy =3D hierarchy +","+name;
		depth_count++;
		name =3D folders[depth_count];
		if (get_hierarchy_depth(name) > 0)=20
			hierarchy_depth =3D get_hierarchy_depth(name);
	}
	s.hier1 =3D hierarchy;
//	alert(s.hier1);
//	alert(hier_str);
	return(hier_str);
	}

// action is either 'onload', 'click', or blank
//
function track_usage(target,action)
{
//alert("track_usage "+target+","+action);=09
//	alert(globalvarip);
	if (target =3D=3D null) return;
		//if an image object id is passed, get the image source file name
	if (document.getElementById(target)) target =3D =
document.getElementById(target).src
	if (action =3D=3D null) {action =3D "click";}=09
//	alert(action);
	if (action =3D=3D "click"){=20
		// Omniture stats tracking of clicks on Billboard banners and Sidebar =
banners
		banneradid =3D get_pagename(target);
	//	alert("|"+banneradid+"|");
		var s=3Ds_gi('cnca');
		s.linkTrackEvents =3D 'event2';
		s.linkTrackVars =3D 'events';
		s.events=3D'event2'; =20
		s.tl(this,'o',banneradid);
	}

	userID =3D getCookie('velStndId');
	if (userID =3D=3D null) {
		time =3D new Date()
		userID =3D time.getTime()+remove_a_char(globalvarip,'.');
		setCookie('velStndId', userID, 90, '/', '', false)
	}
	if(userID.length > 26){userID =3D userID.substring(0,26); =
setCookie('velStndId', userID, 90, '/', '', false)} // max 26 characters
	if (target.length > 30) target =3D =
target.substring(target.length-30,target.length);
	if (target.indexOf('.') =3D=3D -1) {return;}

	=
ls=3D"/cnstdnLog____.gif?userId=3D"+userID+"&object=3D"+target+"&action=3D=
"+action;
	//alert(ls);
	li=3Dnew Image();
	li.src=3Dls;

return=20
}

function advert_usage(adtype,action){=20
//alert("advert_usage "+adtype+","+action+","+oPage.Level3);
	//alert(document.embeds.length); // displayed 1
	//alert(document.embeds[0]);  //displayed object
	//alert(document.embeds[0].id);  //displayed bbswf
	//alert(document.embeds[0].src);  //displayed =
/images/billboards/PT01.swf
	if (adtype=3D=3D"flash"){
		for (i=3D0; i < document.embeds.length ; i++) {
			if (document.embeds[i].id =3D=3D "bbswf") {
				s.events=3D'event1';
				var banneradid =3D get_pagename(document.embeds[i].src);
	//		alert("|"+banneradid+"|");
				s.eVar1 =3D banneradid;
				s.eVar2 =3D =
get_hierarchy(window.location.pathname)+get_pagename(window.location.path=
name);
				track_usage(banneradid,action);
			}
		}
	}=09
	else=20
		if ((adtype=3D=3D"gif") && (document.getElementById('bbimg'))) {
			s.events=3D'event1';
			var banneradid =3D =
get_pagename(document.getElementById('bbimg').src);
//			alert("|"+banneradid+"|");
			s.eVar3 =3D banneradid;
			s.eVar2 =3D =
get_hierarchy(window.location.pathname)+get_pagename(window.location.path=
name);
			track_usage(banneradid,action);
		}
}
------=_NextPart_000_0000_01C86D71.0014BBF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cn.ca/scripts/s_code.js

/* SiteCatalyst code version: H.9.
Copyright 1997-2007 Omniture, Inc. More info available at
http://www.omniture.com */
/************************ ADDITIONAL FEATURES ************************
     Plugins
*/
/* Specify the Report Suite ID(s) to track here */
var s_account=3D"cnca"
var s=3Ds_gi(s_account)
/************************** CONFIG SECTION **************************/
/* You may add or alter any code config here. */
/* E-commerce Config */
s.currencyCode=3D"USD"
/* Link Tracking Config */
s.trackDownloadLinks=3Dtrue
s.trackExternalLinks=3Dtrue
s.trackInlineStats=3Dtrue
s.linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls,fl=
v,swf,wrf"
s.linkInternalFilters=3D"javascript:,cn.ca"
s.linkLeaveQueryString=3Dfalse
s.linkTrackVars=3D"None"
s.linkTrackEvents=3D"None"
s.cookieDomainPeriods=3D"3"

/* Plugin Config */
s.usePlugins=3Dtrue
function s_doPlugins(s) {
=09
	/* Plugin Example: getQueryParam v2.0*/
	s.campaign=3Ds.getQueryParam('s_cid')
}
s.doPlugins=3Ds_doPlugins
/************************** PLUGINS SECTION *************************/
/*
 * Plugin: getQueryParam 2.1 - return query string parameter(s)
 */
s.getQueryParam=3Dnew Function("p","d","u",""
+"var =
s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:s.wd.locati"
+"on);if(u=3D=3D'f')u=3Ds.gtfs().location;while(p){i=3Dp.indexOf(',');i=3D=
i<0?p"
+".length:i;t=3Ds.p_gpv(p.substring(0,i),u+'');if(t)v+=3Dv?d+t:t;p=3Dp.su=
bs"
+"tring(i=3D=3Dp.length?i:i+1)}return v");
s.p_gpv=3Dnew Function("k","u",""
+"var =
s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"
+"=3Ds.pt(q,'&','p_gvf',k)}return v");
s.p_gvf=3Dnew Function("t","k",""
+"if(t){var =
s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"
+"rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return =
s."
+"epa(v)}return ''");

/********************************************************************
 *
 * Commented example of how to use this is doPlugins function
 *
 *******************************************************************/
	/* Plugin Example: getQueryParam 2.1
	//single parameter
	s.campaign=3Ds.getQueryParam('cid');

	//multiple parameters
	s.campaign=3Ds.getQueryParam('cid,sid',':');

	//non-page URL example
	s.campaign=3Ds.getQueryParam('cid','',document.referrer);

	//parent frame example
	s.campaign=3Ds.getQueryParam('cid','','f');

	*/

/* WARNING: Changing any of the below variables will cause drastic
changes to how your visitor data is collected.  Changes should only be
made when instructed to do so by your account manager.*/
s.visitorNamespace=3D"cn"
s.dc=3D112
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_objectID;function s_c2fe(f){var x=3D'',s=3D0,e,a,b,c;while(1){e=3D
f.indexOf('"',s);b=3Df.indexOf('\\',s);c=3Df.indexOf("\n",s);if(e<0||(b>=3D=

0&&b<e))e=3Db;if(e<0||(c>=3D0&&c<e))e=3Dc;if(e>=3D0){x+=3D(e>s?f.substrin=
g(s,e):
'')+(e=3D=3Dc?'\\n':'\\'+f.substring(e,e+1));s=3De+1}else return x
+f.substring(s)}return f}function s_c2fa(f){var =
s=3Df.indexOf('(')+1,e=3D
f.indexOf(')'),a=3D'',c;while(s>=3D0&&s<e){c=3Df.substring(s,s+1);if(c=3D=
=3D',')
a+=3D'","';else if(("\n\r\t ").indexOf(c)<0)a+=3Dc;s++}return =
a?'"'+a+'"':
a}function s_c2f(cc){cc=3D''+cc;var fc=3D'var f=3Dnew Function(',s=3D
cc.indexOf(';',cc.indexOf('{')),e=3Dcc.lastIndexOf('}'),o,a,d,q,c,f,h,x
fc+=3Ds_c2fa(cc)+',"var s=3Dnew Object;';c=3Dcc.substring(s+1,e);s=3D
c.indexOf('function');while(s>=3D0){d=3D1;q=3D'';x=3D0;f=3Dc.substring(s)=
;a=3D
s_c2fa(f);e=3Do=3Dc.indexOf('{',s);e++;while(d>0){h=3Dc.substring(e,e+1);=
if(
q){if(h=3D=3Dq&&!x)q=3D'';if(h=3D=3D'\\')x=3Dx?0:1;else =
x=3D0}else{if(h=3D=3D'"'||h=3D=3D"'"
)q=3Dh;if(h=3D=3D'{')d++;if(h=3D=3D'}')d--}if(d>0)e++}c=3Dc.substring(0,s=
)
+'new Function('+(a?a+',':'')+'"'+s_c2fe(c.substring(o+1,e))+'")'
+c.substring(e+1);s=3Dc.indexOf('function')}fc+=3Ds_c2fe(c)+';return =
s");'
eval(fc);return f}function s_gi(un,pg,ss){var c=3D"function s_c(un,pg,s"
+"s){var s=3Dthis;s.wd=3Dwindow;if(!s.wd.s_c_in){s.wd.s_c_il=3Dnew =
Array;s."
+"wd.s_c_in=3D0;}s._il=3Ds.wd.s_c_il;s._in=3Ds.wd.s_c_in;s._il[s._in]=3Ds=
;s.w"
+"d.s_c_in++;s.m=3Dfunction(m){return =
(''+m).indexOf('{')<0};s.fl=3Dfunct"
+"ion(x,l){return x?(''+x).substring(0,l):x};s.co=3Dfunction(o){if(!o)r"
+"eturn o;var n=3Dnew Object,x;for(x in o)if(x.indexOf('select')<0&&x.i"
+"ndexOf('filter')<0)n[x]=3Do[x];return =
n};s.num=3Dfunction(x){x=3D''+x;for"
+"(var p=3D0;p<x.length;p++)if(('0123456789').indexOf(x.substring(p,p+1"
+"))<0)return 0;return 1};s.rep=3Dfunction(x,o,n){var =
i=3Dx.indexOf(o);wh"
+"ile(x&&i>=3D0){x=3Dx.substring(0,i)+n+x.substring(i+o.length);i=3Dx.ind=
ex"
+"Of(o,i+n.length)}return x};s.ape=3Dfunction(x){var =
s=3Dthis,i;x=3Dx?s.rep"
+"(escape(''+x),'+','%2B'):x;if(x&&s.charSet&&s.em=3D=3D1&&x.indexOf('%u'=
"
+")<0&&x.indexOf('%U')<0){i=3Dx.indexOf('%');while(i>=3D0){i++;if(('89ABC=
"
+"DEFabcdef').indexOf(x.substring(i,i+1))>=3D0)return x.substring(0,i)+"
+"'u00'+x.substring(i);i=3Dx.indexOf('%',i)}}return =
x};s.epa=3Dfunction(x"
+"){var s=3Dthis;return x?unescape(s.rep(''+x,'+',' =
')):x};s.pt=3Dfunctio"
+"n(x,d,f,a){var =
s=3Dthis,t=3Dx,z=3D0,y,r;while(t){y=3Dt.indexOf(d);y=3Dy<0?t.l"
+"ength:y;t=3Dt.substring(0,y);r=3Ds.m(f)?s[f](t,a):f(t,a);if(r)return =
r;"
+"z+=3Dy+d.length;t=3Dx.substring(z,x.length);t=3Dz<x.length?t:''}return =
''"
+"};s.isf=3Dfunction(t,a){var =
c=3Da.indexOf(':');if(c>=3D0)a=3Da.substring(0,"
+"c);if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(2);return =
(t!=3D''&&t=3D=3Da)}"
+";s.fsf=3Dfunction(t,a){var =
s=3Dthis;if(s.pt(a,',','isf',t))s.fsg+=3D(s.fs"
+"g!=3D''?',':'')+t;return 0};s.fs=3Dfunction(x,f){var =
s=3Dthis;s.fsg=3D'';s."
+"pt(x,',','fsf',f);return s.fsg};s.c_d=3D'';s.c_gdf=3Dfunction(t,a){var =
"
+"s=3Dthis;if(!s.num(t))return 1;return 0};s.c_gd=3Dfunction(){var =
s=3Dthis"
+",d=3Ds.wd.location.hostname,n=3Ds.fpCookieDomainPeriods,p;if(!n)n=3Ds.c=
oo"
+"kieDomainPeriods;if(d&&!s.c_d){n=3Dn?parseInt(n):2;n=3Dn>2?n:2;p=3Dd.la=
st"
+"IndexOf('.');if(p>=3D0){while(p>=3D0&&n>1){p=3Dd.lastIndexOf('.',p-1);n=
--"
+"}s.c_d=3Dp>0&&s.pt(d,'.','c_gdf',0)?d.substring(p):d}}return s.c_d};s"
+".c_r=3Dfunction(k){var s=3Dthis;k=3Ds.ape(k);var c=3D' =
'+s.d.cookie,i=3Dc.ind"
+"exOf(' =
'+k+'=3D'),e=3Di<0?i:c.indexOf(';',i),v=3Di<0?'':s.epa(c.substring"
+"(i+2+k.length,e<0?c.length:e));return =
v!=3D'[[B]]'?v:''};s.c_w=3Dfuncti"
+"on(k,v,e){var =
s=3Dthis,d=3Ds.c_gd(),l=3Ds.cookieLifetime,t;v=3D''+v;l=3Dl?(''"
+"+l).toUpperCase():'';if(e&&l!=3D'SESSION'&&l!=3D'NONE'){t=3D(v!=3D''?pa=
rseI"
+"nt(l?l:0):-60);if(t){e=3Dnew Date;e.setTime(e.getTime()+(t*1000))}}if"
+"(k&&l!=3D'NONE'){s.d.cookie=3Dk+'=3D'+s.ape(v!=3D''?v:'[[B]]')+'; =
path=3D/;'+"
+"(e&&l!=3D'SESSION'?' expires=3D'+e.toGMTString()+';':'')+(d?' =
domain=3D'+"
+"d+';':'');return s.c_r(k)=3D=3Dv}return =
0};s.eh=3Dfunction(o,e,r,f){var s"
+"=3Dthis,b=3D's_'+e+'_'+s._in,n=3D-1,l,i,x;if(!s.ehl)s.ehl=3Dnew =
Array;l=3Ds.e"
+"hl;for(i=3D0;i<l.length&&n<0;i++){if(l[i].o=3D=3Do&&l[i].e=3D=3De)n=3Di=
}if(n<0)"
+"{n=3Di;l[n]=3Dnew =
Object}x=3Dl[n];x.o=3Do;x.e=3De;f=3Dr?x.b:f;if(r||f){x.b=3Dr?0:"
+"o[e];x.o[e]=3Df}if(x.b){x.o[b]=3Dx.b;return b}return =
0};s.cet=3Dfunction("
+"f,a,t,o,b){var =
s=3Dthis,r;if(s.apv>=3D5&&(!s.isopera||s.apv>=3D7))eval('t"
+"ry{r=3Ds.m(f)?s[f](a):f(a)}catch(e){r=3Ds.m(t)?s[t](e):t(e)}');else{if(=
"
+"s.ismac&&s.u.indexOf('MSIE =
4')>=3D0)r=3Ds.m(b)?s[b](a):b(a);else{s.eh(s"
+".wd,'onerror',0,o);r=3Ds.m(f)?s[f](a):f(a);s.eh(s.wd,'onerror',1)}}re"
+"turn r};s.gtfset=3Dfunction(e){var s=3Dthis;return =
s.tfs};s.gtfsoe=3Dnew "
+"Function('e','var s=3Ds_c_il['+s._in+'];s.eh(window,\"onerror\",1);s."
+"etfs=3D1;var c=3Ds.t();if(c)s.d.write(c);s.etfs=3D0;return =
true');s.gtfsf"
+"b=3Dfunction(a){return window};s.gtfsf=3Dfunction(w){var =
s=3Dthis,p=3Dw.par"
+"ent,l=3Dw.location;s.tfs=3Dw;if(p&&p.location!=3Dl&&p.location.host=3D=3D=
l.ho"
+"st){s.tfs=3Dp;return s.gtfsf(s.tfs)}return =
s.tfs};s.gtfs=3Dfunction(){v"
+"ar =
s=3Dthis;if(!s.tfs){s.tfs=3Ds.wd;if(!s.etfs)s.tfs=3Ds.cet('gtfsf',s.tf"
+"s,'gtfset',s.gtfsoe,'gtfsfb')}return s.tfs};s.ca=3Dfunction(){var =
s=3Dt"
+"his,imn=3D's_i_'+s.fun;if(s.d.images&&s.apv>=3D3&&(!s.isopera||s.apv>=3D=
7"
+")&&(s.ns6<0||s.apv>=3D6.1)){s.ios=3D1;if(!s.d.images[imn]&&(!s.isns||(s=
"
+".apv<4||s.apv>=3D5))){s.d.write('<im'+'g name=3D\"'+imn+'\" height=3D1 =
wi"
+"dth=3D1 border=3D0 =
alt=3D\"\">');if(!s.d.images[imn])s.ios=3D0}}};s.mr=3Dfunc"
+"tion(sess,q,ta){var =
s=3Dthis,dc=3Ds.dc,t1=3Ds.trackingServer,t2=3Ds.trackin"
+"gServerSecure,ns=3Ds.visitorNamespace,unc=3Ds.rep(s.fun,'_','-'),imn=3D=
's"
+"_i_'+s.fun,im,b,e,rs=3D'http'+(s.ssl?'s':'')+'://'+(t1?(s.ssl&&t2?t2:"
+"t1):((ns?ns:(s.ssl?'102':unc))+'.'+(s.dc?s.dc:112)+'.2o7.net'))+'/b"
+"/ss/'+s.un+'/1/H.9-Pdvu-2/'+sess+'?[AQB]&ndh=3D1'+(q?q:'')+(s.q?s.q:'"
+"')+'&[AQE]';if(s.isie&&!s.ismac){if(s.apv>5.5)rs=3Ds.fl(rs,4095);else"
+" rs=3Ds.fl(rs,2047)}if(s.ios||s.ss){if =
(!s.ss)s.ca();im=3Ds.wd[imn]?s.w"
+"d[imn]:s.d.images[imn];if(!im)im=3Ds.wd[imn]=3Dnew =
Image;im.src=3Drs;if(r"
+"s.indexOf('&pe=3D')>=3D0&&(!ta||ta=3D=3D'_self'||ta=3D=3D'_top'||(s.wd.=
name&&ta"
+"=3D=3Ds.wd.name))){b=3De=3Dnew =
Date;while(e.getTime()-b.getTime()<500)e=3Dnew"
+" Date}return ''}return '<im'+'g sr'+'c=3D\"'+rs+'\" width=3D1 =
height=3D1 "
+"border=3D0 alt=3D\"\">'};s.gg=3Dfunction(v){var s=3Dthis;return =
s.wd['s_'+v"
+"]};s.glf=3Dfunction(t,a){if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(=
2);v"
+"ar s=3Dthis,v=3Ds.gg(t);if(v)s[t]=3Dv};s.gl=3Dfunction(v){var =
s=3Dthis;s.pt(v"
+",',','glf',0)};s.gv=3Dfunction(v){var s=3Dthis;return =
s['vpm_'+v]?s['vp"
+"v_'+v]:(s[v]?s[v]:'')};s.havf=3Dfunction(t,a){var =
s=3Dthis,b=3Dt.substrin"
+"g(0,4),x=3Dt.substring(4),n=3DparseInt(x),k=3D'g_'+t,m=3D'vpm_'+t,q=3Dt=
,v=3Ds.l"
+"inkTrackVars,e=3Ds.linkTrackEvents;s[k]=3Ds.gv(t);if(s.lnk||s.eo){v=3Dv=
?v"
+"+','+s.vl_l:'';if(v&&!s.pt(v,',','isf',t))s[k]=3D'';if(t=3D=3D'events'&=
&e"
+")s[k]=3Ds.fs(s[k],e)}s[m]=3D0;if(t=3D=3D'visitorID')q=3D'vid';else =
if(t=3D=3D'pag"
+"eURL')q=3D'g';else if(t=3D=3D'referrer')q=3D'r';else =
if(t=3D=3D'vmk')q=3D'vmt';el"
+"se =
if(t=3D=3D'charSet'){q=3D'ce';if(s[k]&&s.em=3D=3D2)s[k]=3D'UTF-8'}else =
if(t=3D"
+"=3D'visitorNamespace')q=3D'ns';else =
if(t=3D=3D'cookieDomainPeriods')q=3D'cdp'"
+";else if(t=3D=3D'cookieLifetime')q=3D'cl';else =
if(t=3D=3D'variableProvider')q"
+"=3D'vvp';else if(t=3D=3D'currencyCode')q=3D'cc';else =
if(t=3D=3D'channel')q=3D'ch'"
+";else if(t=3D=3D'campaign')q=3D'v0';else if(s.num(x)) =
{if(b=3D=3D'prop')q=3D'c'"
+"+n;else if(b=3D=3D'eVar')q=3D'v'+n;else =
if(b=3D=3D'hier'){q=3D'h'+n;s[k]=3Ds.fl(s"
+"[k],255)}}if(s[k]&&t!=3D'linkName'&&t!=3D'linkType')s.qav+=3D'&'+q+'=3D=
'+s."
+"ape(s[k]);return ''};s.hav=3Dfunction(){var =
s=3Dthis;s.qav=3D'';s.pt(s.vl"
+"_t,',','havf',0);return =
s.qav};s.lnf=3Dfunction(t,h){t=3Dt?t.toLowerCas"
+"e():'';h=3Dh?h.toLowerCase():'';var =
te=3Dt.indexOf('=3D');if(t&&te>0&&h.i"
+"ndexOf(t.substring(te+1))>=3D0)return t.substring(0,te);return ''};s."
+"ln=3Dfunction(h){var s=3Dthis,n=3Ds.linkNames;if(n)return =
s.pt(n,',','lnf"
+"',h);return =
''};s.ltdf=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.t"
+"oLowerCase():'';var =
qi=3Dh.indexOf('?');h=3Dqi>=3D0?h.substring(0,qi):h;i"
+"f(t&&h.substring(h.length-(t.length+1))=3D=3D'.'+t)return 1;return =
0};s"
+".ltef=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLowerCase():''=
;i"
+"f(t&&h.indexOf(t)>=3D0)return 1;return 0};s.lt=3Dfunction(h){var =
s=3Dthis"
+",lft=3Ds.linkDownloadFileTypes,lef=3Ds.linkExternalFilters,lif=3Ds.link=
In"
+"ternalFilters;lif=3Dlif?lif:s.wd.location.hostname;h=3Dh.toLowerCase();=
"
+"if(s.trackDownloadLinks&&lft&&s.pt(lft,',','ltdf',h))return 'd';if("
+"s.trackExternalLinks&&(lef||lif)&&(!lef||s.pt(lef,',','ltef',h))&&("
+"!lif||!s.pt(lif,',','ltef',h)))return 'e';return ''};s.lc=3Dnew Funct"
+"ion('e','var =
s=3Ds_c_il['+s._in+'],b=3Ds.eh(this,\"onclick\");s.lnk=3Ds.c"
+"o(this);s.t();s.lnk=3D0;if(b)return this[b](e);return =
true');s.bc=3Dnew"
+" Function('e','var s=3Ds_c_il['+s._in+'],f;if(s.d&&s.d.all&&s.d.all.c"
+"ppXYctnr)return;s.eo=3De.srcElement?e.srcElement:e.target;eval(\"try{"
+"if(s.eo&&(s.eo.tagName||s.eo.parentElement||s.eo.parentNode))s.t()}"
+"catch(f){}\");s.eo=3D0');s.ot=3Dfunction(o){var =
a=3Do.type,b=3Do.tagName;re"
+"turn (a&&a.toUpperCase?a:b&&b.toUpperCase?b:o.href?'A':'').toUpperC"
+"ase()};s.oid=3Dfunction(o){var =
s=3Dthis,t=3Ds.ot(o),p=3Do.protocol,c=3Do.oncl"
+"ick,n=3D'',x=3D0;if(!o.s_oid){if(o.href&&(t=3D=3D'A'||t=3D=3D'AREA')&&(=
!c||!p||"
+"p.toLowerCase().indexOf('javascript')<0))n=3Do.href;else =
if(c){n=3Ds.re"
+"p(s.rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\",''),\"\\t\",''),' ',''"
+");x=3D2}else =
if(o.value&&(t=3D=3D'INPUT'||t=3D=3D'SUBMIT')){n=3Do.value;x=3D3}els"
+"e =
if(o.src&&t=3D=3D'IMAGE')n=3Do.src;if(n){o.s_oid=3Ds.fl(n,100);o.s_oidt=3D=
x"
+"}}return o.s_oid};s.rqf=3Dfunction(t,un){var =
s=3Dthis,e=3Dt.indexOf('=3D'),"
+"u=3De>=3D0?','+t.substring(0,e)+',':'';return =
u&&u.indexOf(','+un+',')>"
+"=3D0?s.epa(t.substring(e+1)):''};s.rq=3Dfunction(un){var =
s=3Dthis,c=3Dun.in"
+"dexOf(','),v=3Ds.c_r('s_sq'),q=3D'';if(c<0)return =
s.pt(v,'&','rqf',un);"
+"return s.pt(un,',','rq',0)};s.sqp=3Dfunction(t,a){var =
s=3Dthis,e=3Dt.inde"
+"xOf('=3D'),q=3De<0?'':s.epa(t.substring(e+1));s.sqq[q]=3D'';if(e>=3D0)s=
.pt("
+"t.substring(0,e),',','sqs',q);return 0};s.sqs=3Dfunction(un,q){var =
s=3D"
+"this;s.squ[un]=3Dq;return 0};s.sq=3Dfunction(q){var =
s=3Dthis,k=3D's_sq',v=3Ds"
+".c_r(k),x,c=3D0;s.sqq=3Dnew Object;s.squ=3Dnew =
Object;s.sqq[q]=3D'';s.pt(v,"
+"'&','sqp',0);s.pt(s.un,',','sqs',q);v=3D'';for(x in s.squ)s.sqq[s.squ"
+"[x]]+=3D(s.sqq[s.squ[x]]?',':'')+x;for(x in =
s.sqq)if(x&&s.sqq[x]&&(x=3D"
+"=3Dq||c<2)){v+=3D(v?'&':'')+s.sqq[x]+'=3D'+s.ape(x);c++}return =
s.c_w(k,v,"
+"0)};s.wdl=3Dnew Function('e','var =
s=3Ds_c_il['+s._in+'],r=3Dtrue,b=3Ds.eh(s"
+".wd,\"onload\"),i,o,oc;if(b)r=3Dthis[b](e);for(i=3D0;i<s.d.links.length=
"
+";i++){o=3Ds.d.links[i];oc=3Do.onclick?\"\"+o.onclick:\"\";if((oc.indexO=
"
+"f(\"s_gs(\")<0||oc.indexOf(\".s_oc(\")>=3D0)&&oc.indexOf(\".tl(\")<0)"
+"s.eh(o,\"onclick\",0,s.lc);}return r');s.wds=3Dfunction(){var =
s=3Dthis;"
+"if(s.apv>3&&(!s.isie||!s.ismac||s.apv>=3D5)){if(s.b&&s.b.attachEvent)"
+"s.b.attachEvent('onclick',s.bc);else if(s.b&&s.b.addEventListener)s"
+".b.addEventListener('click',s.bc,false);else s.eh(s.wd,'onload',0,s"
+".wdl)}};s.vs=3Dfunction(x){var =
s=3Dthis,v=3Ds.visitorSampling,g=3Ds.visitor"
+"SamplingGroup,k=3D's_vsn_'+s.un+(g?'_'+g:''),n=3Ds.c_r(k),e=3Dnew =
Date,y=3D"
+"e.getYear();e.setYear(y+10+(y<1900?1900:0));if(v){v*=3D100;if(!n){if("
+"!s.c_w(k,x,e))return 0;n=3Dx}if(n%10000>v)return 0}return 1};s.dyasmf"
+"=3Dfunction(t,m){if(t&&m&&m.indexOf(t)>=3D0)return 1;return =
0};s.dyasf=3D"
+"function(t,m){var =
s=3Dthis,i=3Dt?t.indexOf('=3D'):-1,n,x;if(i>=3D0&&m){var "
+"n=3Dt.substring(0,i),x=3Dt.substring(i+1);if(s.pt(x,',','dyasmf',m))ret=
"
+"urn n}return 0};s.uns=3Dfunction(){var =
s=3Dthis,x=3Ds.dynamicAccountSelec"
+"tion,l=3Ds.dynamicAccountList,m=3Ds.dynamicAccountMatch,n,i;s.un.toLowe=
"
+"rCase();if(x&&l){if(!m)m=3Ds.wd.location.host;if(!m.toLowerCase)m=3D''+=
"
+"m;l=3Dl.toLowerCase();m=3Dm.toLowerCase();n=3Ds.pt(l,';','dyasf',m);if(=
n)"
+"s.un=3Dn}i=3Ds.un.indexOf(',');s.fun=3Di<0?s.un:s.un.substring(0,i)};s.=
sa"
+"=3Dfunction(un){s.un=3Dun;if(!s.oun)s.oun=3Dun;else =
if((','+s.oun+',').in"
+"dexOf(un)<0)s.oun+=3D','+un;s.uns()};s.t=3Dfunction(){var =
s=3Dthis,trk=3D1,"
+"tm=3Dnew =
Date,sed=3DMath&&Math.random?Math.floor(Math.random()*10000000"
+"000000):tm.getTime(),sess=3D's'+Math.floor(tm.getTime()/10800000)%10+"
+"sed,yr=3Dtm.getYear(),vt=3Dtm.getDate()+'/'+tm.getMonth()+'/'+(yr<1900?=
"
+"yr+1900:yr)+' '+tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds"
+"()+' '+tm.getDay()+' =
'+tm.getTimezoneOffset(),tfs=3Ds.gtfs(),ta=3D'',q=3D"
+"'',qs=3D'';s.uns();if(!s.q){var =
tl=3Dtfs.location,x=3D'',c=3D'',v=3D'',p=3D'',b"
+"w=3D'',bh=3D'',j=3D'1.0',k=3Ds.c_w('s_cc','true',0)?'Y':'N',hp=3D'',ct=3D=
'',pn=3D"
+"0,ps;if(s.apv>=3D4)x=3Dscreen.width+'x'+screen.height;if(s.isns||s.isop=
"
+"era){if(s.apv>=3D3){j=3D'1.1';v=3Ds.n.javaEnabled()?'Y':'N';if(s.apv>=3D=
4){"
+"j=3D'1.2';c=3Dscreen.pixelDepth;bw=3Ds.wd.innerWidth;bh=3Ds.wd.innerHei=
ght;"
+"if(s.apv>=3D4.06)j=3D'1.3'}}s.pl=3Ds.n.plugins}else =
if(s.isie){if(s.apv>=3D"
+"4){v=3Ds.n.javaEnabled()?'Y':'N';j=3D'1.2';c=3Dscreen.colorDepth;if(s.a=
pv"
+">=3D5){bw=3Ds.d.documentElement.offsetWidth;bh=3Ds.d.documentElement.of=
fs"
+"etHeight;j=3D'1.3';if(!s.ismac&&s.b){s.b.addBehavior('#default#homePa"
+"ge');hp=3Ds.b.isHomePage(tl)?\"Y\":\"N\";s.b.addBehavior('#default#cl"
+"ientCaps');ct=3Ds.b.connectionType}}}else =
r=3D''}if(s.pl)while(pn<s.pl."
+"length&&pn<30){ps=3Ds.fl(s.pl[pn].name,100)+';';if(p.indexOf(ps)<0)p+"
+"=3Dps;pn++}s.q=3D(x?'&s=3D'+s.ape(x):'')+(c?'&c=3D'+s.ape(c):'')+(j?'&j=
=3D'+j"
+":'')+(v?'&v=3D'+v:'')+(k?'&k=3D'+k:'')+(bw?'&bw=3D'+bw:'')+(bh?'&bh=3D'=
+bh:"
+"'')+(ct?'&ct=3D'+s.ape(ct):'')+(hp?'&hp=3D'+hp:'')+(p?'&p=3D'+s.ape(p):=
''"
+")}if(s.usePlugins)s.doPlugins(s);var =
l=3Ds.wd.location,r=3Dtfs.document"
+".referrer;if(!s.pageURL)s.pageURL=3Ds.fl(l?l:'',255);if(!s.referrer)s"
+".referrer=3Ds.fl(r?r:'',255);if(s.lnk||s.eo){var =
o=3Ds.eo?s.eo:s.lnk;if"
+"(!o)return '';var =
p=3Ds.gv('pageName'),w=3D1,t=3Ds.ot(o),n=3Ds.oid(o),x=3Do.s"
+"_oidt,h,l,i,oc;if(s.eo&&o=3D=3Ds.eo){while(o&&!n&&t!=3D'BODY'){o=3Do.pa=
rent"
+"Element?o.parentElement:o.parentNode;if(!o)return =
'';t=3Ds.ot(o);n=3Ds."
+"oid(o);x=3Do.s_oidt}oc=3Do.onclick?''+o.onclick:'';if((oc.indexOf(\"s_g=
"
+"s(\")>=3D0&&oc.indexOf(\".s_oc(\")<0)||oc.indexOf(\".tl(\")>=3D0)return=
"
+" =
''}ta=3Dn?o.target:1;h=3Do.href?o.href:'';i=3Dh.indexOf('?');h=3Ds.linkLe=
a"
+"veQueryString||i<0?h:h.substring(0,i);l=3Ds.linkName?s.linkName:s.ln("
+"h);t=3Ds.linkType?s.linkType.toLowerCase():s.lt(h);if(t&&(h||l))q+=3D'&=
"
+"pe=3Dlnk_'+(t=3D=3D'd'||t=3D=3D'e'?s.ape(t):'o')+(h?'&pev1=3D'+s.ape(h)=
:'')+(l?"
+"'&pev2=3D'+s.ape(l):'');else =
trk=3D0;if(s.trackInlineStats){if(!p){p=3Ds."
+"gv('pageURL');w=3D0}t=3Ds.ot(o);i=3Do.sourceIndex;if(s.gg('objectID')){=
n=3D"
+"s.gg('objectID');x=3D1;i=3D1}if(p&&n&&t)qs=3D'&pid=3D'+s.ape(s.fl(p,255=
))+("
+"w?'&pidt=3D'+w:'')+'&oid=3D'+s.ape(s.fl(n,100))+(x?'&oidt=3D'+x:'')+'&o=
t=3D"
+"'+s.ape(t)+(i?'&oi=3D'+i:'')}}if(!trk&&!qs)return '';if(s.p_r)s.p_r()"
+";var =
code=3D'';if(trk&&s.vs(sed))code=3Ds.mr(sess,(vt?'&t=3D'+s.ape(vt):'"
+"')+s.hav()+q+(qs?qs:s.rq(s.un)),ta);s.sq(trk?'':qs);s.lnk=3Ds.eo=3Ds.li=
"
+"nkName=3Ds.linkType=3Ds.wd.s_objectID=3Ds.ppu=3D'';return =
code};s.tl=3Dfuncti"
+"on(o,t,n){var =
s=3Dthis;s.lnk=3Ds.co(o);s.linkType=3Dt;s.linkName=3Dn;s.t()}"
+";s.ssl=3D(s.wd.location.protocol.toLowerCase().indexOf('https')>=3D0);s=
"
+".d=3Ddocument;s.b=3Ds.d.body;s.n=3Dnavigator;s.u=3Ds.n.userAgent;s.ns6=3D=
s.u."
+"indexOf('Netscape6/');var =
apn=3Ds.n.appName,v=3Ds.n.appVersion,ie=3Dv.ind"
+"exOf('MSIE '),o=3Ds.u.indexOf('Opera =
'),i;if(v.indexOf('Opera')>=3D0||o"
+">0)apn=3D'Opera';s.isie=3D(apn=3D=3D'Microsoft Internet =
Explorer');s.isns=3D("
+"apn=3D=3D'Netscape');s.isopera=3D(apn=3D=3D'Opera');s.ismac=3D(s.u.inde=
xOf('Mac"
+"')>=3D0);if(o>0)s.apv=3DparseFloat(s.u.substring(o+6));else =
if(ie>0){s."
+"apv=3DparseInt(i=3Dv.substring(ie+5));if(s.apv>3)s.apv=3DparseFloat(i)}=
el"
+"se if(s.ns6>0)s.apv=3DparseFloat(s.u.substring(s.ns6+10));else =
s.apv=3D"
+"parseFloat(v);s.em=3D0;if(String.fromCharCode){i=3Descape(String.fromCh=
"
+"arCode(256)).toUpperCase();s.em=3D(i=3D=3D'%C4%80'?2:(i=3D=3D'%U0100'?1=
:0))}s"
+".sa(un);s.vl_l=3D'visitorID,vmk,ppu,charSet,visitorNamespace,cookieDo"
+"mainPeriods,cookieLifetime,pageName,pageURL,referrer,currencyCode,p"
+"urchaseID';s.vl_t=3Ds.vl_l+',variableProvider,channel,server,pageType"
+",campaign,state,zip,events,products,linkName,linkType';for(var n=3D1;"
+"n<51;n++)s.vl_t+=3D',prop'+n+',eVar'+n+',hier'+n;s.vl_g=3Ds.vl_t+',trac=
"
+"kDownloadLinks,trackExternalLinks,trackInlineStats,linkLeaveQuerySt"
+"ring,linkDownloadFileTypes,linkExternalFilters,linkInternalFilters,"
+"linkNames';if(pg)s.gl(s.vl_g);s.ss=3Dss;if(!ss){s.wds();s.ca()}}",
l=3Dwindow.s_c_il,n=3Dnavigator,u=3Dn.userAgent,v=3Dn.appVersion,e=3Dv.in=
dexOf(
'MSIE =
'),m=3Du.indexOf('Netscape6/'),a,i,s;if(l)for(i=3D0;i<l.length;i++){
s=3Dl[i];if(s.oun=3D=3Dun)return s;else =
if(s.fs(s.oun,un)){s.sa(un);return s
}}if(e>0){a=3DparseInt(i=3Dv.substring(e+5));if(a>3)a=3DparseFloat(i)}
else if(m>0)a=3DparseFloat(u.substring(m+10));else =
a=3DparseFloat(v);if(a
>=3D5&&v.indexOf('Opera')<0&&u.indexOf('Opera')<0){eval(c);return new
s_c(un,pg,ss)}else s=3Ds_c2f(c);return s(un,pg,ss)}
------=_NextPart_000_0000_01C86D71.0014BBF0--
