From: "Saved by Windows Internet Explorer 7"
Subject: WWJ Newsradio 950 - The Supremes 5/24
Date: Sun, 25 May 2008 10:49:18 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01C8BE54.FB9A41A0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://imgsrv.wwj.com/image/wwj/pw_logo.jpg

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

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ad.doubleclick.net/ad/cbsr.wwjam/;kw=all;sz=234x60;tile=1;phpid=1148182;ord=1211726956

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAPADqAwERAAIRAQMRAf/EAaIAAAAGAgMBAAAAAAAAAAAA
AAcIBgUECQMKAgEACwEAAAYDAQEBAAAAAAAAAAAABgUEAwcCCAEJAAoLEAACAQMEAQMDAgMDAwIG
CXUBAgMEEQUSBiEHEyIACDEUQTIjFQlRQhZhJDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKi
RFRzRUY3R2MoVVZXGrLC0uLyZIN0k4Rlo7PD0+MpOGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJ
ipSVlpeYmZqkpaanqKmqtLW2t7i5usTFxsfIycrU1dbX2Nna5OXm5+jp6vT19vf4+foRAAIBAwIE
BAMFBAQEBgYFbQECAxEEIRIFMQYAIhNBUQcyYRRxCEKBI5EVUqFiFjMJsSTB0UNy8BfhgjQlklMY
Y0TxorImNRlUNkVkJwpzg5NGdMLS4vJVZXVWN4SFo7PD0+PzKRqUpLTE1OT0laW1xdXl9ShHV2Y4
doaWprbG1ub2Z3eHl6e3x9fn90hYaHiImKi4yNjo+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq
+v/aAAwDAQACEQMRAD8A392sVYHgEG51FbC3PqFiv+uOR7917pJ713ltvrzZ27N/b1zVJt7aGyNu
5veG69wVruuPwG29u4uqy2Yy1aUWSVqbH42ikmkCozEIbKTYF2G2uL2ZLOzFbuVgiD1djpUZxliO
PTNzcwWVvJeXJpbRIzufRVBZj+QB6+e388/5s/8AMU+dI3r210lu3sL4kfAjau6pdmbQ3Bjd51PV
x3dkzSuy0O4+wdufZ717S7By2MD1dXtba/8AGIMNRFBLDMsc2TnyU5e5N5Y2IxRXqR3u9SRDxEKq
4jJGWAYHSV4gjIpjrG/mDnHmXexLNZySWWzJKdD6mQuATRSQV1BhTBwa0IpxI58N/mD/ADQ+vM9X
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
vde9+691737r3WP/AK+e/de6/9k=

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://stat.onestat.com/stat.aspx?tagver=2&sid=wwj-am.intertechmedia.com&js=No&

R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/static/css/wwj.css

.Dummy_Style {
=09
}
FONT {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #666666; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
P {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #666666; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
A {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #007dc9; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.Main_Tb {
	BORDER-RIGHT: #ffffff 5px solid; BORDER-TOP: #ffffff 5px solid; =
MARGIN-LEFT: auto; BORDER-LEFT: #ffffff 5px solid; MARGIN-RIGHT: auto; =
BORDER-BOTTOM: #ffffff 5px solid; BACKGROUND-COLOR: #ffffff
}
.PW_Outer_Tb {
=09
}
.PW_Outer_Td {
=09
}
.PW_Logo_Tb {
=09
}
.PW_Logo_Td {
=09
}
.PW_Desc_Tb {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 8pt; =
BACKGROUND-IMAGE: =
url(http://imgsrv.itm2072.com/image/wbbm/misc/pw_desc_tb_bkgd.jpg); =
PADDING-BOTTOM: 2px; COLOR: #666666; PADDING-TOP: 0px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.PW_Desc_Td {
=09
}
.PW_Player_Tb {
=09
}
.PW_Player_Td {
=09
}
.PW_Program_Name {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #333333; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.PW_Episode_Name {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #4e9ae5; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.PW_Episode_Desc {
	FONT-WEIGHT: normal; FONT-SIZE: 8pt; COLOR: #666666; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Pod_pop_text {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #000000; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.PopUp_Tb {
	BACKGROUND-COLOR: #ffffff
}
.PopUp_Header_Td {
	BORDER-RIGHT: #b2b2b2 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#b2b2b2 0px solid; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
12pt; PADDING-BOTTOM: 5px; BORDER-LEFT: #b2b2b2 0px solid; COLOR: =
#000000; PADDING-TOP: 5px; BORDER-BOTTOM: #b2b2b2 1px solid; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.PopUp_Td {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
9pt; PADDING-BOTTOM: 2px; COLOR: #000000; PADDING-TOP: 2px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.PopUp_Font {
	FONT-WEIGHT: normal; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.PopUp_Label {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.PopUp_Link {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #0000ff; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.spacer {
	FONT-SIZE: 3pt
}
.Default_Headline {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #000066; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Default_Number_Font {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #ff0000; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Default_Font {
	FONT-WEIGHT: normal; FONT-SIZE: 8pt; COLOR: #333333; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Default_Link {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #3366cc; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Default_Bullet {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #666666; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Kanoodle_Tb {
	BORDER-RIGHT: #eae9e7 0px solid; BORDER-TOP: #eae9e7 6px solid; =
PADDING-BOTTOM: 5px; BORDER-LEFT: #eae9e7 0px solid; PADDING-TOP: 5px; =
BORDER-BOTTOM: #eae9e7 0px solid; BACKGROUND-COLOR: #ffffff
}
.Footer_Tb {
	BORDER-RIGHT: #b2b2b2 0px dotted; BORDER-TOP: #b2b2b2 1px dotted; =
PADDING-BOTTOM: 5px; BORDER-LEFT: #b2b2b2 0px dotted; PADDING-TOP: 5px; =
BORDER-BOTTOM: #b2b2b2 1px dotted; BACKGROUND-COLOR: #ffffff
}
.Footer_Font {
	FONT-WEIGHT: normal; FONT-SIZE: 7pt; COLOR: #333333; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.Footer_Link {
	FONT-WEIGHT: normal; FONT-SIZE: 7pt; COLOR: #007dc9; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Footer_Link_Bold {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #007dc9; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
#descDiv {
	COLOR: #ffffff
}
BODY {
	MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-LEFT: 0px; =
COLOR: #333333; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND-COLOR: #191919; TEXT-ALIGN: center
}

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0009_01C8BE54.FBC2D840"


------=_NextPart_001_0009_01C8BE54.FBC2D840
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/topic/play_window.php?audioType=Episode&audioId=2374118

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>WWJ Newsradio 950 - The Supremes 5/24</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<SCRIPT language=3Djavascript type=3Dtext/javascript>=0A=
	<!--=0A=
=0A=
	// Enable intra-domain cross-frame scripting to allow communication =
between (i)framed box types.=0A=
=0A=
	try {=0A=
		document.domain =3D 'www.wwj.com';=0A=
	}=0A=
	=0A=
=0A=
	catch (exc) {;}=0A=
	=0A=
	-->=0A=
=0A=
=0A=
</SCRIPT>
<LINK href=3D"http://www.wwj.com/static/css/wwj.css" type=3Dtext/css =
rel=3Dstylesheet>
<SCRIPT language=3Djavascript=20
src=3D"http://imgsrv.wwj.com/javascript/global_functions.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://imgsrv.wwj.com/javascript/scroll_iframe_window.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://imgsrv.wwj.com/javascript/tran_frame.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://imgsrv.wwj.com/javascript/html_element_search.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://imgsrv.wwj.com/javascript/event_handler.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.wwj.com/javascript/play_window.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://imgsrv.wwj.com/javascript/load_forum.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.wwj.com/javascript/secret_word.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.wwj.com/javascript/content_rater.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.wwj.com/javascript/rater.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.wwj.com/javascript/nav.js"=20
type=3Dtext/javascript> </SCRIPT>
<LINK href=3D"/favicon.ico" type=3Dimage/x-icon rel=3Dicon><LINK =
href=3D"/favicon.ico"=20
type=3Dimage/x-icon rel=3D"SHORTCUT ICON">
<STYLE type=3Dtext/css>.Column_5960802_Td {
	WIDTH: 100%; PADDING-TOP: 17px; BACKGROUND-COLOR: #000000; TEXT-ALIGN: =
left
}
.Column_5960803_Td {
	WIDTH: 100%; PADDING-TOP: 17px; BACKGROUND-COLOR: #000000; TEXT-ALIGN: =
left
}
.Box_13043626_Outer_Div {
	BACKGROUND: #000000
}
.Box_13043626_Inner_Div {
	WIDTH: 100%
}
.Box_13043627_Top_Td {
	BORDER-RIGHT: #b2b2b2 0px dotted; BORDER-TOP: #b2b2b2 0px dotted; =
FONT-SIZE: 2pt; BORDER-LEFT: #b2b2b2 0px dotted; BORDER-BOTTOM: #b2b2b2 =
1px dotted; BACKGROUND-COLOR: #000000
}
.Box_13043627_Bt_Td {
	BORDER-RIGHT: #b2b2b2 0px dotted; BORDER-TOP: #b2b2b2 0px dotted; =
FONT-SIZE: 2pt; BORDER-LEFT: #b2b2b2 0px dotted; BORDER-BOTTOM: #b2b2b2 =
0px dotted; BACKGROUND-COLOR: #000000
}
.Box_13043628_Tb {
	BACKGROUND-COLOR: #ffffff
}
.Box_13043628_Text_Td {
	PADDING-RIGHT: 0px; PADDING-LEFT: 25px; FONT-WEIGHT: normal; FONT-SIZE: =
6pt; PADDING-BOTTOM: 2px; COLOR: #666666; PADDING-TOP: 2px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Box_13043628_Banner_Td {
	BORDER-RIGHT: #b2b2b2 0px dotted; PADDING-RIGHT: 0px; BORDER-TOP: =
#b2b2b2 0px dotted; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: =
#b2b2b2 0px dotted; PADDING-TOP: 2px; BORDER-BOTTOM: #b2b2b2 0px dotted
}
</STYLE>

<META content=3D"MSHTML 6.00.6000.16643" name=3DGENERATOR></HEAD>
<BODY=20
onload=3D"javascript:resizeDiv(); if (window.bbb_load_videoImage) { =
bbb_load_videoImage();}">
<TABLE class=3DMain_Tb cellSpacing=3D0 cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR><!-- BEGIN COLUMN: #1 (stnPageColumnId #5960802)-->
          <TD class=3DColumn_5960802_Td vAlign=3Dtop align=3Dmiddle>
            <DIV id=3DresizeColumn5960802 style=3D"WIDTH: 350px"><!-- =
BEGIN BOX: Content, stnBoxId #13043626 (boxTypeId #17), Cached: no -->
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD>
                  <DIV class=3DBox_13043626_Outer_Div =
id=3DBox_13043626_Outer_Div>
                  <DIV class=3DBox_13043626_Inner_Div =
id=3DBox_13043626_Inner_Div>
                  <TABLE class=3DPW_Outer_Tb cellSpacing=3D0 =
cellPadding=3D0=20
width=3D350>
                    <TBODY>
                    <TR>
                      <TD><!-- Start Logo -->
                        <TABLE class=3DPW_Logo_Tb cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D350>
                          <TBODY>
                          <TR>
                            <TD><IMG height=3D90=20
                              =
src=3D"http://imgsrv.wwj.com/image/wwj/pw_logo.jpg"=20
                              width=3D350 =
border=3D0></TD></TR></TBODY></TABLE><!-- End Logo --><!-- Start Audio =
Description -->
                        <TABLE class=3DPW_Desc_Tb cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D350>
                          <TBODY>
                          <TR>
                            <TD class=3DPW_Desc_Td align=3Dleft><A=20
                              class=3DPW_Program_Name=20
                              =
href=3D"http://www.wwj.com/content_page.php?contentType=3D34&amp;contentI=
d=3D48470"=20
                              target=3D_blank>WWJ Plus!</A> <A=20
                              class=3DPW_Program_Name=20
                              =
href=3D"http://www.wwj.com/pages/podcast/47462.rss"=20
                              target=3D_blank>(Subscribe)</A><BR><FONT=20
                              class=3DPW_Episode_Name>The Supremes=20
                              5/24</FONT><BR><FONT =
class=3DPW_Episode_Desc>The=20
                              author of a new book on the life of =
Florence=20
                              Ballard, an original member of the =
Supremes, is=20
                              interviewed on WWJ.</FONT> =
</TD></TR></TBODY></TABLE><!-- End Audio Description --><!-- Start =
Player -->
                        <TABLE class=3DPW_Player_Tb cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D200>
                          <TBODY>
                          <TR>
                            <TD>
                              <OBJECT=20
                              =
codeBase=3Dhttp://download.macromedia.com/pub/shockwave/cabs/flash/swflas=
h.cab#version=3D6,0,29,0=20
                              height=3D30 width=3D350=20
                              =
classid=3Dclsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM =
NAME=3D"movie" =
VALUE=3D"/image/wwj/pw_player.swf?mp3_file=3Dhttp://podcast.wwj.com/wwj/1=
110590.mp3&amp;advert=3Dhttp%3A%2F%2Fgateway.andohs.net%2Fpodtarget%2Ffil=
e.mp3%3Fcat%3DWWJ+Plus%21%26sid%3Dwwjam"><PARAM NAME=3D"quality" =
VALUE=3D"high">
                              						<embed=20
                              =
src=3D"/image/wwj/pw_player.swf?mp3_file=3Dhttp://podcast.wwj.com/wwj/111=
0590.mp3&advert=3Dhttp%3A%2F%2Fgateway.andohs.net%2Fpodtarget%2Ffile.mp3%=
3Fcat%3DWWJ+Plus%21%26sid%3Dwwjam"=20
                              quality=3D"high"=20
                              =
pluginspage=3D"http://www.macromedia.com/go/getflashplayer"=20
                              type=3D"application/x-shockwave-flash" =
width=3D"350"=20
                              height=3D"30"></embed>
		</OBJECT></TD></TR></TBODY></TABLE><!-- End Player =
--></TD></TR></TBODY></TABLE></DIV></DIV></TD></TR></TBODY></TABLE><!-- =
END BOX: Content, stnBoxId #13043626 (boxTypeId #17), Cached: no --><!-- =
BEGIN BOX: Separator, stnBoxId #13043627 (boxTypeId #26), Cached: yes =
-->
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD>
                  <DIV class=3DBox_13043627_Outer_Div =
id=3DBox_13043627_Outer_Div>
                  <DIV class=3DBox_13043627_Inner_Div =
id=3DBox_13043627_Inner_Div>
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DBox_13043627_Top_Td width=3D"100%"=20
                      height=3D12>&nbsp;</TD></TR>
                    <TR>
                      <TD class=3DBox_13043627_Bt_Td width=3D"100%"=20
                      =
height=3D12>&nbsp;</TD></TR></TBODY></TABLE></DIV></DIV></TD></TR></TBODY=
></TABLE><!-- END BOX: Separator, stnBoxId #13043627 (boxTypeId #26), =
Cached: yes --></DIV></TD><!-- END COLUMN: #1 (stnPageColumnId =
#5960802)--></TR></TBODY></TABLE>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR><!-- BEGIN COLUMN: #1 (stnPageColumnId #5960803)-->
          <TD class=3DColumn_5960803_Td vAlign=3Dtop align=3Dmiddle>
            <DIV id=3DresizeColumn5960803 style=3D"WIDTH: 234px"><!-- =
BEGIN BOX: Banner Group, stnBoxId #13043628 (boxTypeId #11), Cached: no =
-->
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD>
                  <DIV class=3DBox_13043628_Outer_Div =
id=3DBox_13043628_Outer_Div>
                  <DIV class=3DBox_13043628_Inner_Div =
id=3DBox_13043628_Inner_Div>
                  <TABLE class=3DBox_13043628_Tb cellSpacing=3D0 =
cellPadding=3D0=20
                  width=3D"100%" border=3D0>
                    <TBODY>
                    <TR>
                      <TD =
class=3DBox_13043628_Text_Td>ADVERTISEMENT</TD></TR>
                    <TR>
                      <TD class=3DBox_13043628_Banner_Td>
                        <SCRIPT language=3DJavascript>
				document.itmDblClickTileNum=3D (document.itmDblClickTileNum =3D=3D =
undefined)?  1 : document.itmDblClickTileNum + 1;
				document.write('<scr'+'ipt language=3D"Javascript1.1" =
src=3D"http://ad.doubleclick.net/adj/cbsr.wwjam/;tile=3D'+document.itmDbl=
ClickTileNum =
+';dcopt=3Dist;abr=3D!webtv;kw=3Dall;sz=3D234x60;phpid=3D1148182;ord=3D12=
11726956"></scr'+'ipt>');
			</SCRIPT>

                        <SCRIPT><!--
			if ((!document.images && navigator.userAgent.indexOf('Mozilla/2.') =
>=3D 0) || navigator.userAgent.indexOf("WebTV") >=3D 0)
			{
				document.write('<a =
href=3D"http://ad.doubleclick.net/jump/cbsr.wwjam/;kw=3Dall;sz=3D234x60;t=
ile=3D1;phpid=3D1148182;ord=3D1211726956" target=3D"_blank">');
				document.write('<img =
src=3D"http://ad.doubleclick.net/ad/cbsr.wwjam/;kw=3Dall;sz=3D234x60;tile=
=3D1;phpid=3D1148182;ord=3D1211726956" width=3D"234" height=3D"60" =
border=3D"0" alt=3D""></a>');
			}
			//-->
			</SCRIPT>
                        <NOSCRIPT><A=20
                        =
href=3D"http://ad.doubleclick.net/jump/cbsr.wwjam/;kw=3Dall;sz=3D234x60;t=
ile=3D1;phpid=3D1148182;ord=3D1211726956"=20
                        target=3D_blank><IMG height=3D60 alt=3D""=20
                        =
src=3D"http://ad.doubleclick.net/ad/cbsr.wwjam/;kw=3Dall;sz=3D234x60;tile=
=3D1;phpid=3D1148182;ord=3D1211726956"=20
                        width=3D234 border=3D0></A>=20
                  =
</NOSCRIPT></TD></TR></TBODY></TABLE></DIV></DIV></TD></TR></TBODY></TABL=
E><!-- END BOX: Banner Group, stnBoxId #13043628 (boxTypeId #11), =
Cached: no --><!-- BEGIN BOX: HTML Box, stnBoxId #13043629 (boxTypeId =
#10), Cached: yes -->
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD>
                  <DIV class=3DBox_13043629_Outer_Div =
id=3DBox_13043629_Outer_Div>
                  <DIV class=3DBox_13043629_Inner_Div =
id=3DBox_13043629_Inner_Div>
                  <DIV id=3DOneStatTag name=3D"OneStatTag"><!--ONESTAT =
SCRIPTCODE START-->
                  <SCRIPT type=3Dtext/javascript>



<!--



// Account ID :wwj-am.intertechmedia.com



// Website URL: http://www.wwj.com



// Copyright (C) 2002-2007 OneStat.com All Rights Reserved



function OneStat_Pageview()



{



    var d=3Ddocument;



    var sid=3D"wwj-am.intertechmedia.com";



    var CONTENTSECTION=3D"";



    var osp_ACTION=3D"";



    var osp_TRANSACTION=3D"";



    var osp_AMOUNT=3D"";



    var osp_PRODUCTCODE=3D"";



    var osp_PRODUCTGROUP=3D"";



    var osp_ADCAMPAIGN=3D"";



    var osp_URL=3Dd.URL;



    var osp_Title=3Dd.title;



    var t=3Dnew Date();



    var =
p=3D"http"+(d.URL.indexOf('https:')=3D=3D0?'s':'')+"://stat.onestat.com/s=
tat.aspx?tagver=3D2&sid=3D"+sid;



    p+=3D"&url=3D"+escape(osp_URL);



    p+=3D"&ti=3D"+escape(osp_Title);



    p+=3D"&section=3D"+escape(CONTENTSECTION);



    p+=3D"&cma=3D"+escape(osp_ACTION);



    p+=3D"&cmt=3D"+escape(osp_TRANSACTION);



    p+=3D"&cmm=3D"+escape(osp_AMOUNT);



    p+=3D"&cmp=3D"+escape(osp_PRODUCTCODE);



    p+=3D"&cmg=3D"+escape(osp_PRODUCTGROUP);



    p+=3D"&cmad=3D"+escape(osp_ADCAMPAIGN);



    =
p+=3D"&rf=3D"+escape(parent=3D=3Dself?document.referrer:top.document.refe=
rrer);



    p+=3D"&tz=3D"+escape(t.getTimezoneOffset());



    p+=3D"&ch=3D"+escape(t.getHours());



    p+=3D"&js=3D1";



    =
p+=3D"&ul=3D"+escape(navigator.appName=3D=3D"Netscape"?navigator.language=
:navigator.userLanguage);



    if(osp_URL!=3Dd.URL) p+=3D"&ol=3D"+escape(d.URL);



    if(typeof(screen)=3D=3D"object"){



       =
p+=3D"&sr=3D"+screen.width+"x"+screen.height;p+=3D"&cd=3D"+screen.colorDe=
pth;



       p+=3D"&jo=3D"+(navigator.javaEnabled()?"Yes":"No");



    }



	var dd =3D d.getElementById("OneStatTag");



	if(dd)dd.innerHTML =3D '<img id=3D"ONESTAT_TAG" border=3D"0" =
width=3D"1" height=3D"1" src=3D"'+p+'" >';



}







setTimeout('OneStat_Pageview()',1);



//-->



</SCRIPT>
                  <NOSCRIPT><A href=3D"http://www.onestat.com/"><IMG =
height=3D1=20
                  alt=3D"OneStat.com Web Analytics"=20
                  =
src=3D"http://stat.onestat.com/stat.aspx?tagver=3D2&amp;sid=3Dwwj-am.inte=
rtechmedia.com&amp;js=3DNo&amp;"=20
                  width=3D1 border=3D0></A>=20
                  </NOSCRIPT><!--ONESTAT SCRIPTCODE =
END--></DIV></DIV></DIV></TD></TR></TBODY></TABLE><!-- END BOX: HTML =
Box, stnBoxId #13043629 (boxTypeId #10), Cached: yes --></DIV></TD><!-- =
END COLUMN: #1 (stnPageColumnId =
#5960803)--></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DIV style=3D"DISPLAY: none"><IFRAME id=3DtranFrame name=3DtranFrame=20
src=3D"http://www.wwj.com/tran_frame/blank.html" width=3D0 =
height=3D0></IFRAME></DIV>
<SCRIPT language=3Djavascript>=0A=
	<!--=0A=
	/*=0A=
	// calling reloadIframeContent for reloading the contents of the =
Iframes,=0A=
	// we call this function because sometimes the content of the Iframes =
are overwritten=0A=
	// by some other Iframes if the iframes are more then one in the page. =
Added by Dipak=0A=
	*/=0A=
//	window.onload =3D reloadIFrameContent;=0A=
=0A=
=0A=
	 function resizeDiv() {=0A=
=0A=
		//=0A=
		// Determine page width=0A=
		//=0A=
=0A=
		if (document.body.clientWidth) {=0A=
=0A=
			//=0A=
			// Set offset=0A=
			//=0A=
=0A=
			if (navigator.userAgent.toLowerCase().indexOf("msie") + 1) {=0A=
=0A=
				var offset =3D 20;=0A=
=0A=
			} else {=0A=
=0A=
				var offset =3D 10;=0A=
=0A=
			} // END if - set offset=0A=
=0A=
			var pageWidth =3D document.body.clientWidth - offset;=0A=
=0A=
		} else if (window.innerWidth) {=0A=
=0A=
			var pageWidth =3D window.innerWidth - 20;=0A=
=0A=
		} // END if - determine page width=0A=
=0A=
		var colWidth =3D 0;=0A=
		var minReached =3D 0;=0A=
		var maxReached =3D 0;=0A=
=0A=
			colWidth =3D 350;=0A=
=0A=
			colWidth -=3D 0;=0A=
=0A=
			getElement("resizeColumn5960802").style.width =3D colWidth;=0A=
=0A=
=0A=
											colWidth =3D 234;=0A=
=0A=
			colWidth -=3D 0;=0A=
=0A=
			getElement("resizeColumn5960803").style.width =3D colWidth;=0A=
=0A=
=0A=
										} // END function - resizeDiv=0A=
=0A=
		window.onresize=3Dnew Function("resizeDiv()");=0A=
	// -->=0A=
</SCRIPT>
<!-- Served by radio2 --><!-- Generated by radio11 --><!-- Generated by =
YONY2 --></BODY></HTML>

------=_NextPart_001_0009_01C8BE54.FBC2D840
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/tran_frame/blank.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META content=3D"MSHTML 6.00.6000.16643" name=3DGENERATOR></HEAD>
<BODY></BODY></HTML>

------=_NextPart_001_0009_01C8BE54.FBC2D840--

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgsrv.wwj.com/javascript/global_functions.js

/*
 * Name:
 *	global_functions.js
 *
 * Description:
 *	Defines global javascript functions
 *
 * Pre-conditions:
 *	None
 *
 * Post-conditions:
 *	Defines the following functions:
 *
 * Log:
 *	Shaunak Kashyap		11/21/2005
 *	- Creation
 *	Doug Mears			4/28/2006
 *	- added functions:
 *		getBrowser, getOS, checkUserAgent, bVer, makeSream, =
changeStreamReload
 *	Toan Nguyen-Dinh	5/11/2006
 *	- added function:
 *		embedFlash
 *	Li Zheng			02/13/2007
 *	 - Merge functions from=20
 * 		event_handler.js, tran_frame.js ,html_element_search.js
 */

//Set global variables to be used by more than one function
//needs to be set within script
//delay, numelements depend on  php elements

var delay =3D new Array();
var numElements =3D new Array();
var index =3D new Array();
var timeOutID =3D new Array();
var isRunning =3D new Array();



/*
 * Name:
 *	getElement
 *
 * Description:
 *	Returns an element searched by name or id
 *
 * Pre-conditions:
 *	elName		REQUIRED	Id or name of element
 *
 * Post-conditions:
 *	The element is returned
 *
 * Log:
 *	Shaunak Kashyap		11/21/2005
 *	- Creation
 *
 */

function getElement(elName) {

	if (document.getElementByName) {
	=09
		return document.getElementByName(elName);
	=09
	} else if (document.getElementById) {
	=09
		return document.getElementById(elName);
	=09
	} else {
	=09
		return false;
	=09
	}=20
=09
} // END function - getElement

/*
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
ltrim(string) : Returns a copy of a string without leading spaces.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
*/
function ltrim(str)
/*
   PURPOSE: Remove leading blanks from our string.
   IN: str - the string we want to ltrim
*/
{
   var whitespace =3D new String(" \t\n\r");

   var s =3D new String(str);

   if (whitespace.indexOf(s.charAt(0)) !=3D -1) {
      // We have a string with leading blank(s)...

      var j=3D0, i =3D s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
      while (j < i && whitespace.indexOf(s.charAt(j)) !=3D -1)
         j++;

      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s =3D s.substring(j, i);
   }
   return s;
}

/*
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
rtrim(string) : Returns a copy of a string without trailing spaces.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
*/
function rtrim(str)
/*
   PURPOSE: Remove trailing blanks from our string.
   IN: str - the string we want to rtrim

*/
{
   // We don't want to trip JUST spaces, but also tabs,
   // line feeds, etc.  Add anything else you want to
   // "trim" here in Whitespace
   var whitespace =3D new String(" \t\n\r");

   var s =3D new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) !=3D -1) {
      // We have a string with trailing blank(s)...

      var i =3D s.length - 1;       // Get length of string

      // Iterate from the far right of string until we
      // don't have any more whitespace...
      while (i >=3D 0 && whitespace.indexOf(s.charAt(i)) !=3D -1)
         i--;


      // Get the substring from the front of the string to
      // where the last non-whitespace character is...
      s =3D s.substring(0, i+1);
   }

   return s;
}

/*
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
trim(string) : Returns a copy of a string without leading or trailing =
spaces
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
*/
function trim(str)
/*
   PURPOSE: Remove trailing and leading blanks from our string.
   IN: str - the string we want to trim

   RETVAL: A trimmed string!
*/
{
   return rtrim(ltrim(str));
}


/*
 * Name:
 *	getBrowser
 *
 * Description:
 *	gets and returns a string representing the user's browser
 *
 * Pre-conditions:
 *
 * Post-conditions:
 *
 * Author:
 *		Doug Mears		4/28/06
 *
 * Updates:
 *
 */

function getBrowser()
{
=09
	var browser;
=09
	//begin if checks for browser
	if (checkUserAgent('konqueror'))
	{
		browser =3D "Konqueror";
	}
	else if (checkUserAgent('safari')) browser =3D "Safari";
	else if (checkUserAgent('omniweb')) browser =3D "OmniWeb";
	else if (checkUserAgent('opera')) browser =3D "Opera";
	else if (checkUserAgent('webtv')) browser =3D "WebTV";
	else if (checkUserAgent('icab')) browser =3D "iCab";
	else if (checkUserAgent('msie')) browser =3D "IE"
	else if (checkUserAgent('firefox')) browser =3D "Firefox";
	else if (!checkUserAgent('compatible'))
	{
		browser =3D "Netscape"
	}
	else browser =3D "unknown";
=09
	//return browser string
	return browser;
} //END function getBrowser

/*
 * Name:
 *	getOS
 *
 * Description:
 *	gets and returns a string representing the user's operating system
 *
 * Pre-conditions:
 *
 * Post-conditions:
 *
 * Author:
 *		Doug Mears		4/28/06
 *
 * Updates:
 *
 */
function getOS()
{
	var OS;
=09
	//begin if checks to get the operating system
	if (checkUserAgent('konqueror'))
	{
		OS =3D "Linux";
	}
	else if (checkUserAgent('linux')) OS =3D "Linux";
	else if (checkUserAgent('x11')) OS =3D "Unix";
	else if (checkUserAgent('mac')) OS =3D "Mac"
	else if (checkUserAgent('win')) OS =3D "Windows"
	else OS =3D "unknown";

	//return the operating system string
	return OS;
} //END function getOS

/*
 * Name:
 *	checkUserAgent
 *
 * Description:
 *	figures out if the given string is in the navigator.userAgentString
 *	used to detect browser..and os info
 *
 * Pre-conditions:
 *
 * Post-conditions:
 *   return value > 0 means there was a match
 * Author:
 *		Doug Mears		4/28/06
 *
 * Updates:
 *
 */

function checkUserAgent(string)
{
	//return 1 or more (true) if userAgent contains input string
	return (navigator.userAgent.toLowerCase().indexOf(string) + 1);
}

/*
 * Name:
 *	bVer
 *
 * Description:
 *	gets the browser version
 *
 * Pre-conditions:
 *
 * Post-conditions:
 *   returns a float representation of the navigator's version
 * Author:
 *		Doug Mears		4/28/06
 *
 * Updates:
 *
 */

function bVer() {
  // return version number (e.g., 4.03)
  return parseFloat(navigator.appVersion)
} //END function bVer

/*
 * Name:
 *	makeStream
 *
 * Description:
 *	makeStream is an object contructor whose data holds the url and name
 *	usage: new makeStream('myfile.asx', 'Episode 1');
 *
 * Pre-conditions:
 *
 * Post-conditions:
 *  sets and creates an object with the property values url and name
 * Author:
 *		Doug Mears		4/28/06
 *
 * Updates:
 *
 */
function makeStream(url, name) {
	this.url =3D url;
	this.name =3D name;
} //END function - make stream

/*
 * Name:
 *	changeStreamReload
 *
 * Description:
 *	changes the current stream for Windows Internet Explorer users
 *	reloads the page for other users
 *
 * Pre-conditions:
 *		url					path to php/asx file to use in the stream
 *		episodeName			name of episode
 *		episodeDescription	description of episode
 *		reloadQuery			contains string with episode ID to reload with
 * Post-conditions:
 *   either changes video stream or reloads the page with a query=20
 *	 with the episode id
 * Author:
 *		Doug Mears		4/28/06
 *
 * Updates:
 *
 */
function changeStreamReload(url, episodeName, episodeDescription, =
reloadQuery)
{
	var versionCode =3D bVer();
	var mac =3D (navigator.userAgent.indexOf("Mac")!=3D-1);
	var activeX =3D (getBrowser() =3D=3D 'IE' && versionCode >=3D 4.0) ? =
true : false;=20

	//if user is using Internet Explorer for Windows and has activeX =
controls installed
	if (activeX && !mac) //for IE
	{
	=09
		//insert episodeName and episodeDescription into respective divs
		getElement('episodeNameDiv').innerHTML =3D episodeName;
		getElement('episodeDescriptionDiv').innerHTML =3D episodeDescription;
		mediaPlayer.autoStart =3D true;
   		mediaPlayer.URL =3D url;

	} //END if user is using Internet Explorer for Windows and has activeX =
controls installed
	//else reload window
  	else
  	{
  		window.location.href =3D reloadQuery;
  	} //END else reload window
} //END function changeStreamReload

/*
 * Name:
 *	embedFlash
 *=20
 * Description:
 *	prints out the HTML code using javascript instead of embedding the =
Flash object directly into
 *	the HTML code. This is a workaround for the ActiveX issue in IE that =
needs the ActiveX content
 *	to be activated before it can be used. The workaround removes the =
need for activation
 *
 * Pre-conditions:
 *		embedString			String containing all tags holding the Flash object in =
the HTML page
 *								i.e. "<object =
...><param1...><param2...><embed...></embed></object>"
 *
 * Post-conditions:
 *	The Flash object is embedded in the webpage while avoiding the =
ActiveX issue
 *
 * Functions:
 *	None
 *
 * Log:
 *	Toan Nguyen-Dinh		5/11/2006
 *		- Creation
 *=20
 */
function embedFlash(embedString)
{
	//echo the string into the page
	document.write(embedString);
}




/*
 * Name:
 *	registerEvent
 *
 * Description:
 *	Attaches a JavaScript event to the given HTML DOM element. In event =
models that support
 *	both options, events are fired in the bubbling phase by this =
function, not the capturing
 *	phase. Note that, under some schemes, multiple events (even =
duplicates) may be assigned to
 *	an object, and all will fire, so be sure to unregister any unneeded =
events!
 *
 * Pre-conditions:
 *	obj				REQUIRED	The DOM object to which the given event should be =
attached.
 *	eventName		REQUIRED	The name of the event as a string. May optionally =
include the on- prefix.
 *	handler			REQUIRED	A callback for the handler function. (NOT a =
string, NO parentheses!)
 *
 * Post-conditions:
 *	Returns true on successful event attachment, false otherwise.
 *
 * Log:
 *	Randall Betta		08/25/2006
 *		- Creation
 *
 */
function registerEvent(obj, eventName, handler) {
=09
	var eventWithOn;
	var eventWithoutOn;
=09
	// Define two forms of the event name: one with a leading on- prefix, =
the other without it.
	eventWithOn =3D (eventName.match(/^on/)) ? eventName : 'on' + =
eventName;
	eventWithoutOn =3D eventName.replace(/^on/, '');
=09
	// Determine if the browser supports the Microsoft model or the W3C =
model for event attachment.
=09
	if (obj.addEventListener) { // If: the W3C addEventListener method is =
defined.
	=09
		//
		// Use the W3C model.
		//
	=09
		// The event names should be lowercase without the on- prefix in =
W3C-compliant implementations.
		eventName =3D eventWithoutOn.toLowerCase();
		// Fire events during the bubbling phase; this must match the =
detachment function!
		obj.addEventListener(eventName, handler, false);
		return true;
	}
	else if (obj.attachEvent) { // Else if: the Microsoft attachEvent =
method is defined.
	=09
		//
		// Use the Microsoft model.
		//
	=09
		// The event names should be lowercase with the on- prefix in =
Microsoft's implementation.
		eventName =3D eventWithOn.toLowerCase();=09
		obj.attachEvent(eventName, handler);
		return true;
	}
	else { // Else: fall back on the traditional model.
	=09
		//
		// Use the traditional event registration model.
		//
	=09
		// The event names should be lowercase with the on- prefix in the =
traditional implementation.
		eventName =3D eventWithOn.toLowerCase();
		obj[eventName] =3D handler;
		return true;
	} // End else: use the traditional model.
=09
} // End function: registerEvent








/*
 * Name:
 *	unregisterEvent
 *
 * Description:
 *	Detaches a JavaScript event from the given HTML DOM element.
 *
 * Pre-conditions:
 *	obj				REQUIRED	The DOM object from which to remove the given event.
 *	eventName		REQUIRED	The name of the event as a string. May optionally =
include the on- prefix.
 *	handler			REQUIRED	A callback for the handler function. (NOT a =
string, NO parentheses!)
 *
 * Post-conditions:
 *	Returns true on successful event detachment, false otherwise.
 *
 * Log:
 *	Randall Betta		08/25/2006
 *		- Creation
 *
 */
function unregisterEvent (obj, eventName, handler) {
=09
	// Define two forms of the event name: one with a leading on- prefix, =
the other without it.
	eventWithOn =3D (eventName.match(/^on/)) ? eventName : 'on' + =
eventName;
	eventWithoutOn =3D eventName.replace(/^on/, '');
=09
	// Determine if the browser supports the Microsoft model or the W3C =
model for event detachment.
	if (obj.removeEventListener) { // If: the W3C model is supported.
	=09
		//
		// Use the W3C event detachment model.
		//
	=09
		// The event names should be lowercase without the on- prefix in the =
W3C implementation.
		eventName =3D eventWithoutOn.toLowerCase();
		// The original attachment function is presumed here to have=20
		// specified that events fire during the bubbling phase. This must
		// match the actual value used during event attachment!
		obj.removeEventListener(eventName, handler, false);
		return true;
	=09
	}
	else if (obj.detachEvent) { // Else if: the Microsoft model is =
supported.
	=09
		//
		// Use the Microsoft event detachment model.
		//=09
	=09
		// The event names should be lowercase with the on- prefix in the =
Microsoft implementation.
		eventName =3D eventWithOn.toLowerCase();
		obj.detachEvent(eventName, handler);
		return true;
	}
	else { // Fall back on the traditional event model.
	=09
		//
		// Use the traditional model.
		//
	=09
		// The event names should be lowercase with the on- prefix in the =
traditional implementation.
		eventName =3D eventWithOn.toLowerCase();
		obj[eventName] =3D null;
		return true;
	} // End else: use the traditional model.
=09
} // End function: unregisterEvent

/*
 * Name:
 *	getEventTarget
 *
 * Description:
 *	Every event handler should take a single argument, which will either =
be made null by IE or set
 *	to an event object by W3C-compliant browsers. Given this object, this =
function returns a reference
 *	to the target element of the event.
 *
 * Pre-conditions:
 *	eventObj	REQUIRED	The implicit event object passed to an event =
handler (may possibly be null).
 *
 * Post-conditions:
 *	Returns a reference to the target of the event whose implicit event =
object is passed in as an argument.
 *	Returns false on failure.
 *
 * Log:
 *	Randall Betta		08/25/2006
 *		- Creation
 *
 */
function getEventTarget(eventObj) {
=09
	var targetObj;
=09
	//
	// Obtain a reference to the proper event-describing object.
	//
=09
	// Under Internet Explorer, no implicit event object is passed to event =
handler. Instead, the
	// window.event object holds data for the last event to be raised.
	eventObj =3D (eventObj) ? eventObj : window.event;
	if (!eventObj) { // If: the event object can't be found.
		// Indicate failure.
		return false;
	} // End if: the event object can't be found.
=09
	//
	// The event-describing object is known by this point. Obtain a =
reference to the DOM object that
	// was the original target of the event.
	//
=09
	// W3C-compliant browsers call the event's object "target." IE calls it =
"srcElement."
	targetObj =3D (eventObj.target) ? eventObj.target : =
eventObj.srcElement;
	if (!targetObj) { // If: the target object can't be found.
		// Indicate failure.
		return false;
	} // End if: the target object can't be found.
=09
	// Under Safari, a bug can cause events that fire on text element to =
store their target element
	// as the text node in the DOM, rather than its containing HTML node. =
Fix this.
	targetObj =3D (targetObj.nodeType =3D=3D 3) ? targetObj.parentNode : =
targetObj;
=09
	return targetObj;
=09
} // End function: getEventTarget


/* Name:
 *	callTran
 *
 * Description:
 *	Executes a script in the tran frame
 *
 * Pre-conditions:
 *	scriptUrl			REQUIRED	Url of script
 *	scriptQueryString	OPTIONAL	Query string to pass to script
 *
 * Post-conditions:
 *	The script is loaded
 *
 * Log:
 *	Shaunak Kashyap		11/13/2005
 *	- Creation
 *  Atif Malik			12/23/2006
 *  - Changed by Atif Malik to allow click with iframes
 */

function callTran(scriptUrl, scriptQueryString) {
=09
	//
	// Load url in tran frame
	//
=09
	//window.top.tranFrame.location =3D "/tran_frame/" + scriptUrl + "?" + =
scriptQueryString;
	document.getElementById("tranFrame").src =3D "/tran_frame/" + scriptUrl =
+ "?" + scriptQueryString;

=09
} // END function - callTran




/*
* Name:
*	getAllFrames
*
* Description:
*	Returns an array of window elements of all (grand)child iframe and =
frame HTML elements=20
*	in the given window, including itself. This function is recursive. =
Note that a window is=20
*	the same as an (i)frame in JavaScript.
*=09
* Pre-conditions:
*	windowObj		REQUIRED	The topmost window object to include in the array.
*
* Post-conditions:
*	An array of references to HTML (i)frame tags that exist inside the =
given window.
*
* Log:
*	Randall Betta		08/24/2006
*		- Creation
*
*/
function getAllFrames(windowObj) {

	var windowFrames;			// All frames in the current window object.
	var allWindows;				// An array of all framed window objects to return.
	var childFrames;			// All descendant (i)frames.
	var currentWindow;			// A temporary variable for storing an (i)frame's =
window object.
	var frameIndex;				// Counter variable.
	var childIndex;				// Counter variable.

	// Initialize the array that will store the windows of (i)frames.
	allWindows =3D new Array();

	// Determine if this document has any frames. If not, return an empty =
array.
	if ((windowObj.frames) ? windowObj.frames.length > 0 : false) { // If: =
this window has frames.
		// Obtain all iframe elements in this window using the javascript =
frames array. Note that=20
		// this will include ordinary frames too, though this is not relevant =
for our purposes.
		windowFrames =3D windowObj.frames;

		// Iterate through (i)frames in this window.
		for (frameIndex =3D 0; frameIndex < windowFrames.length; frameIndex++) =
{ // For: iterate through frames.
	=09
			// Store the current iframe's window object in this iteration.
			currentWindow =3D windowFrames[frameIndex];
		=09
			// Obtain an array of all descendant (i)frames inside the child =
(i)frame, plus itself.
			allWindows =3D allWindows.concat(getAllFrames(currentWindow));=09

		} // End for: iterate through (i)frames.
	=09
	} // End if: this window contains (i)frames.
=09
	// Store this window itself in the returned array of window objects.
	allWindows[allWindows.length] =3D windowObj;
=09
	return allWindows;
=09
} // End function: getAllFrames









/*
* Name:
*	getRelatedElements
*
* Description:
*	Returns an array of all HTML elements of the same type whose class or =
id property matches
*	a given regex. This function will optionally search the entire iframe =
hierarchy up and down,=20
*	including any pages not generated by Intertech functions.
*=09
* Pre-conditions:
*	htmlElement		REQUIRED	Case-sensitive string of what kinds of HTML =
elements to search (e.g. "div").
*	pattern			REQUIRED	The regex to use to decide whether to return an =
element.
*	useId			REQUIRED	Boolean: if true, match the HTML id against the =
regex. If false, use class.
*	searchAllFrames	REQUIRED	Boolean: if true, traverse all (i)frames.
*
* Post-conditions:
*	An array of references to HTML tags whose id or class properties match =
the regex is returned.
*
* Log:
*	Randall Betta		08/23/2006
*		- Creation
*	Randall Betta		10/10/2006
*		- Fixed a bug that prevented searches confined to only one frame from =
working.
*
*/
function getRelatedElements(htmlElement, pattern, useId, =
searchAllFrames) {=20

	var docObj;				// A temporary variable: HTML DOM "document" object.
	var winIndex;			// A counter for the current window.
	var htmlElts;			// An array of references to HTML elements.
	var elt;				// A temporary variable: reference to an HTML element.
	var eltIndex;			// A counter for the current elt.
	var matchingElts;		// The returned array of references to matching HTML =
elements.
	var eltText;			// The text of the HTML element property to compare =
against the pattern.
	var searchWindows;		// An array of all HTML DOM "window" objects to =
search.
	var thisDocFound;		// A boolean: used when=20
=09
	// Initialize the matching elements array.
	matchingElts =3D new Array();
=09
	// Determine whether we need to search this document or all (i)framed =
documents.
	if (searchAllFrames) { // If: search all frames.
		// Obtain references to all frames.
		searchWindows =3D getAllFrames(top);	=09
	}
	else { // Else: search only this document.
		searchWindows =3D new Array();
		searchWindows[0] =3D window;
	} // End else: search only this document,
=09
=09
	// Iterate through all documents to be searched.
	for (winIndex =3D 0; winIndex < searchWindows.length; winIndex++) { // =
For: iterate through windows to search in.
		try {
			// Store a reference to the current document object.
			docObj =3D searchWindows[winIndex].document;
			// Obtain an array of all HTML elements of the desired type in the =
current document object.
			htmlElts =3D docObj.getElementsByTagName(htmlElement);
		}
		catch (exc) {
			// Permission will be denied to access elements on a page from a =
different domain.
			// Silently skip this document if this error occurs.
			continue;
		}
	=09
		// Iterate through the HTML elements.
		for (eltIndex =3D 0; eltIndex < htmlElts.length; eltIndex++) { // For: =
iterate through HTML elements.
			try {
				// Store a reference to the current HTML element.
				elt =3D htmlElts[eltIndex];
				// Determine if this element is part of the set we are looking for.
				if (useId) { // If: the match criterion is the HTML element ID =
property.
					eltText =3D (elt.id) ? elt.id.toString() : '';
				}
				else { // Else: the match criterion is the HTML element CSS class =
property.
					eltText =3D (elt.className) ? elt.className.toString() : '';
				} // End else: the match criterion is the HTML element CSS class =
property.
			=09
				// Test whether the class or ID property (as appropriate) matches =
the regex.
				if (eltText.match(pattern)) { // If: the property matches the regex.
					// Append this element to the array.
					matchingElts[matchingElts.length] =3D elt;
				} // End if: the property matches the regex.
			}
			catch (exc) {
				// Permission will be denied to access elements on a page from a =
different domain.
				// Silently skip this document if this error occurs.
				continue;
			}
		=09
		} // End for: iterate through HTML elements.
	=09
	} // End for: iterate through windows to search in.
=09
	return matchingElts;

} // End function: getRelatedElements



/*
 * Name:
 *      popupLinkOption
 *
 * Description:
 *      used for link popup options popup
 *
 * Pre-conditions:
 *              url                     : url of the new popup window
 *              width           : width of the new popup window
 *              height          : height of the new popup window
 *
 * Post-conditions:
 *      a new popup window opened
 *
 * Functions:
 *      None
 *
 * Log:
 *      Li Zheng                07/27/2007
 *              - Creation
 *
 */
var newPopupWindow;
function popupLinkOption(url,width,height)
{
        =
newPopupWindow=3Dwindow.open(url,'name','height=3D'+height+',width=3D'+wi=
dth+',left=3D100,top=3D100,resizable=3Dno,scrollbars=3Dno,toolbar=3Dno,st=
atus=3Dno,menubar=3Dno,location=3Dno');
}

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgsrv.wwj.com/javascript/scroll_iframe_window.js

//variable for iframe timer=0A=
var iFrameTimer=3Dnull;=0A=
=0A=
/*=0A=
 * Name:=0A=
 *     stopIframeScroll=0A=
 * Description:=0A=
 *     Stops the iframe scroller=0A=
 * Preconditions:=0A=
 *     None=0A=
 * Postconditions:=0A=
 *     Stops the iframe scroller=0A=
*/=0A=
function stopIframeScroll()=0A=
{=0A=
   clearTimeout(iFrameTimer)=0A=
}=0A=
=0A=
/*=0A=
 * Name:=0A=
 *     startIframeScroll=0A=
 * Description:=0A=
 *     Has to be passed the following variables=0A=
 *     -- iFrameName         the name of the iframe to scroll=0A=
 *     -- scrollingSpeed     usually 1, can be changed to increase the=0A=
 *                           speed of scrolling=0A=
 *     -- direction          { 'up' | 'down' | 'left' | 'right }=0A=
 * Preconditions:=0A=
 *=0A=
 * Postconditions:=0A=
 *=0A=
*/=0A=
function startIframeScroll(iFrameName, scrollingSpeed, direction)=0A=
{=0A=
=0A=
  //get html reference=0A=
  var referenceIFrame =3D"frames['"+iFrameName+"']";=0A=
=0A=
  //determine whether the browser bieng used is IE=0A=
  //isIE is true iff browser is Ie=0A=
  var isIE=3Ddocument.all;=0A=
=0A=
=0A=
  //get direction for scrolling=0A=
  var pageOffsetDirection , directionScroll , absolutePosition;=0A=
  if(direction=3D=3D'down' || direction =3D=3D 'up')=0A=
    {=0A=
      absolutePosition =3D '0,currentPosition';=0A=
      directionScroll =3D 'scrollTop';=0A=
      pageOffsetDirection=3D'pageYOffset';=0A=
    }=0A=
  else=0A=
    {=0A=
      absolutePosition =3D 'currentPosition,0';=0A=
      directionScroll =3D 'scrollLeft';=0A=
      pageOffsetDirection=3D'pageXOffset';=0A=
    }=0A=
=0A=
=0A=
=0A=
  //get the offset for the amount scrolled=0A=
  //if direction is down=0A=
  //    if isIE    set amountScrolled to scrollingSpeed=0A=
  //    else       set amountScrolled to scrollingSpeed+0.9=0A=
  //else if direction is up=0A=
  //    if isIE    set amountScrolled to -scrollingSpeed=0A=
  //    else       set amountScrolled to -(scrollingSpeed-0.9)=0A=
  var amountScrolled=3D(direction=3D=3D'down' || =
direction=3D=3D'right')?(isIE)?scrollingSpeed:scrollingSpeed+.9:(isIE)?-s=
crollingSpeed:-(scrollingSpeed-.9);=0A=
=0A=
  //if isIE=0A=
  //    then evaluate=0A=
  //        =
parent.<referenceIFrame>.document.body.scrollTop.amountScrolled  to  =
scroll iframe=0A=
  //else evaluate=0A=
  //        =
parent.<referenceIFrame>.document.body.pageYOffset.amountScrolled=0A=
  var currentPosition =3D=0A=
       =
(document.all)?eval("parent."+referenceIFrame+".document.body."+direction=
Scroll)+amountScrolled:eval("parent."+referenceIFrame+"."+pageOffsetDirec=
tion)+amountScrolled;=0A=
=0A=
=0A=
=0A=
=0A=
  //in case browser resets position=0A=
  var absolutePositionResult  =
=3Deval("parent."+referenceIFrame+".window.scrollTo("+absolutePosition+")=
");=0A=
=0A=
  //timeout for 1 second and then scroll=0A=
  =
iFrameTimer=3DsetTimeout("startIframeScroll('"+iFrameName+"',"+scrollingS=
peed+",'"+direction+"')",1)=0A=
=0A=
}=0A=

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgsrv.wwj.com/javascript/tran_frame.js

/*=0A=
 * Name:=0A=
 *	tran_frame.js=0A=
 *=0A=
 * Description:=0A=
 *	Javascript functions needed to use the tran frame=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	None=0A=
 *=0A=
 * Post-conditions:=0A=
 *	The following functions are created:=0A=
 *=0A=
 * Log:=0A=
 *	Shaunak Kashyap		11/13/2005=0A=
 *	- Creation=0A=
 * =0A=
 * =0A=
 * =0A=
 * =0A=
 * Name:=0A=
 *	callTran=0A=
 *=0A=
 * Description:=0A=
 *	Executes a script in the tran frame=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	scriptUrl			REQUIRED	Url of script=0A=
 *	scriptQueryString	OPTIONAL	Query string to pass to script=0A=
 *=0A=
 * Post-conditions:=0A=
 *	The script is loaded=0A=
 *=0A=
 * Log:=0A=
 *	Shaunak Kashyap		11/13/2005=0A=
 *	- Creation=0A=
 *  Atif Malik			12/23/2006=0A=
 *  - Changed by Atif Malik to allow click with iframes=0A=
 */=0A=
=0A=
function callTran(scriptUrl, scriptQueryString) {=0A=
	=0A=
	//=0A=
	// Load url in tran frame=0A=
	//=0A=
	=0A=
	//window.top.tranFrame.location =3D "/tran_frame/" + scriptUrl + "?" + =
scriptQueryString;=0A=
	document.getElementById("tranFrame").src =3D "/tran_frame/" + scriptUrl =
+ "?" + scriptQueryString;=0A=
=0A=
	=0A=
} // END function - callTran=0A=

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgsrv.wwj.com/javascript/html_element_search.js

/* =0A=
* Name:=0A=
*	html_element_search.js=0A=
*=0A=
* Description:=0A=
*	Library of genericized JavaScript functions for general-purpose work.=0A=
*=0A=
* Pre-conditions:=0A=
*	None=0A=
*=0A=
* Post-conditions:=0A=
*	Defines the following functions:=0A=
*		isIntertechIframe				Is the given document object the src of an =
Intertech iframe?=0A=
*		getAllFrames					Return an array of all frames and iframes from a =
point in the frame hierarchy.=0A=
*		getRelatedElements				Get an HTML element array where IDs or classes =
match a regex. Can search all (i)frames.=0A=
*=0A=
* Log:=0A=
*	Randall Betta		08/23/2006=0A=
*		- Creation=0A=
*	Randall Betta		10/10/2006=0A=
*		- Fixed a bug in getRelatedElements() that prevented searches =
confined to one frame from working.=0A=
*=0A=
*/=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	isIntertechIframe=0A=
*=0A=
* Description:=0A=
*	Returns true if the given document comprises the contents of an iframe =
built using Intertech=0A=
*	functions.=0A=
*	=0A=
* Pre-conditions:=0A=
*	docObject		REQUIRED	The HTML DOM "document" object to test.=0A=
*=0A=
* Post-conditions:=0A=
*	A boolean value: true if the given document comprises the contents of =
an Intertech iframe.=0A=
*=0A=
* Log:=0A=
*	Randall Betta		08/23/2006=0A=
*		- Creation=0A=
*=0A=
*/=0A=
function isIntertechIframe(docObj) {=0A=
	var docUrl;=0A=
	var iframeRegex;=0A=
	=0A=
	// Obtain the URL of the current document.=0A=
	docUrl =3D docObj.URL;=0A=
	=0A=
	// Define a regex which will determine if the current page resides in =
the cached iframe directory.=0A=
	// This regex will work even if multiple question marks appear in the =
query string.=0A=
	iframeRegex =3D '([^?])*[/]pages[/]iframe[/]([0-9])+[.]php([?](.)*)*$';=0A=
	=0A=
	// Decide if this page is an iframe cache file.=0A=
	return docUrl.match(iframeRegex);=0A=
=0A=
} // End function: isIntertechIframe=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	getAllFrames=0A=
*=0A=
* Description:=0A=
*	Returns an array of window elements of all (grand)child iframe and =
frame HTML elements =0A=
*	in the given window, including itself. This function is recursive. =
Note that a window is =0A=
*	the same as an (i)frame in JavaScript.=0A=
*	=0A=
* Pre-conditions:=0A=
*	windowObj		REQUIRED	The topmost window object to include in the array.=0A=
*=0A=
* Post-conditions:=0A=
*	An array of references to HTML (i)frame tags that exist inside the =
given window.=0A=
*=0A=
* Log:=0A=
*	Randall Betta		08/24/2006=0A=
*		- Creation=0A=
*=0A=
*/=0A=
function getAllFrames(windowObj) {=0A=
=0A=
	var windowFrames;			// All frames in the current window object.=0A=
	var allWindows;				// An array of all framed window objects to return.=0A=
	var childFrames;			// All descendant (i)frames.=0A=
	var currentWindow;			// A temporary variable for storing an (i)frame's =
window object.=0A=
	var frameIndex;				// Counter variable.=0A=
	var childIndex;				// Counter variable.=0A=
=0A=
	// Initialize the array that will store the windows of (i)frames.=0A=
	allWindows =3D new Array();=0A=
=0A=
	// Determine if this document has any frames. If not, return an empty =
array.=0A=
	if ((windowObj.frames) ? windowObj.frames.length > 0 : false) { // If: =
this window has frames.=0A=
		// Obtain all iframe elements in this window using the javascript =
frames array. Note that =0A=
		// this will include ordinary frames too, though this is not relevant =
for our purposes.=0A=
		windowFrames =3D windowObj.frames;=0A=
=0A=
		// Iterate through (i)frames in this window.=0A=
		for (frameIndex =3D 0; frameIndex < windowFrames.length; frameIndex++) =
{ // For: iterate through frames.=0A=
		=0A=
			// Store the current iframe's window object in this iteration.=0A=
			currentWindow =3D windowFrames[frameIndex];=0A=
			=0A=
			// Obtain an array of all descendant (i)frames inside the child =
(i)frame, plus itself.=0A=
			allWindows =3D allWindows.concat(getAllFrames(currentWindow));	=0A=
=0A=
		} // End for: iterate through (i)frames.=0A=
		=0A=
	} // End if: this window contains (i)frames.=0A=
	=0A=
	// Store this window itself in the returned array of window objects.=0A=
	allWindows[allWindows.length] =3D windowObj;=0A=
	=0A=
	return allWindows;=0A=
	=0A=
} // End function: getAllFrames=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	getRelatedElements=0A=
*=0A=
* Description:=0A=
*	Returns an array of all HTML elements of the same type whose class or =
id property matches=0A=
*	a given regex. This function will optionally search the entire iframe =
hierarchy up and down, =0A=
*	including any pages not generated by Intertech functions.=0A=
*	=0A=
* Pre-conditions:=0A=
*	htmlElement		REQUIRED	Case-sensitive string of what kinds of HTML =
elements to search (e.g. "div").=0A=
*	pattern			REQUIRED	The regex to use to decide whether to return an =
element.=0A=
*	useId			REQUIRED	Boolean: if true, match the HTML id against the =
regex. If false, use class.=0A=
*	searchAllFrames	REQUIRED	Boolean: if true, traverse all (i)frames.=0A=
*=0A=
* Post-conditions:=0A=
*	An array of references to HTML tags whose id or class properties match =
the regex is returned.=0A=
*=0A=
* Log:=0A=
*	Randall Betta		08/23/2006=0A=
*		- Creation=0A=
*	Randall Betta		10/10/2006=0A=
*		- Fixed a bug that prevented searches confined to only one frame from =
working.=0A=
*=0A=
*/=0A=
function getRelatedElements(htmlElement, pattern, useId, =
searchAllFrames) { =0A=
=0A=
	var docObj;				// A temporary variable: HTML DOM "document" object.=0A=
	var winIndex;			// A counter for the current window.=0A=
	var htmlElts;			// An array of references to HTML elements.=0A=
	var elt;				// A temporary variable: reference to an HTML element.=0A=
	var eltIndex;			// A counter for the current elt.=0A=
	var matchingElts;		// The returned array of references to matching HTML =
elements.=0A=
	var eltText;			// The text of the HTML element property to compare =
against the pattern.=0A=
	var searchWindows;		// An array of all HTML DOM "window" objects to =
search.=0A=
	var thisDocFound;		// A boolean: used when =0A=
	=0A=
	// Initialize the matching elements array.=0A=
	matchingElts =3D new Array();=0A=
	=0A=
	// Determine whether we need to search this document or all (i)framed =
documents.=0A=
	if (searchAllFrames) { // If: search all frames.=0A=
		// Obtain references to all frames.=0A=
		searchWindows =3D getAllFrames(top);		=0A=
	}=0A=
	else { // Else: search only this document.=0A=
		searchWindows =3D new Array();=0A=
		searchWindows[0] =3D window;=0A=
	} // End else: search only this document,=0A=
	=0A=
	=0A=
	// Iterate through all documents to be searched.=0A=
	for (winIndex =3D 0; winIndex < searchWindows.length; winIndex++) { // =
For: iterate through windows to search in.=0A=
		try {=0A=
			// Store a reference to the current document object.=0A=
			docObj =3D searchWindows[winIndex].document;=0A=
			// Obtain an array of all HTML elements of the desired type in the =
current document object.=0A=
			htmlElts =3D docObj.getElementsByTagName(htmlElement);=0A=
		}=0A=
		catch (exc) {=0A=
			// Permission will be denied to access elements on a page from a =
different domain.=0A=
			// Silently skip this document if this error occurs.=0A=
			continue;=0A=
		}=0A=
		=0A=
		// Iterate through the HTML elements.=0A=
		for (eltIndex =3D 0; eltIndex < htmlElts.length; eltIndex++) { // For: =
iterate through HTML elements.=0A=
			try {=0A=
				// Store a reference to the current HTML element.=0A=
				elt =3D htmlElts[eltIndex];=0A=
				// Determine if this element is part of the set we are looking for.=0A=
				if (useId) { // If: the match criterion is the HTML element ID =
property.=0A=
					eltText =3D (elt.id) ? elt.id.toString() : '';=0A=
				}=0A=
				else { // Else: the match criterion is the HTML element CSS class =
property.=0A=
					eltText =3D (elt.className) ? elt.className.toString() : '';=0A=
				} // End else: the match criterion is the HTML element CSS class =
property.=0A=
				=0A=
				// Test whether the class or ID property (as appropriate) matches =
the regex.=0A=
				if (eltText.match(pattern)) { // If: the property matches the regex.=0A=
					// Append this element to the array.=0A=
					matchingElts[matchingElts.length] =3D elt;=0A=
				} // End if: the property matches the regex.=0A=
			}=0A=
			catch (exc) {=0A=
				// Permission will be denied to access elements on a page from a =
different domain.=0A=
				// Silently skip this document if this error occurs.=0A=
				continue;=0A=
			}=0A=
			=0A=
		} // End for: iterate through HTML elements.=0A=
		=0A=
	} // End for: iterate through windows to search in.=0A=
	=0A=
	return matchingElts;=0A=
=0A=
} // End function: getRelatedElements=0A=

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgsrv.wwj.com/javascript/event_handler.js

/*=0A=
 * Name:=0A=
 *	event_handler.js=0A=
 *=0A=
 * Description:=0A=
 *	Defines generic, cross-browser functions for dynamically registering =
and unregistering=0A=
 *	JavaScript events on HTML DOM objects.=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	None=0A=
 *=0A=
 * Post-conditions:=0A=
 *	Defines the following functions:=0A=
 *		- registerEvent			Associate a JavaScript event with an object.=0A=
 *		- unregisterEvent		Dissociate a JavaScript event from an object.=0A=
 *		- getEventTarget		Obtain the target of an event, given its implicit =
event argument.=0A=
 *=0A=
 * Log:=0A=
 *	Randall Betta		08/25/2006=0A=
 *		- Creation=0A=
 *=0A=
 */=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
/*=0A=
 * Name:=0A=
 *	registerEvent=0A=
 *=0A=
 * Description:=0A=
 *	Attaches a JavaScript event to the given HTML DOM element. In event =
models that support=0A=
 *	both options, events are fired in the bubbling phase by this =
function, not the capturing=0A=
 *	phase. Note that, under some schemes, multiple events (even =
duplicates) may be assigned to=0A=
 *	an object, and all will fire, so be sure to unregister any unneeded =
events!=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	obj				REQUIRED	The DOM object to which the given event should be =
attached.=0A=
 *	eventName		REQUIRED	The name of the event as a string. May optionally =
include the on- prefix.=0A=
 *	handler			REQUIRED	A callback for the handler function. (NOT a =
string, NO parentheses!)=0A=
 *=0A=
 * Post-conditions:=0A=
 *	Returns true on successful event attachment, false otherwise.=0A=
 *=0A=
 * Log:=0A=
 *	Randall Betta		08/25/2006=0A=
 *		- Creation=0A=
 *=0A=
 */=0A=
function registerEvent(obj, eventName, handler) {=0A=
	=0A=
	var eventWithOn;=0A=
	var eventWithoutOn;=0A=
	=0A=
	// Define two forms of the event name: one with a leading on- prefix, =
the other without it.=0A=
	eventWithOn =3D (eventName.match(/^on/)) ? eventName : 'on' + eventName;=0A=
	eventWithoutOn =3D eventName.replace(/^on/, '');=0A=
	=0A=
	// Determine if the browser supports the Microsoft model or the W3C =
model for event attachment.=0A=
	=0A=
	if (obj.addEventListener) { // If: the W3C addEventListener method is =
defined.=0A=
		=0A=
		//=0A=
		// Use the W3C model.=0A=
		//=0A=
		=0A=
		// The event names should be lowercase without the on- prefix in =
W3C-compliant implementations.=0A=
		eventName =3D eventWithoutOn.toLowerCase();=0A=
		// Fire events during the bubbling phase; this must match the =
detachment function!=0A=
		obj.addEventListener(eventName, handler, false);=0A=
		return true;=0A=
	}=0A=
	else if (obj.attachEvent) { // Else if: the Microsoft attachEvent =
method is defined.=0A=
		=0A=
		//=0A=
		// Use the Microsoft model.=0A=
		//=0A=
		=0A=
		// The event names should be lowercase with the on- prefix in =
Microsoft's implementation.=0A=
		eventName =3D eventWithOn.toLowerCase();	=0A=
		obj.attachEvent(eventName, handler);=0A=
		return true;=0A=
	}=0A=
	else { // Else: fall back on the traditional model.=0A=
		=0A=
		//=0A=
		// Use the traditional event registration model.=0A=
		//=0A=
		=0A=
		// The event names should be lowercase with the on- prefix in the =
traditional implementation.=0A=
		eventName =3D eventWithOn.toLowerCase();=0A=
		obj[eventName] =3D handler;=0A=
		return true;=0A=
	} // End else: use the traditional model.=0A=
	=0A=
} // End function: registerEvent=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
/*=0A=
 * Name:=0A=
 *	unregisterEvent=0A=
 *=0A=
 * Description:=0A=
 *	Detaches a JavaScript event from the given HTML DOM element.=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	obj				REQUIRED	The DOM object from which to remove the given event.=0A=
 *	eventName		REQUIRED	The name of the event as a string. May optionally =
include the on- prefix.=0A=
 *	handler			REQUIRED	A callback for the handler function. (NOT a =
string, NO parentheses!)=0A=
 *=0A=
 * Post-conditions:=0A=
 *	Returns true on successful event detachment, false otherwise.=0A=
 *=0A=
 * Log:=0A=
 *	Randall Betta		08/25/2006=0A=
 *		- Creation=0A=
 *=0A=
 */=0A=
function unregisterEvent (obj, eventName, handler) {=0A=
	=0A=
	// Define two forms of the event name: one with a leading on- prefix, =
the other without it.=0A=
	eventWithOn =3D (eventName.match(/^on/)) ? eventName : 'on' + eventName;=0A=
	eventWithoutOn =3D eventName.replace(/^on/, '');=0A=
	=0A=
	// Determine if the browser supports the Microsoft model or the W3C =
model for event detachment.=0A=
	if (obj.removeEventListener) { // If: the W3C model is supported.=0A=
		=0A=
		//=0A=
		// Use the W3C event detachment model.=0A=
		//=0A=
		=0A=
		// The event names should be lowercase without the on- prefix in the =
W3C implementation.=0A=
		eventName =3D eventWithoutOn.toLowerCase();=0A=
		// The original attachment function is presumed here to have =0A=
		// specified that events fire during the bubbling phase. This must=0A=
		// match the actual value used during event attachment!=0A=
		obj.removeEventListener(eventName, handler, false);=0A=
		return true;=0A=
		=0A=
	}=0A=
	else if (obj.detachEvent) { // Else if: the Microsoft model is =
supported.=0A=
		=0A=
		//=0A=
		// Use the Microsoft event detachment model.=0A=
		//	=0A=
		=0A=
		// The event names should be lowercase with the on- prefix in the =
Microsoft implementation.=0A=
		eventName =3D eventWithOn.toLowerCase();=0A=
		obj.detachEvent(eventName, handler);=0A=
		return true;=0A=
	}=0A=
	else { // Fall back on the traditional event model.=0A=
		=0A=
		//=0A=
		// Use the traditional model.=0A=
		//=0A=
		=0A=
		// The event names should be lowercase with the on- prefix in the =
traditional implementation.=0A=
		eventName =3D eventWithOn.toLowerCase();=0A=
		obj[eventName] =3D null;=0A=
		return true;=0A=
	} // End else: use the traditional model.=0A=
	=0A=
} // End function: unregisterEvent=0A=
=0A=
/*=0A=
 * Name:=0A=
 *	getEventTarget=0A=
 *=0A=
 * Description:=0A=
 *	Every event handler should take a single argument, which will either =
be made null by IE or set=0A=
 *	to an event object by W3C-compliant browsers. Given this object, this =
function returns a reference=0A=
 *	to the target element of the event.=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	eventObj	REQUIRED	The implicit event object passed to an event =
handler (may possibly be null).=0A=
 *=0A=
 * Post-conditions:=0A=
 *	Returns a reference to the target of the event whose implicit event =
object is passed in as an argument.=0A=
 *	Returns false on failure.=0A=
 *=0A=
 * Log:=0A=
 *	Randall Betta		08/25/2006=0A=
 *		- Creation=0A=
 *=0A=
 */=0A=
function getEventTarget(eventObj) {=0A=
	=0A=
	var targetObj;=0A=
	=0A=
	//=0A=
	// Obtain a reference to the proper event-describing object.=0A=
	//=0A=
	=0A=
	// Under Internet Explorer, no implicit event object is passed to event =
handler. Instead, the=0A=
	// window.event object holds data for the last event to be raised.=0A=
	eventObj =3D (eventObj) ? eventObj : window.event;=0A=
	if (!eventObj) { // If: the event object can't be found.=0A=
		// Indicate failure.=0A=
		return false;=0A=
	} // End if: the event object can't be found.=0A=
	=0A=
	//=0A=
	// The event-describing object is known by this point. Obtain a =
reference to the DOM object that=0A=
	// was the original target of the event.=0A=
	//=0A=
	=0A=
	// W3C-compliant browsers call the event's object "target." IE calls it =
"srcElement."=0A=
	targetObj =3D (eventObj.target) ? eventObj.target : eventObj.srcElement;=0A=
	if (!targetObj) { // If: the target object can't be found.=0A=
		// Indicate failure.=0A=
		return false;=0A=
	} // End if: the target object can't be found.=0A=
	=0A=
	// Under Safari, a bug can cause events that fire on text element to =
store their target element=0A=
	// as the text node in the DOM, rather than its containing HTML node. =
Fix this.=0A=
	targetObj =3D (targetObj.nodeType =3D=3D 3) ? targetObj.parentNode : =
targetObj;=0A=
	=0A=
	return targetObj;=0A=
	=0A=
} // End function: getEventTarget
------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/javascript/play_window.js

/*=0A=
 * Name:=0A=
 *	play_window.js=0A=
 *=0A=
 * Description:=0A=
 *	Defines functions for the Play Window=0A=
 *     width default 350=0A=
 *     height default 215=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	None=0A=
 *=0A=
 * Post-conditions:=0A=
 *	Defines the following functions:=0A=
 *=0A=
 * Log:=0A=
 *	Shaunak Kashyap		11/21/2005=0A=
 *	- Creation=0A=
 *=0A=
 */=0A=
=0A=
/*=0A=
 * Name:=0A=
 *	openPlayer=0A=
 *=0A=
 * Description:=0A=
 *	Opens the play window=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	audioType	REQUIRED	Type of audio=0A=
 *	audioId		REQUIRED	Id of audio=0A=
 *	width		OPTIONAL	width of play window=0A=
 *	height		OPTIONAL	height of play=0A=
 *=0A=
 * Post-conditions:=0A=
 *	The player is opened=0A=
 *=0A=
 * Log:=0A=
 *	Shaunak Kashyap		11/21/2005=0A=
 *	- Creation=0A=
 *  Kripa Shenai        01/09/2007=0A=
 *  - Cached Queries=0A=
 */=0A=
=0A=
function openPlayer(audioType, audioId) {=0A=
	 =0A=
		width =3D "350";=0A=
	height =3D "365";=0A=
=0A=
	if(width =3D=3D "")=0A=
	{=0A=
		width =3D 350;=0A=
	}=0A=
=0A=
	if(height =3D=3D "")=0A=
	{=0A=
		height =3D 215;=0A=
	}=0A=
=0A=
	var playWindowUrl  =3D "/topic/play_window.php";=0A=
		playWindowUrl +=3D "?audioType=3D" + audioType;=0A=
		playWindowUrl +=3D "&audioId=3D" + audioId;=0A=
=0A=
	window.open(playWindowUrl, "playWindow", "width=3D"+ width + =
",height=3D"+ height+ =
",resizable=3Dno,scrollbars=3Dno,toolbar=3Dno,location=3Dno,directories=3D=
no,status=3Dno,menubar=3Dno");=0A=
=0A=
} // END function - openPlayer=0A=
=0A=
=0A=
=0A=
/*=0A=
 * Name:=0A=
 *	openPlayer=0A=
 *=0A=
 * Description:=0A=
 *	Opens the podcast subscrible window=0A=
 *=0A=
 * Pre-conditions:=0A=
 *	contentType	REQUIRED	Content Type=0A=
 *	contentId	REQUIRED	Id of Content=0A=
 *=0A=
 * Post-conditions:=0A=
 *	The podcast subscrible is opened=0A=
 *=0A=
 * Log:=0A=
 *	Li Zheng	11/29/2006=0A=
 *	- Creation=0A=
 *  - Cached Queries=0A=
 */=0A=
=0A=
function openSubscribeWindow(contentType,contentId) {=0A=
	width =3D 500;=0A=
	height =3D 500;=0A=
	var subscribleWindowUrl  =3D "/topic/podcast_subscribe.php";=0A=
		subscribleWindowUrl +=3D "?podcastContentType=3D" + contentType;=0A=
		subscribleWindowUrl +=3D "&podcastContentId=3D" + contentId;=0A=
=0A=
	window.open(subscribleWindowUrl, "subscribleWindowUrl", "width=3D"+ =
width + ",height=3D"+ height+ =
",resizable=3Dyes,scrollbars=3Dno,toolbar=3Dno,location=3Dno,directories=3D=
no,status=3Dno,menubar=3Dno");=0A=
} // END function - openPlayer
------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://imgsrv.wwj.com/javascript/load_forum.js

/*
 * Name:
 *	load_forum.js
 *
 * Description:
 *	Javascript functions for the RSS box.
 *
 * Pre-conditions:
 *	None
 *
 * Post-conditions:
 *	The following functions are created:
 *	- loadForumThread
 *
 * Log:
 *	Randall Betta		08/04/2006
 *		- Creation
 *
 */

=20
=20

/*
 * Name:
 *	loadForumThread
 *
 * Description:
 *	Loads the specified forum thread into the first ForumBox found on the =
webpage, otherwise loads
 *	the requisite forum topic page.
 *
 * Pre-conditions:
 *	forumThreadId		: REQUIRED		The forumThreadId field of the ForumThread =
record.
 *
 * Post-conditions:
 *	The specified forum is loaded. Returns true on success, or false =
otherwise.
 *
 * Log:
 *	Randall Betta		08/04/2006
 *		- Creation
 *	Randall Betta		09/14/2006
 *		- Now handles any difference in iframe levels between the invoking =
code and a target iframed forum box.
 *
 */
function loadForumThread(forumThreadId) {
	var thisWindow;
	var iFrameElts;
	var iFrame;
	var iFrameCount;
	var iFrameIndex;
	var iFrameClass;
	var iFrameSrc;
	var forumFound;
	var questionMarkPos;
	var newWinSrc;

	// Initialize loop's sentinel variable.
	forumFound =3D false;

	// Obtain a listing of all iframes in the document hierarchy.
	iFrameElts =3D getRelatedElements('iframe', '^iFrameContentsForum$', =
false, true);
	iFrameCount =3D iFrameElts.length;
=09
	// Iterate through the iframe tags returned.
	for (iFrameIndex =3D 0; iFrameIndex < iFrameCount; iFrameIndex++) { // =
For: iterate through page's iframes.
	=09
		// Obtain  reference to the current iFrame.
		try { // Try: manipulate iframes.
			iFrame =3D iFrameElts[iFrameIndex];

			// IE and W3C-compliant browsers have slightly different ideas on =
what the name of the "class" HTML property
			// should be. Missing attributes should be returned as empty strings, =
but non-compliant browsers will return
			// null instead sometimes, so ensure the class name returned is not =
null before performing comparisons on it.
			iFrameClass =3D iFrame.getAttribute('class');
			if ((iFrameClass) ? iFrameClass =3D=3D 'iFrameContentsForum' : false) =
{ // Is this a forum?
				forumFound =3D true;
			}
			else { // Else: this may be a browser that uses the "className" =
attribute rather than the "class" attribute.
				iFrameClass =3D iFrame.getAttribute('className');
				if ((iFrameClass) ? iFrameClass =3D=3D 'iFrameContentsForum' : =
false) { // Is this a forum?
					forumFound =3D true;
				}
			} // End else: this may be a browser that uses the "className" =
attribute rather than the "class" attribute.
		=09
			//
			// If execution reaches this point and the variable "forumFound" is =
true, the contents of the variable
			// "iFrame" constitute a forum box. Load the desired thread into it.
			//
		=09
			if (forumFound) { // If: an iframed Forum box was found.
					=09
				// Discover whether the forum box has a query string (i.e. has =
already had a forum to load specified
				// in its URL at least once) by finding the position of its =
beginning question mark.
				iFrameSrc =3D iFrame.src;
				questionMarkPos =3D iFrameSrc.indexOf('?');
				if (questionMarkPos >=3D 0) { // If: there is a query string.
					// Strip the query string.
					iFrameSrc =3D iFrameSrc.substring(0, questionMarkPos);
				} // End if: there is a query string.
			=09
				// Add our new query string to the iframe src property.
				iFrameSrc =3D iFrameSrc + '?forumThreadId=3D' + forumThreadId;
				//Reload the iframe.
				iFrame.src =3D iFrameSrc;
			=09
				// Indicate success.
				return true;
		=09
			} // End if: a forum box iframe was found.
		} // End try: manipulate iframes.
		catch (exc) { // Catch: a security exception occurred.
			// Cross-frame scripting security violation occurred; skip this =
frame, since we don't have
			// proper permissions to access it.
			continue;
		} // End catch: a security exception occurred.
	} // End for: iteration through page's iframes.
=09
	// If execution reaches this point, no iframed forum box was found.
	// Load the forum in its topic page, in this top-level window.
		=09
	return loadNewWindow(forumThreadId);
=09
} // End function: loadForumThread


/*
 * Name:
 *	loadNewWindow
 *
 * Description:
 *	Loads the specified forum thread into the station's Forum topic (i.e. =
specialty) page, in a
 *	new window.
 *
 * Pre-conditions:
 *	forumThreadId		: REQUIRED		The forumThreadId field of the ForumThread =
record.
 *
 * Post-conditions:
 *	The specified forum is loaded in a new window. Returns true on =
success.
 *
 * Log:
 *	Kripa Shenai		08/07/2006
 *		- Creation
 *
 */
function loadNewWindow(forumThreadId) {

	//in case forum already exists but if we have a 'dont open in forum =
box' clause use this script
=09
	var newWinSrc;
			=09
	// Define the URL for the forum topic page, specifying the desired =
forum thread.
	newWinSrc =3D '/topic/forum.php?forumThreadId=3D' + forumThreadId;
=09
	//open Topic in current top-level window.
	top.location.href =3D (newWinSrc);
	// Indicate success.
	return true;
}
------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/javascript/secret_word.js

/*
 * Name:
 *      secretword.js
 *
 * Description:
 *      Defines functions for making AJAX queries via the HTTP =
protocol's GET method.
 *
 * Pre-conditions:
 *      'q'                        : secret word entered by the user
 *      'secretWordId' : from secret_word.lib
 *
 * Post-conditions:
 * - response from the server for the GET request
 *
 * Log:
 *      Kripa Shenai            08/15/2006
 *      - Creation
 *      Kripa Shenai            03/14/2007
 *      - Added handleKeystroke
 * 		Kripa Shenai 		    05/05/2008
 *		- fixed VX-1635
 */


keyWordSelection =3D false;
displayPart =3D '';
var xmlHttp;

function showLink(str1,str2,str3,str4,displayId)
{
	displayPart =3D displayId;
        if (str1.length=3D=3D0)
        {
                var disObject =3D document.getElementById(displayPart);
               =20
                if(disObject !=3D 'undefined' && disObject)
                	disObject.innerHTML=3D""
               =20
                if(keyWordSelection =3D=3D true)
                {
                	alert("Please Select KeyWord From Drop Down")
                }
                return;
        }

        xmlHttp=3DGetXmlHttpObject()
        if (xmlHttp=3D=3Dnull)
        {
                alert ("Browser does not support HTTP Request");
                return;
        }
       =20

		var url=3D"/get_secret_word.php";
		url=3Durl+"?q=3D"+str1;
		url=3Durl+"&secretWordId=3D"+str2;
		url=3Durl+"&liteGraphicId=3D"+str3;
		url=3Durl+"&stylePrefix=3D"+str4;
	=09
		if(keyWordSelection =3D=3D true)
		{
			url=3Durl+"&keyWordSelection=3D"+keyWordSelection;
		}
	=09
		url=3Durl+"&sid=3D"+Math.random();
		xmlHttp.onreadystatechange=3DstateChangedSecretWord;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	=09
}

function stateChangedSecretWord()
{
		if (xmlHttp.readyState=3D=3D4 || xmlHttp.readyState=3D=3D"complete")
        {
        		if(keyWordSelection =3D=3D true)
        		{
        			//
        			// reset the flag again
        			//
        			keyWordSelection =3D false;
        			var tmp =3D 'returnData=3D'+ xmlHttp.responseText;
					eval(tmp);
					newWindowOption =3D returnData.openInNewWindow;
					//
					// check if open in new window is true
					//
					if(newWindowOption)
					{
						window.open(returnData.url);
					}
					else
					{
						location.href =3D returnData.url;=09
					}// end if - open in new window is true
        		=09
        		=09
        		}
        		else
        		{
        		=09
        			=
document.getElementById("txtLink").innerHTML=3DxmlHttp.responseText;
        			displayPart =3D '';
        		}
        }
}

function GetXmlHttpObject()
{
var objXMLHttp=3Dnull;

        if (window.XMLHttpRequest)
        {
                objXMLHttp=3Dnew XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {
                objXMLHttp=3Dnew ActiveXObject("Microsoft.XMLHTTP");
        }
return objXMLHttp;
}

/*
 * Name:
 *      setKeyWordParameters
 *
 * Description:
 *      function used to set the parameters for the  selction keyword =
from drop-down
 *
 * Preconditions/Input:

 *
 * Postconditions/Output:
 *      after setting the parameters it will call the showLink function.
 *
 * Stored Procedures:
 *      None
 *
 * Log:
 *  Kripa Shenai 03/14/2007
 *	Kripa Shenai 		    05/05/2008
 *		- fixed VX-1635
 */
function handleKeystroke(e)
{
    var keyPressed;

    //Browser compatibility check
    if (document.all)
    {
        //Browser used: Internet Explorer 6
        keyPressed =3D e.keyCode;
    }
    else
    {
        //Browser used: Firefox
        keyPressed =3D e.which;
    }

    //13 =3D ASCII code for Enter key //
    if (keyPressed =3D=3D 13 && (document.getElementById("secLink")))
    {
        window.location.href =3D =
document.getElementById("gotoLink").value;
    }

}
/*
 * Name:
 *      setKeyWordParameters
 *
 * Description:
 *      function used to set the parameters for the  selction keyword =
from drop-down
 *
 * Preconditions/Input:

 *
 * Postconditions/Output:
 *      after setting the parameters it will call the showLink function.
 *
 * Stored Procedures:
 *      None
 *
 * Log:
 *  Dipak A.Basantani 04/10/2008
 */
function setKeyWordParameters(graphicId,stylePrefix,selectBoxId)
{
	var selectedKeyWordObject =3D document.getElementById(selectBoxId);
	var selectedKeyWord =3D =
selectedKeyWordObject[selectedKeyWordObject.selectedIndex].text;
	var selectedKeyWordId =3D =
selectedKeyWordObject[selectedKeyWordObject.selectedIndex].value;
	//declare global variable
	keyWordSelection =3D true;
	// call showlink
	showLink(selectedKeyWord,selectedKeyWordId,graphicId,stylePrefix,'');
=09
}

------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/javascript/content_rater.js

/*
 * Name:
 *	content_rater.js
 *
 * Description:
 *	Defines functions for making AJAX queries via the HTTP protocol's GET =
method.
 *
 * Pre-conditions:
 *	'q'			   : Content Rating
 *	'contentId'    : contentId
 *  'contentTypeId : contentTypeId
 *
 * Post-conditions:
 * - Calls the upd_content_rater.php which updates/inserts
 *   content rating and displays RatingAvg
 * - Updates the hit counts, miss counts, and calculated ratings of all =
instances of a piece of content onscreen.
 *
 * Log:
 *	Kripa Shenai		08/15/2006
 *		- Creation
 *	Randall Betta		11/13/2006
 *		- Rewritten to update raw hit counts and raw miss counts.
 *		- Altered to update all instances of the content's rating values =
onscreen automagically.
 *	Randall Betta		12/01/2006
 *		- Renamed most functions and all global variables to avoid namespace =
collisions with secret_word.js.
 *
 */


var contentRatingXmlHttp;

function rate_content(rating, contentTypeId, contentId) {
	var url;
=09
	// Cast rating as a string.
	rating =3D '' + rating;
	// Ensure the rating string is a valid integer representation.
	if (rating.match(/([-])?[0-9]+/)) {
		url  =3D "/upd_content_rater.php";
		url +=3D "?q=3D" + rating;
		url +=3D "&contentTypeId=3D" + contentTypeId;
		url +=3D "&contentId=3D" + contentId;
		url +=3D "&sid=3D" + Math.random();
	=09
		contentRatingXmlHttp =3D getContentRatingXmlHttpObject(function () { =
contentRatingStateChanged(contentTypeId, contentId); })
		contentRatingXmlHttp.open("GET", url , true)
		contentRatingXmlHttp.send(null)
	} // End if: rating is a valid integer.
} // End function: rate_content.




function contentRatingStateChanged(contentTypeId, contentId) {
	var responseText;
	var propObj;
	var pairsArray;
	var pairIndex;
	var keyValueArray;
	var pairKey;
	var pairValue;
	var messageElts;
	var eltIndex;
	var messageEltId;
=09
	// Returned AJAX values.
	var hits;
	var misses;
	var rating;
	var debugMsg;
	var userMsg;
	var success;
=09
	if (contentRatingXmlHttp.readyState =3D=3D 4 || =
contentRatingXmlHttp.readyState =3D=3D "complete") { // If: the HTTP =
response is valid.
		responseText =3D contentRatingXmlHttp.responseText;
	=09
		// Initialize an object whose properties will be set via the AJAX =
response's key-value pairs.
		propObj =3D new Object();
	=09
		// Parse the AJAX response for key-value pairs. Keys and values are =
URL-encoded, in the
		// form: key=3Dvalue,key=3Dvalue,key=3Dvalue,...,key=3Dvalue
		pairsArray =3D responseText.split(',');
		for (pairIndex =3D pairsArray.length - 1; pairIndex >=3D 0; =
pairIndex--) { // For: iterate through pairs.
			keyValueArray =3D (pairsArray[pairIndex]).split('=3D');
			pairKey =3D '' + unescape(keyValueArray[0]);
			pairValue =3D '' + unescape(keyValueArray[1]);
			propObj[pairKey] =3D pairValue;
		} // End for: iterate through pairs.
	=09
		// Store known key-value pairs as local variables.
		hits		=3D propObj['hits'];
		isHit		=3D propObj['isHit'];		// Set to 1 if the content is a hit.
		misses		=3D propObj['misses'];
		rating		=3D propObj['rating'];
		success		=3D propObj['success'];	// Set to 1 if rating was successful.
		userMsg		=3D propObj['userMsg'];	// For display to the user.
		debugMsg	=3D propObj['debugMsg'];	// For AJAX debugging.
	=09
		if ('1' =3D=3D ('' + success)) { // If: Rating was successful.
			// Update the front-end displays of this content's rating.
			updateHitOrMissDisplays(contentTypeId, contentId, hits, misses, =
rating, isHit, userMsg);
		} else { // Else: the content could not be rated.
			// Display any necessary message.
			if (userMsg) { // If: a message is defined.
				displayRatingMessages(contentTypeId, contentId, userMsg);
			} // End if: a message is defined.
		} // Else: the content could not be rated.
    } // End if: the HTTP response is valid.
} // End function: contentRatingStateChanged.






/*
function rate_content(str1,str2,str3,str4)
{
 var str =3D str1;

	if (str1.length=3D=3D0)
	{
		var obj =3D document.getElementById(str4);
        if (obj) obj.innerHTML =3D '';
	}
	else {
		var url=3D"/upd_content_rater.php";
		url=3Durl+"?q=3D"+str1;
		url=3Durl+"&contentTypeId=3D"+str2;
		url=3Durl+"&contentId=3D"+str3;
		url=3Durl+"&sid=3D"+Math.random();
		var txtLink =3D "txtLink"+str4;
		contentRatingXmlHttp=3DgetContentRatingXmlHttpObject(function () { =
contentRatingStateChanged(txtLink); })
		contentRatingXmlHttp.open("GET", url , true)
		contentRatingXmlHttp.send(null)
    }

}
*/

/*
function contentRatingStateChanged(txtLink)
{
     if (contentRatingXmlHttp.readyState=3D=3D4 || =
contentRatingXmlHttp.readyState=3D=3D"complete")
     {
     var obj =3D document.getElementById(txtLink);
     if (obj) obj.innerHTML =3D contentRatingXmlHttp.responseText;
    	 document.getElementById(txtLink).innerHTML =3D =
contentRatingXmlHttp.responseText
    }

}
*/

function getContentRatingXmlHttpObject(handler)
{
	var objXmlHttp =3D null;

	if (navigator.userAgent.indexOf("Opera")>=3D0)
	{
		alert("This doesn't work in Opera")
		return
	}
	if (navigator.userAgent.indexOf("MSIE")>=3D0)
	{
		var strName=3D"Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=3D0)
		{
			strName=3D"Microsoft.XMLHTTP"
		}
		try
		{
			objXmlHttp=3Dnew ActiveXObject(strName)
			objXmlHttp.onreadystatechange=3Dhandler
			return objXmlHttp
		}
		catch(e)
		{
			alert("Error: Scripting for ActiveX might be disabled")
			return
		}
	}
	if (navigator.userAgent.indexOf("Mozilla")>=3D0)
	{
		objXmlHttp=3Dnew XMLHttpRequest()
		objXmlHttp.onload=3Dhandler
		objXmlHttp.onerror=3Dhandler
		return objXmlHttp
	}
}


/*
 * Name:
 *	updateContentRatingDisplays
 *
 * Description:
 *	Given the contentTypeId and contentId of some content, and its hit =
and miss count, update any
 *  onscreen <div> elements containing that content's hit-or-miss status =
to reflect the new numbers.
 *=09
 * Pre-conditions:
 *	The following arguments are expected:
 *		contentTypeId		REQUIRED	The numeric content type of the content.
 *		contentId			REQUIRED	The Id of the content.
 *		hits				REQUIRED	The number of positive ratings earned.
 *		misses				REQUIRED	The number of negative ratings earned.
 *		rating				REQUIRED	The overall derived (i.e. calculated) rating =
earned.
 *		isHit				REQUIRED	True if the content is a hit, false if it is a =
miss.
 *		message				REQUIRED	A message to display to the user. Can be empty.
 *	Additionally, the HTML id properties of the <div> tags holding the =
ratings must be as follows:
 *		The id must consist of a set of key-value pairs, with each key =
separated from its value
 *		by a colon (":"). The pairs are separated from each other by a =
hyphen ("-"). The pairs
 *		should be as follows:
 *		1: rating:hitOrMiss
 *		2: type:hit or type:miss or type:rating or type:message
 *		3: contentTypeId:43		(value for example only)
 *		4: contentId:23862		(value for example only)
 *		5: hash:1				(value for example only)
 *		The "hash" key is an alphanumeric suffix to allow for uniqueness, =
since HTML does not
 *		allow identical ID properties on different elements in the same =
document.
 *		Example HTML snippet for content with 34 misses:
 *		Misses: <div =
id=3D"rating:hitOrMiss-type:miss-contentTypeId:32-contentId:4376-hash:Iam=
Unique379">34</div>
 *
 * Post-conditions:
 *	Updates any onscreen displays of the given content's numeric =
hit-or-miss status.
 *
 *	Libraries:
 *		html_element_search.js
 *
 * Log:
 *	Randall Betta		11/07/2006
 *		- Creation
 *
 */
function updateHitOrMissDisplays(contentTypeId, contentId, hits, misses, =
rating, isHit, message) {
=09
	// HTML elements with nodeValues of numeric hit or miss counts, or =
rating totals.
	var hitElts;
	var missElts;
	var ratingElts;
	var hitGraphicElts;
	var missGraphicElts;
=09
	// Regexes that describe the IDs of HTML elements to change.
	var hitEltRegex =3D 'rating\:hitOrMiss\-type\:hit\-contentTypeId\:' + =
contentTypeId + '\-contentId\:' + contentId + '\-hash\:([A-Za-z0-9])*';
	var hitGraphicRegex =3D =
'rating\:hitOrMiss\-type\:hitGraphic\-contentTypeId\:' + contentTypeId + =
'\-contentId\:' + contentId + '\-hash\:([A-Za-z0-9])*';
	var missEltRegex =3D 'rating\:hitOrMiss\-type\:miss\-contentTypeId\:' + =
contentTypeId + '\-contentId\:' + contentId + '\-hash\:([A-Za-z0-9])*';
	var missGraphicRegex =3D =
'rating\:hitOrMiss\-type\:missGraphic\-contentTypeId\:' + contentTypeId =
+ '\-contentId\:' + contentId + '\-hash\:([A-Za-z0-9])*';
	var ratingEltRegex =3D =
'rating\:hitOrMiss\-type\:rating\-contentTypeId\:' + contentTypeId + =
'\-contentId\:' + contentId + '\-hash\:([A-Za-z0-9])*';

=09
	// Counters and temporary variables.
	var eltIndex;
	var elt;
=09
	// Obtain separate arrays of all <div> elements containing hit, miss,=20
	// and rating numbers, as well as messages to be displayed.
	hitElts =3D getRelatedElements('div', hitEltRegex, true, true);
	missElts =3D getRelatedElements('div', missEltRegex, true, true);
	ratingElts =3D getRelatedElements('div', ratingEltRegex, true, true);
	hitGraphicElts =3D getRelatedElements('div', hitGraphicRegex, true, =
true);
	missGraphicElts =3D getRelatedElements('div', missGraphicRegex, true, =
true);
=09
	// Update the numeric hit displays.
	for (eltIndex =3D hitElts.length - 1; eltIndex >=3D 0; eltIndex--) { // =
For: HTML hit elements.

		// Store current hit element.
		elt =3D hitElts[eltIndex];
		// Update its contents.
		try {
			if (elt.firstChild) {
				elt.firstChild.nodeValue =3D hits;
			}
			else {
				elt.appendChild(document.createTextNode(hits));
			}
		}
		catch (exc) { ; } // Silently fail on a JavaScript permissions error.

	} // End for: iteration through HTML hit elements.
=09
	// Update the numeric miss displays.
	for (eltIndex =3D missElts.length - 1; eltIndex >=3D 0; eltIndex--) { =
// For: HTML miss elements.

		// Store current miss element.
		elt =3D missElts[eltIndex];
		// Update its contents.
		try {
			if (elt.firstChild) {
				elt.firstChild.nodeValue =3D misses;
			}
			else {
				elt.appendChild(document.createTextNode(misses));
			}
		}
		catch (exc) { ; } // Silently fail on a JavaScript permissions error.

	} // End for: iteration through HTML miss elements.
=09
	// Update the numeric rating displays.
	for (eltIndex =3D ratingElts.length - 1; eltIndex >=3D 0; eltIndex--) { =
// For: HTML rating elements.

		// Store current rating element.
		elt =3D ratingElts[eltIndex];
		// Update its contents.
		try {
			if (elt.firstChild) {
				elt.firstChild.nodeValue =3D rating;
			}
			else {
				elt.appendChild(document.createTextNode(rating));
			}
		}
		catch (exc) { ; } // Silently fail on a JavaScript permissions error.

	} // End for: iteration through HTML miss elements.

	// Update the graphical hit displays.
	for (eltIndex =3D hitGraphicElts.length - 1; eltIndex >=3D 0; =
eltIndex--) { // For: hit graphic elements.

		// Store current hit graphic element.
		elt =3D hitGraphicElts[eltIndex];
		// Update its visibility.
		try {
			elt.style.display =3D (isHit =3D=3D 1) ? 'block' : 'none';
		}
		catch (exc) { ; } // Silently fail on a JavaScript permissions error.

	} // End for: iteration through hit graphic elements.
=09
	// Update the graphical miss displays.
	for (eltIndex =3D missGraphicElts.length - 1; eltIndex >=3D 0; =
eltIndex--) { // For: miss graphic elements.

		// Store current miss graphic element.
		elt =3D missGraphicElts[eltIndex];
		// Update its visibility.
		try {
			elt.style.display =3D (isHit !=3D 1) ? 'block' : 'none';
		}
		catch (exc) { ; } // Silently fail on a JavaScript permissions error.

	} // End for: iteration through miss graphic elements.
=09
	// Update the message displays.
	message =3D (message) ? message : '';
	displayRatingMessages (contentTypeId, contentId, message);
=09
	return;

} // End function: updateHitOrMissDisplays




/*
 * Name:
 *	displayRatingMessages
 *
 * Description:
 *	Displays a message to the user regarding rating a given piece of =
content.
 *=09
 * Pre-conditions:
 *	The following arguments are expected:
 *		contentTypeId		REQUIRED	The numeric content type of the content.
 *		contentId			REQUIRED	The Id of the content.
 *		message				REQUIRED	A message to display to the user. Can be empty.
 *
 * Post-conditions:
 *	Updates any onscreen displays of the given content's rating messages.
 *
 *	Libraries:
 *		html_element_search.js
 *
 * Log:
 *	Randall Betta		11/14/2006
 *		- Creation
 *
 */
function displayRatingMessages(contentTypeId, contentId, message) {
=09
	// HTML elements with text nodes to store the message.
	var messageElts;
	var messageEltId;
=09
	// Regexes that describe the IDs of HTML elements to change.
	var messageEltRegex =3D =
'rating\:hitOrMiss\-type\:message\-contentTypeId\:' + contentTypeId + =
'\-contentId\:' + contentId + '\-hash\:([A-Za-z0-9])*';
=09
	// Counters and temporary variables.
	var eltIndex;
	var elt;
=09
	// Obtain separate arrays of all <div> elements containing messages to =
be displayed.
	messageElts =3D getRelatedElements('div', messageEltRegex, true, true);

	// Update the message displays.
	message =3D (message) ? message : '';
	for (eltIndex =3D messageElts.length - 1; eltIndex >=3D 0; eltIndex--) =
{ // For: HTML message elements.

		// Store current rating element.
		elt =3D messageElts[eltIndex];
		// Update its contents.
		try {
			if (elt.firstChild) {
				elt.firstChild.nodeValue =3D message;
			}
			else {
				elt.appendChild(document.createTextNode(message));
			}
			messageEltId =3D elt.id;
			document.getElementById(messageEltId).style.display =3D 'block';
			window.setTimeout("document.getElementById('" + messageEltId + =
"').style.display =3D 'none';", 3000);
		}
		catch (exc) { ; } // Silently fail on a JavaScript permissions error.

	} // End for: iteration through HTML message elements.
	return messageElts;

} // End function: displayRatingMessages
------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/javascript/rater.js

/*
 * Name:
 *	content_rater.js
 *
 * Description:
 *	Defines functions for making AJAX queries via the HTTP protocol's GET =
method.
 *
 * Pre-conditions:
 *	'q'			   : Content Rating
 *	'contentId'    : contentId
 *  'contentTypeId : contentTypeId
 *
 * Post-conditions:
 * - Calls the upd_content_rater.php which updates/inserts
 *   content rating and displays RatingAvg
 * - Updates the hit counts, miss counts, and calculated ratings of all =
instances of a piece of content onscreen.
 *
 * Log:
 *	Kripa Shenai		09/20/2007
 *		- Creation
 *
 */


var xmlHttp
/*
* Name:
*	rate_content
*
* Description:
*	make query string for ajax request and Calls the upd_content_rater.php =
which updates/inserts
*   content rating and displays RatingAvg
*
*
* Pre-conditions:
*   rating 			- required
*   contentTypeId 	- required
*	contentId		- required
*   displayVar		- required
*	stylePrefix		- required
*	fromBox			- required
* Post-conditions:
* =20
* Log:
*  Dipak A.Basantani   09/20/2007
*/

function =
rate_content(rating,contentTypeId,contentId,displayVar,stylePrefix,fromBo=
x) {
=09
	//
	// make it global
	//
	displayId =3D displayVar;
	style =3D stylePrefix;
=09
	if (rating.length=3D=3D0)
	{
		document.getElementById(displayId).innerHTML=3D"";
		return;
	}

	xmlHttp=3DGetXmlHttpObject()
=09
	if (xmlHttp=3D=3Dnull)
	{
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url=3D"/content_rater.php";
	url=3Durl+"?q=3D"+rating;
	url=3Durl+"&contentType=3D"+contentTypeId;
	url=3Durl+"&contentId=3D"+contentId;
	url=3Durl+"&fromBox=3D"+fromBox;
	url=3Durl+"&stylePrefix=3D"+stylePrefix;
	url=3Durl+"&sid=3D"+Math.random();
	url=3Durl+"&displayDivId=3D"+displayVar;
=09
	//set if isRateaPic
	if(checkIfIsRateaPic(style)){
	=09
		////////////probably have to readjust/////////////
		//get next information
		//showNextId =3D '';
	=09
		if(document.getElementById('imageGalleryXRefIdsList')){
			xRefIds =3D document.getElementById('imageGalleryXRefIdsList').value
			///////////////
			/*
			// split into array
			imageGalleryXRefIdsArray =3D =
document.getElementById('imageGalleryXRefIdsList').value.split(',');
	=09
			for(var i=3D0; i<imageGalleryXRefIdsArray.length; i++){
				//alert('iterate' + imageGalleryXRefIdsArray[i]);
				if(imageGalleryXRefIdsArray[i] =3D=3D contentId){
				=09
					//got the current, so now get the next Id
					showNextId =3D imageGalleryXRefIdsArray[i+1];
					//alert('shownext: ' + showNextId);
					break;
				}
			}
			*/
			/////////////////
		}
	=09
		url=3Durl+"&isRateaPic=3D1";
		//url=3Durl+"&showNextId=3D"+showNextId;
		url=3Durl+"&xRefIds=3D"+xRefIds;//pass all xref id for rate a pic =
functionality and cookie purpose
	=09
	}
	else{
		url=3Durl+"&isRateaPic=3D0";
	}
=09
	xmlHttp.onreadystatechange=3DstateChangedContentRating;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} // End function: rate_content.

/*
* Name:
*	GetXmlHttpObject
*
* Description:
*	function called on each changed state of the XMLHttpRequest object
*
*
* Pre-conditions:
*  =20
*
* Post-conditions:
*  On the ready state 4 , it will get the responseText and will display =
the rating in displayVar div.
* Log:
*  Dipak A.Basantani   09/20/2007
*/
function stateChangedContentRating()
{
	if (xmlHttp.readyState=3D=3D4 || xmlHttp.readyState=3D=3D"complete")
	{
		if(checkIfIsRateaPic(style)){
		=09
			var responseText;

			var propObj;
	=09
			var pairsArray;
	=09
			var pairIndex;
	=09
			var keyValueArray;
	=09
			var pairKey;
	=09
			var pairValue;
	=09
			var messageElts;
	=09
			var eltIndex;
	=09
			var messageEltId;

=09
			responseText =3D xmlHttp.responseText;

		//alert(responseText);

		// Initialize an object whose properties will be set via the AJAX =
response's key-value pairs.

		propObj =3D new Object();


		// Parse the AJAX response for key-value pairs. Keys and values are =
URL-encoded, in the

		// form: key=3Dvalue,key=3Dvalue,key=3Dvalue,...,key=3Dvalue

		pairsArray =3D responseText.split('#');

		for (pairIndex =3D pairsArray.length - 1; pairIndex >=3D 0; =
pairIndex--) { // For: iterate through pairs.
		=09
			//first index is not pair, it is all the echos before rateapic array =
was created)		=09
			if(pairIndex =3D=3D 0){
				responseText =3D pairsArray[0];
			}
			else{
				keyValueArray =3D (pairsArray[pairIndex]).split('=3D');
=09
				pairKey =3D '' + unescape(keyValueArray[0]);
=09
				pairValue =3D '' + unescape(keyValueArray[1]);
=09
				propObj[pairKey] =3D pairValue;
			}

		} // End for: iterate through pairs.
	=09
		//
		//	IF RATEAPICREFRESH IS ENABLED, REDIRECT AND EXIT
		//
	=09
		//array contains.........
		// showAvg, responseText, thePrevImgRatingAvg, thePrevImgRatingVal, =
thePrevImgId,theNextImgId,=20
		// rateapicRefreshEnabled, refreshPageUrl
	=09
			if(parseInt(propObj['rateapicRefreshEnabled']) && =
propObj['refreshPageUrl']){
			=09
				location.href=3D propObj['refreshPageUrl'];
				//exit;//exit out from executing following code
			}//end if rateapicRefreshEnabled
		=09

		// Store known key-value pairs as local variables.
	=09
			isReadyToRateNext	=3D parseInt(propObj['isReadyToRateNext']);

		if(isReadyToRateNext){

			//gather needed update info for prev area            	=09
			thePrevImgId		=3D propObj['thePrevImgId'];
			thePrevImgPath		=3D propObj['thePrevImgPath'];
        	thePrevImgWidth		=3D parseInt(propObj['thePrevImgWidth']);
        	thePrevImgHeight	=3D parseInt(propObj['thePrevImgHeight']);
        =09
        	thePrevImgRatingAvg =3D propObj['thePrevImgRatingAvg'];
        	thePrevImgRatingVal =3D propObj['thePrevImgRatingVal'];
			showAvg				=3D parseInt(propObj['showAvg']);

			//gather needed update info for current area
			theNextImgId		=3D propObj['theNextImgId'];		=09
        	theNextImgPath		=3D propObj['theNextImgPath'];
        	theNextImgWidth		=3D parseInt(propObj['theNextImgWidth']);
        	theNextImgHeight	=3D parseInt(propObj['theNextImgHeight']);
		=09
			theNextImgDesc		=3D propObj['theNextImgDesc'];
			theNextImgCaption	=3D propObj['theNextImgCaption'];

        	//precautions for js errors
        	if(document.getElementById(style + '_currentrateapic_img')){
        		theNextImgObj =3D document.getElementById(style + =
'_currentrateapic_img');
        		theNextImgObj.src =3D theNextImgPath;
        		theNextImgObj.width =3D theNextImgWidth;
        		theNextImgObj.height =3D theNextImgHeight;

        		//desc and caption
        	=09
        		document.getElementById(style + =
'_currentrateapic_imgdesc').innerHTML =3D theNextImgDesc;
        		document.getElementById(style + =
'_currentrateapic_imgcaption').innerHTML =3D theNextImgCaption;
        		       	=09
        		//if object exists
        		if(document.getElementById(style + '_prevrateapic_img')){

        			//
        			// the previous section div
        			//
        		=09
        			thePrevDivObj =3D document.getElementById(style + =
'_prevrateapic_div');
					thePrevRateInfoSpanObj =3D document.getElementById(style + =
'_prevrateapic_rateInfo');
					theChildNodes =3D thePrevRateInfoSpanObj.childNodes;
				=09
					//
					//destroy EVERYTHING in the span
					//
				=09
       				//delete child nodes text before appending more (if exists)
	        		if(thePrevDivObj.childNodes){

	        			//while there are child, remove last child (until no =
children exist)
	        			while(theChildNodes.length){
	        				=
thePrevRateInfoSpanObj.removeChild(thePrevRateInfoSpanObj.lastChild);
	        			}//end while loop
	        		=09
					}//end (thePrevDivObj.childNodes)
	        	=09
	        	=09
        			// then update img
        			thePrevImgObj =3D document.getElementById(style + =
'_prevrateapic_img');
        			thePrevImgObj.src =3D thePrevImgPath;
	        		thePrevImgObj.width =3D thePrevImgWidth;
	        		thePrevImgObj.height =3D thePrevImgHeight;
	        	=09
	        		//make entire preview visible	        	=09
	        		thePrevDivObj.style.display =3D "inline";
	        	=09
	        		avgRating =3D '';
	        		ratingVal =3D '';

					if(showAvg){
		        		=
thePrevRateInfoSpanObj.appendChild(document.createElement("br"));	       =
 			        	=09
		        		=
thePrevRateInfoSpanObj.appendChild(document.createTextNode("Avg Rating: =
"+ thePrevImgRatingAvg));
					}
	        		=
thePrevRateInfoSpanObj.appendChild(document.createElement("br"));
	        		=
thePrevRateInfoSpanObj.appendChild(document.createTextNode("You gave: " =
+ thePrevImgRatingVal));
        		}//end if prev img obj exists
        	=09
        	}//end if current img obj exists
		}//end if(isReadytoRateNext)
        	document.getElementById(displayId).innerHTML=3DresponseText
		}//end if(checkIfIsRateaPic(style))
		else{
			document.getElementById(displayId).innerHTML=3D xmlHttp.responseText;
		}
	}
	else{
		document.getElementById(displayId).innerHTML=3D '<input type=3D"image" =
src=3D"/image/spinner.gif" border=3D"0" alt=3D"process going on" ><font =
class=3D"'+style+'Label">Loading...... Please Wait.</font>';
		return;
	}
}// end function stateChanged

/*
* Name:
*	GetXmlHttpObject
*
* Description:
*	to get the object of the XMLHttp according to the browser type
*
*
* Pre-conditions:
*  =20
*
* Post-conditions:
*  return the object of the XMLHttpRequest
* Log:
*  Dipak A.Basantani   09/20/2007
*/
function GetXmlHttpObject()
{
var objXMLHttp=3Dnull

	if (window.XMLHttpRequest)
	{
		objXMLHttp=3Dnew XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=3Dnew ActiveXObject("Microsoft.XMLHTTP")
	}
return objXMLHttp
}//end function GetXmlHttpObject

/*
* Name:
*	displayRatingFromGalleryThumbnailBox
*
* Description:
*	display rating div from the gallary thumbnail box
*
*
* Pre-conditions:
*   imageGalleryXRefId - required
*
* Post-conditions:
*
* Log:
*  Dipak A.Basantani   12/19/2007
*/
function displayRatingFromGalleryThumbnailBox(imageGalleryXRefId)
{
	var imageGalaryDivObj =3D =
document.getElementById('ratingDiv_'+imageGalleryXRefId);
	var ratingDivObj =3D =
document.getElementById(imageGalleryXRefId+'_imageGallaryChild');
	var cloneObj;
	if(imageGalaryDivObj && imageGalaryDivObj !=3D 'undefined')
	{
		//cloneObj =3D ratingDivObj.cloneNode(true);
		imageGalaryDivObj.appendChild(ratingDivObj);
		ratingDivObj.style.display =3D '';
	}=09
}//- end function displayRatingFromGalleryThumbnailBox


/*
* Name:
*	displayRatingFromContentBox
*
* Description:
*	display rating div from the imageGallary Content Box
*
*
* Pre-conditions:
*   imageGalleryXRefId - required
*
* Post-conditions:
*
* Log:
*  Dipak A.Basantani   12/19/2007
*/
function displayRatingFromContentBox(imageGalleryXRefId)
{
	var imageGalaryDivObj =3D =
document.getElementById('ratingDiv_'+imageGalleryXRefId);
	var ratingDivObj =3D =
document.getElementById(imageGalleryXRefId+'_imageGallaryChild');
	var cloneObj;
	if(ratingDivObj && ratingDivObj !=3D 'undefined')
	{
		//cloneObj =3D ratingDivObj.cloneNode(true);
		imageGalaryDivObj.appendChild(ratingDivObj);
		ratingDivObj.style.display =3D '';
	}=09
}//- end function displayRatingFromGalleryThumbnailBox

/*
* Name:
*	checkIfIsRateaPic
*
* Description:
*	notes that box type is Rate a Pic by div. only rate a pic would have =
such div
*
*
* Pre-conditions:
*	theDivPrefix - used to distinguish js variables for if a non-'rate a =
pic box' is also added
*
* Post-conditions:
*	returns true or false
*
* Log:
*  	Phuc Thieu  02/07/2008
*		- Creation
*/

function checkIfIsRateaPic(theDivPrefix){

	if(document.getElementById(theDivPrefix + "_prevrateapic_div")){
		return true;
	}
	else{
		return false;
	}
}// function checkIfIsRateaPic

/*
 * Name:
 *      reloadIFrameContent
 *
 * Description:
 *      used to change the src of the Iframe
 *
 * Pre-conditions:
 *              url : url of the iframe
 *              name : name of the iframe
 *
 * Post-conditions:
 *      will load the iframe with the exact url content , if number of \
 *  iframes are more then two then use this function
 *
 * Functions:
 *      None
 *
 * Log:
 *      Dipak A. Basantani              03/18/2003
 *              - Creation
 *
 */
function reloadIFrameContent()
{

        // to get the IFrames of the pages
        var IFrames =3D document.getElementsByTagName('iframe');

        //
        // check if Iframes presents or not.
        //
        if(IFrames.length > 0 && IFrames !=3D 'undefined')
        {
                //
                // loop through the Iframes. and reload it with .. src =
url again.
                //
                for (var i =3D 0; i < IFrames.length; i++)
                {
                        var iSource =3D IFrames[i].src;
                        IFrames[i].src =3D '';
                        IFrames[i].src =3D iSource;
                }// end for each for reloading IFrames
        }// end if checking iframe length
}// end function reloadIFrameContent

/*
 * Name:
 *	LoadIFrameWithUrlContent
 *
 * Description:
 *	 load iframe with the framname and url
 *
 * Pre-conditions:
 *	frameName : frame name
 *  url		  : url of the frame
 *
 * Post-conditions:
 *
 * Log:
 *  Dipak A.Basantani	04/15/2008
 *
 */
function LoadIFrameWithUrlContent(frameName,url)
{
	frames[frameName].window.location.href =3D url;
}// end function LoadIFrameWithUrlContent



------=_NextPart_000_0000_01C8BE54.FB9A41A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.wwj.com/javascript/nav.js

/*=0A=
* Name:=0A=
*	nav.js=0A=
*=0A=
* Description:=0A=
*	javascript file for navigation function=0A=
*=0A=
* Preconditions/Input:=0A=
*	[None]=0A=
*	=0A=
* Postconditions/Output:=0A=
*	javascript file for navigation function=0A=
*	=0A=
* Function[s]:=0A=
*	swapNavImage	=0A=
*	showElement=0A=
*	hideElement=0A=
*	hoverElement=0A=
*	initMenu=0A=
*=0A=
* Log:=0A=
*	Surendra Shukla=0A=
*	- Creation			02/25/2008=0A=
*   =0A=
*/=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	swapNavImage=0A=
*=0A=
* Description:=0A=
*	Swaps Navigation Image=0A=
*=0A=
* Preconditions/Input:=0A=
*	el			REQUIRED	Html Element Name=0A=
*	fileName	REQUIRED	File Name=0A=
*	width		REQUIRED	Width=0A=
*	height		REQUIRED	height=0A=
*=0A=
* Postconditions/Output:=0A=
*	Swaps Navigation Image=0A=
*	=0A=
* Function[s]:=0A=
*	[None]=0A=
*=0A=
* Log:=0A=
*	Surendra Shukla=0A=
*	- Creation			02/25/2008=0A=
*   =0A=
*/=0A=
function swapNavImage(el, fileName, width, height) {=0A=
	=0A=
	// If object then only=0A=
	if(el) {=0A=
		=0A=
		el.src =3D fileName;=0A=
		el.width =3D width;=0A=
		el.height =3D height;	=0A=
		=0A=
	} // If object is passed then only change =0A=
	=0A=
} // END function - swapNavEl=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	showElement=0A=
*=0A=
* Description:=0A=
*	Show Html Object (div, span, etc...)=0A=
*=0A=
* Preconditions/Input:=0A=
*	elName		REQUIRED	Html Element Name=0A=
*	=0A=
* Postconditions/Output:=0A=
*	Show Html Object (div, span, etc...)=0A=
*	=0A=
* Function[s]:=0A=
*	getElement=0A=
*=0A=
* Log:=0A=
*	Surendra Shukla=0A=
*	- Creation			02/25/2008=0A=
*   =0A=
*/=0A=
function showElement(elName) {=0A=
	=0A=
	// If element name is passed then only block it=0A=
	if(getElement(elName)) {=0A=
		=0A=
		getElement(elName).style.display =3D 'block';=0A=
		=0A=
	} // END IF - elName checking=0A=
	=0A=
} // End function showElement=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	hideElement=0A=
*=0A=
* Description:=0A=
*	Hide Html Object (div, span, etc...)=0A=
*=0A=
* Preconditions/Input:=0A=
*	elName		REQUIRED	Html Element Name=0A=
*	=0A=
* Postconditions/Output:=0A=
*	Hide Html Object (div, span, etc...)=0A=
*	=0A=
* Function[s]:=0A=
*	getElement=0A=
*=0A=
* Log:=0A=
*	Surendra Shukla=0A=
*	- Creation			02/25/2008=0A=
*   =0A=
*/=0A=
function hideElement(elName) {=0A=
	=0A=
	// If element name is passed then only block it=0A=
	if(getElement(elName)) {=0A=
		=0A=
		getElement(elName).style.display =3D 'none';=0A=
		=0A=
	}  // END IF - elName checking=0A=
	=0A=
} // End function - hideElement=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	hoverElement=0A=
*=0A=
* Description:=0A=
*	Function is applied to all list items as a mouseover/out from a single =
call to the initMenu function,=0A=
*	to eliminate confusion in  html page...=0A=
*=0A=
* Preconditions/Input:=0A=
*=0A=
* Postconditions/Output:=0A=
*	Code below is used for navigation with ul and li=0A=
*=0A=
* Function[s]:=0A=
*	None=0A=
*=0A=
* Log:=0A=
*	Surendra Shukla=0A=
*	- Creation			02/25/2008=0A=
*   =0A=
*/=0A=
function hoverElement(current,stat) {=0A=
	=0A=
	// If you want to use alternate css names for menu states, just change  =
them here.=0A=
	var hidemenu 	=3D "hide-menu" ;=0A=
	var activemenu	=3D 'active-menu' ;=0A=
	var hovermenu	=3D 'hover-menu' ;=0A=
=0A=
	// Find the root menu id from the passed mouseover...=0A=
	menus =3D =
document.getElementById(current).parentNode.getElementsByTagName('UL');=0A=
=0A=
	// This is the nested UL id by a string=0A=
	itemname =3D current +'-';=0A=
	=0A=
	// =0A=
	// Hide all menus to set even playing field=0A=
	//=0A=
	for (var i=3D0; i< menus.length; i++){=0A=
		=0A=
		menus[i].setAttribute('class',hidemenu);=0A=
		menus[i].setAttribute('className',hidemenu);=0A=
		=0A=
	} // END FOR - Looping through LIs=0A=
	 =0A=
	//=0A=
	//	Find default or active current menu item and display it based on =
state...=0A=
	//=0A=
	for (var i=3D0; i< menus.length; i++){=0A=
		=0A=
		// If its current menu=0A=
		if (menus[i].id =3D=3D itemname) {=0A=
			=0A=
			// If stat =3D=3D default then active menu...=0A=
			if (stat =3D=3D 'default') {=0A=
				=0A=
				menus[i].setAttribute('class',activemenu);=0A=
				menus[i].setAttribute('className',activemenu);=0A=
				=0A=
			} else {=0A=
=0A=
				// Hover menu and Submenus=0A=
				if (stat =3D=3D'show') {=0A=
					=0A=
					menus[i].setAttribute('class',hovermenu);=0A=
					menus[i].setAttribute('className',hovermenu);=0A=
					menus[i].style.overflow=3D"visible";=0A=
					=0A=
				// If stat =3D=3D hide then hide the durn menu...=0A=
				} else {=0A=
					=0A=
					menus[i].setAttribute('class',hidemenu);=0A=
					menus[i].setAttribute('className',hidemenu);=0A=
					=0A=
				} // END IF - stat checking for show=0A=
				=0A=
			} // END IF - stat checking L default=0A=
			=0A=
		} // END IF - itemname checking=0A=
		=0A=
	} // END FOR - Looping through LIs=0A=
	=0A=
} // END FUNCTION - hoverElement=0A=
=0A=
=0A=
=0A=
/*=0A=
* Name:=0A=
*	initMenu=0A=
*=0A=
* Description:=0A=
*	Code below is used for navigation with ul and li=0A=
*	It will get all Li of UL list and make add function on mouseOver nad =
mouseOut=0A=
*=0A=
* Preconditions/Input:=0A=
*=0A=
* Postconditions/Output:=0A=
*	Code below is used for navigation with ul and li=0A=
*	It will get all Li of UL list and make add function on mouseOver nad =
mouseOut=0A=
*=0A=
* Function[s]:=0A=
*	hoverElement=0A=
*=0A=
* Log:=0A=
*	Surendra Shukla=0A=
*	- Creation			02/25/2008=0A=
*   =0A=
*/=0A=
function initMenu(menun) {=0A=
	=0A=
	// Get all LI for given menun(UL) element=0A=
	menus =3D document.getElementById(menun).getElementsByTagName("LI");=0A=
=0A=
	// =0A=
	// Loop through menus(LI List) so that we can function on mouseOver and =
mouseOut event.=0A=
	// =0A=
	for (var i=3D0; i< menus.length; i++){=0A=
		=0A=
		// Call show function on mouse over event=0A=
		document.getElementById(menus[i].id).onmouseover=3Dfunction(){=0A=
			=0A=
			// Call hoverElement function =0A=
			hoverElement(this.getAttribute("id"),'show');=0A=
			=0A=
		} // END FUNCTION - show function on mouse over=0A=
		=0A=
		=0A=
		// Call show function on mouse out event=0A=
		document.getElementById(menus[i].id).onmouseout=3Dfunction(){=0A=
			=0A=
			// Call hoverElement function =0A=
			hoverElement(this.getAttribute("id"),'hide');=0A=
			=0A=
		} // END FUNCTION - show function on mouse out=0A=
			=0A=
	} // END FOR - Looping through LI List=0A=
	=0A=
}// end initMenu function
------=_NextPart_000_0000_01C8BE54.FB9A41A0--

