From: <Saved by Windows Internet Explorer 7>
Subject: PC World - Download This: Simplify Routine Tasks
Date: Mon, 26 Feb 2007 20:57:32 -0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01C759E8.BC35DDC0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/images/header/logo_hd.jpg

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
7xpFptfqz4hdrRbKisKEIxuUjC1YUJCEJxKaJklICUicgkACQEZz/eU5N/8A2W5Af7Y8hf8AmPWf
/ia/+9VPrF9+Ev5EaSf7is/+pU3+RjAOcz5seWRjdHmastPLrFxYwcXcnWRrc4tcZBmdOXp4WOsK
syeWZRJ3rxZYW6apURVVOYS9RjCOBV+vKqhNUaio9oSkpCsa5gHeAZzAPCNxhWa0k03Zs7thbtFs
FpedS6toUjAbU4gEIWpHNYVKSCQlRBIBIBEzGWe8huR0k1WYyXIrO0gycAUrhm9y3fXTVcpDlUKV
ZuvYDpKAVQgGABAdhAB+zWZWZb8oYVVVSR/GL78JrOh2lDDgdasdpS4NxFHTAjtENThJFzrvXziU
kXTqTlHinfO5KSdLPXzpXpAveuHTlVRdZTpKAdRjCOwBpIqKmqqlFb6lqUd5O0/SYkK0WCx2JlLF
rYaZZR4qUJCUjtJSkAdwR++8N5v0/ra1ebPL2dyF/wBo+92fRB3hvN+n9bRzZ5ezuQe0fe+3vQd4
bzfp/W0c2eXs7kHtH3vt70ZKb7zuqn07bfLHEW3+y2n6V7tg+JPT344jzIWP/g63S3ezJ/LGE9L5
tJvR9k4d3SQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82j
o+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+yc
HSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQe
l82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSQel82jo+ycHSR//9k=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/images/header/logo_hd_print.jpg

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

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/images/common/icon_mag.gif

R0lGODlhDAALAPcAAFwVFloXFl0VFbOAgFkXGNrBwVgXGHs1NYcwL1wVFeXW1tKwsJdYWM6yssKm
ps+xsbZ/f7KJieXX11kYGNfCwsWbm+PR0ZVERMOpqdC8vFoWFq6Dg+XR0YovL+DQ0JpWVrSIiGYf
H4MyMloWF3IrK9G7u3s0NV0VFmETFNvKypxubrGIiJNFRc25uWopKWYrK2gqK8SoqN/Pz5NERLOO
jW0xMF8UFMitrd7Q0F4UFH00NOfW1c64uKR5ebaHh5NZWWUgIGgeHmwxMm4sLOfV1mETE7OIiIYw
L+fW1oQxMbeHh1oXF1gYF4kvL340NIIyMt/Q0IAzM+bW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAMAAsA
AAhnAAEAgLCAwwIIAhMCqIAECZEdSCooHCClgJIPSgpIGZDwgRQlCX1IeZDQghQGCRlIsZCwgQIQ
CY0oaJBwgwQKEX5EoCBhhUIaHqAIhSLjhkIAKhykcNCjBJQYR4/ywIEhqsIWGQAEBAA7

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/shared/graphics/magcovers/magcover2.gif

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
BGqKAIbtrmAtCIEAADs=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/images/common/icon_mypages_unsaved_static.gif

R0lGODlhDAAJAPcmANy+vu3t7bGSkp+AgM7OzsOlpaCgoKiKisusrLe3t9fX19e5uefn58+vr9XV
1cfHx+Lh4cmqqrmamsLCwtzb276fn8HBwdO0tLqbm7qbnMOkpaysrM3NzqytrMLCw8OkpM3Nzays
rZAAAI4AAB8AAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACYALAAAAAAMAAkA
AAhOAE0IFPivYMGBCP8FWBjg38ARI0z8Y6CgIgOHJiCasAABBAcCEP5BHDmCgocJEyiIJDnCQYKX
DjBqtECgQ4gNBGRG/PfAgM8HGAcaHBoQADs=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/shared/graphics/colauthor/Laura_Blackwell.png

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

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/reviews/graphics/128044-password_a.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAfQCjAwERAAIRAQMRAf/EAMAAAAIDAQEBAQAAAAAAAAAA
AAAGAQQFAwIHCAEBAQEBAAMBAAAAAAAAAAAAAAEEAgMFBgcQAAEDAgMEAwoKBwMJCQAAAAIBAwQR
BQASBiExEwci0xRBUTIjk5QVFhc30UJSslN0dZW1VmFxgaEzJFdDcwiRscHSg2S0NiejszRENUWF
xUcRAAIAAwIMBAUCBAcAAAAAAAABEQIDIVIxQWFxgZGhwRITMxTwUdHhsSJiggRyBTJCIyTxkkNj
g8MW/9oADAMBAAIRAxEAPwD6ixY7tqXmBrCGWprzaodneghDj26SDbdJEIHDqJtufHSqUpvXGJSu
aeb5mev5bnqTLimshjzmynKuZT/nrU37ZjHUY8nbu9NrPJ2v1zaw9lc389am88Y6jE7d3ptY7T65
tbD2VzPz1qbzxjqMO3d6bWO0+ubWHsrm/nrU3njHUYdu702sdo782th7K5n561N54x1GHbu9NrJ2
n1za2Hsrm/nrU3njPUYdu702sdo782th7K5v561N54z1GL27vTax2n1za2Hsrm/nrU3njHUYnbu9
NrL2jvza2Hsrm/nrU3njHUYdu702sdo782th7K5v561N54x1GL27vTax2jvza2Hsrm/nrU3njHUY
nbu9NrHaO/NrYeyub+etTeeMdRh27vTax2jvza2HsrmfnrU3njHUYdu702sdp9c2th7K5v561N54
x1GL27vTax2jvza2Hsrm/nrU3njHUYnbu9NrJ2jvza2HsrmfnrU3njHUYdu702sdp9c2th7K5v56
1N54x1GHbu9NrL2jvza2Hsrm/nrU3njHUYvbu9NrJ2v1za2ZcK13XT3NCyWhdRXW7wrhb50h9m5P
i6KGyrQgoiANpszLvrjiWVyzpcTwHMsk0lVLimdnmfUMbDeImikT2k8xPrNs/wCAHGaj1J9Bio9W
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

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/reviews/graphics/128044-objectDock_a.jpg

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
w1ynTj0/uX2f83/k9nu/0NOup//Z

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/resource/graphics/subform/embedded_bonusissues_2.gif

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
eI3YmI3auI1VEAQAOw==

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/images/common/icon_xml.gif

R0lGODlhHwAOAOYAAMWgfPLo3vfz7+FxDONzDeFyDdltDOV1D+JzD+R1EN5yD9pvD9pwD9dtD9Zu
D89qDslnDr1hDbxgDbtgDblfDbBbDK1ZDKRVC6FTC51RC5BKCoFCCeJ0EOF0EOBzEN5yEN1xENVt
D9NsD9BqD85pD8xpD8dmDsZlDsRlDsJkDsFjDr9iDrdeDadWDJlPC41ICopHCtZvE+d5FeR3FeV8
Hd13HN56IOZ/IpBSGtJ8LrlwLOaPQNuJP9GFPrt5PbF0POiYUMSFTb+DTa97S6t5S6h3S+yrcLuK
XLiIXO20gOmxf+Wwf8GVbdaofe+9j+q6j66La9exjuzEn928ntC1nfXZv9/FrvTYv/TZv/LYv/DW
v+/Wv9jCrerTvtO/reTQvvfiz+3dzuPYzvTp3+/m3uHOvvfq3/z17/r07/jz73syAUYdAXUwAj8a
AT0ZASEOAYY5BuR3LvaST/+aV/+cWf+hYv/m1Z9BA30zAv+YVf3Cm//IpP/Jpv/KqP///wAAACwA
AAAAHwAOAAAH/4B2fXuEhYaHiId8enF1NzSQkZKTlJQ1cHkJAwWcnZ6foJ4EBmpzMwhGWFIhH6lP
IVVZSw4fQLE8DE5XuB4cCQt4pgg2Zn5NOWdpOit+fgEssM1CJll+QSYgvsDCHz1+aWF+TBkqzeLe
zUQUWn5DFAzawacdC03NXBoVIc1iZFNjZfwUYcGOCAt4v+Qh4OBhSTMvLkx4aAalGYCABgsejCeM
w44zaMj4OQJhop8NaQTg+OInY8uNCTuC8YOkiB8BOvb5geHjR4YuL9lRabJECYMGCpP4saKhRRQ/
XyI0eyHhBIotQc01m1ACDx0ZBxSguGDhwYMKGCiMvfCgQ4cQFTouoDjrwkWGDBW6yokhYsSJCClI
PEAB2MSKFSVEiCCRYgWEEikoSKag4gSbO2vctNnMubPnz57dvAkEADs=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pcworld.com/resource/graphics/subform/embedded_button_yellow.gif

R0lGODlhiQAYAOYAAAAAAP/////YAP/ZAP/qd8i6bP/TAP/UAP/VAP/WAPbLAPbOAPXKAPXLAPXN
APXOAOnAAOi/AOjAAOjCAOjDANu1ANu2ANu3ANq1ANq2AM6qAM2pAM2rAMyrAL+fAL+gALGSALGT
ALCTAKOIAKKFAKKHAKKIAJV7AJR6AJR7AI52AI11AI12AIVuAIRtAIRuAHVgAHVhAHRgAGRTAFJE
AEA1AD80AP/aHP/bHU1CDU5DDv/dM//fSv/gSv/gS860PeTLUv/kXv/lX5qLQnBmN+PSfP/tlf/t
lv/ulvXIAOm+AOi9AOi+ANuzAM2nAM2oALuYALuZALqYALGPALGQALGRAJV4AJR3AJR4AJR5AIVt
AIRrAIRsAHVfAHRfAGRQAGRRAGRSAFNDAFNEAFJCAFJDAEAzAEA0AD8zAE5CDU5CDnBlN1NCAFJB
AD8xACsiAPrddiwiACshABQPABMOABQOAG5IRm1IRlE0M21HRnxSUG5IR1I0NHxSUf///wAAACH5
BAEAAH4ALAAAAACJABgAAAf/gH6Cg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ySend3e3l5ond2
onuno6Siq6SmoaN7qairs7epeap5oKqztqysoqe3vL+6rcizdsbBqLB3pH2ZfXZFRthIR9hG29vd
4EfeR9rdSNzl3OLk2uvrRkjx3eLZ3+r05+Xn+N7w4Pv05p2rh42ckSIF8ljS00ebkB49eETkQbGH
D4gWI17k4UPiRogcKXoESZKjj5MWJVJEKdJjx5QnWXb0qNIkyo4nTa6M+TLkSx9A9lTKY4TAjgEH
DCg1kFRpUwQJokqNigDBgaZOrx6gChVrUqxQp4qNurSs2aVYl1JNwPSs06VQ/98mELDkB6U+RYLg
KLtkwwYOHBYIYLBhgIABHBwIoAAYsIWoHDY4cdIkqoXGDwRo3uyAA2cOmTN41nxhtICpfhskqLrE
yRMnEqRiAKx4c+MOFaBW8LuhtgAEbw0sgWJn0h44Pdg6xQKgOQAOAzQASGH4+YAUzgHQgJq9TdQx
zulANzwAMQARmrF7/vBcwAQAJTZHjSCn+ZzcCZg7JxFVjPMZm2UnBlRkODfHaGxhNdwQk+Thw15l
YVEGApsNsEFzFwhg3QQcxGADBxmsBsAGcCVQxgnunUGDYZqZV4MADtBhnQAzxCHAGDYcptlqXtSx
gQRooBHVFWwYkIQXAERFBv8KFIwAgAmaAdDBjlCJgUICENRAw45mKREFg5LcwQOEbWFRRxkvbHbh
GC+2p9kJY+yYAABmsNGEAVDRkAKMWraoGQfNcSBCoJpNUIcMAGSo42p0aBEVCADEhgUZTHUBAIEo
3lhGlCpaENaSCShwRpynfaXUcGsY92BbSmExhxgt6CjdBHOotxkKZZQXFZ1t3BkVDeF9UKF5MNQY
hpsClACAC+QdJuKVCVy4AQL6NYcCgSgcNsaWGtowxgVUlWGgsKehdQCqqkLY1BVizKUmAAI4iWwK
m/42pwZt/RoDB29syeKfAGQAwBweIAuoaYZVZQYZUaGQZH5uPPFFHaolYKX/AAvQIUOUCPbnxQb9
ypfWElIQ0WAPN5hqABZxoJACCp5dqBl40L1Z765dYGEFFlGVkW0I7f0LqABltHCwjgeTlzACkIph
aRZRYdGGcABASwYNYdBRxwRRwvCy1VdC6tkACbY1nMmS7LGDAKweQAUZYtBAQwgCYCDGYROMYcFm
IsRKdgJjkNEGG2xU1QLdNO7J4gAZbOnBBBeMkcFmFtCQ4b9SkSAGqFFNscVVKIARlRZyp0BBi9uO
EfhqXFQR1QzZ/mbWEiqkKkkfsqPV9lVmfSVWXHiSJdVmzkZFPFVMSVXWasyv1XxZW0EVVljEnzaW
8sHxxQIfk/TxwxJL6B5c7FqstkX++asBn3xVykHv1lmmqiy+uVIB97655dOuQyV7QCEFFOALoAAH
uAQlEBB8TAigAZfABAMukIEIPCD4DJhABwowgQTEYAQhqEAIWlCDF3ygEigIBRboAA+WsMMKVMBC
/0HBhTB8oQz/9z8ZxtCGNqThC6VQwxdGYYY4DGIPgXjDIQZxh0ckov90cMJM4GENRMgBE3OQAzVI
kYk6qOIVsaiGNKRBilek4hSzqMUsYjGMY7QiFtOARTNWcYxsZCIb4/jFMZ5RjmbUgRrM6MUxShGF
nQikIAdJyEIa8pCITKQiF8nIRjqyEoEAADs=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.pcworld.com/style/main.css

BODY {
	FONT-SIZE: 11px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_page.jpg) #191919 =
repeat-x left top; MARGIN: 0px; COLOR: #000000; LINE-HEIGHT: 14px; =
FONT-FAMILY: arial, verdana, helvetica, sans-serif; TEXT-ALIGN: center
}
BODY.popup {
	FONT-SIZE: 11px; BACKGROUND: #ffffff; MARGIN: 0px; COLOR: #000000; =
LINE-HEIGHT: 14px; FONT-FAMILY: arial, verdana, helvetica, sans-serif; =
TEXT-ALIGN: left
}
INPUT {
	FONT-SIZE: 11px; LINE-HEIGHT: 14px; FONT-FAMILY: arial, verdana, =
helvetica, sans-serif
}
SELECT {
	FONT-SIZE: 11px; LINE-HEIGHT: 14px; FONT-FAMILY: arial, verdana, =
helvetica, sans-serif
}
TEXTAREA {
	FONT-SIZE: 11px; LINE-HEIGHT: 14px; FONT-FAMILY: arial, verdana, =
helvetica, sans-serif
}
A {
	COLOR: #990000; BACKGROUND-COLOR: transparent; TEXT-DECORATION: none
}
A:hover {
	BACKGROUND-COLOR: #edd6d7
}
TABLE {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px; border-spacing: 0px
}
FORM {
	MARGIN: 0px
}
UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 4px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: square
}
UL UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 14px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: square
}
UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 8px =
0px 6px 14px; PADDING-TOP: 0px
}
.container {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: auto; WIDTH: 996px; MARGIN-RIGHT: auto; PADDING-TOP: 0px; =
POSITION: relative; TEXT-ALIGN: left
}
.containerWide {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
100%; PADDING-TOP: 0px
}
.layoutMain {
	WIDTH: 996px
}
.areaHeader {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/header/hd_shadow.png'); =
PADDING-BOTTOM: 4px; WIDTH: 988px; PADDING-TOP: 0px; HEIGHT: 93px
}
HTML > BODY .areaHeader {
	BACKGROUND: url(http://images.pcworld.com/images/header/hd_shadow.png) =
no-repeat left top
}
.areaHeaderWide {
	WIDTH: 100%
}
.areaBanner {
	MARGIN: 0px 0px 4px
}
.areaFooter {
	MARGIN: 0px 4px
}
.areaMain {
	BORDER-RIGHT: #f0f2f3 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#f0f2f3 1px solid; PADDING-LEFT: 0px; Z-INDEX: 2; PADDING-BOTTOM: 0px; =
MARGIN: 0px 4px 8px; BORDER-LEFT: #f0f2f3 1px solid; PADDING-TOP: 4px; =
BORDER-BOTTOM: #f0f2f3 0px solid; BACKGROUND-COLOR: #e0e4e6
}
.areaMainWide {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; Z-INDEX: 2; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px 8px 8px; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px
}
.areaMainTop {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; Z-INDEX: 1; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; POSITION: relative
}
.areaMainLeft {
	PADDING-RIGHT: 0px; PADDING-LEFT: 3px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 195px; PADDING-TOP: 0px
}
.areaMainRight {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 784px; PADDING-TOP: 0px
}
.areaMainRightBtm {
	FLOAT: left; MARGIN: 4px 0px 4px 3px; WIDTH: 784px; PADDING-TOP: 12px; =
BACKGROUND-COLOR: #fcfcfd
}
.sectionCol {
	FLOAT: left
}
.sectionCol1 {
	FLOAT: left; WIDTH: 196px
}
.sectionCol2 {
	FLOAT: left; WIDTH: 392px
}
.sectionColB {
	FLOAT: left; WIDTH: 388px
}
.sectionCol3 {
	FLOAT: left; WIDTH: 588px
}
.sectionColC {
	FLOAT: left; WIDTH: 584px
}
.sectionCol4 {
	FLOAT: left; WIDTH: 784px
}
.modHd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; Z-INDEX: 1; LEFT: 11px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: =
#ffffff; PADDING-TOP: 0px; POSITION: relative; TOP: 11px
}
.mod1ColBlkTopShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_1col_blk_top_sh.gif) =
no-repeat left top; WIDTH: 196px; HEIGHT: 32px
}
.mod1ColBlkMidShadow {
	BORDER-RIGHT: #191919 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #191919 =
2px solid; WIDTH: 184px; BACKGROUND-COLOR: #fcfcfd
}
.mod1ColBlkBtmShadow {
	BORDER-TOP: #191919 2px solid; FILTER: none; MARGIN: 0px 4px; WIDTH: =
188px; HEIGHT: 6px
}
HTML > BODY .mod1ColBlkBtmShadowA {
=09
}
.mod1ColRedTopShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_1col_red_top_sh.gif) =
no-repeat left top; WIDTH: 196px; HEIGHT: 32px
}
.mod1ColRedMidShadow {
	BORDER-RIGHT: #780000 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #780000 =
2px solid; WIDTH: 184px; BACKGROUND-COLOR: #fcfcfd
}
.mod1ColRedBtmShadow {
	BORDER-TOP: #780000 2px solid; FILTER: none; MARGIN: 0px 4px; WIDTH: =
188px; HEIGHT: 6px
}
.mod2ColBlkTopShadow {
	PADDING-RIGHT: 0px; BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_2col_blk_top_sh.gif) =
no-repeat left top; MARGIN-LEFT: 0px; WIDTH: 392px; HEIGHT: 32px
}
.mod2ColBlkMidShadow {
	BORDER-RIGHT: #191919 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #191919 =
2px solid; WIDTH: 380px; BACKGROUND-COLOR: #fcfcfd
}
.mod2ColBlkMidShadow_bright {
	BORDER-RIGHT: #191919 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #191919 =
2px solid; WIDTH: 380px; BACKGROUND-COLOR: #fcfcfd
}
.mod2ColBlkBtmShadow {
	BORDER-TOP: #191919 2px solid; MARGIN: 0px 4px; WIDTH: 384px; HEIGHT: =
6px
}
.mod2ColRedTopShadow {
	PADDING-RIGHT: 0px; BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_2col_red_top_sh.gif) =
no-repeat left top; MARGIN-LEFT: 0px; WIDTH: 392px; HEIGHT: 32px
}
.mod2ColRedMidShadow {
	BORDER-RIGHT: #780000 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #780000 =
2px solid; WIDTH: 380px; BACKGROUND-COLOR: #fcfcfd
}
.mod2ColRedBtmShadow {
	BORDER-TOP: #780000 2px solid; MARGIN: 0px 4px; WIDTH: 384px; HEIGHT: =
6px
}
.mod3ColBlkTopShadow {
	PADDING-RIGHT: 0px; BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_3col_blk_top_sh.gif) =
no-repeat left top; MARGIN-LEFT: 0px; WIDTH: 588px; HEIGHT: 32px
}
.mod3ColBlkMidShadow {
	BORDER-RIGHT: #191919 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #191919 =
2px solid; WIDTH: 576px; BACKGROUND-COLOR: #fcfcfd
}
.mod3ColBlkBtmShadow {
	BORDER-TOP: #191919 2px solid; MARGIN: 0px 4px; WIDTH: 580px; HEIGHT: =
6px
}
.mod3ColRedTopShadow {
	PADDING-RIGHT: 11px; BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_3col_red_top_sh.gif) =
no-repeat left top; MARGIN-LEFT: 0px; WIDTH: 576px; HEIGHT: 32px
}
.mod3ColRedMidShadow {
	BORDER-RIGHT: #780000 2px solid; MARGIN-LEFT: 4px; BORDER-LEFT: #780000 =
2px solid; WIDTH: 576px; BACKGROUND-COLOR: #fcfcfd
}
.mod3ColRedBtmShadow {
	BORDER-TOP: #780000 2px solid; MARGIN-LEFT: 4px; WIDTH: 580px; HEIGHT: =
6px
}
.modHeight1 {
	HEIGHT: 76px
}
.modHeight2 {
	HEIGHT: 190px
}
.modHeight3 {
	HEIGHT: 304px
}
.modHeight4 {
	HEIGHT: 418px
}
.modHeight5 {
	HEIGHT: 532px
}
.modCol {
	FLOAT: left
}
.modSolidBlkTopShadow {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/mod_solid_blk_top_sh.png')=
; WIDTH: 196px; HEIGHT: 33px
}
HTML > BODY .modSolidBlkTopShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_blk_top_sh.png) =
no-repeat left top
}
.modSolidBlkMidShadow {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/mod_solid_blk_mid_sh.png')=
; WIDTH: 196px
}
HTML > BODY .modSolidBlkMidShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_blk_mid_sh.png) =
repeat-y left top
}
.modSolidBlkBtmShadow {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/mod_solid_blk_bottom_sh.pn=
g'); WIDTH: 196px; HEIGHT: 5px
}
HTML > BODY .modSolidBlkBtmShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_blk_bottom_sh.png) =
no-repeat left bottom
}
.modSolidRedTopShadow {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/mod_solid_red_top_sh.png')=
; WIDTH: 196px; HEIGHT: 33px
}
HTML > BODY .modSolidRedTopShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_red_top_sh.png) =
no-repeat left top
}
.modSolidRedMidShadow {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/mod_solid_red_mid_sh.png')=
; WIDTH: 196px
}
HTML > BODY .modSolidRedMidShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_red_mid_sh.png) =
repeat-y left top
}
.modSolidRedBtmShadow {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/mod_solid_red_bottom_sh.pn=
g'); WIDTH: 196px; HEIGHT: 5px
}
HTML > BODY .modSolidRedBtmShadow {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_red_bottom_sh.png) =
no-repeat left bottom
}
.modHeight1SolidBlk {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_blk_gradient.png) =
repeat-x left top; HEIGHT: 76px
}
.modHeight1SolidRed {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_red_gradient.png) =
repeat-x left top; HEIGHT: 76px
}
.modHeight2SolidGry {
	BACKGROUND-IMAGE: none; HEIGHT: 190px
}
.modSolidGry {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_solid_gry_gradient.png) =
repeat-x left top
}
.mod1ColContent {
	LEFT: 0px; MARGIN: 0px; POSITION: relative
}
.mod2ColContent {
	LEFT: 0px; MARGIN: 0px; POSITION: relative
}
.mod3ColContent {
	LEFT: 0px; MARGIN: 0px; POSITION: relative
}
.mod1ColContent {
	WIDTH: 184px
}
.mod2ColContent {
	WIDTH: 380px
}
.mod3ColContent {
	WIDTH: 570px
}
.mod1ColLead {
	PADDING-RIGHT: 8px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 2px; PADDING-TOP: 8px
}
.mod1ColItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
.modSolidText {
	Z-INDEX: 1; LEFT: 5px; FLOAT: left; WIDTH: 120px; COLOR: #ffffff; =
POSITION: absolute; TOP: 5px
}
.modSolidImg {
	RIGHT: 0px; FLOAT: right; BOTTOM: 0px; POSITION: absolute
}
.imgArrowLarge {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 9px; HEIGHT: 9px; BORDER-RIGHT-WIDTH: 0px
}
.modHorizDivider {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_horiz_divider.gif) =
repeat-x left bottom; WIDTH: 100%; HEIGHT: 15px
}
.modHorizDividerPartnerLt {
	FLOAT: left
}
.modHorizDividerPartnerRt {
	FLOAT: left
}
.modHorizDividerPartnerMid {
	FLOAT: left
}
.modVertDividerPartner {
	FLOAT: left
}
.modVertDividerFeatcust {
	FLOAT: left
}
.modHorizDividerPartnerLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_horiz_divider.gif) =
repeat-x; HEIGHT: 2px
}
.modHorizDividerPartnerRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_horiz_divider.gif) =
repeat-x; HEIGHT: 2px
}
.modHorizDividerFeatcustLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_horiz_divider.gif) =
repeat-x; HEIGHT: 2px
}
.modHorizDividerFeatcustRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_horiz_divider.gif) =
repeat-x; HEIGHT: 2px
}
.modHorizDividerPartnerLt {
	WIDTH: 170px
}
.modHorizDividerFeatcustLt {
	WIDTH: 170px
}
.modHorizDividerPartnerRt {
	WIDTH: 170px
}
.modHorizDividerFeatcustRt {
	WIDTH: 170px
}
.modHorizDividerPartnerMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_horiz_divider_mid.gif) =
no-repeat; WIDTH: 2px; HEIGHT: 2px
}
.modHorizDividerFeatcustLt {
	MARGIN-LEFT: 6px; POSITION: relative
}
.modHorizDividerFeatcustRt {
	MARGIN-LEFT: 6px
}
.modVertDividerPartner {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_vert_divider.gif) =
repeat-y left top; WIDTH: 2px
}
.modVertDividerFeatcust {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/mod_vert_divider.gif) =
repeat-y left top; WIDTH: 2px
}
.modVertDividerPartner {
	HEIGHT: 159px
}
.modVertDividerFeatcust {
	HEIGHT: 532px
}
.div1ColSet {
	WIDTH: 180px; POSITION: relative; TOP: 10px
}
.div1ColSetList {
	WIDTH: 180px; POSITION: relative; TOP: 10px
}
.div1ColSetList {
	TOP: 5px
}
.div1ColText {
	Z-INDEX: 1; LEFT: 5px; FLOAT: left; WIDTH: 114px; POSITION: absolute; =
TOP: 6px
}
.div1ColTextWide {
	Z-INDEX: 1; LEFT: 5px; FLOAT: left; WIDTH: 114px; POSITION: absolute; =
TOP: 6px
}
.div1ColTextWide {
	WIDTH: 166px
}
.div1ColTextLead {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 10px; PADDING-TOP: 0px
}
.div2ColTextLead {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 10px; PADDING-TOP: 0px
}
.div2ColTextLead {
	PADDING-TOP: 8px
}
.div1ColTextLeadPartner {
	PADDING-RIGHT: 0px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; PADDING-TOP: 8px; HEIGHT: 22px
}
.div1ColImg {
	RIGHT: 5px; FLOAT: right; BOTTOM: 5px; POSITION: absolute
}
.div2ColSet {
	FLOAT: left; WIDTH: 186px; POSITION: relative; TOP: 6px
}
.div2ColImg {
	FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 51px
}
.div2ColText {
	FLOAT: left; MARGIN: 0px 0px 0px 5px; WIDTH: 110px
}
.div2ColTextWide {
	MARGIN: 0px 5px; WIDTH: 370px
}
.divRoundupSet1Col {
	DISPLAY: inline; FLOAT: left; MARGIN: 5px 4px 5px 7px; WIDTH: 172px
}
.divRoundupSet2Col {
	DISPLAY: inline; FLOAT: left; MARGIN: 5px 4px 0px 6px; WIDTH: 174px
}
.divTitleRoundup {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 3px; CURSOR: pointer; =
PADDING-TOP: 3px; POSITION: relative
}
.divTitleRoundup A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; TEXT-INDENT: 15px; =
LINE-HEIGHT: 13px
}
.divTitleRoundup A.myPagesUnsaved {
	TOP: 5px
}
.divTitleRoundup A.myPagesSaved {
	TOP: 5px
}
.divATSSet2Col {
	DISPLAY: inline; FLOAT: left; MARGIN: 5px 4px 0px 6px; WIDTH: 370px
}
.divTitleATS {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 355px; CURSOR: =
pointer; PADDING-TOP: 0px; POSITION: relative
}
.divTitleATS A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; LEFT: 16px; =
TEXT-INDENT: 0px; LINE-HEIGHT: 15px; POSITION: relative
}
.divTitleATS A.myPagesUnsaved {
	TOP: 3px
}
.divTitleRoundup A.myPagesSaved {
	TOP: 3px
}
.pghd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
24px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 2px; LINE-HEIGHT: 28px; =
PADDING-TOP: 0px
}
.textLarge {
	FONT-SIZE: 13px; OVERFLOW: hidden; LINE-HEIGHT: 18px
}
.textLargeStdHt {
	FONT-SIZE: 13px
}
.textGray {
	COLOR: #959595
}
.bold {
	FONT-WEIGHT: bold
}
.unbold {
	FONT-WEIGHT: normal
}
.divTitle1Col {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 1px; WIDTH: 170px; CURSOR: =
pointer; PADDING-TOP: 1px; POSITION: relative
}
.divTitle1Col A {
	DISPLAY: block; FONT-WEIGHT: bold; TEXT-INDENT: 15px
}
.divTitle2Col {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; FLOAT: left; =
PADDING-BOTTOM: 3px; WIDTH: 259px; CURSOR: pointer; PADDING-TOP: 3px; =
POSITION: relative
}
.divTitle2Col A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 18px; WIDTH: 244px; =
TEXT-INDENT: 15px; LINE-HEIGHT: 24px
}
.divTitle2ColSm {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
3px; WIDTH: 360px; CURSOR: pointer; PADDING-TOP: 3px; POSITION: relative
}
.divTitle2ColSm A {
	DISPLAY: block; FONT-WEIGHT: bold; TEXT-INDENT: 15px
}
.divTitle2ColListMain {
	WIDTH: 265px
}
.divTitle2ColListMain A {
	WIDTH: 260px
}
.divTitle2ColListItem {
	WIDTH: 355px
}
.divTitle2ColListItem A {
	FONT-SIZE: 13px; WIDTH: 347px; LINE-HEIGHT: 18px
}
.divTitle1Col A.myPagesUnsaved {
	TOP: 3px
}
.divTitle1Col A.myPagesSaved {
	TOP: 3px
}
.divTitle2Col A.myPagesUnsaved {
	TOP: 9px
}
.divTitle2Col A.myPagesSaved {
	TOP: 9px
}
.divTitle2ColListItem A.myPagesUnsaved {
	TOP: 8px
}
.divTitle2ColListItem A.myPagesSaved {
	TOP: 8px
}
.divTitle2Col A.myPagesUnsaved {
	WIDTH: 15px
}
.divTitle2Col A.myPagesSaved {
	WIDTH: 15px
}
A.linkTitle {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
MARGIN-LEFT: -3px; PADDING-TOP: 1px
}
A.linkTitleProdList {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
MARGIN-LEFT: -3px; PADDING-TOP: 1px
}
A.linkInline {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
MARGIN-LEFT: -3px; PADDING-TOP: 1px
}
A.linkInlineBold {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
MARGIN-LEFT: -3px; PADDING-TOP: 1px
}
A.linkTitle {
	DISPLAY: inline
}
HTML > BODY A.linkTitle {
	DISPLAY: block
}
A.linkTitleProdList {
	DISPLAY: block; LEFT: -4px; WIDTH: 140px; BOTTOM: 2px; POSITION: =
relative
}
HTML > BODY A.linkTitleProdList {
	BOTTOM: 0px; POSITION: relative
}
A.linkInline {
	DISPLAY: inline; MARGIN-RIGHT: -3px
}
A.linkInlineBold {
	DISPLAY: inline; MARGIN-RIGHT: -3px
}
A.linkInlineBold {
	FONT-WEIGHT: bold
}
A.listArrowItem {
	PADDING-RIGHT: 3px; DISPLAY: inline; PADDING-LEFT: 3px; LEFT: -4px; =
PADDING-BOTTOM: 1px; MARGIN-LEFT: -3px; WIDTH: 160px; PADDING-TOP: 1px; =
POSITION: relative; TOP: -2px
}
HTML > BODY A.listArrowItem {
	DISPLAY: block; POSITION: relative; TOP: 0px
}
A.listArrowItemComp {
	WIDTH: 120px
}
A.listArrowItemSubscr {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; WIDTH: 83px; LINE-HEIGHT: 11px; PADDING-TOP: =
2px; TOP: -1px
}
UL.listArrowSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 12px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 4px
}
HTML > BODY UL.listArrowSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 11px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
UL.listArrowSetTout {
	PADDING-RIGHT: 0px; PADDING-LEFT: 18px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 4px
}
HTML > BODY UL.listArrowSetTout {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 4px
}
UL.listArrowSetProd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 27px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
HTML > BODY UL.listArrowSetProd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 25px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
UL.listArrowSetSubscr {
	PADDING-RIGHT: 0px; PADDING-LEFT: 12px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
HTML > BODY UL.listArrowSetSubscr {
	PADDING-RIGHT: 0px; PADDING-LEFT: 11px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
UL.listArrowSet LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_b.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
UL.listArrowSetTout LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_b.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
UL.listArrowSetProd LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_b.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
UL.listArrowSetSubscr LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_b.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
.listArrowItemInline {
	LEFT: -4px; BOTTOM: 2px; POSITION: relative
}
HTML > BODY .listArrowItemInline {
	BOTTOM: 0px
}
A.linkBtmRt1 {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; RIGHT: 2px; =
PADDING-BOTTOM: 3px; BOTTOM: 6px; LINE-HEIGHT: 11px; PADDING-TOP: 3px; =
POSITION: absolute
}
A.linkBtmRt1above {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; RIGHT: 2px; =
PADDING-BOTTOM: 3px; BOTTOM: 6px; LINE-HEIGHT: 11px; PADDING-TOP: 3px; =
POSITION: absolute
}
A.linkBtmRt1above {
	BOTTOM: 20px
}
A.linkBtmRtFeatcust {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FLOAT: right; =
PADDING-BOTTOM: 3px; MARGIN: 3px 0px 0px; LINE-HEIGHT: 11px; =
PADDING-TOP: 3px
}
A.linkBtmLt {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; LEFT: 15px; =
PADDING-BOTTOM: 3px; COLOR: #ffffff; BOTTOM: 6px; LINE-HEIGHT: 12px; =
PADDING-TOP: 3px; POSITION: absolute
}
A.linkBtmLt:hover {
	COLOR: #990000
}
.linkBtmLtArrow {
	LEFT: 6px; BOTTOM: 8px; POSITION: absolute
}
HTML > BODY .linkBtmLtArrow {
	BOTTOM: 10px
}
.listTopic {
	MARGIN: 0px 0px 5px
}
A.linkListTopic {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 1px; MARGIN: 0px -3px; LINE-HEIGHT: 13px; =
PADDING-TOP: 1px
}
A.btnRedOnBlack {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-SIZE: 11px; WIDTH: =
89px; COLOR: #ffffff; LINE-HEIGHT: 28px; HEIGHT: 28px; TEXT-ALIGN: =
center
}
A.btnRedOnWhite {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-SIZE: 11px; WIDTH: =
89px; COLOR: #ffffff; LINE-HEIGHT: 28px; HEIGHT: 28px; TEXT-ALIGN: =
center
}
A.btnRedOnGray {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-SIZE: 11px; WIDTH: =
89px; COLOR: #ffffff; LINE-HEIGHT: 28px; HEIGHT: 28px; TEXT-ALIGN: =
center
}
A.btnRedOnBlack {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_std_red_on_black.gif)
}
A.btnRedOnWhite {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_std_red_on_white.gif)
}
A.btnRedOnGray {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_std_red_on_gray.gif)
}
A.btnRedOnBlack:hover {
	BACKGROUND-POSITION: 0px -28px
}
A.btnRedOnWhite:hover {
	BACKGROUND-POSITION: 0px -28px
}
A.btnRedOnGray:hover {
	BACKGROUND-POSITION: 0px -28px
}
A.closeBtnBlk {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 0px; DISPLAY: inline; =
PADDING-LEFT: 20px; FLOAT: right; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_close.gif); =
PADDING-BOTTOM: 0px; MARGIN: 6px 8px 2px 0px; WIDTH: 36px; COLOR: =
#ffffff; PADDING-TOP: 3px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 20px
}
A.closeBtnBlk:hover {
	BACKGROUND-POSITION: 0px -20px; BACKGROUND-COLOR: #3c3c3c
}
A.closeBtnRed {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 0px; DISPLAY: inline; =
PADDING-LEFT: 20px; FLOAT: right; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_close.gif); =
PADDING-BOTTOM: 0px; MARGIN: 6px 8px 2px 0px; WIDTH: 36px; COLOR: =
#ffffff; PADDING-TOP: 3px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 20px
}
A.closeBtnRed:hover {
	BACKGROUND-POSITION: 0px -20px; BACKGROUND-COLOR: #8c0605
}
.dividerSolid {
	WIDTH: 100%; HEIGHT: 2px; BACKGROUND-COLOR: #707273
}
.dividerDotted {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/divider_dash.gif) repeat-x =
left top; WIDTH: 100%; HEIGHT: 1px
}
.imgHdMag {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
WIDTH: 12px; PADDING-TOP: 6px; HEIGHT: 11px; BORDER-RIGHT-WIDTH: 0px
}
.imgIconXml {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 31px; HEIGHT: 14px; BORDER-RIGHT-WIDTH: 0px
}
.imgIconIdgnet {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 53px; HEIGHT: 28px; BORDER-RIGHT-WIDTH: 0px
}
.imgListItem {
	BORDER-RIGHT: #7e7e7e 1px solid; BORDER-TOP: #7e7e7e 1px solid; =
BORDER-LEFT: #7e7e7e 1px solid; WIDTH: 72px; BORDER-BOTTOM: #7e7e7e 1px =
solid; HEIGHT: 72px
}
.imgIconArrowDn {
	WIDTH: 8px; HEIGHT: 8px
}
.imgBlogPhoto {
	WIDTH: 81px; HEIGHT: 68px
}
.imgBlogPhoto1Col {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; WIDTH: 51px; BORDER-BOTTOM: #000000 1px =
solid; HEIGHT: 51px
}
.imgBlogPhoto2Col {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; WIDTH: 92px; BORDER-BOTTOM: #000000 1px =
solid; HEIGHT: 92px
}
.imgInlineFeatcust {
	BORDER-RIGHT: #7c7c7c 1px solid; BORDER-TOP: #7c7c7c 1px solid; =
DISPLAY: block; FLOAT: left; MARGIN: 0px 8px 4px 0px; BORDER-LEFT: =
#7c7c7c 1px solid; WIDTH: 51px; BORDER-BOTTOM: #7c7c7c 1px solid; =
HEIGHT: 51px
}
.ratingLrgVertTop {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_t=
op.png'); WIDTH: 61px; HEIGHT: 2px
}
HTML > BODY .ratingLrgVertTop {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_top.=
png) no-repeat left bottom
}
.ratingLrgVertTopBrand {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_t=
op_brand.png'); WIDTH: 61px; HEIGHT: 24px
}
HTML > BODY .ratingLrgVertTopBrand {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_top_=
brand.png) no-repeat left bottom
}
.ratingLrgVertMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 4px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_m=
id.png'); PADDING-BOTTOM: 0px; WIDTH: 52px; PADDING-TOP: 0px; HEIGHT: =
45px
}
HTML > BODY .ratingLrgVertMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_mid.=
png) repeat-y left bottom
}
.ratingLrgVertBottom {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_b=
ottom.png'); WIDTH: 61px; HEIGHT: 6px
}
HTML > BODY .ratingLrgVertBottom {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_bott=
om.png) no-repeat left bottom
}
.ratingLrgHorizTop {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_=
top.png'); WIDTH: 124px; HEIGHT: 2px
}
HTML > BODY .ratingLrgHorizTop {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_top=
.png) no-repeat left bottom
}
.ratingLrgHorizTopBrand {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_=
top_brand.png'); WIDTH: 124px; HEIGHT: 28px
}
HTML > BODY .ratingLrgHorizTopBrand {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_top=
_brand.png) no-repeat left bottom
}
.ratingLrgHorizMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 4px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_=
mid.png'); PADDING-BOTTOM: 0px; WIDTH: 115px; PADDING-TOP: 0px; HEIGHT: =
28px
}
HTML > BODY .ratingLrgHorizMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_mid=
.png) repeat-y left bottom
}
.ratingLrgHorizBottom {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_=
bottom.png'); WIDTH: 124px; HEIGHT: 6px
}
HTML > BODY .ratingLrgHorizBottom {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_horiz_bot=
tom.png) no-repeat left bottom
}
.ratingSmVertMid {
	PADDING-RIGHT: 3px; PADDING-LEFT: 2px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_sm_vert_mi=
d.png'); PADDING-BOTTOM: 0px; WIDTH: 46px; PADDING-TOP: 0px; HEIGHT: =
22px
}
HTML > BODY .ratingSmVertMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_sm_vert_mid.p=
ng) repeat-y left bottom
}
.ratingSmVertBottom {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_sm_vert_bo=
ttom.png'); WIDTH: 51px; HEIGHT: 4px
}
HTML > BODY .ratingSmVertBottom {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_sm_vert_botto=
m.png) no-repeat left bottom
}
.ratingSmHorizLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_sm_horiz_l=
t.png'); FLOAT: left; WIDTH: 2px; HEIGHT: 17px
}
HTML > BODY .ratingSmHorizLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_sm_horiz_lt.p=
ng) no-repeat left bottom
}
.ratingSmHorizMid {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_sm_horiz_m=
id.png'); FLOAT: left; PADDING-BOTTOM: 4px; WIDTH: 92px; PADDING-TOP: =
0px; HEIGHT: 13px
}
HTML > BODY .ratingSmHorizMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_sm_horiz_mid.=
png) repeat-x left bottom
}
.ratingSmHorizRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_sm_horiz_r=
t.png'); FLOAT: left; WIDTH: 3px; HEIGHT: 17px
}
HTML > BODY .ratingSmHorizRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_sm_horiz_rt.p=
ng) no-repeat left bottom
}
.ratingScoreLrg {
	WIDTH: 52px; HEIGHT: 28px
}
.ratingScoreSm {
	WIDTH: 22px; HEIGHT: 13px
}
.ratingLrgVert {
	WIDTH: 52px; HEIGHT: 17px
}
.ratingLrgHoriz {
	WIDTH: 63px; HEIGHT: 28px
}
.ratingSmVert {
	WIDTH: 46px; HEIGHT: 9px
}
.ratingSmHoriz {
	WIDTH: 46px; HEIGHT: 13px
}
.ratingPCWSm {
	WIDTH: 24px; HEIGHT: 13px
}
TABLE.sortable {
	BORDER-RIGHT: #7d7d7d 1px solid; BORDER-TOP: #7d7d7d 1px solid; =
BORDER-LEFT: #7d7d7d 1px solid; BORDER-BOTTOM: #7d7d7d 1px solid; =
BORDER-COLLAPSE: collapse
}
HTML > BODY TABLE.sortable {
	BORDER-COLLAPSE: separate
}
TABLE.sortable TD {
	BORDER-RIGHT: #bdbdbe 0px solid; BORDER-TOP: #bdbdbe 0px solid; =
BORDER-LEFT: #bdbdbe 1px solid; BORDER-BOTTOM: #bdbdbe 0px solid
}
TABLE.sortable TR TD:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
TABLE.sortable TH {
	BORDER-RIGHT: #959595 0px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#959595 0px solid; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #959595 1px solid; =
PADDING-TOP: 0px; BORDER-BOTTOM: #959595 1px solid; WHITE-SPACE: nowrap; =
HEIGHT: 27px; TEXT-ALIGN: left
}
TABLE.sortable TR TH:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 0px
}
TABLE.sortable TH.sortable {
	CURSOR: pointer; COLOR: #990000
}
TABLE.sortable TH.unsortable {
	COLOR: #990000
}
TABLE.sortable TH.hover {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px -27px
}
TABLE.sortable TH.selected {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px -54px
}
#hdToolbar A {
	COLOR: #efc7c7
}
#hdSearch INPUT.field {
	BORDER-RIGHT: #9d8888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#9d8888 1px solid; PADDING-LEFT: 3px; BACKGROUND: #edd6d7; =
PADDING-BOTTOM: 0px; BORDER-LEFT: #9d8888 1px solid; WIDTH: 128px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #9d8888 1px solid; HEIGHT: 15px
}
#hdCodeOn INPUT.field {
	BORDER-RIGHT: #9d8888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#9d8888 1px solid; PADDING-LEFT: 3px; BACKGROUND: #edd6d7; =
PADDING-BOTTOM: 0px; BORDER-LEFT: #9d8888 1px solid; WIDTH: 35px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #9d8888 1px solid; HEIGHT: 15px
}
#hdSignin INPUT.field {
	BORDER-RIGHT: #9d8888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#9d8888 1px solid; PADDING-LEFT: 3px; BACKGROUND: #edd6d7; =
PADDING-BOTTOM: 0px; BORDER-LEFT: #9d8888 1px solid; WIDTH: 98px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #9d8888 1px solid; HEIGHT: 15px
}
.hdContainer {
	FLOAT: left
}
.hdDash {
	MARGIN-TOP: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/header/div_dash_hd.gif) no-repeat; =
FLOAT: left; WIDTH: 1px; HEIGHT: 26px
}
.hdToolbar {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_toolbar_mid.jpg); =
WIDTH: 988px; COLOR: #efc7c7; POSITION: relative; HEIGHT: 33px
}
.hdToolbarLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_toolbar_lt.jpg) =
no-repeat; FLOAT: left; WIDTH: 2px; HEIGHT: 33px
}
.hdToolbarRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_toolbar_rt.jpg) =
no-repeat; FLOAT: left; WIDTH: 2px; HEIGHT: 33px
}
.hdToolbarPopup {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/header/bg_hd_toolbar_popup.png');=
 PADDING-BOTTOM: 4px; WIDTH: 100%; PADDING-TOP: 0px; HEIGHT: 40px
}
HTML > BODY .hdToolbarPopup {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_toolbar_popup.png) =
repeat-x left top
}
.hdToolbarFld {
	FLOAT: left
}
.hdToolbarLbl {
	FLOAT: left
}
.hdToolbarBtn {
	FLOAT: left
}
.hdToolbarSrch {
	FLOAT: left
}
.hdToolbarBrowse {
	FLOAT: left
}
.hdToolbarCodeoff {
	FLOAT: left
}
.hdToolbarCodeon {
	FLOAT: left
}
.hdToolbarCodeoffFill {
	FLOAT: left
}
.hdToolbarCodeonFill {
	FLOAT: left
}
.hdToolbarSignin {
	FLOAT: left
}
.hdToolbarReg {
	FLOAT: left
}
.hdToolbarSigninText {
	FLOAT: right
}
.hdToolbarFld {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
HTML > BODY .hdToolbarFld {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.hdToolbarLbl {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 10px
}
.hdToolbarBtn {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.hdToolbarSrch {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; PADDING-BOTTOM: 0px; WIDTH: =
187px; PADDING-TOP: 0px; HEIGHT: 32px
}
.hdToolbarBrowse {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
108px; PADDING-TOP: 10px; HEIGHT: 21px; TEXT-ALIGN: center
}
.hdToolbarCodeoff {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; WIDTH: =
181px; PADDING-TOP: 10px; HEIGHT: 21px
}
.hdToolbarCodeon {
	PADDING-RIGHT: 0px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_toolbar_mid_h.jpg); =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 1px; WIDTH: 256px; PADDING-TOP: =
0px; HEIGHT: 32px
}
.hdToolbarCodeoffFill {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
1px 0px 0px; PADDING-TOP: 10px; HEIGHT: 21px; TEXT-ALIGN: right
}
.hdToolbarCodeonFill {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
1px 0px 0px; PADDING-TOP: 10px; HEIGHT: 21px; TEXT-ALIGN: right
}
.hdToolbarCodeoffFill {
	WIDTH: 418px
}
.hdToolbarCodeonFill {
	WIDTH: 343px
}
.hdToolbarSignin {
	PADDING-RIGHT: 6px; PADDING-LEFT: 9px; BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_toolbar_mid_h.jpg); =
PADDING-BOTTOM: 0px; MARGIN: 0px 1px 0px 0px; WIDTH: 409px; PADDING-TOP: =
0px; HEIGHT: 32px
}
.hdToolbarSigninText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 10px; WHITE-SPACE: nowrap
}
.hdToolbarReg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
58px; PADDING-TOP: 10px; HEIGHT: 21px; TEXT-ALIGN: center
}
A.btnHdSearch {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; WIDTH: 26px; HEIGHT: =
24px; TEXT-ALIGN: center
}
A.btnHdCode {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; WIDTH: 26px; HEIGHT: =
24px; TEXT-ALIGN: center
}
A.btnHdSearch {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/header/btn_hd_search.gif)
}
A.btnHdCode {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/header/btn_hd_code.gif)
}
A.btnHdSearch:hover {
	BACKGROUND-POSITION: 0px -24px
}
A.btnHdCode:hover {
	BACKGROUND-POSITION: 0px -24px
}
A.btnHdSignin {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-WEIGHT: normal; =
BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/header/btn_hd_signin.gif); WIDTH: =
30px; COLOR: #ffffff; LINE-HEIGHT: 22px; HEIGHT: 24px; TEXT-ALIGN: =
center
}
A.subformAnchor {
	COLOR: #fff
}
A.subformAnchor:hover {
	BACKGROUND-COLOR: #03a
}
A.dhtmlpopupAnchor:hover {
	BACKGROUND-COLOR: #06a
}
A.dhtmlpopupBottomAnchor:hover {
	BACKGROUND-COLOR: #667066
}
A.subinprint:hover {
	BACKGROUND-COLOR: transparent
}
A.btnHdSignin:hover {
	BACKGROUND-POSITION: 0px -24px; BACKGROUND-COLOR: transparent
}
A.hdToolbarLink:hover {
	BACKGROUND-COLOR: #670303
}
.hdLogo {
	FLOAT: left; WIDTH: 203px; POSITION: relative; HEIGHT: 60px
}
.hdLogoPrint {
	DISPLAY: none; FLOAT: left; MARGIN: 40px 0px 14px; POSITION: relative
}
.hdLogoPopup {
	FLOAT: left; MARGIN: 9px 0px 11px 16px; WIDTH: 90px; HEIGHT: 21px
}
#hdSkybox A {
	PADDING-RIGHT: 9px; BACKGROUND-POSITION: 8px center; DISPLAY: block; =
PADDING-LEFT: 18px; FONT-WEIGHT: bold; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_w_pg.gif); =
PADDING-BOTTOM: 0px; CURSOR: pointer; COLOR: #f8e7e7; LINE-HEIGHT: 15px; =
PADDING-TOP: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 15px
}
#hdSkybox A:hover {
	BACKGROUND-COLOR: #990000
}
.hdSkybox {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_skybox_mid.jpg); =
FLOAT: left; WIDTH: 194px; COLOR: #ffffff; POSITION: relative; HEIGHT: =
60px
}
.hdSkyboxNarrow {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_skybox_mid.jpg); =
FLOAT: left; WIDTH: 193px; COLOR: #ffffff; POSITION: relative; HEIGHT: =
60px
}
.hdSkyboxLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_skybox_lt.jpg) =
no-repeat; FLOAT: left; WIDTH: 2px; HEIGHT: 60px
}
.hdSkyboxRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/header/bg_hd_skybox_rt.jpg) =
no-repeat; FLOAT: left; WIDTH: 2px; HEIGHT: 60px
}
.hdSkyboxCat {
	PADDING-RIGHT: 9px; PADDING-LEFT: 7px; FONT-SIZE: 12px; PADDING-BOTTOM: =
3px; COLOR: #f8e7e7; PADDING-TOP: 7px
}
#hdSkybox UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#hdSkybox LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_red.gif); =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 0px
}
.ftFooter {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; BACKGROUND: =
url(http://images.pcworld.com/images/footer/bg_ft.png) #920405; =
PADDING-BOTTOM: 2px; WIDTH: 984px; COLOR: #efc7c7; LINE-HEIGHT: 15px; =
PADDING-TOP: 2px; HEIGHT: 87px
}
.ftLt {
	FLOAT: left
}
.ftText {
	FLOAT: left
}
.ftIconXml {
	FLOAT: left
}
.ftLt {
	MARGIN: 4px 0px 0px 2px; WIDTH: 850px
}
.ftRt {
	FLOAT: right; MARGIN: 0px 6px 0px 0px
}
#ftFooter A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FLOAT: left; =
PADDING-BOTTOM: 2px; COLOR: #efc7c7; PADDING-TOP: 2px
}
.ftLabel {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FLOAT: left; =
PADDING-BOTTOM: 2px; COLOR: #efc7c7; PADDING-TOP: 2px
}
#ftFooter A:hover {
	BACKGROUND-COLOR: #840e0e
}
#ftFooter A.ftText {
	MARGIN: 12px 0px 0px
}
#ftFooter A.ftIconXml {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
14px 0px 0px; PADDING-TOP: 0px
}
#ftFooter A.ftIconXml:hover {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#ftFooter A.ftIconIdg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; PADDING-TOP: 8px
}
#ftFooter A.ftIconIdg:hover {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.leftnavMainContTop {
	MARGIN: 3px 4px 0px; WIDTH: 188px; HEIGHT: 1px; BACKGROUND-COLOR: =
#c1c4c6
}
.leftnavMainContMid {
	BORDER-RIGHT: #8c8d8e 1px solid; BORDER-TOP: #8c8d8e 1px solid; MARGIN: =
0px 4px; BORDER-LEFT: #8c8d8e 1px solid; WIDTH: 186px; BORDER-BOTTOM: =
#8c8d8e 1px solid
}
.leftnavMainContBtm {
	MARGIN: 0px 4px 3px; WIDTH: 188px; HEIGHT: 1px; BACKGROUND-COLOR: =
#f7f8f9
}
A.leftnavMainBtn {
	BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#ffffff 1px solid; DISPLAY: block; PADDING-LEFT: 7px; FONT-WEIGHT: bold; =
BACKGROUND: =
url(http://images.pcworld.com/images/common/leftnav_main_bg.png) =
repeat-x left top; PADDING-BOTTOM: 0px; BORDER-LEFT: #ffffff 1px solid; =
WIDTH: 170px; CURSOR: pointer; LINE-HEIGHT: 17px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #c7c7c7 1px solid; HEIGHT: 18px
}
A.leftnavMainBtn:hover {
	BORDER-RIGHT: #f5e4e4 1px solid; BORDER-TOP: #f5e4e4 1px solid; =
BACKGROUND: =
url(http://images.pcworld.com/images/common/leftnav_main_bg_over.png) =
repeat-x left top; BORDER-LEFT: #f5e4e4 1px solid; BORDER-BOTTOM: =
#c2b3b3 1px solid
}
A.leftnavMainBtnSel {
	PADDING-RIGHT: 6px; BORDER-TOP: #000000 1px solid; DISPLAY: block; =
PADDING-LEFT: 8px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/leftnav_main_bg_sel.png) =
repeat-x left top; PADDING-BOTTOM: 0px; WIDTH: 172px; CURSOR: pointer; =
COLOR: #ffffff; LINE-HEIGHT: 17px; PADDING-TOP: 0px; BORDER-BOTTOM: =
#c7c7c7 1px solid; HEIGHT: 18px
}
.leftNavSub {
	MARGIN: 15px 0px 0px 4px; WIDTH: 188px
}
.leftnavSubHd {
	PADDING-RIGHT: 6px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 2px 0px 1px; WIDTH: 174px; LINE-HEIGHT: =
17px; PADDING-TOP: 0px; HEIGHT: 17px
}
A.leftnavSubBtn {
	CLEAR: left; PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 8px; =
FONT-WEIGHT: bold; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 1px 0px; =
WIDTH: 174px; CURSOR: pointer; LINE-HEIGHT: 17px; PADDING-TOP: 0px; =
HEIGHT: 17px
}
A.leftnavSubBtn:hover {
	BACKGROUND: #d2b6b8
}
A.leftnavSubBtnSel {
	CLEAR: left; PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 8px; =
FONT-WEIGHT: bold; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 1px 0px; =
WIDTH: 174px; CURSOR: pointer; COLOR: #ffffff; LINE-HEIGHT: 17px; =
PADDING-TOP: 0px; HEIGHT: 17px; BACKGROUND-COLOR: #000000
}
A.leftnavSubBtnSel:hover {
	CLEAR: left; PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 8px; =
FONT-WEIGHT: bold; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 1px 0px; =
WIDTH: 174px; CURSOR: pointer; COLOR: #ffffff; LINE-HEIGHT: 17px; =
PADDING-TOP: 0px; HEIGHT: 17px; BACKGROUND-COLOR: #000000
}
HTML > BODY A.leftnavSubBtn {
	FLOAT: none
}
HTML > BODY A.leftnavSubBtnSel {
	FLOAT: none
}
HTML > BODY A.leftnavSubBtnSel:hover {
	FLOAT: none
}
.divLeftnavLink {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
2px; MARGIN: 1px 0px; WIDTH: 182px; CURSOR: pointer; PADDING-TOP: 2px; =
POSITION: relative
}
.divLeftnavLink A {
	DISPLAY: block; LEFT: 21px; WIDTH: 161px; POSITION: relative
}
.divLeftnavLink A.myPagesUnsaved {
	LEFT: 8px; WIDTH: 15px; POSITION: absolute; TOP: 3px
}
.divLeftnavLink A.myPagesSaved {
	LEFT: 8px; WIDTH: 15px; POSITION: absolute; TOP: 3px
}
.sectionBar4ColCont {
	WIDTH: 784px; POSITION: relative; HEIGHT: 44px
}
.sectionBar4Col {
	WIDTH: 784px; POSITION: relative; HEIGHT: 44px
}
.sectionBar5ColCont {
	WIDTH: 980px; POSITION: relative; HEIGHT: 44px
}
.sectionBar5Col {
	WIDTH: 980px; POSITION: relative; HEIGHT: 44px
}
.sectionBar4Col {
	Z-INDEX: 10
}
.sectionBar5Col {
	Z-INDEX: 10
}
.sectionBar4ColLt {
	FLOAT: left; WIDTH: 6px; HEIGHT: 44px
}
.sectionBar5ColLt {
	FLOAT: left; WIDTH: 6px; HEIGHT: 44px
}
.sectionBar4ColLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_bar_4col_lt.png')
}
HTML > BODY .sectionBar4ColLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_bar_4col_lt.png) =
no-repeat left top
}
.sectionBar5ColLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_bar_5col_lt.png')
}
HTML > BODY .sectionBar5ColLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_bar_5col_lt.png) =
no-repeat left top
}
.sectionBar4ColMid {
	FLOAT: left; POSITION: relative; HEIGHT: 44px
}
.sectionBar5ColMid {
	FLOAT: left; POSITION: relative; HEIGHT: 44px
}
.sectionBar4ColMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_bar_4col_mid.png')=
; WIDTH: 772px
}
HTML > BODY .sectionBar4ColMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_bar_4col_mid.png) =
repeat-x left top
}
.sectionBar5ColMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_bar_5col_mid.png')=
; WIDTH: 968px
}
HTML > BODY .sectionBar5ColMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_bar_5col_mid.png) =
repeat-x left top
}
.sectionBar5ColMid IMG {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; LEFT: 2px; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 1px; =
POSITION: relative; TOP: 6px
}
.sectionBar4ColRt {
	FLOAT: left; WIDTH: 6px; HEIGHT: 44px
}
.sectionBar5ColRt {
	FLOAT: left; WIDTH: 6px; HEIGHT: 44px
}
.sectionBar4ColRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_bar_4col_rt.png')
}
HTML > BODY .sectionBar4ColRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_bar_4col_rt.png) =
no-repeat left top
}
.sectionBar5ColRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_bar_5col_rt.png')
}
HTML > BODY .sectionBar5ColRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_bar_5col_rt.png) =
no-repeat left top
}
.sectionBar4ColHd {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FONT-SIZE: 20px; LEFT: 6px; FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: 0px; LINE-HEIGHT: 20px; PADDING-TOP: 1px; POSITION: relative; =
TOP: 11px
}
.sectionBar4ColSubhd {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 9px; FONT-WEIGHT: =
normal; FONT-SIZE: 13px; LEFT: 4px; FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: 0px; COLOR: #393939; LINE-HEIGHT: 24px; PADDING-TOP: 0px; =
POSITION: relative; TOP: 12px
}
.sectionBar5ColHd {
	FONT-WEIGHT: bold; FONT-SIZE: 20px; MARGIN: 0px; COLOR: #ffffff; =
LINE-HEIGHT: 20px; POSITION: relative
}
A.linkSectionBarHd {
	FONT-WEIGHT: bold; FONT-SIZE: 20px; MARGIN: 0px; COLOR: #ffffff; =
LINE-HEIGHT: 20px; POSITION: relative
}
.sectionBar5ColHd {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; LEFT: 6px; =
FLOAT: left; PADDING-BOTTOM: 0px; PADDING-TOP: 1px; TOP: 10px
}
.sectionBar5ColSubhd {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 9px; FONT-WEIGHT: =
normal; FONT-SIZE: 13px; LEFT: 4px; FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: 0px; COLOR: #fff; LINE-HEIGHT: 24px; PADDING-TOP: 0px; POSITION: =
relative; TOP: 11px
}
A.linkSectionBarHd {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 0px; LEFT: -4px; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 3px; COLOR: #ffffff; PADDING-TOP: 3px; =
BORDER-RIGHT-WIDTH: 0px
}
A.linkSectionBarHd:hover {
	BORDER-RIGHT: #3c3c3c 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#3c3c3c 1px solid; PADDING-LEFT: 3px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/link_section_bar_hd_bg.png=
'); PADDING-BOTTOM: 2px; BORDER-LEFT: #3c3c3c 1px solid; PADDING-TOP: =
2px; BORDER-BOTTOM: #3c3c3c 1px solid
}
HTML > BODY A.linkSectionBarHd:hover {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/link_section_bar_hd_bg.png) =
left top
}
.sectionSubcatTop {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_subcat_top.png'); =
WIDTH: 196px; HEIGHT: 6px
}
HTML > BODY .sectionSubcatTop {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_subcat_top.png) =
no-repeat left top
}
.sectionSubcatMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_subcat_mid.png'); =
WIDTH: 196px; POSITION: relative
}
HTML > BODY .sectionSubcatMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_subcat_mid.png) =
repeat-y left top
}
.sectionSubcatBtm {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_subcat_bottom.png'=
); WIDTH: 196px; HEIGHT: 6px
}
HTML > BODY .sectionSubcatBtm {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_subcat_bottom.png) =
no-repeat left top
}
.sectionSubcatGradient {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/section_subcat_gradient.pn=
g'); LEFT: 6px; OVERFLOW: hidden; WIDTH: 184px; POSITION: relative
}
HTML > BODY .sectionSubcatGradient {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/section_subcat_gradient.png) =
repeat-x left top
}
A.sectionSubcatBtn {
	PADDING-RIGHT: 7px; BORDER-TOP: #434343 1px solid; DISPLAY: block; =
PADDING-LEFT: 7px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; WIDTH: 170px; =
COLOR: #ffffff; LINE-HEIGHT: 18px; PADDING-TOP: 0px; BORDER-BOTTOM: =
#000000 1px solid; HEIGHT: 18px
}
A.sectionSubcatBtn:hover {
	BORDER-TOP: #383838 1px solid; BACKGROUND: #242424
}
A.sectionSubcatBtnSel {
	PADDING-RIGHT: 7px; BORDER-TOP: #404040 1px solid; DISPLAY: block; =
PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: #9b9b9b; =
PADDING-BOTTOM: 0px; WIDTH: 170px; COLOR: #000000; LINE-HEIGHT: 18px; =
PADDING-TOP: 0px; BORDER-BOTTOM: #393939 1px solid; HEIGHT: 18px
}
A.sectionSubcatBtnSel:hover {
	PADDING-RIGHT: 7px; BORDER-TOP: #404040 1px solid; DISPLAY: block; =
PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: #9b9b9b; =
PADDING-BOTTOM: 0px; WIDTH: 170px; COLOR: #000000; LINE-HEIGHT: 18px; =
PADDING-TOP: 0px; BORDER-BOTTOM: #393939 1px solid; HEIGHT: 18px
}
A.btnFirst {
	BORDER-TOP-STYLE: none
}
A.btnFirst:hover {
	BORDER-TOP-STYLE: none
}
A.btnLast {
	BORDER-BOTTOM-STYLE: none
}
A.btnLast:hover {
	BORDER-BOTTOM-STYLE: none
}
.recentProdListingTextXcol {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 30px 0px =
6px 1px; LINE-HEIGHT: 16px; POSITION: absolute
}
.recentProdListing1col {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 4px; PADDING-TOP: 6px
}
.recentProdListing2col {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 4px; PADDING-TOP: 6px
}
.recentProdListing3col {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 4px; PADDING-TOP: 6px
}
.recentProdListing1col {
	WIDTH: 178px
}
.recentProdListing2col {
	WIDTH: 376px
}
.recentProdListing3col {
	WIDTH: 184px
}
.recentProdListingLt1col {
	FLOAT: left
}
.recentProdListingLt2col {
	FLOAT: left
}
.recentProdListingRt1col {
	FLOAT: left
}
.recentProdListingRt2col {
	FLOAT: left
}
.recentProdListingRt3col {
	FLOAT: left
}
.recentProdListingLt1col {
	PADDING-RIGHT: 7px; PADDING-LEFT: 3px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.recentProdListingLt2col {
	PADDING-RIGHT: 7px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.recentProdListingRt1col {
	MARGIN: 2px 5px 0px 0px; WIDTH: 105px
}
.recentProdListingRt2col {
	WIDTH: 240px
}
.recentProdListingRt3col {
	MARGIN: 2px 4px 0px 0px; WIDTH: 110px
}
.recentProdListingText {
	MARGIN: 0px 0px 6px 1px
}
.recentProdListingText2col {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 0px 0px 6px 1px; =
LINE-HEIGHT: 16px
}
.guide1ColListing {
	MARGIN: 0px 0px 8px 4px; WIDTH: 176px; PADDING-TOP: 6px
}
.guide1ColListingText {
	MARGIN-LEFT: 3px; WIDTH: 173px
}
.list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; PADDING-BOTTOM: 4px; WIDTH: =
360px; PADDING-TOP: 4px
}
.listImg {
	FLOAT: left; MARGIN: 0px 13px 0px 0px; WIDTH: 74px; HEIGHT: 74px
}
.listMain {
	FLOAT: left; MARGIN: 0px 0px 8px; WIDTH: 272px; POSITION: relative; =
TOP: -5px
}
.listText {
	PADDING-RIGHT: 4px; PADDING-LEFT: 0px; FONT-SIZE: 13px; LEFT: 3px; =
FLOAT: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; PADDING-TOP: 0px; =
POSITION: relative
}
.listMore {
	PADDING-RIGHT: 0px; PADDING-LEFT: 3px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.listItem {
	FLOAT: left; MARGIN: 0px 0px 16px; WIDTH: 360px
}
.listItemDate {
	FONT-WEIGHT: normal; COLOR: #959595; WHITE-SPACE: nowrap
}
.listDivider {
	MARGIN: 0px 0px 16px
}
.div1ColPartnerLt {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 8px
}
.div1ColPartnerRt {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 8px
}
.div1ColPartnerLt {
	WIDTH: 188px
}
.div1ColPartnerRt {
	WIDTH: 178px
}
.imgPartnerLogo {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 8px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 4px; =
WIDTH: 160px; PADDING-TOP: 0px; HEIGHT: 20px; BORDER-RIGHT-WIDTH: 0px
}
.div1ColAddtl {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 180px; PADDING-TOP: 8px
}
.divInBrief {
	MARGIN-LEFT: 4px; PADDING-TOP: 12px
}
.titleInBrief {
	PADDING-RIGHT: 0px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 20px
}
.divInBriefSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 186px; PADDING-TOP: 0px
}
.iconXmlImg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 8px
}
.iconXmlText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 130px; PADDING-TOP: 8px
}
#toutNews TD {
	PADDING-RIGHT: 4px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#toutNews INPUT.field {
	BORDER-RIGHT: #575757 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#575757 1px solid; PADDING-LEFT: 3px; BACKGROUND: #ffffff repeat-x left =
top; PADDING-BOTTOM: 0px; BORDER-LEFT: #575757 1px solid; WIDTH: 120px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #575757 1px solid; HEIGHT: 15px
}
.toutFld {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 15px
}
.toutBtn {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 16px
}
A.btnTout {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-WEIGHT: normal; =
BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_tout.gif); WIDTH: 29px; =
COLOR: #000000; LINE-HEIGHT: 22px; HEIGHT: 22px; TEXT-ALIGN: center
}
A.btnTout:hover {
	BACKGROUND-POSITION: 0px -22px
}
A.reviewFinderBtnOff {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; FONT-WEIGHT: =
normal; RIGHT: 4px; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_find_review.png); =
PADDING-BOTTOM: 0px; WIDTH: 173px; COLOR: #ffffff; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; POSITION: absolute; TOP: 10px; HEIGHT: 24px
}
A.reviewFinderBtnOn {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; FONT-WEIGHT: =
normal; RIGHT: 4px; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_find_review.png); =
PADDING-BOTTOM: 0px; WIDTH: 173px; COLOR: #ffffff; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; POSITION: absolute; TOP: 10px; HEIGHT: 24px
}
A.reviewFinderBtnGrayOff {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; FONT-WEIGHT: =
normal; RIGHT: 4px; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_find_review.png); =
PADDING-BOTTOM: 0px; WIDTH: 173px; COLOR: #ffffff; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; POSITION: absolute; TOP: 10px; HEIGHT: 24px
}
A.reviewFinderBtnGrayOn {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; FONT-WEIGHT: =
normal; RIGHT: 4px; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_find_review.png); =
PADDING-BOTTOM: 0px; WIDTH: 173px; COLOR: #ffffff; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; POSITION: absolute; TOP: 10px; HEIGHT: 24px
}
A.reviewFinderBtnGrayOff {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_find_review_gray.png)
}
A.reviewFinderBtnGrayOn {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_find_review_gray.png)
}
A.reviewFinderBtnOff {
	BACKGROUND-POSITION: 0px 0px
}
A.reviewFinderBtnGrayOff {
	BACKGROUND-POSITION: 0px 0px
}
A.reviewFinderBtnOff:hover {
	BACKGROUND-POSITION: 0px -24px
}
A.reviewFinderBtnGrayOff:hover {
	BACKGROUND-POSITION: 0px -24px
}
A.reviewFinderBtnOn {
	BACKGROUND-POSITION: 0px -48px
}
A.reviewFinderBtnGrayOn {
	BACKGROUND-POSITION: 0px -48px
}
A.reviewFinderBtnOn:hover {
	BACKGROUND-POSITION: 0px -72px
}
A.reviewFinderBtnGrayOn:hover {
	BACKGROUND-POSITION: 0px -72px
}
.reviewFinder {
	WIDTH: 784px
}
#reviewFinderDrawer {
	POSITION: relative; TOP: -6px
}
.reviewFinderMain {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/review_finder_mid.png'); =
WIDTH: 784px; POSITION: relative
}
HTML > BODY .reviewFinderMain {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/review_finder_mid.png) =
repeat-y left top
}
.reviewFinderBtm {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/review_finder_btm.png'); =
WIDTH: 784px; HEIGHT: 7px
}
HTML > BODY .reviewFinderBtm {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/review_finder_btm.png) =
no-repeat left top
}
.reviewFinderBlock {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(http://images.pcworld.com/images/common/review_finder_horiz_divider.p=
ng) #262626 repeat-x left bottom; LEFT: 6px; PADDING-BOTTOM: 10px; =
WIDTH: 772px; PADDING-TOP: 0px; POSITION: relative
}
.reviewFinderBlockBtm {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 6px; PADDING-BOTTOM: 1px; =
WIDTH: 772px; PADDING-TOP: 3px; POSITION: relative; HEIGHT: 28px; =
BACKGROUND-COLOR: #262626
}
.reviewFinderSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; WIDTH: =
772px; PADDING-TOP: 11px
}
.reviewFinderElement {
	FLOAT: left; MARGIN: 0px 10px 0px 6px
}
.reviewFinderElement H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 9px 3px; COLOR: #ffffff; =
LINE-HEIGHT: 13px; PADDING-TOP: 0px
}
.reviewFinderElement SELECT {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 164px; PADDING-TOP: 0px
}
.reviewFinderElement INPUT {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 145px; PADDING-TOP: 0px
}
.reviewFinderInstruct {
	PADDING-RIGHT: 0px; PADDING-LEFT: 6px; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 3px; MARGIN: 0px; WIDTH: 750px; COLOR: #ffffff; =
LINE-HEIGHT: 11px; PADDING-TOP: 9px
}
.reviewFinderText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 9px 3px; COLOR: #ffffff; =
LINE-HEIGHT: 13px; PADDING-TOP: 0px
}
A.btnGetReviews {
	LEFT: 341px; FLOAT: left; POSITION: relative
}
A #reviewFinderClose {
	MARGIN: 4px 6px 6px 0px
}
.reviewFinderElement {
	DISPLAY: none
}
#blockStep2 {
	DISPLAY: none
}
#btnGetReviews {
	DISPLAY: none
}
#blockDD1 {
	DISPLAY: block
}
.leftnavBizdir {
	MARGIN: 21px 0px 0px 14px
}
.subscription {
	FLOAT: left; WIDTH: 204px; HEIGHT: 98px
}
.subscriptionFilter {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/subscription_box.png')
}
HTML > BODY .subscription {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/subscription_box.png) =
no-repeat left top
}
.subscriptionImg {
	DISPLAY: inline; FLOAT: left; MARGIN: 6px 0px 6px 6px; OVERFLOW: =
hidden; WIDTH: 90px; HEIGHT: 86px
}
.subscriptionImgClick {
	FLOAT: left; MARGIN: 6px 0px 6px 6px; WIDTH: 90px; HEIGHT: 86px
}
.subscriptionText {
	DISPLAY: inline; FLOAT: right; MARGIN: 12px 8px 0px 0px; WIDTH: 98px; =
HEIGHT: 86px
}
.subscriptionTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 5px; LINE-HEIGHT: 14px; =
PADDING-TOP: 0px
}
.leaderboardAd {
	MARGIN: 4px
}
.towerAd {
	MARGIN: 4px
}
.halfpageAd {
	MARGIN: 4px
}
.showcaseAd {
	MARGIN: 4px
}
.buttonad2x1Ad {
	MARGIN: 4px
}
.buttonad1x1Ad {
	MARGIN: 4px
}
.buttonad1x2Ad {
	MARGIN: 4px
}
.buttonad2x1nAd {
	MARGIN: 4px 16px
}
.leaderboardAd {
	PADDING-RIGHT: 28px; PADDING-LEFT: 28px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 728px; PADDING-TOP: 0px; HEIGHT: 90px; BACKGROUND-COLOR: =
#484848
}
.towerAd {
	PADDING-RIGHT: 14px; PADDING-LEFT: 14px; PADDING-BOTTOM: 38px; WIDTH: =
160px; PADDING-TOP: 38px; HEIGHT: 600px
}
.halfpageAd {
	PADDING-RIGHT: 24px; PADDING-LEFT: 24px; PADDING-BOTTOM: 27px; WIDTH: =
336px; PADDING-TOP: 27px; HEIGHT: 850px
}
.showcaseAd {
	PADDING-RIGHT: 24px; PADDING-LEFT: 24px; PADDING-BOTTOM: 27px; WIDTH: =
336px; PADDING-TOP: 27px; HEIGHT: 280px
}
.sponsorAd {
	BORDER-RIGHT: #7b7a7a 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#7b7a7a 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 4px =
4px 8px; BORDER-LEFT: #7b7a7a 1px solid; WIDTH: 186px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #7b7a7a 1px solid; HEIGHT: 122px
}
.buttonad2x1Ad {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; PADDING-BOTTOM: 17px; WIDTH: =
376px; PADDING-TOP: 17px; HEIGHT: 76px
}
HTML > BODY .buttonad2x1Ad {
	HEIGHT: 72px
}
.buttonad2x1nAd {
	PADDING-RIGHT: 56px; PADDING-LEFT: 56px; PADDING-BOTTOM: 9px; WIDTH: =
248px; PADDING-TOP: 25px; HEIGHT: 72px
}
.buttonad1x1Ad {
	PADDING-RIGHT: 32px; PADDING-LEFT: 32px; PADDING-BOTTOM: 17px; WIDTH: =
124px; PADDING-TOP: 17px; HEIGHT: 72px
}
.buttonad1x2Ad {
	PADDING-RIGHT: 32px; PADDING-LEFT: 32px; PADDING-BOTTOM: 20px; WIDTH: =
124px; PADDING-TOP: 20px; HEIGHT: 180px
}
.buttonad2x1Ad IFRAME {
	FLOAT: left; MARGIN: 3px 1px
}
.buttonad2x1nAd IFRAME {
	FLOAT: left; MARGIN: 3px 1px
}
.buttonad1x1Ad IFRAME {
	FLOAT: left; MARGIN: 3px 1px
}
.buttonad1x2Ad IFRAME {
	FLOAT: left; MARGIN: 3px 1px
}
.leaderboardAd IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.towerAd IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.halfpageAd IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.showcaseAd IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.buttonad2x1Ad IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.buttonad2x1nAd IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.buttonad1x1Ad IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.buttonad1x2Ad IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.sponsorAd IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.adWhiteTall {
	BACKGROUND-COLOR: #ededed
}
.adGrayTall {
	BACKGROUND-COLOR: #d0d4d6
}
.adWhiteMed {
	BACKGROUND-COLOR: #ededed
}
.adGrayMed {
	BACKGROUND-COLOR: #d0d4d6
}
.adWhiteShort {
	BACKGROUND-COLOR: #ededed
}
.adGrayShort {
	BACKGROUND-COLOR: #d0d4d6
}
.adSponsored {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 0px =
0px 16px; WIDTH: 176px; PADDING-TOP: 16px; HEIGHT: 103px; =
BACKGROUND-COLOR: #ededed
}
.adRel1 {
	BORDER-RIGHT: #eaeaeb 2px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#eaeaeb 2px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; MARGIN: 4px; =
BORDER-LEFT: #eaeaeb 2px solid; PADDING-TOP: 22px; BORDER-BOTTOM: =
#eaeaeb 2px solid; BACKGROUND-COLOR: #ffffff
}
.adRel2 {
	BORDER-RIGHT: #eaeaeb 2px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#eaeaeb 2px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; MARGIN: 4px; =
BORDER-LEFT: #eaeaeb 2px solid; PADDING-TOP: 22px; BORDER-BOTTOM: =
#eaeaeb 2px solid; BACKGROUND-COLOR: #ffffff
}
.adRel1 {
	HEIGHT: 183px
}
.adRel2 {
	HEIGHT: 69px
}
.adRelInstruct {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; PADDING-TOP: 0px
}
.adRelSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 6px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 178px; PADDING-TOP: 8px
}
.adMkt1Colw {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; MARGIN: =
4px; WIDTH: 384px; PADDING-TOP: 11px; HEIGHT: 417px
}
.adMkt2Colw {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; MARGIN: =
4px; WIDTH: 384px; PADDING-TOP: 11px; HEIGHT: 417px
}
.adMkt1Colg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; MARGIN: =
4px; WIDTH: 384px; PADDING-TOP: 11px; HEIGHT: 417px
}
.adMkt2Colg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; MARGIN: =
4px; WIDTH: 384px; PADDING-TOP: 11px; HEIGHT: 417px
}
.adMkt1Colw {
	BACKGROUND-COLOR: #ededed
}
.adMkt2Colw {
	BACKGROUND-COLOR: #ededed
}
.adMkt1Colg {
	BACKGROUND-COLOR: #d0d4d6
}
.adMkt2Colg {
	BACKGROUND-COLOR: #d0d4d6
}
.adMkt2Colw {
	WIDTH: 776px
}
.adMkt2Colg {
	WIDTH: 776px
}
.adMktHd {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 0px 0px 12px 7px; WIDTH: =
364px; LINE-HEIGHT: 15px
}
.adMkt2Colw .adMktHd {
	WIDTH: 752px
}
.adMkt2Colg .adMktHd {
	WIDTH: 752px
}
.adMktSet {
	DISPLAY: inline; FLOAT: left; MARGIN: 0px 17px 0px 7px; WIDTH: 364px
}
.adMktSet H2 {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 0px 0px 12px 7px; =
LINE-HEIGHT: 15px
}
.adMkt1Colw .adMktSet {
	MARGIN: 0px 7px
}
.adMkt1Colg .adMktSet {
	MARGIN: 0px 7px
}
.adMktSet A.linkInline {
	FONT-WEIGHT: bold
}
.adMktSet DIV {
	MARGIN: 0px 0px 10px
}
.featureCont {
	MARGIN: 4px 0px 16px 16px; WIDTH: 760px
}
.featureCont IMG {
	FLOAT: left; MARGIN: 0px 14px 0px 0px; WIDTH: 360px
}
.featureContMag {
	MARGIN: 4px 0px 16px 16px; WIDTH: 760px
}
.featureContMag IMG {
	FLOAT: left; MARGIN: 0px 14px 0px 0px
}
.divTitleFeature {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; FLOAT: left; =
PADDING-BOTTOM: 3px; MARGIN: -8px 0px 0px; WIDTH: 380px; CURSOR: =
pointer; PADDING-TOP: 3px; POSITION: relative
}
.divTitleFeature A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 24px; WIDTH: 380px; =
TEXT-INDENT: 15px; LINE-HEIGHT: 32px
}
.divTitleFeature A.myPagesUnsaved {
	TOP: 18px
}
.divTitleFeature A.myPagesSaved {
	TOP: 18px
}
.divTitleFeatureSubhd {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; FLOAT: left; PADDING-BOTTOM: 3px; MARGIN: 0px; WIDTH: 370px; =
LINE-HEIGHT: 21px; PADDING-TOP: 0px
}
A.linkBtmFeature {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; FLOAT: left; PADDING-BOTTOM: 3px; LINE-HEIGHT: 13px; PADDING-TOP: =
3px
}
.sectionSubhdCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; PADDING-BOTTOM: 16px; WIDTH: =
760px; PADDING-TOP: 4px
}
.sectionSubhdShortCont {
	MARGIN: 4px 0px 16px 16px; WIDTH: 752px
}
.formSectionSubhdShortCont {
	MARGIN: 4px 0px 16px; WIDTH: 752px
}
.sectionSubhd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 1px; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; HEIGHT: 25px
}
.sectionSubhdShopping {
	PADDING-RIGHT: 0px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 1px; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; HEIGHT: 25px
}
.sectionSubhd2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 1px; LINE-HEIGHT: 25px; =
PADDING-TOP: 0px; HEIGHT: 25px
}
.featcustTopLt {
	FLOAT: left
}
.featcustTopRt {
	FLOAT: right
}
.featcustSetLt {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; WIDTH: =
170px; PADDING-TOP: 10px; POSITION: relative
}
.featcustSetRt {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; WIDTH: =
170px; PADDING-TOP: 10px
}
.featcustHead {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 0px 0px 6px
}
.featcustLead {
	MARGIN: 0px 0px 8px
}
.featcustItem {
	MARGIN: 0px 0px 9px
}
.divTitleFeatcust {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
1px; MARGIN: 0px 0px 0px -6px; CURSOR: pointer; PADDING-TOP: 1px; =
POSITION: relative
}
.divTitleFeatcustIndent {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
1px; MARGIN: 0px 0px 0px -6px; CURSOR: pointer; PADDING-TOP: 1px; =
POSITION: relative
}
HTML > BODY .divTitleFeatcust {
	MARGIN: 0px 0px 0px -3px
}
HTML > BODY .divTitleFeatcustIndent {
	MARGIN: 0px 0px 0px -3px
}
.divTitleFeatcust A {
	DISPLAY: block
}
.divTitleFeatcustIndent A {
	DISPLAY: block
}
.divTitleFeatcust A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 18px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
HTML > BODY .divTitleFeatcust A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.divTitleFeatcustIndent A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
TEXT-INDENT: 14px; PADDING-TOP: 0px
}
HTML > BODY .divTitleFeatcustIndent A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
TEXT-INDENT: 15px; PADDING-TOP: 0px
}
.divTitleFeatcust A.myPagesUnsaved {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TOP: 3px
}
.divTitleFeatcust A.myPagesSaved {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TOP: 3px
}
.divTitleFeatcustIndent A.myPagesUnsaved {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TOP: 3px
}
.divTitleFeatcustIndent A.myPagesSaved {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TOP: 3px
}
A.featcustBtn {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 0px; DISPLAY: block; =
PADDING-LEFT: 0px; FONT-WEIGHT: normal; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_featcust.png); =
PADDING-BOTTOM: 0px; WIDTH: 185px; COLOR: #000; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; POSITION: relative; TOP: 6px; HEIGHT: 24px
}
A.featcustBtn:hover {
	BACKGROUND-POSITION: 0px -24px
}
.comment {
	MARGIN: 8px 0px 0px
}
.commentEntry {
	MARGIN: 8px 0px
}
.commentAuthor {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.commentDatetime {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.commentAuthor {
	COLOR: #555555
}
.commentDatetime {
	COLOR: #898989
}
.commentNav {
	FLOAT: right; MARGIN: 8px 0px
}
.commentTextarea {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; MARGIN: 0px =
0px 8px; WIDTH: 340px; PADDING-TOP: 8px; HEIGHT: 90px
}
.blogListCol {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 168px; PADDING-TOP: 12px
}
.blogListLt {
	FLOAT: left
}
.blogListRt {
	FLOAT: left
}
.blogListLt {
	PADDING-RIGHT: 8px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.blogListRt {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
104px; PADDING-TOP: 2px
}
.archiveLead {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; =
PADDING-TOP: 4px
}
.archiveSelect {
	WIDTH: 182px
}
.tstRelCont {
	MARGIN: 4px; HEIGHT: 165px
}
.feedbackText {
	MARGIN: 8px 0px 0px
}
.subhdContProdList {
	MARGIN: 4px 12px 50px 16px
}
.prodListLead {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: =
16px; LINE-HEIGHT: 18px; PADDING-TOP: 12px
}
.prodListSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 8px; LINE-HEIGHT: 18px; PADDING-TOP: 0px
}
.prodListColLt {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 178px; PADDING-TOP: 0px
}
.prodListColRt {
	FLOAT: left; WIDTH: 172px
}
UL.prodListItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 8px; PADDING-TOP: 4px
}
HTML > BODY UL.prodListItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
UL.prodListItem LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; =
LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_b_large.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: 18px; PADDING-TOP: 0px
}
.browseCont {
	MARGIN: 4px 8px 50px 16px
}
.browseColLt {
	FLOAT: left; MARGIN: 16px 0px 0px
}
.browseColRt {
	FLOAT: left; MARGIN: 16px 0px 0px
}
.browseColLt {
	WIDTH: 350px; MARGIN-RIGHT: 37px
}
.browseColRt {
	WIDTH: 366px
}
.browseListItem {
	MARGIN: 0px 0px 14px
}
.browseCont A.linkListTopic {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
3px; PADDING-TOP: 3px
}
.browseCont .listTopic {
	POSITION: relative; TOP: 3px
}
.mod1ColText {
	FONT-WEIGHT: bold; MARGIN: 0px 0px 4px 2px
}
.mod2ColTextLead {
	FONT-WEIGHT: bold; MARGIN: 0px 0px 4px 2px
}
.mod2ColText {
	FONT-WEIGHT: bold; MARGIN: 0px 0px 4px 2px
}
.mod1ColTextMore {
	FONT-WEIGHT: bold; MARGIN: 0px 0px 4px 2px
}
.mod2ColTextMore {
	FONT-WEIGHT: bold; MARGIN: 0px 0px 4px 2px
}
.mod2ColTextLead {
	FONT-SIZE: 13px; MARGIN: 0px 0px 10px 2px; LINE-HEIGHT: 18px
}
.mod1ColTextMore {
	MARGIN: 4px 0px 0px
}
.mod1ColSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 2px 4px; PADDING-TOP: 6px
}
.featBlog2col {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 2px 4px; PADDING-TOP: 6px
}
.featBlog1colLt {
	FLOAT: left
}
.featBlog1colRt {
	FLOAT: left
}
.featBlog2colLt {
	FLOAT: left
}
.featBlog2colRt {
	FLOAT: left
}
.featCustom2colLt {
	FLOAT: left
}
.featCustom2colRt {
	FLOAT: left
}
.featBlog1colLt {
	PADDING-RIGHT: 8px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.featBlog2colLt {
	PADDING-RIGHT: 8px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.featCustom2colLt {
	PADDING-RIGHT: 8px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
.featBlog1colRt {
	WIDTH: 110px
}
.featBlog2colRt {
	WIDTH: 270px
}
.featCustom2colRt {
	WIDTH: 270px
}
.editorQuestion {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 2px; PADDING-TOP: 8px
}
.editorAnswer {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 2px; PADDING-TOP: 8px
}
.formTitle {
	FONT-WEIGHT: bold; FLOAT: left; MARGIN: 12px 14px 14px 0px
}
.formStep {
	FONT-WEIGHT: bold; FLOAT: left; MARGIN: 12px 14px 14px 0px
}
.formStepSel {
	FONT-WEIGHT: bold; FLOAT: left; MARGIN: 12px 14px 14px 0px
}
.formTitle {
	FONT-SIZE: 24px; MARGIN: 0px 16px 14px 0px; LINE-HEIGHT: 30px
}
.formStep {
	COLOR: #898989
}
.formStepHd {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 0px 0px 4px
}
.formDesc {
	FONT-SIZE: 13px; MARGIN: 0px 0px 20px
}
.formItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 12px; PADDING-TOP: 0px
}
.formField {
	MARGIN: 0px 0px 10px
}
.formCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px =
12px 11px 16px; WIDTH: 756px; PADDING-TOP: 0px
}
.formQuestion {
	PADDING-TOP: 5px; HEIGHT: 25px; BACKGROUND-COLOR: #dbdbdb
}
.field {
	MARGIN: 2px 0px 0px
}
.fieldCity {
	MARGIN: 2px 0px 0px
}
.fieldZip {
	MARGIN: 2px 0px 0px
}
.fieldTel {
	MARGIN: 2px 0px 0px
}
.fieldDob {
	MARGIN: 2px 0px 0px
}
.fieldLogin {
	MARGIN: 2px 0px 0px
}
.selectState {
	MARGIN: 2px 0px 0px
}
.selectIncome {
	MARGIN: 2px 0px 0px
}
.submit {
	MARGIN: 2px 0px 0px
}
.field {
	WIDTH: 195px
}
.fieldCity {
	WIDTH: 163px; MARGIN-RIGHT: 2px
}
.fieldZip {
	WIDTH: 67px
}
.fieldTel {
	WIDTH: 145px
}
.fieldDob {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 26px
}
.selectState {
	WIDTH: 50px; MARGIN-RIGHT: 2px
}
.selectIncome {
	WIDTH: 140px
}
.chkbox {
	LEFT: -3px; POSITION: relative
}
.chkboxLabel {
	LEFT: -3px; POSITION: relative
}
.chkboxLabel {
	PADDING-RIGHT: 12px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.formFieldHd {
	FONT-WEIGHT: bold
}
A.btnRt {
	FLOAT: right
}
A.btnRtRegForm {
	FLOAT: right
}
.reg {
	MARGIN: 6px 0px 0px 2px
}
.regTout {
	FLOAT: right; BOTTOM: 10px; POSITION: relative
}
A.btnRtRegForm {
	BOTTOM: 4px; POSITION: relative
}
.formLabel {
	PADDING-RIGHT: 10px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 20px
}
.formField {
	PADDING-RIGHT: 6px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 10px
}
.fieldLogin {
	WIDTH: 145px
}
.formBtn {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 8px
}
.formCheckbox {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 18px
}
.formText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 26px
}
.formWarning {
	COLOR: #f00; FONT-STYLE: italic
}
.srch {
	MARGIN: 4px 4px 4px 8px; WIDTH: 372px
}
.srchCount {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; RIGHT: 6px; FLOAT: right; MARGIN: =
0px; LINE-HEIGHT: 16px; POSITION: relative; TOP: 16px
}
.srchSubhdCont {
	MARGIN: 0px 0px 16px 9px; WIDTH: 360px
}
.srchSubhd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 1px; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px; HEIGHT: 25px
}
.srchSubhd A {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; MARGIN: =
0px; LINE-HEIGHT: 24px; PADDING-TOP: 2px
}
.srchSubhdCont .dividerDotted {
	MARGIN: 0px 0px 7px
}
.divSrchSponsored {
	PADDING-RIGHT: 9px; PADDING-LEFT: 9px; BACKGROUND: =
url(http://images.pcworld.com/images/common/srch_label_sponsored.gif) =
#ededed no-repeat left top; PADDING-BOTTOM: 4px; MARGIN: 9px 0px 16px; =
WIDTH: 354px; PADDING-TOP: 26px
}
.divSrchSponsoredItem {
	MARGIN: 0px 0px 12px; WIDTH: 342px
}
.divSrchSponsored A.linkTitle {
	FONT-SIZE: 13px; LINE-HEIGHT: 13px
}
.divSrchResultsItem {
	PADDING-RIGHT: 9px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 15px; WIDTH: 354px; PADDING-TOP: 0px
}
.divSrchResultsTitle {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 3px; CURSOR: pointer; =
PADDING-TOP: 3px; POSITION: relative
}
.divSrchResultsTitle A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; TEXT-INDENT: 15px; =
LINE-HEIGHT: 13px
}
.divSrchResultsTitle A.myPagesUnsaved {
	TOP: 5px
}
.divSrchResultsTitle A.myPagesSaved {
	TOP: 5px
}
A.linkMore {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; MARGIN: 0px =
0px 0px -3px; COLOR: #990000; PADDING-TOP: 2px
}
.srchResultsNav {
	MARGIN: 0px 0px 15px 5px
}
.srchResultsNav {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; LINE-HEIGHT: 13px
}
.srchResultsNav A {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; LINE-HEIGHT: 13px
}
.srchResultsNav .sel {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
PADDING-TOP: 1px
}
.srchResultsNav A {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
PADDING-TOP: 1px
}
.srchResultsNav A.prev {
	PADDING-RIGHT: 3px; BACKGROUND-POSITION: 4% 3px; PADDING-LEFT: 16px; =
BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_r_solid_lt.gif); =
PADDING-BOTTOM: 1px; MARGIN-RIGHT: 8px; PADDING-TOP: 1px; =
BACKGROUND-REPEAT: no-repeat
}
.srchResultsNav A.next {
	PADDING-RIGHT: 16px; BACKGROUND-POSITION: 95% 3px; PADDING-LEFT: 3px; =
BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_r_solid_rt.gif); =
PADDING-BOTTOM: 1px; MARGIN-LEFT: 8px; PADDING-TOP: 1px; =
BACKGROUND-REPEAT: no-repeat
}
.idgSubhdCont {
	MARGIN: 4px; WIDTH: 188px; HEIGHT: 220px
}
.pricegrabSubhdCont {
	MARGIN: 4px; WIDTH: 188px; HEIGHT: 220px
}
.dnloadSubhdCont {
	MARGIN: 4px; WIDTH: 188px; HEIGHT: 220px
}
.divPricegrabItem {
	MARGIN: 6px 0px 10px; WIDTH: 188px
}
.divDnloadItem {
	MARGIN: 6px 0px 10px; WIDTH: 188px
}
.divPricegrabItem .divText {
	MARGIN: 0px 0px 2px
}
.divDnloadItem .divText {
	MARGIN: 0px 0px 2px
}
.srchForm {
	PADDING-RIGHT: 4px; PADDING-LEFT: 16px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.srchFld {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
12px; PADDING-TOP: 0px
}
.divSrchCheckbox {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: -4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 3px; POSITION: relative
}
.srchCheckbox {
	POSITION: relative; TOP: 2px
}
.srchBtn {
	FLOAT: left; MARGIN: 0px 16px 0px 0px; BOTTOM: 1px; POSITION: relative
}
HTML > BODY .srchBtn {
	BOTTOM: 2px
}
A.btnSrch {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_srch.gif); WIDTH: 26px; =
HEIGHT: 24px; TEXT-ALIGN: center
}
A.btnSrch:hover {
	BACKGROUND-POSITION: 0px -24px
}
.srchAlt {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 5px; WHITE-SPACE: nowrap
}
.srchSort {
	MARGIN: 0px 0px 10px
}
.srchSort A {
	FONT-SIZE: 13px
}
.sectionColB .search {
	MARGIN: 4px 0px 14px 16px; WIDTH: 360px
}
.sectionCol2 .search {
	MARGIN: 4px 0px 14px 4px; WIDTH: 384px
}
.search {
=09
}
.searchForm {
	MARGIN: 0px 0px 22px 16px
}
.searchFormLabel {
	MARGIN-TOP: 17px; FONT-WEIGHT: bold; FLOAT: left; MARGIN-RIGHT: 5px
}
.searchFormUIWrapper {
	FLOAT: left
}
.searchFormUINav {
	FONT-WEIGHT: bold; FONT-SIZE: 9px; MARGIN-BOTTOM: -5px; WIDTH: 460px; =
FONT-FAMILY: verdana; TEXT-ALIGN: left
}
.searchFormUINavItem {
	MARGIN: 0px 4px; TEXT-TRANSFORM: uppercase
}
.searchFormUIInputs {
=09
}
.searchFormTextInput {
	MARGIN-TOP: 5px; FLOAT: left; WIDTH: 460px
}
.searchFormSubmit {
	FLOAT: left
}
#searchResponseMsg {
	FONT-WEIGHT: bold; MARGIN: 20px
}
.searchSubHd {
	FLOAT: left; WIDTH: 48%
}
.searchSubHdNav {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; FLOAT: right; WIDTH: 48%; =
TEXT-ALIGN: right
}
.searchItem {
	MARGIN-TOP: 10px
}
.searchHed {
	MARGIN-TOP: 3px; FONT-WEIGHT: bold; WIDTH: 360px
}
.searchHed A {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; CURSOR: pointer; LINE-HEIGHT: 13px
}
.searchDek {
=09
}
.searchMore {
	FONT-WEIGHT: bold; MARGIN: 18px 0px 0px; WIDTH: 360px; CURSOR: pointer
}
.searchDownloadMore {
	FONT-WEIGHT: normal
}
.searchBulletHi {
	MARGIN-TOP: 2px; FONT-WEIGHT: bold; FLOAT: left; WIDTH: 10px; COLOR: =
#300
}
.searchBulletMed {
	MARGIN-TOP: 2px; FONT-WEIGHT: bold; FLOAT: left; WIDTH: 10px; COLOR: =
#933
}
.searchBulletLo {
	MARGIN-TOP: 2px; FONT-WEIGHT: bold; FLOAT: left; WIDTH: 10px; COLOR: =
#fcc
}
.sectionColB .searchSponsored {
	WIDTH: 340px
}
.sectionCol2 .searchSponsored {
	WIDTH: 364px
}
.searchSponsored {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(http://images.pcworld.com/images/common/srch_label_sponsored.gif) =
#ededed no-repeat left top; PADDING-BOTTOM: 4px; MARGIN: 0px; =
PADDING-TOP: 20px
}
.searchSponsoredItem {
	MARGIN: 0px 0px 12px
}
.searchSponsoredHed {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.searchSponsoredDek {
=09
}
.searchSponsoredUrl {
	DISPLAY: block; FONT-SIZE: 11px
}
.topic {
	MARGIN: 4px 12px 16px 16px; WIDTH: 540px
}
.sectionColB .topic {
	MARGIN: 4px 12px 16px 16px; WIDTH: 360px
}
.topicSubhdCont {
=09
}
.divTopicResultsSet {
=09
}
.divTopicResultsSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 20px; =
PADDING-TOP: 0px
}
.divTopicResultsItem {
	MARGIN: 0px 0px 15px
}
.divTopicResultsTitle {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 3px; CURSOR: pointer; =
PADDING-TOP: 3px; POSITION: relative
}
.divTopicResultsTitle A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; TEXT-INDENT: 15px
}
.divTopicResultsTitle A.myPagesUnsaved {
	TOP: 6px
}
.divTopicResultsTitle A.myPagesSaved {
	TOP: 6px
}
.divTopicHd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
18px; PADDING-BOTTOM: 0px; MARGIN: 6px 0px 9px; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px
}
.popProd {
	MARGIN: 0px
}
.popProdItem {
	DISPLAY: inline; FLOAT: left; MARGIN: 6px; WIDTH: 174px; POSITION: =
relative; HEIGHT: 84px
}
.popProdItem1col {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; MARGIN: =
0px; PADDING-TOP: 6px
}
.popProdItem IMG {
	FLOAT: left; MARGIN: 0px 8px 6px 0px
}
.popProdItem1col IMG {
	FLOAT: left; MARGIN: 0px 8px 6px 0px
}
.artSeriesNavCont {
	MARGIN: 3px 0px 12px; WIDTH: 784px
}
.artSeriesNavLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/art_series_nav_lt.png'); =
FLOAT: left; WIDTH: 6px; HEIGHT: 118px
}
HTML > BODY .artSeriesNavLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/art_series_nav_lt.png) =
no-repeat left top
}
.artSeriesNavMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/art_series_nav_mid.png'); =
FLOAT: left; WIDTH: 772px; POSITION: relative; HEIGHT: 118px
}
HTML > BODY .artSeriesNavMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/art_series_nav_mid.png) =
repeat-x left top
}
.artSeriesNavRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/art_series_nav_rt.png'); =
FLOAT: left; WIDTH: 6px; HEIGHT: 118px
}
HTML > BODY .artSeriesNavRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/art_series_nav_rt.png) =
no-repeat left top
}
.artSeriesNavTopSect {
	MARGIN: 8px 0px 0px 5px; WIDTH: 735px; HEIGHT: 75px
}
.artSeriesNavImgCont {
	PADDING-RIGHT: 15px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 1px 0px 0px 1px; PADDING-TOP: 0px; POSITION: relative
}
.artSeriesNavImgContBlog {
	PADDING-RIGHT: 15px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 1px 0px 0px 1px; PADDING-TOP: 0px; POSITION: relative
}
.artSeriesNavImg {
	OVERFLOW: hidden; WIDTH: 92px; HEIGHT: 61px
}
.artSeriesNavImgOverlay {
	Z-INDEX: 1; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/art_series_img_overlay.png=
'); LEFT: -1px; WIDTH: 94px; POSITION: absolute; TOP: -1px; HEIGHT: 64px
}
HTML > BODY .artSeriesNavImgOverlay {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/art_series_img_overlay.png) =
no-repeat left top
}
.artSeriesNavTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
20px; FLOAT: left; PADDING-BOTTOM: 6px; WIDTH: 510px; LINE-HEIGHT: 20px; =
PADDING-TOP: 4px
}
.artSeriesNavSubtitle {
	FONT-WEIGHT: bold; FLOAT: left; WIDTH: 510px; LINE-HEIGHT: 15px
}
.artPgNav {
	MARGIN: 4px 0px 8px
}
.artMediaPgNav {
	MARGIN: 4px 0px 0px
}
.artSeriesNavBtmSect {
	MARGIN: 0px 0px 0px 5px
}
.artSeriesNavFormMenu {
	FLOAT: left; MARGIN: 0px 4px 0px 0px; HEIGHT: 24px
}
.artSeriesNavFormMenuLabel {
	FONT-WEIGHT: bold; FLOAT: left; MARGIN: 6px 4px 0px 0px; LINE-HEIGHT: =
11px
}
.artPgNav SELECT {
	FLOAT: left; MARGIN: 0px; WIDTH: 315px
}
.artMediaPgNav SELECT {
	FLOAT: left; MARGIN: 0px; WIDTH: 315px
}
.artSeriesNavFormMenu SELECT {
	FLOAT: left; MARGIN: 0px; WIDTH: 315px
}
.artPgNav SELECT {
	WIDTH: 310px; MARGIN-RIGHT: 4px
}
.artMediaPgNav SELECT {
	WIDTH: 310px; MARGIN-RIGHT: 4px
}
A.btnArtNavLt {
	DISPLAY: block; FLOAT: left; WIDTH: 22px; CURSOR: pointer; POSITION: =
relative; TOP: -2px; HEIGHT: 24px
}
A.btnArtNavRt {
	DISPLAY: block; FLOAT: left; WIDTH: 22px; CURSOR: pointer; POSITION: =
relative; TOP: -2px; HEIGHT: 24px
}
A.btnArtNavLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/btn_art_lt.png')
}
A.btnArtNavRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/btn_art_rt.png')
}
HTML > BODY A.btnArtNavLt {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_art_lt.png)
}
HTML > BODY A.btnArtNavRt {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_art_rt.png)
}
A.btnArtNavLt:hover {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/btn_art_lt_over.png'); =
BACKGROUND-COLOR: transparent
}
A.btnArtNavRt:hover {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/btn_art_rt_over.png'); =
BACKGROUND-COLOR: transparent
}
HTML > BODY A.btnArtNavLt:hover {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_art_lt_over.png)
}
HTML > BODY A.btnArtNavRt:hover {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_art_rt_over.png)
}
.toolbarCont {
	MARGIN: 0px 0px 15px
}
.prodSpecs .toolbarCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 12px; FLOAT: left; PADDING-BOTTOM: =
6px; MARGIN: 0px; PADDING-TOP: 9px; HEIGHT: 13px
}
.dlDetPghdCont .toolbarCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 12px; FLOAT: left; PADDING-BOTTOM: =
6px; MARGIN: 0px; PADDING-TOP: 9px; HEIGHT: 13px
}
A.toolbarMyPagesUnsaved {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 6px 0px 0px; HEIGHT: 13px
}
A.toolbarMyPagesSaved {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 6px 0px 0px; HEIGHT: 13px
}
A.toolbarPrint {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 6px 0px 0px; HEIGHT: 13px
}
A.toolbarEmail {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 6px 0px 0px; HEIGHT: 13px
}
A.toolbarComment {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 6px 0px 0px; HEIGHT: 13px
}
A.toolbarRss {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 6px 0px 0px; HEIGHT: 13px
}
A.toolbarMyPagesUnsaved {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_mypages.gif); =
WIDTH: 109px
}
A.toolbarMyPagesSaved {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_mypages.gif); =
WIDTH: 109px
}
A.toolbarPrint {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_print.gif); =
WIDTH: 52px
}
A.toolbarEmail {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_email.gif); =
WIDTH: 55px
}
A.toolbarComment {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_comment.gif); =
WIDTH: 69px
}
A.toolbarRss {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_rss.gif); =
WIDTH: 37px
}
A.toolbarMyPagesUnsaved {
	BACKGROUND-POSITION: 0px 0px
}
A.toolbarPrint {
	BACKGROUND-POSITION: 0px 0px
}
A.toolbarEmail {
	BACKGROUND-POSITION: 0px 0px
}
A.toolbarComment {
	BACKGROUND-POSITION: 0px 0px
}
A.toolbarRss {
	BACKGROUND-POSITION: 0px 0px
}
A.toolbarMyPagesUnsaved:hover {
	BACKGROUND-POSITION: 0px -13px
}
A.toolbarPrint:hover {
	BACKGROUND-POSITION: 0px -13px
}
A.toolbarEmail:hover {
	BACKGROUND-POSITION: 0px -13px
}
A.toolbarComment:hover {
	BACKGROUND-POSITION: 0px -13px
}
A.toolbarRss:hover {
	BACKGROUND-POSITION: 0px -13px
}
A.toolbarMyPagesSaved {
	BACKGROUND-POSITION: 0px -26px; BACKGROUND-COLOR: transparent
}
A.toolbarMyPagesSaved:hover {
	BACKGROUND-POSITION: 0px -26px; BACKGROUND-COLOR: transparent
}
.artCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: =
10px; MARGIN: 4px 8px 4px 16px; WIDTH: 360px; LINE-HEIGHT: 18px; =
PADDING-TOP: 0px
}
.artCont P A {
	BORDER-BOTTOM: #990000 1px dotted
}
.inlineBox A {
	BORDER-BOTTOM: #990000 1px dotted
}
.blogCont {
	MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 12px
}
.mediaCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.embeddedDuoMedia {
	BORDER-RIGHT: #484848 1px solid; BORDER-TOP: #484848 1px solid; =
BACKGROUND: #ededed; BORDER-LEFT: #484848 1px solid; WIDTH: 382px; =
BORDER-BOTTOM: #484848 1px solid; HEIGHT: 318px; TEXT-ALIGN: center
}
.tstCont {
	PADDING-RIGHT: 0px; MARGIN-TOP: 1px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 552px; PADDING-TOP: 0px
}
.artSubhdCont {
	MARGIN: 0px; WIDTH: 100%
}
.artSubhd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; PADDING-TOP: 3px
}
.artSubhd A {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; MARGIN: =
0px; PADDING-TOP: 2px
}
.artSubhd .dividerDotted {
	MARGIN: 0px 0px 15px
}
.artTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
24px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px 2px; LINE-HEIGHT: 28px; =
PADDING-TOP: 0px
}
.prodSpecs .artTitle {
	FLOAT: left; MARGIN: 0px
}
.dlDetPghdCont .artTitle {
	FLOAT: left; MARGIN: 0px
}
.blogTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; =
PADDING-TOP: 0px
}
.artSubtitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 6px; LINE-HEIGHT: 19px; =
PADDING-TOP: 0px
}
.artPart {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 17px; LINE-HEIGHT: 15px; =
PADDING-TOP: 0px; FONT-STYLE: italic
}
.artByline {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
.artDate {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 20px; COLOR: #999999; PADDING-TOP: 0px
}
.artGrafHd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 12px; LINE-HEIGHT: 18px; =
PADDING-TOP: 0px; POSITION: relative
}
.sizedArtImg {
	FLOAT: left; POSITION: relative
}
.artImgCont_r {
	FLOAT: right; MARGIN: 10px 0px 10px 25px; WIDTH: auto; POSITION: =
relative
}
.artImgCont_l {
	FLOAT: left; MARGIN: 10px 15px 10px 0px; WIDTH: auto; POSITION: =
relative
}
.artImgCont1Col {
	FLOAT: right; MARGIN: 10px 0px 10px 10px; WIDTH: 170px; POSITION: =
relative
}
.artImgCont2Col {
	FLOAT: right; MARGIN: 10px 0px; WIDTH: 360px; POSITION: relative
}
.artImg {
	CLEAR: left; FLOAT: right; POSITION: relative
}
.artCaption {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FLOAT: left; MARGIN: 6px 0px 0px; =
COLOR: #404040; LINE-HEIGHT: 16px; POSITION: relative
}
.artCaption .credit {
	FONT-WEIGHT: normal; COLOR: #959595
}
.subhdCont {
	MARGIN: 4px; HEIGHT: 220px
}
.subhdContBlogList {
	MARGIN: 4px 8px 4px 12px
}
.artFullHd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
18px; PADDING-BOTTOM: 0px; MARGIN: -4px 0px 6px; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px
}
.relSetRecent {
	FLOAT: left; WIDTH: 50%
}
.sectionCol2 .relSet {
	FLOAT: left; WIDTH: 50%
}
.relSetRecent {
	MARGIN: 6px 0px 0px
}
.relCat {
	FONT-WEIGHT: bold; MARGIN: 7px 0px 6px; COLOR: #404040
}
.relCatLink {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
2px; WIDTH: 180px; CURSOR: pointer; PADDING-TOP: 2px; POSITION: relative
}
.relCatLink A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 18px; FONT-WEIGHT: =
normal; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
HTML > BODY .relCatLink A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.relCatLink A.myPagesUnsaved {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; POSITION: absolute; TOP: 4px
}
.relCatLink A.myPagesSaved {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; POSITION: absolute; TOP: 4px
}
.relCat UL LI A {
	FONT-WEIGHT: normal
}
TABLE.artTestSpecs {
	BORDER-RIGHT: #bdbdbe 1px solid; BORDER-TOP: #bdbdbe 1px solid; =
FONT-SIZE: 13px; MARGIN: 4px 8px 4px 16px; BORDER-LEFT: #bdbdbe 1px =
solid; WIDTH: 360px; BORDER-BOTTOM: #bdbdbe 1px solid
}
TABLE.artTestSpecs TH {
	BORDER-RIGHT: #bdbdbe 0px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#bdbdbe 0px solid; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #bdbdbe 0px solid; =
PADDING-TOP: 0px; BORDER-BOTTOM: #bdbdbe 1px solid; WHITE-SPACE: nowrap; =
HEIGHT: 27px; TEXT-ALIGN: left
}
TABLE.artTestSpecs TD {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/divider_dash.gif) repeat-x =
left bottom; PADDING-BOTTOM: 8px; LINE-HEIGHT: 18px; PADDING-TOP: 7px
}
TABLE.artTestSpecs TD.noDivider {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 7px; PADDING-TOP: 7px
}
H3.artTestsHdHd {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 0px
}
.testReportChart {
	PADDING-RIGHT: 8px; PADDING-LEFT: 18px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 3px
}
.testReportRowHeadLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_lt.gi=
f) no-repeat right top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.testReportRowHeadRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_rt.gi=
f) no-repeat left top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.testReportRowHeadDivider {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_div.g=
if) no-repeat left top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.testReportRowHeadMid {
	PADDING-RIGHT: 8px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_mid.g=
if) #cc0000 repeat-x left top; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: =
16px 0px 0px; WIDTH: 163px; COLOR: #ffffff; PADDING-TOP: 3px; HEIGHT: =
17px
}
TABLE.testReportTableTop {
	MARGIN: 0px
}
TABLE.testReportTable {
	MARGIN: 8px 0px 0px
}
TABLE.testReportTableTop TH {
	BORDER-RIGHT: #e5e5e5 0px solid; BORDER-TOP: #e5e5e5 0px solid; =
BORDER-LEFT: #e5e5e5 0px solid; WIDTH: 362px; BORDER-BOTTOM: #e5e5e5 1px =
solid
}
TABLE.testReportTable TH {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; BACKGROUND: =
#e0eaf9; PADDING-BOTTOM: 4px; WIDTH: 362px; COLOR: #000000; PADDING-TOP: =
3px; TEXT-ALIGN: left
}
TABLE.testReportTableTop TD {
	BORDER-RIGHT: #e5e5e5 0px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#e5e5e5 0px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 4px; BORDER-LEFT: =
#e5e5e5 1px solid; WIDTH: 163px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#e5e5e5 1px solid
}
TABLE.testReportTable TD {
	BORDER-RIGHT: #e5e5e5 0px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#e5e5e5 0px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 4px; BORDER-LEFT: =
#e5e5e5 1px solid; WIDTH: 163px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#e5e5e5 1px solid
}
.testReportSummary {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; MARGIN: =
0px; WIDTH: 362px; PADDING-TOP: 0px
}
.testReportSummaryHow {
	PADDING-RIGHT: 0px; PADDING-LEFT: 11px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 351px; PADDING-TOP: 0px
}
.testReportHow {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
18px 0px 8px; WIDTH: 181px; PADDING-TOP: 0px
}
.testReportHowHd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1px; MARGIN: =
0px; PADDING-TOP: 0px
}
.testReportItems {
	PADDING-RIGHT: 0px; PADDING-LEFT: 11px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.listArrowSetTestReport {
	DISPLAY: block
}
UL.listArrowSetTestReport {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
UL.listArrowSetTestReport LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
LIST-STYLE-IMAGE: =
url(http://images.pcworld.com/images/common/icon_arrow_b.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
A.listArrowItemTestReport {
	PADDING-RIGHT: 3px; DISPLAY: inline; PADDING-LEFT: 3px; LEFT: -4px; =
PADDING-BOTTOM: 1px; MARGIN-LEFT: -3px; PADDING-TOP: 1px; POSITION: =
relative; TOP: -2px
}
HTML > BODY A.listArrowItemTestReport {
	DISPLAY: block; POSITION: relative; TOP: 0px
}
.testReportTableCat {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 24px; PADDING-TOP: 0px
}
HTML > BODY TABLE.testReportTableTop {
	BORDER-COLLAPSE: separate
}
TABLE.testReportTableTop TD:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 0px
}
HTML > BODY TABLE.testReportTable {
	BORDER-COLLAPSE: separate
}
TABLE.testReportTable TD:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 0px
}
TABLE.testReportPricingTable {
	MARGIN: 4px 0px 0px; WIDTH: 364px
}
TABLE.testReportPricingTable TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
TABLE.testReportPricingTable A {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
#FeatureViewer {
	WIDTH: 576px; BACKGROUND-COLOR: #000
}
#FeatureViewerContent {
	DISPLAY: none
}
.feature {
	DISPLAY: none
}
.featureDate {
	PADDING-RIGHT: 11px; PADDING-LEFT: 0px; FONT-SIZE: 13px; FLOAT: right; =
PADDING-BOTTOM: 0px; COLOR: #ffffff; PADDING-TOP: 0px; POSITION: =
relative; TOP: -2px
}
.alertMessage {
	DISPLAY: none; Z-INDEX: 99; FILTER: alpha(opacity =3D 0); WIDTH: 177px; =
POSITION: absolute; HEIGHT: 90px; opacity: 0; -moz-opacity: 0
}
.alertLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_alert_lt.png');=
 FLOAT: left; WIDTH: 7px; HEIGHT: 90px
}
HTML > BODY .alertLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_alert_lt.png) =
no-repeat left bottom
}
.alertRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_alert_rt.png');=
 FLOAT: left; WIDTH: 7px; HEIGHT: 90px
}
HTML > BODY .alertRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_alert_rt.png) =
no-repeat left bottom
}
.alertMid {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_alert_mid.png')=
; FLOAT: left; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; HEIGHT: 90px
}
HTML > BODY .alertMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_alert_mid.png) =
repeat-x left bottom
}
.alertText {
	BACKGROUND: #f2dfdf; FILTER: alpha(opacity =3D 100); MARGIN: 31px 5px; =
WIDTH: 153px; HEIGHT: 28px; TEXT-ALIGN: center
}
HTML > BODY .alertText {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.drawerContainer {
	OVERFLOW: hidden; HEIGHT: 0px
}
.drawer {
	RIGHT: 0px; BOTTOM: 0px; POSITION: absolute
}
.windowShadeContainer {
	OVERFLOW: hidden; POSITION: absolute; HEIGHT: 0px
}
.windowShade {
	VISIBILITY: hidden; POSITION: relative
}
.myPages {
	WIDTH: 196px; COLOR: #ffffff
}
.myPagesBtm {
	MARGIN: 0px 4px 7px; HEIGHT: 1px
}
.myPages A {
	COLOR: #ffffff
}
A.myPagesBtnOff {
	DISPLAY: block; PADDING-LEFT: 30px; BACKGROUND: =
url(http://images.pcworld.com/images/common/btn_mypages.gif) no-repeat =
left top; WIDTH: 166px; CURSOR: pointer; COLOR: #000000; PADDING-TOP: =
7px; HEIGHT: 16px
}
A.myPagesBtnOn {
	DISPLAY: block; PADDING-LEFT: 30px; BACKGROUND: =
url(http://images.pcworld.com/images/common/btn_mypages.gif) no-repeat =
left top; WIDTH: 166px; CURSOR: pointer; COLOR: #000000; PADDING-TOP: =
7px; HEIGHT: 16px
}
A.myPagesBtnOff:hover {
	BACKGROUND-POSITION: 0px -23px
}
A.myPagesBtnOn {
	BACKGROUND-POSITION: 0px -46px
}
A.myPagesBtnOn:hover {
	BACKGROUND-POSITION: 0px -69px
}
.myPagesHelpText {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 10px; MARGIN: =
0px 12px 6px; WIDTH: 156px; PADDING-TOP: 10px; BACKGROUND-COLOR: #3c3c3c
}
.myPagesHelpText H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: =
10px; MARGIN: 0px; LINE-HEIGHT: 16px
}
.myPageItem {
	MARGIN: 0px; WIDTH: 196px
}
.myPageOff {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.myPageOn {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_over.png'); =
WIDTH: 196px
}
HTML > BODY .myPageOn {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_over.png) =
repeat-y left bottom
}
.myPagesDrawerTop {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_top.png'); =
HEIGHT: 1px
}
HTML > BODY .myPagesDrawerTop {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_top.png) =
no-repeat left bottom
}
.myPagesDrawerMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_mid.png'); =
WIDTH: 196px; PADDING-TOP: 7px
}
HTML > BODY .myPagesDrawerMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_mid.png) repeat-y =
left bottom
}
.myPagesDrawerBottom {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/bg_mypages_bottom.png'); =
HEIGHT: 8px
}
HTML > BODY .myPagesDrawerBottom {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_mypages_bottom.png) =
no-repeat left bottom
}
.artLinkOff {
	BACKGROUND-COLOR: transparent
}
.artLinkOn {
	BACKGROUND-COLOR: #edd6d7
}
A.removeBtn {
	BACKGROUND-POSITION: 12px 0px; MARGIN-TOP: 6px; DISPLAY: block; =
PADDING-LEFT: 12px; FONT-SIZE: 0px; FLOAT: left; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_remove.gif); =
MARGIN-BOTTOM: 6px; WIDTH: 12px; MARGIN-RIGHT: 4px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 12px
}
A.removeBtn:hover {
	BACKGROUND-POSITION: 12px -12px; BACKGROUND-COLOR: transparent
}
A.myPageLink {
	PADDING-RIGHT: 12px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 5px; WIDTH: 156px; PADDING-TOP: 5px
}
A.myPageLink:hover {
	BACKGROUND-COLOR: transparent
}
A.removeAllBtn {
	BACKGROUND-POSITION: 0px 0px; MARGIN-TOP: 6px; DISPLAY: inline; =
PADDING-LEFT: 20px; FLOAT: left; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_removeall.gif); =
MARGIN-BOTTOM: 2px; MARGIN-LEFT: 8px; WIDTH: 70px; PADDING-TOP: 3px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 20px
}
A.removeAllBtn:hover {
	BACKGROUND-POSITION: 0px -20px; BACKGROUND-COLOR: #3c3c3c
}
.myPagesDivider {
	FONT-SIZE: 0px; BACKGROUND: =
url(http://images.pcworld.com/images/common/mypages_divider.gif) =
repeat-x left bottom; MARGIN-LEFT: 5px; WIDTH: 186px; MARGIN-RIGHT: 5px; =
HEIGHT: 2px
}
A.myPagesUnsaved {
	DISPLAY: block; LEFT: 2px; WIDTH: 15px; TEXT-INDENT: 0px; POSITION: =
absolute; HEIGHT: 9px
}
A.myPagesSaved {
	DISPLAY: block; LEFT: 2px; WIDTH: 15px; TEXT-INDENT: 0px; POSITION: =
absolute; HEIGHT: 9px
}
A.myPagesUnsaved {
	BACKGROUND-POSITION: 0px 0px; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_mypages_unsaved.gif); =
BACKGROUND-REPEAT: no-repeat
}
A.myPagesUnsaved:hover {
	BACKGROUND-POSITION: 0px -9px
}
A.myPagesSaved {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/icon_mypages_saved.gif) =
no-repeat left bottom
}
A.myPagesSaved:hover {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/icon_mypages_saved.gif) =
no-repeat left bottom
}
.imgMyPagesUnsaved {
	WIDTH: 12px; HEIGHT: 9px
}
.prodSpecs {
	PADDING-RIGHT: 0px; PADDING-LEFT: 17px; PADDING-BOTTOM: 20px; WIDTH: =
767px; PADDING-TOP: 0px
}
.prodSpecList {
	MARGIN: 12px 0px 0px
}
.prodSpecHead {
	FONT-WEIGHT: bold
}
.prodOverview {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; MARGIN: =
0px 0px 0px 17px; WIDTH: 560px; PADDING-TOP: 0px
}
.prodOverviewHead {
	FONT-WEIGHT: bold
}
.prodBadge {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
12px; PADDING-TOP: 0px
}
.prodCredit {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; FLOAT: left; PADDING-BOTTOM: =
12px; WIDTH: 180px; PADDING-TOP: 0px; HEIGHT: 75px
}
.prodCreditItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.prodCreditItem .testCenterIcon {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: right; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px
}
.prodProCon {
	FLOAT: left; WIDTH: 254px
}
.prodProCon UL {
	MARGIN: 8px 0px
}
.prodOverviewHeadLtPro {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_spec_head_lt_pro.png'=
); FLOAT: left; WIDTH: 20px; HEIGHT: 23px
}
HTML > BODY .prodOverviewHeadLtPro {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_spec_head_lt_pro.png) =
no-repeat right bottom
}
.prodOverviewHeadLtCon {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_spec_head_lt_con.png'=
); FLOAT: left; WIDTH: 20px; HEIGHT: 23px
}
HTML > BODY .prodOverviewHeadLtCon {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_spec_head_lt_con.png) =
no-repeat right bottom
}
.prodOverviewHeadMid {
	PADDING-RIGHT: 0px; PADDING-LEFT: 6px; FONT-SIZE: 13px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_spec_head_mid.png'); =
FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 224px; COLOR: #ffffff; =
PADDING-TOP: 3px; HEIGHT: 20px
}
HTML > BODY .prodOverviewHeadMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_spec_head_mid.png) =
repeat-x left bottom
}
.prodOverviewHeadRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_spec_head_rt.png'); =
FLOAT: left; WIDTH: 4px; HEIGHT: 23px
}
HTML > BODY .prodOverviewHeadRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_spec_head_rt.png) =
no-repeat left bottom
}
.prodGallery {
	PADDING-RIGHT: 13px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 285px; PADDING-TOP: 0px
}
.prodGalleryTop {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_prod_gallery_top.gif) =
no-repeat left bottom; WIDTH: 285px; HEIGHT: 4px
}
.prodGalleryMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_prod_gallery_mid.gif) =
repeat-y left bottom; PADDING-BOTTOM: 0px; WIDTH: 275px; PADDING-TOP: =
0px; HEIGHT: 207px
}
.prodGalleryThumbLt {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_prod_gallery_thumb_lt.gif)=
 no-repeat right bottom; FLOAT: left; PADDING-BOTTOM: 6px; WIDTH: 45px; =
PADDING-TOP: 1px; HEIGHT: 38px
}
.prodGalleryThumbMid {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_prod_gallery_thumb_mid.gif=
) no-repeat left bottom; FLOAT: left; PADDING-BOTTOM: 6px; WIDTH: 45px; =
PADDING-TOP: 1px; HEIGHT: 38px
}
.prodGalleryThumbRt {
	PADDING-RIGHT: 5px; PADDING-LEFT: 1px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_prod_gallery_thumb_rt.gif)=
 no-repeat left bottom; FLOAT: left; PADDING-BOTTOM: 6px; WIDTH: 45px; =
PADDING-TOP: 1px; HEIGHT: 38px
}
.prodGalleryImg {
	WIDTH: 275px; HEIGHT: 207px
}
.prodGalleryThumb {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 45px; HEIGHT: 38px; BORDER-RIGHT-WIDTH: 0px
}
.testCenterIcon {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 39px; HEIGHT: 24px; BORDER-RIGHT-WIDTH: 0px
}
.prodTabLt {
	DISPLAY: inline; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_lt.png'); FLOAT: =
left; MARGIN: 0px 0px 8px 14px; WIDTH: 3px; HEIGHT: 32px
}
HTML > BODY .prodTabLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_lt.png) no-repeat =
right bottom
}
.prodTabRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_rt.png'); FLOAT: =
left; MARGIN: 0px 0px 8px; WIDTH: 4px; HEIGHT: 32px
}
HTML > BODY .prodTabRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_rt.png) no-repeat =
left bottom
}
.prodTabMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_mid.png'); =
FLOAT: left; MARGIN: 0px 0px 8px; WIDTH: 749px; HEIGHT: 32px
}
HTML > BODY .prodTabMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_mid.png) repeat-x =
left bottom
}
.prodTabItemMid {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_item_mid.png'); =
FLOAT: left; PADDING-TOP: 1px; HEIGHT: 24px
}
HTML > BODY .prodTabItemMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_item_mid.png) =
repeat-x left bottom
}
.prodTabItemRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_item_rt.png'); =
FLOAT: left; MARGIN-BOTTOM: 2px; WIDTH: 3px; HEIGHT: 23px
}
HTML > BODY .prodTabItemRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_item_rt.png) =
no-repeat left bottom
}
.prodTabItemMid A {
	PADDING-RIGHT: 15px; DISPLAY: block; PADDING-LEFT: 14px; FONT-SIZE: =
13px; BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_link.gif) repeat-x =
left top; FLOAT: left; PADDING-BOTTOM: 5px; MARGIN: 1px 0px 2px; =
BORDER-LEFT: #ffffff 1px solid; COLOR: #000000; LINE-HEIGHT: 13px; =
PADDING-TOP: 3px; HEIGHT: 13px
}
.prodTabItemMid A:hover {
	BACKGROUND-POSITION: 0px -21px; BORDER-LEFT: #ebd5d5 1px solid
}
.prodTabItemMid DIV {
	FLOAT: left; WIDTH: 1px; HEIGHT: 24px
}
.prodTabItemMid DIV.on {
	PADDING-RIGHT: 14px; DISPLAY: block; PADDING-LEFT: 14px; FONT-SIZE: =
13px; BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_link_on.png) =
repeat-x left top; FLOAT: left; PADDING-BOTTOM: 7px; WIDTH: auto; COLOR: =
#ffffff; LINE-HEIGHT: 13px; PADDING-TOP: 4px; HEIGHT: 13px
}
.prodTabItemMid DIV.onLt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_link_on_lt.png');=
 LEFT: -1px; WIDTH: 3px; MARGIN-RIGHT: -1px; POSITION: relative; HEIGHT: =
23px
}
HTML > BODY .prodTabItemMid DIV.onLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_link_on_lt.png) =
no-repeat right top
}
.prodTabItemMid DIV.onRt {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_link_on_rt.png');=
 LEFT: 1px; MARGIN-LEFT: -1px; WIDTH: 3px; POSITION: relative; HEIGHT: =
23px
}
HTML > BODY .prodTabItemMid DIV.onRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_link_on_rt.png) =
no-repeat left top
}
.prodTabItemMid DIV.onFirst {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_link_on_first.png) =
no-repeat right top; LEFT: -1px; WIDTH: 2px; MARGIN-RIGHT: -1px; =
POSITION: relative; HEIGHT: 23px
}
.prodTabItemMid DIV.onLast {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_link_on_last.png) =
no-repeat left top; LEFT: 1px; MARGIN-LEFT: -1px; WIDTH: 2px; POSITION: =
relative; HEIGHT: 23px
}
.prodTabLtHighlight {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/prod_tab_lt_highlight.png'=
); WIDTH: 1px; HEIGHT: 7px
}
HTML > BODY .prodTabLtHighlight {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/prod_tab_lt_highlight.png) =
no-repeat left bottom
}
.prodPricing {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: #ffffff; =
PADDING-BOTTOM: 5px; WIDTH: 168px; PADDING-TOP: 8px; HEIGHT: 90px
}
.prodPricingHead {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
TABLE.prodPricingTable {
	MARGIN: 4px 0px 0px; WIDTH: 168px
}
TABLE.prodPricingTable A {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
TABLE.prodPricingTable .prodPrice {
	TEXT-ALIGN: right
}
.prodImgMed {
	WIDTH: 51px; HEIGHT: 51px
}
.prodImgLrg {
	WIDTH: 92px; HEIGHT: 92px
}
.prodImgBorderGry {
	BORDER-RIGHT: #7b7a7a 1px solid; BORDER-TOP: #7b7a7a 1px solid; FLOAT: =
left; BORDER-LEFT: #7b7a7a 1px solid; BORDER-BOTTOM: #7b7a7a 1px solid
}
.prodImgNoBorder {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; MARGIN: 1px; BORDER-RIGHT-WIDTH: 0px
}
.dlPghdCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
4px 11px 16px; WIDTH: 748px; PADDING-TOP: 0px
}
.dlDetPghdCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
4px 11px 16px; WIDTH: 748px; PADDING-TOP: 0px
}
.sectionColC .dlPghdCont {
	WIDTH: 556px
}
.dlCont {
	MARGIN: 4px 4px 11px 16px
}
.dlContShopping {
	MARGIN: 4px 0px 11px 4px
}
.sectionColB .dlCont {
	MARGIN: 4px 4px 11px 16px; WIDTH: 360px
}
.dlDetPghdCont {
	POSITION: relative; HEIGHT: 73px
}
.divBtnsCta {
	MARGIN: 14px 0px 0px
}
A.btnDnloadNow {
	BACKGROUND-POSITION: 0px 0px; FONT-WEIGHT: bold; FONT-SIZE: 15px; =
FLOAT: left; MARGIN: 0px 16px 0px 0px; TEXT-INDENT: 38px; LINE-HEIGHT: =
30px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 32px
}
A.btnBuyNow {
	BACKGROUND-POSITION: 0px 0px; FONT-WEIGHT: bold; FONT-SIZE: 15px; =
FLOAT: left; MARGIN: 0px 16px 0px 0px; TEXT-INDENT: 38px; LINE-HEIGHT: =
30px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 32px
}
A.btnUserReviews {
	BACKGROUND-POSITION: 0px 0px; FONT-WEIGHT: bold; FONT-SIZE: 15px; =
FLOAT: left; MARGIN: 0px 16px 0px 0px; TEXT-INDENT: 38px; LINE-HEIGHT: =
30px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 32px
}
A.btnRateThisProduct {
	BACKGROUND-POSITION: 0px 0px; FONT-WEIGHT: bold; FONT-SIZE: 15px; =
FLOAT: left; MARGIN: 0px 16px 0px 0px; TEXT-INDENT: 38px; LINE-HEIGHT: =
30px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 32px
}
A.btnDnloadNow {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_dnload_now.gif)
}
A.btnBuyNow {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_buy_now.gif)
}
A.btnUserReviews {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/write.gif)
}
A.btnRateThisProduct {
	BACKGROUND-IMAGE: url(http://images.pcworld.com/images/common/rate.gif)
}
A.btnDnloadNow:hover {
	BACKGROUND-POSITION: 0px -32px; BACKGROUND-COLOR: transparent
}
A.btnBuyNow:hover {
	BACKGROUND-POSITION: 0px -32px; BACKGROUND-COLOR: transparent
}
A.btnUserReviews:hover {
	BACKGROUND-POSITION: 0px -32px; BACKGROUND-COLOR: transparent
}
A.btnRateThisProduct:hover {
	BACKGROUND-POSITION: 0px -32px; BACKGROUND-COLOR: transparent
}
.dlDetGlanceSpecs {
	FLOAT: left; MARGIN: 0px 0px 22px; WIDTH: 190px
}
.dlDetGlanceImg {
	BORDER-RIGHT: #404040 1px solid; BORDER-TOP: #404040 1px solid; FLOAT: =
left; OVERFLOW: hidden; BORDER-LEFT: #404040 1px solid; WIDTH: 163px; =
MARGIN-RIGHT: 10px; BORDER-BOTTOM: #404040 1px solid; HEIGHT: 123px
}
.dlDetGlanceImg A IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.dlDetGlanceSet {
	FLOAT: left; MARGIN: 0px 0px 0px 23px; WIDTH: 172px
}
.dlDetGlanceItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; WIDTH: =
172px; PADDING-TOP: 6px
}
.dlDetGlanceAbstract {
	MARGIN: 18px 4px 0px 16px; WIDTH: 556px
}
.dlDetGlanceAbstract .artSubtitle {
	MARGIN: 0px 0px 11px
}
.dlBlurbLeadIn {
=09
}
#template_DL_detail .showcaseAd {
	FLOAT: right
}
.dlPghdCont {
	MARGIN-TOP: 1px
}
.dlAlphaInstr {
	TEXT-INDENT: 3px
}
.dlListSet {
	DISPLAY: inline; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 276px
}
.dlListSetShopping {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 4px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 16px 0px 0px 2px; WIDTH: 276px; =
PADDING-TOP: 0px
}
.dlListSet1col {
	MARGIN: 16px 0px 0px 2px
}
.dlListItem1col {
	MARGIN: 0px 0px 14px
}
.dlListItem {
	MARGIN: 0px 0px 14px; WIDTH: 250px
}
.prcListSet {
	DISPLAY: block; MARGIN: 16px 0px 0px 2px; WIDTH: 100%
}
.prcListItem {
	DISPLAY: inline; FLOAT: left; MARGIN: 0px 0px 14px; WIDTH: 100%
}
.dlCont .artGrafHd {
	MARGIN: 0px 0px 8px
}
.dlAllCont {
	MARGIN: 4px 4px 4px 8px; WIDTH: 572px
}
.dlAllCont TD {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
VERTICAL-ALIGN: top; PADDING-TOP: 7px
}
.dlAllCont TD.fileName {
	WIDTH: 338px
}
.dlAllCont .sponsored {
	BACKGROUND-COLOR: #f5f5f6
}
.dlAllCont .sponsoredShade {
	BACKGROUND-COLOR: #eaeaeb
}
.dlAllCont .shade {
	BACKGROUND-COLOR: #f0f5fc
}
.dlAllCont TD.sponsored {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/label_sponsored.gif) #f5f5f6 =
no-repeat 8px 8px; PADDING-BOTTOM: 7px; PADDING-TOP: 20px
}
.dlAllCont TD.sponsoredShade {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/label_sponsored_shade.gif) =
#eaeaeb no-repeat 8px 8px; PADDING-BOTTOM: 7px; PADDING-TOP: 20px
}
.dlAllCont A {
	FONT-WEIGHT: bold
}
.dlAllCont .productInfo {
	FONT-SIZE: 13px; LINE-HEIGHT: 18px
}
.dlAllCont .dlReviewed {
	FLOAT: left; WIDTH: 254px
}
.dlAllCont .badge {
	FLOAT: right; MARGIN: 0px 0px 0px 6px; WIDTH: 61px
}
.dlAllCont A.linkListTopic {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
3px; PADDING-TOP: 3px
}
.prodAllCont {
	MARGIN: 4px 8px 4px 16px; WIDTH: 360px
}
.prodAllCont .sponsored {
	BACKGROUND-COLOR: #f5f5f6
}
.prodAllCont .sponsoredShade {
	BACKGROUND-COLOR: #eaeaeb
}
.prodAllCont .shade {
	BACKGROUND-COLOR: #f0f5fc
}
.prodAllCont TD {
	TEXT-ALIGN: center
}
.prodAllCont TD.sponsored {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/label_sponsored.gif) #f5f5f6 =
no-repeat 8px 8px; PADDING-BOTTOM: 7px; PADDING-TOP: 20px
}
TABLE.prodAllCont TH.sortable {
	CURSOR: default; COLOR: #000000
}
.prodAllCont TD.sponsoredShade {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/label_sponsored_shade.gif) =
#eaeaeb no-repeat 8px 8px; PADDING-BOTTOM: 7px; PADDING-TOP: 20px
}
.newsletterForm {
	PADDING-RIGHT: 17px; PADDING-LEFT: 17px; FONT-SIZE: 13px; =
PADDING-BOTTOM: 20px; WIDTH: 750px; LINE-HEIGHT: 18px; PADDING-TOP: 1px
}
.newsletterDesc {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 14px; WIDTH: =
564px; PADDING-TOP: 14px
}
.newsletterSample {
	BORDER-RIGHT: #aeaeae 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#aeaeae 1px solid; PADDING-LEFT: 2px; BACKGROUND: #cccccc; =
PADDING-BOTTOM: 2px; MARGIN: 0px 0px 24px; BORDER-LEFT: #aeaeae 1px =
solid; WIDTH: 558px; PADDING-TOP: 2px; BORDER-BOTTOM: #aeaeae 1px solid; =
HEIGHT: 153px
}
.newsletterImg {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 558px; HEIGHT: 153px; BORDER-RIGHT-WIDTH: 0px
}
.newsletterStep {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 5px; LINE-HEIGHT: 20px; PADDING-TOP: 5px
}
.newsletterEmailLabel {
	DISPLAY: block; FONT-SIZE: 11px; MARGIN: 14px 0px 4px; LINE-HEIGHT: =
14px
}
.newsletterEmailField {
	FONT-SIZE: 13px
}
.newsletterInstructions {
	MARGIN: 14px 0px
}
.newsletterList {
	FLOAT: left; WIDTH: 375px
}
.newsletterListHead {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 14px 0px; LINE-HEIGHT: 21px
}
.newsletterCheckField {
	FLOAT: left
}
.newsletterListItem {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
14px; WIDTH: 340px; PADDING-TOP: 0px
}
.newsletterFormatField {
	FONT-SIZE: 13px; MARGIN: 14px 0px
}
.newsletterPrivacyField {
	FLOAT: left; MARGIN: 14px 0px
}
.newsletterPrivacyLabel {
	DISPLAY: block; FONT-SIZE: 11px; FLOAT: left; MARGIN: 14px 4px; WIDTH: =
625px; LINE-HEIGHT: 14px
}
.newsletterSubmitBtn {
	FLOAT: right; MARGIN: 11px 0px; WIDTH: 85px; HEIGHT: 25px
}
.formControlsLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_form_controls_lt.gif) =
no-repeat right bottom; FLOAT: left; WIDTH: 2px; HEIGHT: 36px
}
.formControlsMid {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_form_controls_mid.gif) =
repeat-x left bottom; FLOAT: left; PADDING-BOTTOM: 2px; WIDTH: 568px; =
PADDING-TOP: 2px; HEIGHT: 32px
}
.formControlsMid .instructions {
	FONT-WEIGHT: bold; FLOAT: left; MARGIN: 10px 7px 9px; COLOR: #ffffff; =
HEIGHT: 13px
}
.formControlsRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_form_controls_rt.gif) =
no-repeat left bottom; FLOAT: left; WIDTH: 2px; HEIGHT: 36px
}
.bestbuy {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 12px; =
WHITE-SPACE: nowrap
}
.rankedChart {
	PADDING-RIGHT: 4px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
.pricingChart {
	PADDING-RIGHT: 4px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
.rankedChart {
	WIDTH: 572px
}
.btnCompare {
	FLOAT: left; MARGIN: 2px 0px 2px 2px
}
.testCenterLinks .testCenterIcon {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.testCenterLinks {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 18px; =
PADDING-TOP: 0px
}
.testCenterLinks A {
	FONT-WEIGHT: bold
}
HTML TABLE.rankedTable {
	BACKGROUND-COLOR: #ffffff
}
HTML TABLE.pricingTable {
	BACKGROUND-COLOR: #ffffff
}
HTML TABLE.rankedTable {
	WIDTH: 572px
}
.rankedTable .shade {
	BACKGROUND-COLOR: #f0f5fc
}
.pricingTable .shade {
	BACKGROUND-COLOR: #f0f5fc
}
.rankedTable TD.check {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 11px; TEXT-ALIGN: center
}
.pricingTable TD.check {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 11px; TEXT-ALIGN: center
}
.rankedTable TD.rank {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FONT-SIZE: 60px; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; COLOR: #4c79a0; LINE-HEIGHT: =
60px; PADDING-TOP: 11px; TEXT-ALIGN: center
}
.pricingTable TD.rank {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FONT-SIZE: 60px; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; COLOR: #4c79a0; LINE-HEIGHT: =
60px; PADDING-TOP: 11px; TEXT-ALIGN: center
}
.rankedTable TD.name {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 11px; =
PADDING-TOP: 11px
}
.pricingTable TD.name {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 11px; =
PADDING-TOP: 11px
}
.rankedTable TD.rating {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 11px
}
.pricingTable TD.rating {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 11px
}
.pricingSearchCats {
	PADDING-RIGHT: 4px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 0px
}
.pricingSearchCats TABLE {
	BORDER-RIGHT: #7d7d7d 1px solid; BORDER-TOP: #7d7d7d 1px solid; =
BORDER-LEFT: #7d7d7d 1px solid; WIDTH: 100%; BORDER-BOTTOM: #7d7d7d 1px =
solid
}
.pricingSearchCats TD {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 11px; WIDTH: =
50%; PADDING-TOP: 11px
}
.pricingSearchCats TH {
	BORDER-RIGHT: #959595 0px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#959595 0px solid; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #959595 1px solid; =
PADDING-TOP: 0px; BORDER-BOTTOM: #959595 1px solid; WHITE-SPACE: nowrap; =
HEIGHT: 27px; TEXT-ALIGN: left
}
.comparisonName {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 3px; CURSOR: pointer; =
PADDING-TOP: 3px; POSITION: relative
}
.comparisonName A {
	DISPLAY: block; FONT-WEIGHT: bold; TEXT-INDENT: 15px
}
.comparisonName A.myPagesUnsaved {
	TOP: 5px
}
.comparisonName A.myPagesSaved {
	TOP: 5px
}
TD.name .prodImgLrg {
	FLOAT: left
}
.comparisonStats {
	PADDING-RIGHT: 12px; PADDING-LEFT: 12px; FLOAT: left; PADDING-BOTTOM: =
8px; WIDTH: 205px; LINE-HEIGHT: 16px; PADDING-TOP: 0px
}
.comparisonSummary {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
LINE-HEIGHT: 16px; PADDING-TOP: 10px
}
.comparisonStats A {
	FONT-WEIGHT: bold
}
.comparisonSummary A {
	FONT-WEIGHT: bold
}
.rankedChartAd {
	BORDER-RIGHT: #7d7d7d 1px solid; PADDING-RIGHT: 8px; =
BACKGROUND-POSITION: center 12px; BORDER-TOP: #7d7d7d 0px solid; =
PADDING-LEFT: 8px; BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/ad_label_gray.gif); =
PADDING-BOTTOM: 12px; BORDER-LEFT: #7d7d7d 1px solid; WIDTH: 554px; =
PADDING-TOP: 30px; BORDER-BOTTOM: #7d7d7d 0px solid; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-COLOR: #eaeaeb
}
.rankedChartAd A {
	FONT-WEIGHT: bold
}
.sideBySideChart {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 8px
}
TABLE.sideBySideHead {
	BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 0px solid; =
BORDER-LEFT: #ffffff 1px solid; BORDER-BOTTOM: #ffffff 0px solid; =
BORDER-COLLAPSE: collapse
}
TABLE.sideBySideHead TD {
	BORDER-RIGHT: #e5e5e5 0px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#e5e5e5 1px solid; PADDING-LEFT: 8px; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; BORDER-LEFT: #e5e5e5 1px =
solid; WIDTH: 136px; PADDING-TOP: 15px; BORDER-BOTTOM: #e5e5e5 0px =
solid; TEXT-ALIGN: left
}
HTML > BODY TABLE.sideBySideHead {
	BORDER-COLLAPSE: separate
}
TABLE.sideBySideHead TD:first-child {
	BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
TABLE.sideBySideHead .testCenterIcon {
	MARGIN: 0px 0px 8px
}
TABLE.sideBySideHead TD.productInfo {
	TEXT-ALIGN: center
}
TABLE.sideBySideHead TD.productInfo DIV {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
TABLE.sideBySideHead .productLinks {
	TEXT-ALIGN: left
}
TABLE.sideBySideHead A {
	FONT-WEIGHT: bold
}
.sideBySideRowHeadLt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_lt.gi=
f) no-repeat right top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.sideBySideRowHeadRt {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_rt.gi=
f) no-repeat left top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.sideBySideRowHeadDivider {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_div.g=
if) no-repeat left top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.sideBySideRowHeadMid {
	PADDING-RIGHT: 8px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_mid.g=
if) repeat-x left top; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 16px =
0px 0px; WIDTH: 136px; COLOR: #ffffff; PADDING-TOP: 3px; HEIGHT: 17px
}
.sideBySideRowHeadMidProd {
	PADDING-RIGHT: 8px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_mid.g=
if) repeat-x left top; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 16px =
0px 0px; COLOR: #ffffff; PADDING-TOP: 3px; HEIGHT: 17px
}
TABLE.sideBySideTable {
	BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 0px solid; MARGIN: =
8px 0px 0px; BORDER-LEFT: #ffffff 1px solid; BORDER-BOTTOM: #ffffff 0px =
solid; BORDER-COLLAPSE: collapse
}
TABLE.sideBySideTable TH {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; BACKGROUND: =
#e0eaf9; PADDING-BOTTOM: 4px; WIDTH: 136px; PADDING-TOP: 3px
}
TABLE.sideBySideTable TD {
	BORDER-RIGHT: #e5e5e5 0px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#e5e5e5 0px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 4px; BORDER-LEFT: =
#e5e5e5 1px solid; WIDTH: 136px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#e5e5e5 1px solid
}
HTML > BODY TABLE.sideBySideTable {
	BORDER-COLLAPSE: separate
}
TABLE.sideBySideTable TD:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 0px
}
DIV.sideBySideProdImg {
	MARGIN: 8px
}
TABLE.nonsortable {
	BORDER-RIGHT: #7d7d7d 1px solid; BORDER-TOP: #7d7d7d 1px solid; MARGIN: =
0px 0px 12px 8px; BORDER-LEFT: #7d7d7d 1px solid; BORDER-BOTTOM: #7d7d7d =
1px solid; BORDER-COLLAPSE: collapse
}
HTML > BODY TABLE.nonsortable {
	BORDER-COLLAPSE: separate
}
TABLE.nonsortable TD {
	BORDER-RIGHT: #bdbdbe 0px solid; BORDER-TOP: #bdbdbe 0px solid; =
BORDER-LEFT: #bdbdbe 1px solid; BORDER-BOTTOM: #bdbdbe 0px solid
}
TABLE.nonsortable TR TD:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
TABLE.nonsortable TH {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; WHITE-SPACE: nowrap; =
HEIGHT: 1px; TEXT-ALIGN: left
}
TABLE.nonsortable TR TH:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 0px
}
.dlAllCont TD.spnfileName {
	WIDTH: 351px
}
.spnDwnlLinks A {
	FONT-WEIGHT: bold
}
.dlAllCont .spnproductInfo {
	FONT-SIZE: 13px; FLOAT: left; WIDTH: 430px; LINE-HEIGHT: 18px
}
.prodAllCont TD.spnfileName {
=09
}
.prodAllCont .spnproductInfo {
	FONT-SIZE: 13px; FLOAT: left; LINE-HEIGHT: 18px
}
.prodAllCont .spnproductInfo {
	FONT-SIZE: 13px; FLOAT: left; LINE-HEIGHT: 18px
}
.reviewLrgVertMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 4px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_m=
id.png'); PADDING-BOTTOM: 0px; WIDTH: 52px; PADDING-TOP: 0px; HEIGHT: =
17px
}
HTML > BODY .reviewLrgVertMid {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_mid.=
png) repeat-y left bottom
}
.reviewLrgVert {
	WIDTH: 52px; HEIGHT: 17px
}
.dlRating {
	WIDTH: 367px
}
.dlprodBadge {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
6px; PADDING-TOP: 0px
}
.userRatingScore {
	WIDTH: 52px; HEIGHT: 17px
}
.userRatingScoreLrgVertMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 4px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_m=
id.png'); PADDING-BOTTOM: 0px; WIDTH: 52px; PADDING-TOP: 0px; HEIGHT: =
34px
}
HTML > BODY .userRatingScoreLrgVertMid {
	BACKGROUND: =
url(http://images.pcworld.com/reviews/graphics/ratings/badges/icon_lrg_ve=
rt/bg_rating_lrg_vert_mid.png) repeat-y left bottom
}
.userRatingScoreSmlVertMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 4px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/common/badge/bg_rating_lrg_vert_m=
id.png'); PADDING-BOTTOM: 0px; WIDTH: 52px; PADDING-TOP: 0px; HEIGHT: =
17px
}
HTML > BODY .userRatingScoreSmlVertMid {
	BACKGROUND: =
url(http://images.pcworld.com/reviews/graphics/ratings/badges/icon_lrg_ve=
rt/bg_rating_lrg_vert_mid.png) repeat-y left bottom; HEIGHT: 17px
}
.userRatingBug {
	BORDER-RIGHT: #900 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #900 1px =
solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
VERTICAL-ALIGN: bottom; BORDER-LEFT: #900 1px solid; PADDING-TOP: 0px; =
BORDER-BOTTOM: #900 1px solid
}
.dluserRatingProdCredit {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; FLOAT: left; PADDING-BOTTOM: =
8px; WIDTH: 298px; PADDING-TOP: 0px; HEIGHT: 36px
}
.dlprodCreditItem {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.dlprodSpecList {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; LINE-HEIGHT: 16px; PADDING-TOP: 6px
}
.formStars {
	PADDING-RIGHT: 9px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.dlformCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px =
12px 11px 16px; WIDTH: 555px; PADDING-TOP: 0px
}
.dlformDescription {
	FONT-SIZE: 13px; MARGIN: 0px 0px 6px
}
.dlfieldDuration {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 26px
}
.dlselectDuration {
	WIDTH: 100px
}
.dlselectDuration {
	MARGIN: 2px 0px 0px
}
.dlsectionSubhdCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; PADDING-BOTTOM: 16px; WIDTH: =
555px; PADDING-TOP: 4px
}
.dlsectionSubhdShortCont {
	MARGIN: 4px 0px 16px 16px; WIDTH: 555px
}
.dlfieldStrengths {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 426px; HEIGHT: 50px
}
.dlfieldReview {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 426px; HEIGHT: 150px
}
.prodformCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px =
12px 11px 16px; WIDTH: 356px; PADDING-TOP: 0px
}
.prodformDescription {
	FONT-SIZE: 13px; MARGIN: 0px 0px 6px
}
.prodfieldDuration {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 26px
}
.prodselectDuration {
	WIDTH: 100px
}
.prodselectDuration {
	MARGIN: 2px 0px 0px
}
.prodsectionSubhdCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 16px; PADDING-BOTTOM: 16px; WIDTH: =
356px; PADDING-TOP: 4px
}
.prodsectionSubhdShortCont {
	MARGIN: 4px 0px 16px 16px; WIDTH: 356px
}
.prodfieldStrengths {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 340px; HEIGHT: 50px
}
.prodfieldReview {
	FLOAT: left; MARGIN: 2px 3px 0px 0px; WIDTH: 340px; HEIGHT: 150px
}
.clear {
	CLEAR: both; FONT-SIZE: 0px; BACKGROUND: none transparent scroll repeat =
0% 0%; MARGIN-BOTTOM: -1px; HEIGHT: 1px
}
.zoomArt {
	MARGIN: 10px 0px
}
.chartSubCat {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
#4c79a0; PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 0px; HEIGHT: =
27px
}
.dlUsrReviewHead {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 6px; LINE-HEIGHT: 18px; =
PADDING-TOP: 0px; POSITION: relative
}
.userReviewCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
11px 11px 16px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.userReviewCont2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 11px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.userReviewAllCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 8px =
0px 0px; PADDING-TOP: 0px
}
TABLE.userReviewTable TH {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 4px; PADDING-TOP: 3px; TEXT-ALIGN: left
}
TABLE.usr_sortable {
	BORDER-RIGHT: #7d7d7d 0px solid; BORDER-TOP: #7d7d7d 1px solid; =
BORDER-LEFT: #7d7d7d 0px solid; BORDER-BOTTOM: #7d7d7d 1px solid; =
BORDER-COLLAPSE: collapse
}
TABLE.usr_sortable TH {
	BORDER-RIGHT: #7d7d7d 1px solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #7d7d7d 1px solid; =
PADDING-TOP: 0px; BORDER-BOTTOM: #7d7d7d 1px solid; WHITE-SPACE: nowrap; =
HEIGHT: 27px; TEXT-ALIGN: left
}
TABLE.usr_sortable TR TH:first-child {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 0px
}
TABLE.usr_sortable TH.usr_sortable {
	COLOR: #990000
}
TABLE.usr_sortable TH.hover {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px -27px
}
TABLE.usr_sortable TH.selected {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px -54px
}
TABLE.userReviewTable TD.review {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 8px; PADDING-LEFT: 8px; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; BORDER-LEFT: #7d7d7d 1px =
solid; WIDTH: 100%; PADDING-TOP: 8px; BORDER-BOTTOM: #bdbdbe 1px solid; =
BORDER-RIGHT-WIDTH: 0px
}
TABLE.userReviewTable TD.reviewLast {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 8px; PADDING-LEFT: 8px; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; BORDER-LEFT: #7d7d7d 1px =
solid; WIDTH: 100%; PADDING-TOP: 8px; BORDER-BOTTOM: #7d7d7d 1px solid; =
BORDER-RIGHT-WIDTH: 0px
}
TABLE.userReviewTable TD.badge {
	BORDER-TOP-WIDTH: 0px; BORDER-RIGHT: #7d7d7d 1px solid; PADDING-RIGHT: =
0px; PADDING-LEFT: 7px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; =
BORDER-LEFT: #bdbdbe 1px solid; WIDTH: 200px; PADDING-TOP: 8px; =
BORDER-BOTTOM: #bdbdbe 1px solid
}
TABLE.userReviewTable TD.badgeLast {
	BORDER-TOP-WIDTH: 0px; BORDER-RIGHT: #7d7d7d 1px solid; PADDING-RIGHT: =
0px; PADDING-LEFT: 7px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; =
BORDER-LEFT: #bdbdbe 1px solid; WIDTH: 200px; PADDING-TOP: 8px; =
BORDER-BOTTOM: #7d7d7d 1px solid
}
.userReviewGrabHead {
	BORDER-RIGHT: #7d7d7d 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#7d7d7d 1px solid; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
#e0eaf9; PADDING-BOTTOM: 0px; BORDER-LEFT: #7d7d7d 1px solid; =
LINE-HEIGHT: 20px; PADDING-TOP: 0px; BORDER-BOTTOM: #7d7d7d 1px solid; =
HEIGHT: 27px; TEXT-ALIGN: left
}
.userReviewBlankRow {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; POSITION: relative; HEIGHT: 18px; BORDER-RIGHT-WIDTH: 0px
}
.dlInterstitial {
	PADDING-RIGHT: 0px; PADDING-LEFT: 84px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 11px
}
.dnload_action {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; FLOAT: left; MARGIN: 0px 16px 0px =
0px; LINE-HEIGHT: 30px; HEIGHT: 32px
}
.inlineBox {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; MARGIN-BOTTOM: 18px; =
PADDING-BOTTOM: 6px; PADDING-TOP: 6px
}
.transitional {
	BACKGROUND-COLOR: #e7eef8
}
.inlineBox_Hed {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; PADDING-BOTTOM: 10px; LINE-HEIGHT: =
18px
}
.inlineBox_Subhed {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
.inlineBox_text {
=09
}
.inlineBox_Tagline {
	FONT-STYLE: italic; TEXT-ALIGN: right
}
.inlineBox OL {
	CLEAR: both
}
.inlineBox UL {
	CLEAR: both
}
.custList {
	MARGIN: 0px
}
.custListLead {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.custListItem2Col IMG {
	FLOAT: left; MARGIN: 2px 8px 0px 0px
}
.custListItem1Col IMG {
	FLOAT: left; MARGIN: 2px 8px 0px 0px
}
.custListLead {
	PADDING-TOP: 8px
}
.custListItem2Col {
	DISPLAY: inline; FLOAT: left; MARGIN: 6px; WIDTH: 364px; POSITION: =
relative
}
.custListTitle2Col {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 3px; WIDTH: 364px; CURSOR: =
pointer; PADDING-TOP: 3px; POSITION: relative
}
.custListTitle2Col A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; TEXT-INDENT: 15px
}
.custListTitle2Col A.myPagesUnsaved {
	TOP: 6px
}
.custListTitle2Col A.myPagesSaved {
	TOP: 6px
}
.custListDek2Col {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 364px; CURSOR: =
default; PADDING-TOP: 2px; POSITION: relative
}
.custListDek2Col A {
	DISPLAY: block; CURSOR: pointer; TEXT-INDENT: 15px
}
.custListDek2Col A.myPagesUnsaved {
	TOP: 6px
}
.custListDek2Col A.myPagesSaved {
	TOP: 6px
}
.custListItem1Col {
	DISPLAY: inline; FLOAT: left; MARGIN: 6px 0px 6px 6px; WIDTH: 170px; =
POSITION: relative
}
.custListTitle1Col {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 1px; WIDTH: 170px; CURSOR: =
pointer; PADDING-TOP: 1px; POSITION: relative
}
.custListTitle1Col A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; TEXT-INDENT: 15px
}
.custListTitle1Col A.myPagesUnsaved {
	TOP: 3px
}
.custListTitle1Col A.myPagesSaved {
	TOP: 3px
}
.custListDek1Col {
	CLEAR: both; PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; =
LEFT: -3px; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 165px; CURSOR: =
pointer; PADDING-TOP: 2px; POSITION: relative
}
.oldtable {
	MARGIN-TOP: 12px; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 14px
}
.oldtable TD {
	BORDER-RIGHT: #7d7d7d 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
#7d7d7d 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: top; BORDER-LEFT: #7d7d7d 1px solid; COLOR: #000000; =
PADDING-TOP: 4px; BORDER-BOTTOM: #7d7d7d 1px solid; BACKGROUND-COLOR: =
#ffffff
}
.oldtable A {
	FONT-WEIGHT: bold; MARGIN-RIGHT: 12px
}
.oldtable TABLE {
	BORDER-RIGHT: #7d7d7d 1px solid; BORDER-TOP: #7d7d7d 1px solid; =
BORDER-LEFT: #7d7d7d 1px solid; BORDER-BOTTOM: #7d7d7d 1px solid; =
BORDER-COLLAPSE: collapse
}
.oldtable TR {
	BORDER-RIGHT: #7d7d7d 1px solid; BORDER-TOP: #7d7d7d 1px solid; =
BORDER-LEFT: #7d7d7d 1px solid; BORDER-BOTTOM: #7d7d7d 1px solid; =
BORDER-COLLAPSE: collapse
}
TABLE.sideBySideHead UL.listArrowSet LI {
	WIDTH: 120px
}
.pgLogo {
	PADDING-RIGHT: 8px; FLOAT: right; WIDTH: 200px; HEIGHT: 23px
}
.srchBtnPG {
	FLOAT: left; MARGIN: 0px; BOTTOM: 3px; POSITION: relative
}
HTML > BODY .srchBtnPG {
	BOTTOM: 4px
}
A.btnHdSearchPG {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; WIDTH: 26px; HEIGHT: =
24px; TEXT-ALIGN: center
}
A.btnHdSearchPG {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/reviews/graphics/pricefinder/btn_hd_search2=
.gif)
}
A.btnHdSearchPG:hover {
	BACKGROUND-POSITION: 0px -24px
}
.srchFldPG {
	PADDING-RIGHT: 8px; FLOAT: left
}
.prodImgLrgPG {
	FLOAT: left; WIDTH: 75px; HEIGHT: 75px
}
.ratingFloat {
	DISPLAY: block; RIGHT: 1px; FLOAT: right; MARGIN: 0px; POSITION: =
relative; TOP: -20px
}
.rankedTable TD.rating2 {
	PADDING-RIGHT: 6px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 11px
}
.usrRating {
	WIDTH: 65px
}
.fixedheight {
	LINE-HEIGHT: 7px
}
.formItem2 {
	FONT-WEIGHT: bold; FLOAT: right; POSITION: relative
}
.divTitleXCol {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; FONT-WEIGHT: =
bold; FONT-SIZE: 14px; FLOAT: left; PADDING-BOTTOM: 3px; WIDTH: 259px; =
CURSOR: pointer; LINE-HEIGHT: 24px; PADDING-TOP: 3px; POSITION: relative
}
HTML TABLE.borders {
	BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: =
1px; WIDTH: 572px; BACKGROUND-COLOR: #ffffff; BORDER-RIGHT-WIDTH: 1px
}
.prodImgLrgPGcompare {
	WIDTH: 75px; HEIGHT: 75px
}
.pricingTab {
	MARGIN: 4px 10px 4px 16px; WIDTH: 562px
}
.pricingTab TD {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
VERTICAL-ALIGN: top; PADDING-TOP: 7px
}
.pricingTab TD.fileName {
	WIDTH: 138px
}
.pricingTabBadge {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 8px; TEXT-ALIGN: center
}
HTML > BODY .pricingTabBadge {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 8px
}
.pricingTab .sponsored {
	BACKGROUND-COLOR: #f5f5f6
}
.pricingTab .sponsoredShade {
	BACKGROUND-COLOR: #eaeaeb
}
.pricingTab .shade {
	BACKGROUND-COLOR: #f0f5fc
}
.pricingTab TD.sponsored {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/label_sponsored.gif) #f5f5f6 =
no-repeat 8px 8px; PADDING-BOTTOM: 7px; PADDING-TOP: 20px
}
.pricingTab TD.sponsoredShade {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://images.pcworld.com/images/common/label_sponsored_shade.gif) =
#eaeaeb no-repeat 8px 8px; PADDING-BOTTOM: 7px; PADDING-TOP: 20px
}
.pricingTab A {
	FONT-WEIGHT: bold
}
.pricingTab .productInfo {
	FONT-SIZE: 13px; FLOAT: left; WIDTH: 271px; LINE-HEIGHT: 18px
}
.pricingTab A.linkListTopic {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
3px; PADDING-TOP: 3px
}
.linkListTopic IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.pgrabTerms {
	MARGIN: 8px
}
.pgLogo {
	PADDING-RIGHT: 8px; FLOAT: right; WIDTH: 200px; HEIGHT: 23px
}
.srchBtnPG {
	FLOAT: left; MARGIN: 0px; BOTTOM: 3px; POSITION: relative
}
HTML > BODY .srchBtnPG {
	BOTTOM: 4px
}
#blockDD2 {
	DISPLAY: block
}
#blockDD3 {
	DISPLAY: block
}
.testReportRowHeadMidBlank {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_side_by_side_rowhead_mid.g=
if) repeat-x left top; FLOAT: left; MARGIN: 16px 0px 0px; WIDTH: 2px; =
HEIGHT: 20px
}
.testReportMfrInfo {
	MARGIN: 8px 4px 0px 0px
}
.pricingInfo2Col {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 8px; MARGIN: 0px 0px 0px 4px; WIDTH: 376px; PADDING-TOP: =
6px
}
.pricingInfoDek {
	PADDING-TOP: 4px
}
.pricingInfoSet {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 186px; PADDING-TOP: 0px
}
.modSolidText A {
	FLOAT: left; WIDTH: 120px; COLOR: #ffffff; HEIGHT: 50px
}
.modSolidText A:hover {
	COLOR: #fff; BACKGROUND-COLOR: transparent
}
.modSolidImg A IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
#FVContainer {
	OVERFLOW: hidden; WIDTH: 576px; BACKGROUND-COLOR: #000
}
#FVNav {
	RIGHT: 0px; OVERFLOW: hidden; WIDTH: 188px; PADDING-TOP: 5px; POSITION: =
absolute; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #a90807
}
#FVNav UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; PADDING-TOP: 0px
}
#FVNav LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#FVNav A {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FONT-SIZE: 11px; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: =
hidden; COLOR: #fff; LINE-HEIGHT: 20px; PADDING-TOP: 2px; HEIGHT: 22px
}
HTML > BODY .FVNav A {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 1px
}
.FVNumber {
	BORDER-RIGHT: #400202 1px solid; BORDER-TOP: #400202 1px solid; =
DISPLAY: block; FONT-SIZE: 11px; FLOAT: left; MARGIN: 0px 6px 0px 4px; =
OVERFLOW: hidden; BORDER-LEFT: #400202 1px solid; WIDTH: 18px; =
LINE-HEIGHT: 15px; BORDER-BOTTOM: #400202 1px solid; HEIGHT: 18px; =
TEXT-ALIGN: center
}
HTML > BODY .FVNumber {
	MARGIN: 0px 8px 0px 7px; LINE-HEIGHT: 19px
}
#FVNav A:link {
	COLOR: #fff
}
#FVNav LI A:hover {
	COLOR: #fff; BACKGROUND-COLOR: #670303
}
.FVNavOn {
	BACKGROUND-COLOR: #670303
}
#FVContent {
	Z-INDEX: 100; LEFT: 0px; WIDTH: 385px; CURSOR: hand; COLOR: #fff; =
POSITION: absolute; TOP: 0px; HEIGHT: 145px
}
#FVContentShadow {
	Z-INDEX: 1; FILTER: alpha(opacity =3D 60); LEFT: 1px; WIDTH: 385px; =
COLOR: #000; POSITION: absolute; TOP: 2px; HEIGHT: 145px; opacity: .60
}
A.FVHdLink {
	COLOR: #fff; TEXT-DECORATION: none
}
A.FVHdLink:link {
	COLOR: #fff; TEXT-DECORATION: none
}
A.FVHdLink:hover {
	COLOR: #fff; TEXT-DECORATION: none
}
#FVContent H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 28px; MARGIN: 8px; WIDTH: =
330px; LINE-HEIGHT: 32px
}
#FVContentShadow H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 28px; MARGIN: 8px; WIDTH: =
330px; LINE-HEIGHT: 32px
}
#FVContent P {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN: 8px; WIDTH: =
330px; LINE-HEIGHT: 18px
}
#FVContentShadow P {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN: 8px; WIDTH: =
330px; LINE-HEIGHT: 18px
}
.btn_readMore {
	LEFT: 0px; FLOAT: left; MARGIN: 8px; BOTTOM: 8px; POSITION: absolute
}
A.readMore_btn {
	DISPLAY: block; FONT-WEIGHT: normal; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
src=3D'http://images.pcworld.com/images/common/btn_readmore.png'); =
WIDTH: 80px; COLOR: #fff; LINE-HEIGHT: 28px; HEIGHT: 28px; TEXT-ALIGN: =
center
}
HTML > BODY A.readMore_btn {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/btn_readmore.png) no-repeat =
left top
}
A.readMore_btn:hover {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
src=3D'http://images.pcworld.com/images/common/btn_readmore_over.png'); =
CURSOR: hand; BACKGROUND-COLOR: transparent
}
HTML > BODY A.readMore_btn:hover {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/btn_readmore_over.png) =
no-repeat left top
}
.priceFilterMain {
	BORDER-RIGHT: #7d7d7d 1px solid; BORDER-TOP: #7d7d7d 1px solid; =
BORDER-LEFT: #7d7d7d 1px solid; WIDTH: 194px; BORDER-BOTTOM: #7d7d7d 1px =
solid
}
.priceFilterMain UL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.priceFilterMain LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.priceFilterHead {
	BORDER-RIGHT: #959595 0px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#959595 0px solid; PADDING-LEFT: 7px; FONT-WEIGHT: bold; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_table_head.gif) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #959595 0px solid; =
PADDING-TOP: 0px; BORDER-BOTTOM: #959595 1px solid; HEIGHT: 26px; =
TEXT-ALIGN: left
}
.priceFilterHd {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px
}
.priceFilterGroup {
	MARGIN: 8px 0px
}
.priceFilterGroupHd {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 3px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #7d7d7d 1px solid; BACKGROUND-COLOR: #ccc
}
.priceFilterSelected {
	BACKGROUND-COLOR: #ccc
}
.priceFilterSelectedHd {
	FONT-WEIGHT: bold
}
.priceFilterCheck {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 3px 0px 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px
}
.priceFilterGroup .priceFilterCheck {
	FLOAT: left
}
.priceFilterCheck IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.priceFilterLegend {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 5px
}
.priceFilterUncheck IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.priceFilterLink {
	MARGIN-LEFT: 12px; WIDTH: 168px
}
.priceCompareHd {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_form_controls_mid.gif) =
repeat-x left bottom
}
.pgProdGallery {
	PADDING-RIGHT: 13px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 135px; PADDING-TOP: 0px
}
.pgProdGalleryTop {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/pg_prod_pix_top.gif) =
no-repeat left bottom; WIDTH: 135px; HEIGHT: 4px
}
.pgProdGalleryMid {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: =
url(http://images.pcworld.com/images/common/pg_prod_pix_mid.gif) =
repeat-y left bottom; PADDING-BOTTOM: 0px; WIDTH: 135px; PADDING-TOP: =
0px; HEIGHT: 125px
}
.pgProdGalleryImg {
	WIDTH: 125px; HEIGHT: 125px
}
.pgProdGalleryBtm {
	BACKGROUND: =
url(http://images.pcworld.com/images/common/pg_prod_pix_btm.gif) =
no-repeat left bottom; WIDTH: 135px; HEIGHT: 6px
}
.pgProdOverview {
	PADDING-RIGHT: 0px; PADDING-LEFT: 17px; PADDING-BOTTOM: 12px; WIDTH: =
571px; PADDING-TOP: 0px
}
.pgUserRatingprodCredit {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; FLOAT: left; PADDING-BOTTOM: =
12px; WIDTH: 336px; PADDING-TOP: 0px
}
.pgProdMrkt {
	PADDING-RIGHT: 0px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
12px; WIDTH: 400px; PADDING-TOP: 0px
}
#tout_search INPUT.field {
	BORDER-RIGHT: #575757 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#575757 1px solid; PADDING-LEFT: 3px; BACKGROUND: #ffffff repeat-x left =
top; PADDING-BOTTOM: 0px; BORDER-LEFT: #575757 1px solid; WIDTH: 220px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #575757 1px solid; HEIGHT: 15px
}
.toutFld_search {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.toutBtn_search {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
A.btnTout_search {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-WEIGHT: normal; =
BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/btn_tout.gif); WIDTH: 29px; =
COLOR: #000000; LINE-HEIGHT: 22px; HEIGHT: 22px; TEXT-ALIGN: center
}
A.btnTout_search:hover {
	BACKGROUND-POSITION: 0px -22px
}
.divError {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 4px 12px 16px 16px; WIDTH: 540px; =
COLOR: #cc0033; LINE-HEIGHT: 24px; PADDING-TOP: 0px; HEIGHT: 25px
}
.vidimage {
	BORDER-RIGHT: #7b7a7a 1px solid; BORDER-TOP: #7b7a7a 1px solid; FLOAT: =
left; MARGIN-BOTTOM: 10px; BORDER-LEFT: #7b7a7a 1px solid; =
BORDER-BOTTOM: #7b7a7a 0px solid; HEIGHT: 93px
}
.vidCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: =
10px; MARGIN: 4px 8px 4px 16px; WIDTH: 760px; LINE-HEIGHT: 18px; =
PADDING-TOP: 0px
}
.vidByline {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 16px; MARGIN: =
0px; PADDING-TOP: 9px
}
.vidByline2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-TOP: 3px; POSITION: =
relative; TOP: -6px
}
.vidSelect {
	FONT-WEIGHT: normal; FLOAT: right; POSITION: relative; TOP: 3px
}
.vidTopicHd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
18px; PADDING-BOTTOM: 0px; MARGIN: 9px 0px 6px 2px; LINE-HEIGHT: 24px; =
PADDING-TOP: 0px
}
.vidSet2Col {
	DISPLAY: inline; FLOAT: left; MARGIN: 0px 4px 0px 6px; WIDTH: 164px
}
.vidDek {
	CLEAR: both; WIDTH: 164px
}
.vidList2col {
	DISPLAY: inline; FLOAT: left; MARGIN: 16px 0px 0px 2px; WIDTH: 276px
}
A.vidButton {
	BACKGROUND-POSITION: 0px 0px; FLOAT: left; BACKGROUND-IMAGE: =
url(http://i.pcworld.com/images/videoplayer/videoroller.gif); WIDTH: =
92px; BACKGROUND-REPEAT: no-repeat; POSITION: relative; HEIGHT: 23px
}
A.vidButton:hover {
	BACKGROUND-POSITION: 0px -27px; BACKGROUND-COLOR: transparent
}
.vidPlaya {
	MARGIN-TOP: 6px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 10px
}
DIV.areaRightVidLib {
	DISPLAY: block; FONT-SIZE: 11px; FLOAT: left; MARGIN: 4px 0px 4px 3px; =
WIDTH: 784px; LINE-HEIGHT: 14px; BACKGROUND-COLOR: #fcfcfd
}
.subsArea {
	FONT-SIZE: 11px; BACKGROUND: =
url(http://images.pcworld.com/resource/graphics/subform/subsback.jpg) =
no-repeat; LEFT: -1px; OVERFLOW: hidden; COLOR: #000000; LINE-HEIGHT: =
14px; FONT-FAMILY: arial, verdana, helvetica, sans-serif; POSITION: =
relative; TOP: 0px; HEIGHT: 206px; TEXT-ALIGN: left
}
HTML > BODY .subsArea {
	LEFT: -1px; WIDTH: 784px; POSITION: relative
}
.subsMagcover {
	RIGHT: 0px; BACKGROUND: =
url(http://images.pcworld.com/shared/graphics/magcovers/magcover2.gif) =
no-repeat; MARGIN: 8px; WIDTH: 200px; POSITION: relative; HEIGHT: 86px
}
.subsLinksLeft {
	FLOAT: left; MARGIN: 8px 8px 8px 14px; FONT: 10px/14px verdana; =
OVERFLOW: hidden; WIDTH: 250px; COLOR: #fff; POSITION: relative; TOP: =
50px
}
A.subPolicyAnchor {
	COLOR: #fff
}
A.subPolicyAnchor:hover {
	BACKGROUND-COLOR: #7390fb
}
.subsLeft {
	MARGIN: 0px; WIDTH: 250px; LINE-HEIGHT: 14px; FONT-FAMILY: verdana; =
POSITION: relative; HEIGHT: 206px
}
.subsCenter {
	LEFT: 257px; MARGIN: 6px; OVERFLOW: hidden; WIDTH: 252px; LINE-HEIGHT: =
15px; FONT-FAMILY: verdana; POSITION: absolute; TOP: 8px
}
A.subButton:hover {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BACKGROUND-COLOR: #ededed; TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: =
0px
}
.subsRight {
	LEFT: 520px; MARGIN: 8px; FONT: 9px/12px verdana, sans-serif; OVERFLOW: =
hidden; WIDTH: 244px; POSITION: absolute; TOP: 6px; HEIGHT: 206px; =
TEXT-ALIGN: left
}
.subsFormText {
	FONT-SIZE: 11px; LINE-HEIGHT: 15px
}
#bookmarkToolbar {
	MARGIN: 0px 0px 15px
}
#bookmarkToolbar A {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FLOAT: left; MARGIN: 0px =
6px 0px 0px; HEIGHT: 13px
}
#bookmarkToolbar A:hover {
	BACKGROUND-POSITION: 0px -13px
}
A.toolbarSlashdot {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_slashdot.gif); =
WIDTH: 92px
}
A.toolbarDigg {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_digg.gif); =
WIDTH: 73px
}
A.toolbarNewsvine {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_newsvine.gif); =
WIDTH: 71px
}
A.toolbarDelicious {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/images/common/icon_toolbar_delicious.gif); =
WIDTH: 81px
}
.formCont2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px =
10px 16px 14px; WIDTH: 760px; PADDING-TOP: 0px
}
.signin {
	BACKGROUND: url(http://images.pcworld.com/images/common/signin.gif) =
no-repeat right top; LEFT: -55px; FLOAT: right; WIDTH: 109px; POSITION: =
relative; HEIGHT: 66px
}
.featContList {
	FLOAT: left; WIDTH: 544px
}
.featContListItem {
	PADDING-RIGHT: 4px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
8px; WIDTH: 544px; PADDING-TOP: 0px
}
.featContListItemTitle {
	FLOAT: left; WIDTH: 196px
}
.featContListItemDesc {
	PADDING-RIGHT: 4px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 340px; PADDING-TOP: 4px
}
STRONG.linkInlineBold {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; =
MARGIN-LEFT: -3px; COLOR: #900; PADDING-TOP: 1px
}

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.pcworld.com/style/newFooter.css

.ftFooter {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; BACKGROUND: =
url(http://images.pcworld.com/shared/graphics/newfooterImg.png) repeat-x =
0px 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: auto; WIDTH: 984px; COLOR: =
#efc7c7; LINE-HEIGHT: 15px; MARGIN-RIGHT: auto; PADDING-TOP: 0px; =
HEIGHT: 154px
}
#ftFooter A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FLOAT: left; =
PADDING-BOTTOM: 2px; COLOR: #f8e7e7; PADDING-TOP: 2px
}
#ftFooter A:hover {
	BACKGROUND-COLOR: #840e0e
}
#ftFooter A.ftText {
	MARGIN: 12px 0px 0px
}
#ftFooter A.ftIconXml {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
14px 0px 0px; PADDING-TOP: 0px
}
#ftFooter A.ftIconXml:hover {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#ftSearch INPUT.field2 {
	BORDER-RIGHT: #9d8888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#9d8888 1px solid; PADDING-LEFT: 3px; BACKGROUND: #edd6d7; =
PADDING-BOTTOM: 0px; BORDER-LEFT: #9d8888 1px solid; WIDTH: 110px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #9d8888 1px solid; HEIGHT: 15px
}
.field2 {
	MARGIN: 2px 0px 0px 4px; WIDTH: 188px
}
.ftToolbarFld {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 4px
}
HTML > BODY .ftToolbarFld {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.ftToolbarBtn {
	FLOAT: left
}
.ftToolbarFld {
	FLOAT: left
}
.ftToolbarSrch {
	FLOAT: left
}
A.btnFtSearch {
	BACKGROUND-POSITION: 0px 0px; DISPLAY: block; FONT-WEIGHT: bold; =
FONT-SIZE: 12px; WIDTH: 44px; LINE-HEIGHT: 20px; HEIGHT: 20px; =
TEXT-ALIGN: center
}
A.btnFtSearch {
	BACKGROUND-IMAGE: =
url(http://images.pcworld.com/shared/graphics/btn_foot_search.gif)
}
A.btnFtSearch:hover {
	BACKGROUND-POSITION: 0px -24px
}
.ftToolbarBtn {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.ftToolbarSrch {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.advSearch A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 0px
}
.ftLt2 {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 2px 0px 0px; WIDTH: 193px; PADDING-TOP: 2px
}
.ftRt2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 6px; FONT-SIZE: 11px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px 6px 0px 2px; WIDTH: 763px; COLOR: #fff; =
PADDING-TOP: 8px
}
.ftRt2 A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px
}
.ftQuickLinks {
	PADDING-RIGHT: 4px; PADDING-LEFT: 6px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 2px
}
.ftDash {
	MARGIN-TOP: 7px; BACKGROUND: =
url(http://images.pcworld.com/shared/graphics/div_dash_hd.gif) =
no-repeat; FLOAT: left; WIDTH: 1px; HEIGHT: 51px
}

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s.pcworld.com/style/pfv.css

.printHide {
	DISPLAY: none
}
.printShow {
	DISPLAY: block
}
BODY {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.container {
	MARGIN: 0px; WIDTH: 100%
}
.layoutMain {
	WIDTH: 100%
}
.areaHeader {
	FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dfalse, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/images/header/hd_shadow.png'); WIDTH: =
100%; HEIGHT: auto
}
HTML > BODY .areaHeader {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.areaBanner {
	DISPLAY: none
}
.areaFooter {
	DISPLAY: none
}
.areaMainTop {
	DISPLAY: none
}
.areaMainLeft {
	DISPLAY: none
}
.areaMain {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 100%; BACKGROUND-COLOR: transparent; BORDER-RIGHT-WIDTH: 0px
}
.areaMainRight {
	WIDTH: 100%
}
.areaMainRightBtm {
	WIDTH: 100%
}
.areaHeader {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.areaMain {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.areaMainRight {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.areaMainRightBtm {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.sectionCol1 {
	DISPLAY: none
}
.sectionCol2 {
	WIDTH: auto
}
.sectionColB {
	WIDTH: auto
}
.sectionCol3 {
	WIDTH: auto
}
.sectionColC {
	WIDTH: auto
}
.sectionCol4 {
	WIDTH: auto
}
#hdSkybox {
	DISPLAY: none
}
#hdToolbar {
	DISPLAY: none
}
.hdLogo {
	DISPLAY: none
}
.hdLogoPrint {
	DISPLAY: block
}
.tower {
	DISPLAY: none
}
.halfpage {
	DISPLAY: none
}
.showcase {
	DISPLAY: none
}
.buttonad2x1 {
	DISPLAY: none
}
.buttonad2x1n {
	DISPLAY: none
}
.buttonad1x1 {
	DISPLAY: none
}
.buttonad1x2 {
	DISPLAY: none
}
.adSponsored {
	DISPLAY: none
}
.adRel1 {
	DISPLAY: none
}
.adRel2 {
	DISPLAY: none
}
.artPgNav {
	DISPLAY: none
}
.toolbarCont {
	DISPLAY: none
}
.artSubhdCont {
	DISPLAY: none
}
.subhdCont {
	DISPLAY: none
}
.artCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px
}
.artImgCont2Col {
	MARGIN-LEFT: 10px
}
.artCommentsPost {
	DISPLAY: none
}
.commentNav {
	DISPLAY: none
}
.artSeriesNavFormMenu {
	DISPLAY: none
}
.artSubhd {
	DISPLAY: none
}
.commentEntry {
	DISPLAY: none
}
.artSeriesNavTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 24px
}
.prodGalleryThumb {
	DISPLAY: none
}
.prodTabItemMid {
	DISPLAY: none
}
.reviewFinderBtnGrayOff {
	DISPLAY: none
}
.reviewFinderInstruct {
	DISPLAY: none
}
.btnGetReviews {
	DISPLAY: none
}
.closeBtnBlk {
	DISPLAY: none
}
.reviewFinderElement {
	DISPLAY: none
}
.testCenterIcon {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.adMkt2Colw {
	DISPLAY: none
}
.srchResultsNav {
	DISPLAY: none
}
TABLE.nonsortable {
	DISPLAY: none
}
.artTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 24px
}
TABLE.sortable TD {
	PADDING-RIGHT: 15px
}
TABLE.unsortable TR {
	DISPLAY: none
}

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: res://ieframe.dll/info_48.png

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

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: res://ieframe.dll/bullet.png

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

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: res://ieframe.dll/down.png

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

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: res://ieframe.dll/favcenter.png

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
QmCC

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: res://ieframe.dll/tools.png

iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJN
AACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUND
IHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoi
SFDEgNFQJFZEsRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQ
yhPwgzyc6RGRUXTsAIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnp
fIHomAARm7M5GSwRF4g4JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZ
Yu4V8bZMIUfEiK+ICzO5nCwR3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJ
X3HcVyzgZAvEl3JJS8/hcxMSBXQdli7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi
2tJFRbY0tba0NDQzMv2qUP91829K3NtFehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti
0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGXwzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4b
Ky0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNFhImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5
FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH554SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S
8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJVgMWSASpgA+yQB7YBApBMdgJ9oBq
UAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB5CEVSBPSh8wgBmQPuUG+UBAU
CcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyCqbASrAUbwwzYCfaBQ+BV
cAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiEj6xHipAKpAFpRbqR
PuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I1kfboL3QEegE
dBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9rB3WH8vE
CrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhGfDf+
On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5k
heQJyeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TG
KQhFneJCYVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04b
pr1borTEaQlnyfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLC
zFLqUtulrKVFS48vvacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/C
VSlXOavylC5Ld6Kn0CvpvfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08j
T6NF454mXpOhmai5V7NPc15LWytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0b
erCehV6iXo3edX1Y31Kfq79Pf9AAbWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLu
M/5oYmGSYtJoct9UxtTbNN+02/R3Mz0zllmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfi
g6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHWztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWN
y8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5sxybHSSddpySno07PnU2c+c7tzvMuNi7rXM65
Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU
+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPwYyAmMCCwJvBJkGlQXlBfMCU4JvhI
8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmRXVHYqLCopqi5lW4r96yciLaI
LoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNmWS6svaxnbEd2OXuaY8cp
40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wlxqae5Mnwknm9acpp
2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2dDYvuz9HL2d7
zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8V5vDN3cX
KBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33zaEb9j
oNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sU
moqbPhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/j
PScYJ1p/0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dz
z86dSz83cz7h/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3
/2TxU/uA5UDHdavrXTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriX
eW/h/sYH6AdFD6UeVjxSfNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2d
mnafvvF05dOJZ+nPFmYKf5X+tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/M
F72Rf3P4LeNt37vwd5MLWe+x7ys/6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEwAA
CxMBAJqcGAAAAxlJREFUOE91k11IU2EYx80L6aqrEAy6rqvuIooIJOgmJLMCLaNIIwmTKeYXptN0
m8500zN1m1/bmptn7mxuc1O3nU337dnmdKhomuZnhlgUEaY7T+esJmb5wgPPeXmf3/v8n/N/TwBA
3HGLh3ls8XFx5/LSLp859hANiAVP601G9ESIpxm/2az1JQr1/i9CAwFclesCF3Uy6uXW9Qqx/uLh
moNierPdELjbORQClXMuovMu7lsnN8AUWAWB1ksimJtsUuJQ3T2U+g+Ar/FeEhknrnabp9LUzvmf
waXPQCxsw/i7bXDMbILR/x7UzmkQDfpJTq+jsFxsvPacI7sSld/Q7zolNAZ2FPZpGAmuwNTKVzAH
lkCk98Dr7qFITc/IfscgAfLhAKhsYWjT+YAlsUB+g3LvD8CdgGh9Xahjjgws7YBlYpkqNEQyyxBh
RjHvbFaVOKmy06QWaHx7Otc0YGNhYEtxMpfd1RUFRLUPBhJFeoIMUbfzUBtkFPMZh3XSORd1MNu0
Hui1BIEls0QK+P3xUYDIFFShYzOravc8WCfXoKBR+e1oMf3NUY6epyAR+YgfaqVmeIlg61lMkYqa
PLGFOmbBGtoAe3gdShFs538Adu9oUp0c35MN+6FGaoESBAMKsPVbgiGQgo7NgnN2E1q1LjK/qe/J
UUit3MZoUNhAaiKgUqAkC3ho8sEMuH2OFI17IeKe2wKTfxHaNZ79aon5egxSI7elsd/iP9o0Lgow
DuWC/v3cevmNKIDZY03gKEbXBQM+MBLL4Jz5CNaJD6DAwxHBgPcTH3NvNqucZKPSDp16NzQpcChu
ptsXf08v4idEJVTJ8BymBM/m9o1Z+ig/2MNrMEx5YYhYBJ1rDlDbFAgwJ9TJqOG1YN4cluThg1Ik
+0BCrFWmxHyfhzoo23pI+pdJKPOIdR7gSEeAKRyAfK4UHlcInx77Fqp6LOW1Mutueccwq0w0mFnS
0r+bW9NOtSvMyyjiIffyuZE7DG705lj89ZjozaJW3a0XDYqTdP7oVRueXvhmg85v53FOp75gP0tj
1EcNFItf3m2pvAaOfggAAAAASUVORK5CYII=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: res://ieframe.dll/ErrorPageTemplate.css

BODY {
	MARGIN-TOP: 20px; BACKGROUND-IMAGE: url(background_gradient.jpg); =
MARGIN-LEFT: 20px; COLOR: #575757; BACKGROUND-REPEAT: repeat-x; =
FONT-FAMILY: "Segoe UI", "verdana", "arial"; BACKGROUND-COLOR: #e8eaef
}
BODY.securityError {
	MARGIN-TOP: 20px; BACKGROUND-IMAGE: url(background_gradient_red.jpg); =
MARGIN-LEFT: 20px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: "Segoe UI", =
"verdana" , "Arial"; BACKGROUND-COLOR: #e8eaef
}
BODY.tabInfo {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #f4f4f4
}
A {
	FONT-WEIGHT: normal; FONT-SIZE: 1em; MARGIN-LEFT: 0px; VERTICAL-ALIGN: =
top; COLOR: rgb(19,112,171); TEXT-DECORATION: none
}
A:link {
	VERTICAL-ALIGN: top; COLOR: rgb(19,112,171); TEXT-DECORATION: none
}
A:visited {
	VERTICAL-ALIGN: top; COLOR: rgb(19,112,171); TEXT-DECORATION: none
}
A:hover {
	COLOR: rgb(7,74,229); TEXT-DECORATION: underline
}
P {
	FONT-SIZE: 0.9em
}
H1 {
	MARGIN-TOP: 7px; FONT-WEIGHT: normal; FONT-SIZE: 1.1em; MARGIN-BOTTOM: =
4px; VERTICAL-ALIGN: bottom; COLOR: #4465a2
}
H2 {
	MARGIN-TOP: 20px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
1px
}
H3 {
	MARGIN-TOP: 10px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
1px
}
H4 {
	MARGIN-TOP: 12px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
1px
}
H5 {
	MARGIN-TOP: 1px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
0px; COLOR: #575757
}
.actionIcon {
	MARGIN-TOP: 0px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 6px
}
.infoBlock {
	DISPLAY: block; PADDING-LEFT: 25px; FONT-SIZE: 0.9em; COLOR: #575757
}
.errorCodeAndDivider {
	FONT-WEIGHT: normal; FONT-SIZE: 0.7em; COLOR: #787878
}
UL {
	MARGIN-TOP: 1px; LIST-STYLE-POSITION: outside; FONT-SIZE: 0.9em; =
MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 1px; LINE-HEIGHT: 1.3em; =
PADDING-TOP: 1px
}
OL {
	MARGIN-TOP: 1px; LIST-STYLE-POSITION: outside; FONT-SIZE: 0.9em; =
MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 1px; LINE-HEIGHT: 1.3em; =
PADDING-TOP: 1px
}
.divider {
	BORDER-BOTTOM: #b6bcc6 1px solid
}

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: res://ieframe.dll/errorPageStrings.js

=EF=BB=BF//Split out for localization.
var L_GOBACK_TEXT =3D "Go back to the previous page.";
var L_REFRESH_TEXT =3D "Refresh the page.";
var L_MOREINFO_TEXT =3D "More information";
var L_OFFLINE_USERS_TEXT =3D "For offline users";
var L_RELOAD_TEXT =3D "Retype the address.";
var L_HIDE_HOTKEYS_TEXT =3D "Hide tab shortcuts";
var L_SHOW_HOTKEYS_TEXT =3D "Show more tab shortcuts";

//used by invalidcert.js
var L_CertUnknownCA_TEXT =3D "The security certificate presented by this =
website was not issued by a trusted certificate authority.";
var L_CertExpired_TEXT =3D "The security certificate presented by this =
website has expired or is not yet valid.";
var L_CertCNMismatch_TEXT =3D "The security certificate presented by =
this website was issued for a different website's address.";
var L_CertRevoked_TEXT =3D "This organization's certificate has been =
revoked.";
------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: res://ieframe.dll/httpErrorPagesScripts.js

=EF=BB=BF//Need to include errorPageStrings.js when you include this =
file

function isExternalUrlSafeForNavigation(urlStr)
{
    var regEx =3D new RegExp("^(http(s?)|ftp|file)://", "i");
    return regEx.exec(urlStr);
}

function navCancelInit()
{
    var location =3D window.location.href;
    var poundIndex =3D location.indexOf('#');
   =20
    if (poundIndex !=3D -1 && poundIndex+1 < location.length && =
isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
    {
        var bElement =3D document.createElement("A");
        bElement.innerText =3D L_REFRESH_TEXT;
        bElement.href =3D 'javascript:location.replace(\"'+ =
location.substring(poundIndex+1) +'\");';
        navCancelContainer.appendChild(bElement);
    }
    else
    {
        var textNode =3D document.createTextNode(L_RELOAD_TEXT);
        navCancelContainer.appendChild(textNode);
    }
}

function expandCollapse(elem, changeImage)
{
    if (document.getElementById)
    {
        ecBlock =3D document.getElementById(elem);

        if (ecBlock !=3D undefined && ecBlock !=3D null)
        {
            if (changeImage)
            {
                //gets the image associated
                elemImage =3D document.getElementById(elem + "Image");
            }

            //make sure elemImage is good
            if (!changeImage || (elemImage !=3D undefined && elemImage =
!=3D null))
            {
                if (ecBlock.currentStyle.display =3D=3D "none" || =
ecBlock.currentStyle.display =3D=3D null || ecBlock.currentStyle.display =
=3D=3D "")
                {
                    //shows the info.
                    ecBlock.style.display =3D "block";
                    if (changeImage)
                    {
                        //Just got in expanded mode. Thus, change image =
to "collapse"
                        elemImage.src =3D "up.png";
                    }
                }
                else if (ecBlock.currentStyle.display =3D=3D "block")
                {
                    //hide info
                    ecBlock.style.display =3D "none";
                    if (changeImage)
                    {
                        //Just got in collapsed mode. Thus, change image =
to "expand"
                        elemImage.src =3D "down.png";
                    }
                }
                else
                {
                    //catch any weird circumstances.
                    ecBlock.style.display =3D "block";
                    if (changeImage)
                    {
                        elemImage.src =3D "up.png";
                    }
                }
            }//end check elemImage
        }//end check ecBlock
    }//end getElemById
}//end expandCollapse


function initHomepage()
{
    // in real bits, urls get returned to our script like this:
    // res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm

    //For testing use
    //DocURL =3D =
"res://shdocvw.dll/http_404.htm#http://www.microsoft.com/bar.htm"
    DocURL=3Ddocument.location.href;

    //this is where the http or https will be, as found by searching for =
:// but skipping the res://
    protocolIndex=3DDocURL.indexOf("://", 4);

    //this finds the ending slash for the domain server
    serverIndex=3DDocURL.indexOf("/", protocolIndex + 3);

    //for the href, we need a valid URL to the domain. We search for the =
# symbol to find the begining
    //of the true URL, and add 1 to skip it - this is the BeginURL =
value. We use serverIndex as the end marker.
    //urlresult=3DDocURL.substring(protocolIndex - 4,serverIndex);
    BeginURL=3DDocURL.indexOf("#",1) + 1;
    urlresult=3DDocURL.substring(BeginURL, serverIndex);
    if (protocolIndex - BeginURL > 7)
        urlresult=3D"";

     //for display, we need to skip after http://, and go to the next =
slash
    displayresult=3DDocURL.substring(protocolIndex + 3, serverIndex);

    var aElement =3D document.createElement("A");

    aElement.innerText =3D displayresult;
    aElement.href =3D urlresult;

    homepageContainer.appendChild(aElement);
}


function initGoBack()
{
    //fills in the span container for "back to previous page"
    //Basically, makes "back to previous page" a clickable item IF =
there's something in the navstack.

    if (history.length < 1)
    {
        //this page is the only thing. Nothing in history.
        var textNode =3D document.createTextNode(L_GOBACK_TEXT);
        goBackContainer.appendChild(textNode);
    }
    else
    {
        var bElement =3D document.createElement("A");
        bElement.innerText =3D L_GOBACK_TEXT ;
        bElement.href =3D "javascript:history.back();";
        goBackContainer.appendChild(bElement);
    }			=09
}

function initMoreInfo(infoBlockID)
{
    var bElement =3D document.createElement("A");
    bElement.innerText =3D L_MOREINFO_TEXT;
    bElement.href =3D "javascript:expandCollapse(\'infoBlockID\', =
true);";
    moreInfoContainer.appendChild(bElement);			=09
}

function initOfflineUser(offlineUserID)
{
    var bElement =3D document.createElement("A");
    bElement.innerText =3D L_OFFLINE_USERS_TEXT;
    bElement.href =3D "javascript:expandCollapse('offlineUserID', =
true);";
    offlineUserContainer.appendChild(bElement);
}

function setTabInfo(tabInfoBlockID)
{
    //removes the previous tabInfo text
    var bPrevElement =3D document.getElementById("tabInfoTextID");
    var bPrevImage   =3D document.getElementById("tabInfoBlockIDImage");

    if (bPrevElement !=3D null)
    {
        tabInfoContainer.removeChild(bPrevElement);
    }

    if (bPrevImage !=3D null)
    {
        tabImageContainer.removeChild(bPrevImage);
    }

    var bElement =3D document.createElement("A");
    var bImageElement =3D document.createElement("IMG");

    var ecBlock =3D document.getElementById(tabInfoBlockID);

    //determines if the block is closed
    if ((ecBlock !=3D undefined && ecBlock !=3D null) &&
        (ecBlock.currentStyle.display =3D=3D "none" || =
ecBlock.currentStyle.display =3D=3D null || ecBlock.currentStyle.display =
=3D=3D ""))
    {
        bElement.innerText =3D L_SHOW_HOTKEYS_TEXT;
        bImageElement.alt =3D L_SHOW_HOTKEYS_TEXT;
        bImageElement.src=3D"down.png";
    }
    else
    {
        bElement.innerText =3D L_HIDE_HOTKEYS_TEXT;
        bImageElement.alt =3D L_HIDE_HOTKEYS_TEXT;
        bImageElement.src=3D"up.png";
    }

    bElement.id =3D "tabInfoTextID";
    bElement.href =3D "javascript:expandCollapse(\'tabInfoBlockID\', =
false); setTabInfo('tabInfoBlockID');";


    bImageElement.id=3D"tabInfoBlockIDImage";
    bImageElement.border=3D"0";
    bImageElement.className=3D"actionIcon";

    tabInfoContainer.appendChild(bElement);
    tabImageContainer.appendChild(bImageElement);
}


function skipTabCheck(skipTabFrom)
{
    if (skipTabFrom.skipTabCheckbox.checked)
    {
        window.external.SkipTabsWelcome();
    }
}

function diagnoseConnection()
{
    window.external.DiagnoseConnection();
}
------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_002D_01C759E8.BC3BF840"


------=_NextPart_001_002D_01C759E8.BC3BF840
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.pcworld.com/article/id,128044-c,shareware/article.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xml:lang=3D"en" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>PC World - Download =
This: Simplify Routine Tasks</TITLE><!--startindex-->
<SCRIPT src=3D"http://www.google-analytics.com/urchin.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>_uacct=3D"UA-739745-1"; =
urchinTracker();</SCRIPT>

<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META=20
content=3D"passwords, Password Hash, desktop, ObjectDock, dock, =
Stardock, password, Software, Shareware"=20
name=3Dkeywords>
<META content=3D2006-12-13 name=3Ddate>
<META=20
content=3D"Make routine tasks simpler with a password manager and a =
Vista-ready desktop utility."=20
name=3Ddescription>
<META content=3D1300 name=3DPrimCategoryID>
<META content=3DShareware name=3DPrimCategory>
<META content=3D"Erik Larkin, PC World" =
name=3Dcreator><!--stopindex--><LINK=20
href=3D"http://images.pcworld.com/shared/graphics/favicon.ico"=20
rel=3D"SHORTCUT ICON">
<SCRIPT language=3Djavascript =
src=3D"http://s.pcworld.com/script/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.pcworld.com/script/main.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://s.pcworld.com/script/flashobject.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
	<!--
	pcw_AdInit();
	pcw_ad_site=3D"pcw_columns";
	pcw_ad_zone=3D"shareware/article";
	pcw_ad_cats=3D"1214,1300,1300";
	pcw_ad_sec=3D"";
	pcw_ad_aid=3D"128044";
	pcw_ad_custom=3D"";
	pcw_AdOverride();
	// -->
	</SCRIPT>

<SCRIPT src=3D"http://s.pcworld.com/script/dhtmlpopup_adfloat.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://s.pcworld.com/script/dhtmlpopup.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- the pcw style sheet links MUST come AFTER the about styles --><LINK =

media=3Dall href=3D"http://www.pcworld.com/style/main.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK media=3Dall =
href=3D"http://www.pcworld.com/style/newFooter.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK media=3Dprint=20
href=3D"http://s.pcworld.com/style/pfv.css" type=3Dtext/css =
rel=3Dstylesheet>
<META content=3D"MSHTML 6.00.6000.16414" name=3DGENERATOR></HEAD>
<BODY>
<SCRIPT =
type=3Dtext/javascript>document.write(pcw_AdRender("script","interstitial=
"));</SCRIPT>
<!--WEBSIDESTORY CODE HBX2.0 (Universal)--><!--COPYRIGHT 1997-2005 =
WEBSIDESTORY,INC. ALL RIGHTS RESERVED. U.S.PATENT No. 6,393,479B1. MORE =
INFO:http://websidestory.com/privacy-->
<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
var _hbEC=3D0,_hbE=3Dnew Array;function =
_hbEvent(a,b){b=3D_hbE[_hbEC++]=3Dnew Object();b._N=3Da;b._C=3D0;return =
b;}
var hbx=3D_hbEvent("pv");hbx.vpc=3D"HBX0200u";hbx.gn=3D"hb.pcworld.com";

//BEGIN EDITABLE SECTION
//CONFIGURATION VARIABLES
hbx.acct=3D"DM5104020KVS83EN3";//ACCOUNT NUMBER(S)
hbx.pn=3D"Download+This:+Simplify+Routine+Tasks";//PAGE NAME(S)
hbx.mlc=3D"/column/download_this/software/shareware";//MULTI-LEVEL =
CONTENT CATEGORY
hbx.pndef=3D"title";//DEFAULT PAGE NAME
hbx.ctdef=3D"full";//DEFAULT CONTENT CATEGORY

//OPTIONAL PAGE VARIABLES
//ACTION SETTINGS
hbx.fv=3D"";//FORM VALIDATION MINIMUM ELEMENTS OR SUBMIT FUNCTION NAME
hbx.lt=3D"auto";//LINK TRACKING
hbx.dlf=3D"n";//DOWNLOAD FILTER
hbx.dft=3D"n";//DOWNLOAD FILE NAMING
hbx.elf=3D"n";//EXIT LINK FILTER

//SEGMENTS AND FUNNELS
hbx.seg=3D"";//VISITOR SEGMENTATION
hbx.fnl=3D"";//FUNNELS

//CAMPAIGNS
hbx.cmp=3D"";//CAMPAIGN ID
hbx.cmpn=3D"";//CAMPAIGN ID IN QUERY
hbx.dcmp=3D"";//DYNAMIC CAMPAIGN ID
hbx.dcmpn=3D"";//DYNAMIC CAMPAIGN ID IN QUERY
hbx.dcmpe=3D"";//DYNAMIC CAMPAIGN EXPIRATION
hbx.dcmpre=3D"";//DYNAMIC CAMPAIGN RESPONSE EXPIRATION
hbx.hra=3D"";//RESPONSE ATTRIBUTE
hbx.hqsr=3D"";//RESPONSE ATTRIBUTE IN REFERRAL QUERY
hbx.hqsp=3D"";//RESPONSE ATTRIBUTE IN QUERY
hbx.hlt=3D"";//LEAD TRACKING
hbx.hla=3D"";//LEAD ATTRIBUTE
hbx.gp=3D"";//CAMPAIGN GOAL
hbx.gpn=3D"";//CAMPAIGN GOAL IN QUERY
hbx.hcn=3D"";//CONVERSION ATTRIBUTE
hbx.hcv=3D"";//CONVERSION VALUE
hbx.cp=3D"null";//LEGACY CAMPAIGN
hbx.cpd=3D"";//CAMPAIGN DOMAIN

//CUSTOM VARIABLES
hbx.ci=3D"";//CUSTOMER ID
hbx.hc1=3D"";//CUSTOM 1
hbx.hc2=3D"";//CUSTOM 2
hbx.hc3=3D"";//CUSTOM 3
hbx.hc4=3D"";//CUSTOM 4
hbx.hrf=3D"";//CUSTOM REFERRER
hbx.pec=3D"";//ERROR CODES

//INSERT CUSTOM EVENTS
setHbxVals();



//END EDITABLE SECTION

//REQUIRED SECTION. CHANGE "YOURSERVER" TO VALID LOCATION ON YOUR WEB =
SERVER (HTTPS IF FROM SECURE SERVER)
// -->
</SCRIPT>

<SCRIPT src=3D"http://s.pcworld.com/script/hbx.js" =
type=3Dtext/javascript></SCRIPT>
<!--END WEBSIDESTORY CODE-->
<DIV=20
style=3D"FONT-SIZE: 11px; BACKGROUND: =
url(http://images.pcworld.com/images/common/bg_page.jpg) #191919 =
repeat-x left top; MARGIN: 0px; COLOR: #000000; LINE-HEIGHT: 14px; =
FONT-FAMILY: arial, verdana, helvetica, sans-serif; TEXT-ALIGN: center">
<DIV class=3Dcontainer id=3Dtemplate_t8a>
<DIV class=3DlayoutMain>
<DIV class=3DareaHeader>
<DIV class=3DhdLogo><A title=3D"PC World: Technology Advice You Can =
Trust"=20
href=3D"http://www.pcworld.com/"><IMG=20
title=3D"PC World: Technology Advice You Can Trust" height=3D60=20
alt=3D"PC World: Technology Advice You Can Trust"=20
src=3D"http://images.pcworld.com/images/header/logo_hd.jpg" width=3D203=20
border=3D0></A></DIV><!-- remove whitespace=0A=
-->
<DIV class=3DhdLogoPrint><A title=3D"PC World: Technology Advice You Can =
Trust"=20
href=3D"http://www.pcworld.com/"><IMG=20
title=3D"PC World: Technology Advice You Can Trust" height=3D41=20
alt=3D"PC World: Technology Advice You Can Trust"=20
src=3D"http://images.pcworld.com/images/header/logo_hd_print.jpg" =
width=3D153=20
border=3D0></A></DIV>
<DIV id=3DhdSkybox>
<DIV class=3DhdSkyboxLt></DIV>
<DIV class=3DhdSkybox>
<DIV class=3DhdSkyboxCat>Reviews</DIV><A title=3DHardware=20
href=3D"http://www.pcworld.com/reviews/hardware/">Hardware</A><A=20
title=3D"Software &amp; Web"=20
href=3D"http://www.pcworld.com/reviews/software/">Software &amp; Web</A> =
</DIV>
<DIV class=3DhdSkyboxLt></DIV>
<DIV class=3DhdSkybox>
<DIV class=3DhdSkyboxCat>News &amp; How-To</DIV><A title=3DNews=20
href=3D"http://www.pcworld.com/news/">News</A><A title=3DHow-To=20
href=3D"http://www.pcworld.com/howto/">How-To</A> </DIV>
<DIV class=3DhdSkyboxLt></DIV>
<DIV class=3DhdSkybox>
<DIV class=3DhdSkyboxCat>Services</DIV><A title=3DDownloads=20
href=3D"http://www.pcworld.com/downloads/">Downloads</A><A =
title=3DShopping=20
href=3D"http://www.pcworld.com/product/pricefinder/">Shopping</A> </DIV>
<DIV class=3DhdSkyboxLt></DIV>
<DIV class=3DhdSkyboxNarrow>
<DIV class=3DhdSkyboxCat>Community &amp; Opinion</DIV><A=20
title=3D"Columns &amp; Blogs" =
href=3D"http://www.pcworld.com/columns/">Columns &amp;=20
Blogs</A> <A title=3DForums =
href=3D"http://forums.pcworld.com/forums/">Forums</A>=20
</DIV>
<DIV class=3DhdSkyboxRt></DIV></DIV>
<DIV class=3Dclear><!-- for IE --></DIV>
<SCRIPT language=3DJavaScript1.2 type=3Dtext/javascript>=0A=
	<!--=0A=
	/* Logon namespace */=0A=
	var Logon =3D new Object();=0A=
	Logon.userEmail =3D pcw_readCookie('userEmail');=0A=
	Logon.isValid =3D '' !=3D Logon.userEmail;=0A=
	-->=0A=
	</SCRIPT>

<SCRIPT language=3DJavaScript1.2 type=3Dtext/javascript><!--
	/* Namespace RememberURI */
	var RememberURI =3D new Object();
	RememberURI.referer =3D '/article/id,128044-c,shareware/article.html';
	if (!RememberURI.referer.match('^/logo') && =
!RememberURI.referer.match('^/register')) {
		RememberURI.query =3D '';
		RememberURI.referer +=3D RememberURI.query;
		document.cookie =3D "pcw.last_uri=3D" + escape(RememberURI.referer) + =
"; path=3D/" + "; domain=3D.pcworld.com";
	}
//--></SCRIPT>

<DIV class=3DhdToolbar id=3DhdToolbar>
<DIV class=3DhdToolbarLt></DIV>
<DIV class=3DhdToolbarSrch id=3DhdSearch>
<FORM id=3DsrchFormToolbar action=3D/search/results method=3Dget>
<DIV class=3DhdToolbarFld><INPUT class=3Dfield onfocus=3DclearFld(this); =

value=3D"Search PC World" name=3Dqt> </DIV>
<DIV class=3DhdToolbarBtn id=3DhdBtnSearch><A class=3DbtnHdSearch=20
title=3D"Search PC World"=20
href=3D"javascript:submitSearch($('srchFormToolbar'));"><IMG =
class=3DimgHdMag=20
alt=3D"Search PC World"=20
src=3D"http://images.pcworld.com/images/common/icon_mag.gif"></A>=20
</DIV></FORM></DIV>
<DIV class=3DhdDash></DIV>
<DIV class=3DhdToolbarBrowse><A class=3DhdToolbarLink title=3D"Browse by =
topic"=20
href=3D"http://www.pcworld.com/browse/1/topic.html?page=3D1">&nbsp;Browse=
 by=20
topic&nbsp;</A> </DIV>
<DIV class=3DhdDash></DIV>
<DIV class=3D"hdToolbarCodeoff conditional" id=3DhdCodeOff><A =
class=3DhdToolbarLink=20
title=3D"Enter find.pcworld.com number" =
onclick=3D"javascript:chgToolbar('2');"=20
href=3D"javascript:void(0);">&nbsp;Enter find.pcworld.com =
number&nbsp;</A> </DIV>
<DIV class=3D"hdToolbarCodeon conditional" id=3DhdCodeOn =
style=3D"DISPLAY: none">
<DIV class=3DhdToolbarLbl><A class=3DhdToolbarLink=20
title=3D"Enter find.pcworld.com number" =
onclick=3D"javascript:chgToolbar('1');"=20
href=3D"javascript:void(0);">&nbsp;Enter find.pcworld.com =
number&nbsp;</A> </DIV>
<FORM id=3Dfindit name=3Dfindit =
action=3Dhttp://find.pcworld.com/redir_findit.asp=20
method=3Dpost>
<DIV class=3DhdToolbarFld><INPUT class=3Dfield name=3Dfindit> </DIV>
<DIV class=3DhdToolbarBtn id=3DhdBtnCode><A class=3DbtnHdCode=20
title=3D"Find PCWorld.com Code" =
href=3D"javascript:$('findit').submit();"><IMG=20
class=3DimgHdMag alt=3D"Find PCWorld.com Code"=20
src=3D"http://images.pcworld.com/images/common/icon_mag.gif"></A>=20
</DIV></FORM></DIV>
<DIV id=3DhdSignin>
<DIV class=3D"hdToolbarCodeoffFill conditional" id=3DhdSignin1>
<SCRIPT language=3DJavaScript1.3 type=3Dtext/javascript><!--=0A=
			if (Logon.isValid) {=0A=
				document.write('You are signed in as <b>[' + Logon.userEmail + =
']</b>');=0A=
			} else {=0A=
				document.write('<a href=3D"/logon" class=3D"hdToolbarLink" =
title=3D"Sign in">&nbsp;Sign in&nbsp;</a>');=0A=
			}=0A=
			// --></SCRIPT>
</DIV></DIV>
<DIV class=3DhdDash></DIV>
<DIV class=3DhdContainer>
<DIV class=3D"hdToolbarReg conditional" id=3DhdRegister>
<SCRIPT language=3DJavaScript1.3 type=3Dtext/javascript><!--=0A=
		if (Logon.isValid) {=0A=
			document.write('<a href=3D"/logoff" class=3D"hdToolbarLink" =
title=3D"Sign out">&nbsp;Sign out&nbsp;</a>');=0A=
		} else {=0A=
			document.write('<a href=3D"/register" class=3D"hdToolbarLink" =
title=3D"Register">&nbsp;Register&nbsp;</a>');=0A=
		}=0A=
		// --></SCRIPT>
</DIV></DIV>
<DIV class=3DhdToolbarRt></DIV></DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV class=3DareaBanner>
<DIV class=3D"subscription subscriptionFilter">
<DIV class=3DsubscriptionImg><A class=3Dsubinprint=20
style=3D"Z-INDEX: 1; POSITION: relative"=20
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&am=
p;cds_page_id=3D839"><IMG=20
title=3D"Subscribe to magazine"=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D"" =
src=3D"http://images.pcworld.com/shared/graphics/magcovers/magcover2.gif"=
>=20
</A></DIV>
<DIV class=3DsubscriptionText>
<H3 class=3DsubscriptionTitle>Magazine</H3>
<UL class=3DlistArrowSetSubscr>
  <LI style=3D"MARGIN: 0px 0px 4px"><A class=3D"listArrowItem =
listArrowItemSubscr"=20
  title=3D"Subscribe to magazine"=20
  =
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&am=
p;cds_page_id=3D840">Subscribe</A>=20

  <LI style=3D"MARGIN: 0px 0px 2px"><A class=3D"listArrowItem =
listArrowItemSubscr"=20
  title=3D"Service &amp; subscriptions"=20
  =
href=3D"http://www.pcworld.com/resource/circ_subservices.html">Customer=20
  Service</A>=20
  <LI style=3D"MARGIN: 0px 0px 4px"><A class=3D"listArrowItem =
listArrowItemSubscr"=20
  title=3D"Read the Current Issue"=20
  href=3D"http://www.pcworld.com/magazine/issue,128044/toc.html">Current =
Issue</A>=20
  </LI></UL></DIV></DIV>
<DIV class=3DleaderboardAd>
<SCRIPT=20
type=3Dtext/javascript>document.write(pcw_AdRender("iframe","leader",1));=
</SCRIPT>
<NOSCRIPT><IFRAME id=3Dleader name=3Dleader marginWidth=3D0 =
marginHeight=3D0=20
src=3D"res://ieframe.dll/dnserror.htm" frameBorder=3D0 width=3D728 =
scrolling=3Dno=20
height=3D90></IFRAME></NOSCRIPT></DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV class=3DareaMain>
<DIV class=3DareaMainLeft>
<DIV class=3DalertMessage id=3DmyPagesAlertMessage>
<DIV class=3DalertLt><!-- for IE --></DIV>
<DIV class=3DalertMid>
<DIV class=3DalertText></DIV></DIV>
<DIV class=3DalertRt><!-- for IE --></DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV><!-- Forces proper alignment in IE --><A class=3DmyPagesBtnOff =
id=3DmyPagesBtn=20
href=3D"javascript:MyPages.prototype.toggleList();">My Pages (0)</A>=20
<DIV class=3D"windowShadeContainer myPages" id=3DmyPagesWindowShade>
<DIV class=3D"windowShade myPages">
<DIV class=3DmyPagesDrawerTop><!-- for IE --></DIV>
<DIV class=3DmyPagesDrawerMid>
<DIV class=3DmyPagesHelpText>
<H1>My Pages lets you save articles for quick access.</H1>Just click the =
<IMG=20
class=3DimgMyPagesUnsaved alt=3D"Add to My Pages icon"=20
src=3D"http://images.pcworld.com/images/common/icon_mypages_unsaved_stati=
c.gif">=20
<B>Add to My Pages</B> icon. You can save up to 10 articles. </DIV>
<DIV class=3DmyPagesDivider><!-- for IE --></DIV>
<DIV class=3DmyPagesList></DIV><A class=3DremoveAllBtn title=3D"Remove =
All"=20
href=3D"javascript:MyPages.prototype.removeAll()">Remove All</A><A=20
class=3DcloseBtnBlk title=3DClose=20
href=3D"javascript:MyPages.prototype.closeList();">Close</A>=20
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV class=3DmyPagesDrawerBottom><!-- for IE =
--></DIV></DIV></DIV></DIV><!-- Forces proper alignment in IE -->
<DIV class=3DmyPagesBtm><!-- for IE --></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
	var savedPages =3D getSavedPages();
	for(var i =3D 0; i < savedPages.length; i++){
		MyPages.prototype.addPage(savedPages[i].id, savedPages[i].title, =
savedPages[i].url);
	}
// -->
</SCRIPT>

<DIV class=3DleftnavMainContTop><!-- for IE --></DIV>
<DIV class=3DleftnavMainContMid><A class=3DleftnavMainBtn =
title=3DCameras=20
href=3D"http://www.pcworld.com/ic/cameras/">Cameras</A> <A =
class=3DleftnavMainBtn=20
title=3D"Cell Phones &amp; PDAs" =
href=3D"http://www.pcworld.com/ic/pda/">Cell Phones=20
&amp; PDAs</A> <A class=3DleftnavMainBtn title=3DCommunications=20
href=3D"http://www.pcworld.com/ic/email/">Communications</A> <A=20
class=3DleftnavMainBtn title=3D"Desktop PCs"=20
href=3D"http://www.pcworld.com/ic/desktops/">Desktop PCs</A> <A=20
class=3DleftnavMainBtn title=3D"DVD &amp; Hard Drives"=20
href=3D"http://www.pcworld.com/ic/dvd/">DVD &amp; Hard Drives</A> <A=20
class=3DleftnavMainBtn title=3DHDTV =
href=3D"http://www.pcworld.com/ic/hdtv/">HDTV</A>=20
<A class=3DleftnavMainBtn title=3DLaptops=20
href=3D"http://www.pcworld.com/ic/laptops/">Laptops</A> <A =
class=3DleftnavMainBtn=20
title=3D"Macs &amp; iPods" href=3D"http://www.pcworld.com/ic/mac/">Macs =
&amp;=20
iPods</A> <A class=3DleftnavMainBtn title=3DMonitors=20
href=3D"http://www.pcworld.com/ic/monitors/">Monitors</A> <A =
class=3DleftnavMainBtn=20
title=3DPrinters =
href=3D"http://www.pcworld.com/ic/printers/">Printers</A> <A=20
class=3D"leftnavMainBtn btnLast" title=3D"Windows Vista &amp; XP"=20
href=3D"http://www.pcworld.com/ic/windows/">Windows Vista &amp; XP</A> =
</DIV>
<DIV class=3DleftnavMainContBtm><!-- for IE --></DIV>
<DIV class=3DleftnavMainContTop><!-- for IE --></DIV>
<DIV class=3DleftnavMainContMid><A class=3DleftnavMainBtn=20
title=3D"Digital Entertainment"=20
href=3D"http://www.pcworld.com/tc/entertainment/">Digital =
Entertainment</A> <A=20
class=3DleftnavMainBtn title=3D"Spyware &amp; Security"=20
href=3D"http://www.pcworld.com/tc/spyware/">Spyware &amp; Security</A> =
<A=20
class=3DleftnavMainBtn title=3D"Components &amp; Upgrading"=20
href=3D"http://www.pcworld.com/tc/upgrade/">Components &amp; =
Upgrading</A> <A=20
class=3D"leftnavMainBtn btnLast" title=3D"Tech at Work"=20
href=3D"http://www.pcworld.com/tc/workplace/">Tech at Work</A> </DIV>
<DIV class=3DleftnavMainContBtm><!-- for IE --></DIV>
<DIV class=3DleftnavMainContTop><!-- for IE --></DIV>
<DIV class=3DleftnavMainContMid><A class=3DleftnavMainBtn=20
title=3D"PCW's Greatest Hits" =
href=3D"http://www.pcworld.com/lists/">PCW's Greatest=20
Hits</A> </DIV>
<DIV class=3DleftnavMainContBtm><!-- for IE --></DIV>
<DIV class=3DleftnavMainContTop><!-- for IE --></DIV>
<DIV class=3DleftnavMainContMid><A class=3DleftnavMainBtn title=3D"PC =
World Video"=20
href=3D"http://www.pcworld.com/video.html">PC World Video</A> </DIV>
<DIV class=3DleftnavMainContBtm><!-- for IE --></DIV>
<DIV class=3DleftNavSub>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DleftnavSubHd>Partner Product Centers</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV><A class=3DleftnavSubBtn =

title=3D"Color in the Office" =
href=3D"http://www.pcworld.com/sc/hpcolor/">Color in=20
the Office</A>=20
<DIV class=3DdividerDotted><!-- for IE --></DIV><A class=3DleftnavSubBtn =

title=3D"Mobile Computing" =
href=3D"http://www.pcworld.com/sc/windowsmobile/">Mobile=20
Computing</A>=20
<DIV class=3DdividerDotted><!-- for IE --></DIV></DIV>
<DIV class=3DleftNavSub>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DleftnavSubHd>Most Popular Search Terms</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_vista', 'Vista Search', =
'http://www.pcworld.com/search/results?qt=3Dvista&amp;sort=3Ddate');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dvista&amp;sort=3Ddate"=
>Windows=20
Vista</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_spyware', 'Spyware Search', =
'http://www.pcworld.com/search/results?qt=3Dspyware&amp;sort=3Ddate');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dspyware&amp;sort=3Ddat=
e">Spyware</A>=20
</DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_iPod', 'iPod Nano Search', =
'http://www.pcworld.com/search/results?qt=3Dnano&amp;sort=3Ddate');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dnano&amp;sort=3Ddate">=
iPod Nano</A>=20
</DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_iPhone', 'iPhone Search', =
'http://www.pcworld.com/search/results?qt=3Diphone&amp;sort=3Ddate');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Diphone&amp;sort=3Ddate=
">iPhone</A>=20
</DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_360', 'Xbox 360 Search', =
'http://www.pcworld.com/search/results?qt=3Dxbox+360&amp;sort=3Ddate');" =

href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dxbox+360&amp;sort=3Dda=
te">Xbox=20
360</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_wii', 'Nintendo Wii Search', =
'http://www.pcworld.com/search/results?qt=3Dwii&amp;sort=3Ddate');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dwii&amp;sort=3Ddate">N=
intendo=20
Wii</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_zune', 'Microsoft Zune Search', =
'http://www.pcworld.com/search/results?qt=3Dzune&amp;sort=3Ddate');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dzune&amp;sort=3Ddate">=
Microsoft=20
Zune</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'search_camcorders', 'Camcorders Search', =
'http://www.pcworld.com/search/results?qt=3Dcamcorders&amp;sort=3Ddate');=
"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/search/results?qt=3Dcamcorders&amp;sort=3D=
date">Camcorders</A>=20
</DIV></DIV>
<DIV class=3DleftNavSub>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DleftnavSubHd>Most Popular Products</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'prc17646061', 'LN-S3251D 32 Inch LCD =
HDTV', =
'http://www.pcworld.com/product/pricing/prtprdid,17646061-sortby,retailer=
/pricing.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/product/pricing/prtprdid,17646061-sortby,r=
etailer/pricing.html">Samsung=20
LN-S3251D 32" LCD TV</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'prc25948985', 'Canon PIXMA MP600 =
All-In-One Inkjet Printer', =
'http://www.pcworld.com/product/pricing/prtprdid,25948985-sortby,retailer=
/pricing.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/product/pricing/prtprdid,25948985-sortby,r=
etailer/pricing.html">Canon=20
PIXMA MP600 All-In-One Inkjet Printer</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'prc26497892', 'Sharp AQUOS LC-52D62U 52 =
Inch LCD TV', =
'http://www.pcworld.com/product/pricing/prtprdid,26497892-sortby,retailer=
/pricing.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/product/pricing/prtprdid,26497892-sortby,r=
etailer/pricing.html">Sharp=20
AQUOS LC-52D62U 52" LCD TV</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'prc25949446', 'Sony Bravia KDL-40V2500 40 =
Inch LCD TV', =
'http://www.pcworld.com/product/pricing/prtprdid,25949446-sortby,retailer=
/pricing.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/product/pricing/prtprdid,25949446-sortby,r=
etailer/pricing.html">Sony=20
Bravia KDL-40V2500 40" LCD TV</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'prc17307859', 'Canon PIXMA MP830 =
All-In-One Inkjet Printer', =
'http://www.pcworld.com/product/pricing/prtprdid,17307859-sortby,retailer=
/pricing.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/product/pricing/prtprdid,17307859-sortby,r=
etailer/pricing.html">Canon=20
PIXMA MP830 All-In-One Inkjet Printer</A> </DIV></DIV>
<DIV class=3DleftNavSub>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DleftnavSubHd>Most Popular Downloads</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'col1244', 'Tools for MP3 Mavens', =
'http://www.pcworld.com/downloads/collection/collid,1244-order,1-page,1-c=
,alldownloads/files.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/downloads/collection/collid,1244-order,1-p=
age,1-c,alldownloads/files.html">Tools=20
for MP3 Mavens</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'col1295', 'Data Recovery Utilities', =
'http://www.pcworld.com/downloads/collection/collid,1295-order,1-c,downlo=
ads/files.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/downloads/collection/collid,1295-order,1-c=
,downloads/files.html">Data=20
Recovery Utilities</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'col1422', 'Free Security Software', =
'http://www.pcworld.com/downloads/collection/collid,1422-order,1/files.ht=
ml');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/downloads/collection/collid,1422-order,1/f=
iles.html">Free=20
Security Software</A> </DIV>
<DIV class=3D"divLeftnavLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'col1429', 'Hottest Files of the Month', =
'http://www.pcworld.com/downloads/collection/collid,1429-order,1-page,1-c=
,downloads/files.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
href=3D"http://www.pcworld.com/downloads/collection/collid,1429-order,1-p=
age,1-c,downloads/files.html">Hottest=20
Files of the Month</A> </DIV></DIV><IFRAME class=3DleftnavBizdir =
marginWidth=3D0=20
marginHeight=3D0=20
src=3D"http://cache.directorym.com/creative/pcw/pc-world-mod012307.htm"=20
frameBorder=3D0 width=3D160 scrolling=3Dno height=3D322></IFRAME></DIV>
<DIV class=3DareaMainTop><!-- for IE --></DIV>
<DIV class=3DareaMainRight>
<DIV class=3DartSeriesNavCont>
<FORM name=3DnavForm action=3D# method=3Dpost>
<DIV class=3DartSeriesNavLt><!-- for IE --></DIV>
<DIV class=3DartSeriesNavMid>
<DIV class=3DartSeriesNavTopSect>
<DIV class=3DartSeriesNavImgContBlog><IMG class=3DimgBlogPhoto=20
style=3D"FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale =
src=3D'http://images.pcworld.com/shared/graphics/colauthor/Laura_Blackwel=
l.png')"=20
alt=3D"Download This"=20
src=3D"http://images.pcworld.com/shared/graphics/colauthor/Laura_Blackwel=
l.png">=20
</DIV>
<DIV class=3DartSeriesNavTitle>Download This</DIV>
<DIV class=3DartSeriesNavSubtitle>Associate Editor Laura Blackwell =
spotlights the=20
cr=C3=A8me de la cr=C3=A8me of PCWorld.com's Downloads library: the =
crucial, the useful,=20
and the amusing files.</DIV></DIV>
<DIV class=3DartSeriesNavBtmSect>
<DIV class=3DartSeriesNavFormMenu>
<DIV class=3DartSeriesNavFormMenuLabel>Show article: </DIV><SELECT=20
onchange=3D"if(this.value!=3D'0'){location.href=3Dthis.value;}" =
name=3Dseries_nav>=20
  <OPTION value=3D0>Select an article</OPTION> <OPTION=20
  value=3D/article/id,128044-page,1-c,shareware/article.html =
selected>Download=20
  This: Simplify Routine Tasks</OPTION> <OPTION=20
  =
value=3D/article/id,127670-page,1-c,privacysecurity/article.html>Download=
 This:=20
  Software to Save Your Bacon</OPTION> <OPTION=20
  value=3D/article/id,127334-page,1-c,shareware/article.html>Download =
This:=20
  Clocks, Chats, and Faster Searches, for Free</OPTION> <OPTION=20
  =
value=3D/article/id,127064-page,1-c,privacysecurity/article.html>Download=
 This:=20
  Remove Rootkits, Place-Shift Your TV</OPTION> <OPTION=20
  value=3D/article/id,126596-page,1-c,webutilities/article.html>Download =
This:=20
  Sync Firefox Bookmarks, Build Personal Podcasts</OPTION> <OPTION=20
  =
value=3D/article/id,126262-page,1-c,instantmessaging/article.html>Downloa=
d This:=20
  Stay Connected Wherever You Wander</OPTION> <OPTION=20
  value=3D/article/id,125965-page,1-c,downloads/article.html>Download =
This:=20
  Improve Web Video, Send Windows for a Loop</OPTION> <OPTION=20
  value=3D/article/id,125574-page,1-c,mozilla/article.html>Download =
This: Add IE=20
  Tabs to Firefox</OPTION> <OPTION=20
  value=3D/article/id,125235-page,1-c,freeware/article.html>Download =
This:=20
  Demystify Your Life, Indoors and Out</OPTION> <OPTION=20
  value=3D/article/id,124895-page,1-c,software/article.html>Download =
This: Back Up=20
  Your Files and Tame Devilish Data</OPTION> <OPTION=20
  value=3D/article/id,124447-page,1-c,freeware/article.html>Download =
This:=20
  Freebies That Save Time and Clicks</OPTION> <OPTION=20
  value=3D/article/id,124089-page,1-c,shareware/article.html>Download =
This: Top=20
  Download Picks of 2005</OPTION></SELECT> </DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV></DIV>
<DIV class=3DartSeriesNavRt><!-- for IE --></DIV></FORM></DIV></DIV>
<DIV class=3DareaMainRightBtm>
<DIV class=3DsectionColB>
<SCRIPT language=3DJavaScript1.2 type=3Dtext/javascript><!--
	/* Namespace RememberURI */
	var RememberURI =3D new Object();
	RememberURI.referer =3D '/article/id,128044-c,shareware/article.html';
	if (!RememberURI.referer.match('^/logo') && =
!RememberURI.referer.match('^/register')) {
		RememberURI.query =3D '';
		RememberURI.referer +=3D RememberURI.query;
		document.cookie =3D "pcw.last_uri=3D" + escape(RememberURI.referer) + =
"; path=3D/" + "; domain=3D.pcworld.com";
	}
//--></SCRIPT>

<DIV class=3DartCont>
<DIV class=3DartSubhdCont>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DartSubhd>Read More About: <A title=3DUtilities=20
href=3D"http://www.pcworld.com/browse/1227/topic.html?page=3D1">Utilities=
</A> <SPAN=20
class=3Dunbold>(1114)</SPAN> =E2=80=A2 <A title=3D"Security Software"=20
href=3D"http://www.pcworld.com/browse/1292/topic.html?page=3D1">Security =

Software</A> <SPAN class=3Dunbold>(239)</SPAN> =E2=80=A2 <A =
title=3DShareware=20
href=3D"http://www.pcworld.com/browse/1300/topic.html?page=3D1">Shareware=
</A> <SPAN=20
class=3Dunbold>(33)</SPAN> </DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV></DIV><!--startindex-->
<H1 class=3DartTitle>Download This: Simplify Routine Tasks</H1>
<H2 class=3DartSubtitle>Make routine tasks simpler with a password =
manager and a=20
Vista-ready desktop utility.</H2><!-- <h3 class=3D"artPart">Part 1 of a =
special five-part series.</h3> -->
<H3 class=3DartByline>Erik Larkin, PC World</H3>
<DIV class=3DartDate>Wednesday, December 13, 2006 01:00 PM PST</DIV>
<DIV class=3DtoolbarCont><A class=3DtoolbarMyPagesUnsaved title=3D"Add =
to My Pages"=20
onclick=3D"addToMyPagesToolbar(this, 'art128044', 'Download This: =
Simplify Routine Tasks', =
'/article/id,128044-c,shareware/article.html');"=20
href=3D"javascript:void(0);" name=3DtoolbarAddToMyPagesLink><!-- for IE =
--></A><!-- comments in this section to eliminate whitespace
	--><A class=3DtoolbarPrint title=3DPrint=20
href=3D"http://www.pcworld.com/printable/article/id,128044/printable.html=
"><!-- for IE --></A><A=20
class=3DtoolbarEmail title=3DEmail=20
href=3D"http://www.pcworld.com/emailfriend?aid=3D128044"><!-- for IE =
--></A><A=20
class=3DtoolbarComment title=3DComment=20
onclick=3D"javascript:toggleCommentsDisplay('post'); =
window.scrollBy(0,60);"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A class=3DtoolbarRss =
title=3DRSS=20
href=3D"http://www.pcworld.com/resource/rss.html"><!-- for IE --></A>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
<!--
function bookmarkPop(url){
	window.open(url, "_blank");
}
//-->
</SCRIPT>

<DIV=20
id=3DbookmarkToolbar><!-- comments in this section to eliminate =
whitespace--><A=20
class=3DtoolbarSlashdot title=3DSlashdot=20
href=3D"javascript:bookmarkPop('http://slashdot.org/bookmark.pl?url=3D'+e=
ncodeURIComponent('http://www.pcworld.com/article/id,128044/article.html'=
)+'&amp;title=3D'+encodeURIComponent('Download This: Simplify Routine =
Tasks'))"><!-- for IE --></A><!--=20
	--><A class=3DtoolbarDigg title=3D"Digg This"=20
href=3D"javascript:bookmarkPop('http://digg.com/submit?phase=3D2&amp;url=3D=
'+encodeURIComponent('http://www.pcworld.com/article/id,128044/article.ht=
ml')+'&amp;title=3D'+encodeURIComponent('Download This: Simplify Routine =
Tasks')+'&amp;bodytext=3D'+encodeURIComponent('Make routine tasks =
simpler with a password manager and a Vista-ready desktop =
utility.'))"><!-- for IE --></A><!--=20
	--><A class=3DtoolbarDelicious title=3Ddel.icio.us=20
href=3D"javascript:bookmarkPop('http://del.icio.us/post?url=3D'+encodeURI=
Component('http://www.pcworld.com/article/id,128044/article.html')+'&amp;=
title=3D'+encodeURIComponent('Download This: Simplify Routine =
Tasks'))"><!-- for IE --></A><!--
	--><A class=3DtoolbarNewsvine title=3DNewsvine=20
href=3D"javascript:bookmarkPop('http://www.newsvine.com/_tools/seed&amp;s=
ave?u=3D'+encodeURIComponent('http://www.pcworld.com/article/id,128044/ar=
ticle.html')+'&amp;h=3D'+encodeURIComponent('Download This: Simplify =
Routine Tasks'))"><!-- for IE --></A>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<P><I>PC World Associate Editor Erik Larkin is filling in for Laura =
Blackwell,=20
who is on maternity leave.</I></P>
<P>Working with computers is generally about as convenient as going to =
the DMV.=20
But this month I'll discuss two software downloads that are dedicated to =
making=20
routine tasks easier to perform.</P>
<H2 class=3DartSubtitle>Instant Hash</H2>
<DIV class=3DartImgCont_l style=3D"WIDTH: 163px">
<DIV class=3DsizedArtImg><A=20
href=3D"http://www.pcworld.com/zoom?id=3D128044&amp;page=3D1&amp;zoomIdx=3D=
1"=20
target=3D_blank><IMG alt=3D"Click for enlarged image."=20
src=3D"http://images.pcworld.com/reviews/graphics/128044-password_a.jpg" =

border=3D0></A></DIV></DIV>
<P>The first application tries to free you from the Catch-22 of online=20
passwords. You know how it goes: You're bound to forget them if you play =
it safe=20
and use a variety of strong passwords, but you run a big risk if you =
reuse the=20
same password at every site. Most of us tend to recycle passwords, but =
that=20
invites online thugs to a credentials feast when they break into one =
poorly=20
protected, unimportant site and steal your log-in there; they can (and =
will)=20
turn around and try the stolen credentials at online banks and other =
financial=20
sites.</P>
<P>Well, rejoice, fellow password-haters. I've found a great free =
solution=20
called Password Hash that combines security and convenience. This =
browser add-on=20
for Firefox 1.5 and 2.0 and for Internet Explorer 6 lets you keep use =
the same=20
password at your end for every site, but converts it into a strong and =
unique=20
password on-the-fly before sending it to the target site. Though I ran =
across it=20
in a book for IT professionals (<I>Network Security Hacks</I> from =
O'Reilly),=20
it's extremely easy to use. The Stanford University folks who created it =

understand that most people won't use complicated security software.</P>
<P><A href=3D"http://www.pwdhash.com/" target=3D_blank>Password Hash</A> =
works its=20
magic when you hit <B>F2</B> or type <B><CODE>@@</CODE></B> in a =
password field=20
on a site. You then type your standard password, and when you hit =
<B>Enter</B>,=20
the add-on combines the password with the domain name (such as =
google.com or=20
pcworld.com) of the site you're logging in to, and runs them through a=20
calculation (called a hash) to create a unique, strong password. Using =
the=20
domain name provides a measure of protection against phishing sites, =
because=20
Password Hash will generate a different password for a spoof sitea??say, =

bankofamerican.com--than the one it generates for the real site,=20
bankofamerica.com.</P>
<P>What's more, you don't have to save the password anywhere: If you add =

Password Hash to a different browser on a different computer, it will =
still=20
generate the same password at any given site. If you can't install the =
add-on=20
but need to use a different browser somewhere, you can type your usual =
password=20
and URL into the Password Hash Web site and get the Password Hash =
password--via=20
an encrypted connection, of course.</P>
<P>It's not a perfect security scheme--nothing is--but it's far, far =
better than=20
sticking with the "Batman25"-type password that many people use =
everywhere now.=20
I'd suggest using it, at a minimum, for your sensitive financial =
accounts. (I'm=20
using it now and gradually switching my passwords over.)</P>
<P>The one gotcha: Password Hash doesn't yet work with IE 7, and its =
developers=20
haven't announced when it will. But they do say that such compatibility =
is in=20
the game plan.</P>
<H2 class=3DartSubtitle>Easily Access Favorite Programs</H2>
<DIV class=3DartImgCont_l style=3D"WIDTH: 163px">
<DIV class=3DsizedArtImg><A=20
href=3D"http://www.pcworld.com/zoom?id=3D128044&amp;page=3D1&amp;zoomIdx=3D=
3"=20
target=3D_blank><IMG alt=3D"Click for enlarged image."=20
src=3D"http://images.pcworld.com/reviews/graphics/128044-objectDock_a.jpg=
"=20
border=3D0></A></DIV></DIV>
<P>Whereas Password Hash is a behind-the-scenes, utilitarian program, my =
second=20
download recommendation is just the opposite. The great-looking, =
Vista-ready <A=20
href=3D"http://www.stardock.com/products/objectdock/" =
target=3D_blank>ObjectDock=20
1.5</A> from Stardock is a desktop utility that creates a Mac OS X-like =
dock on=20
the edge of your screen from which you can quickly launch programs that =
you use=20
regularly. The Quick Launch feature of the Windows taskbar lets you do =
the same=20
thing, but ObjectDock permits you to add many more programs than would =
fit=20
easily in the visible portion of the taskbar. And because you can set =
ObjectDock=20
to auto-hide, it will stay out of the way until you need it.</P>
<P>You can also add downloadable <A=20
href=3D"http://wincustomize.com/Skins.aspx?LibID=3D29&amp;view=3D1&amp;so=
rtby=3D9&amp;sortdir=3DDESC&amp;p=3D1&amp;advanced=3D1&amp;scat=3DDocklet=
s"=20
target=3D_blank>docklets</A>--free applets (similar to the Gadgets in =
Google=20
Desktop or the Sidebar in Windows Vista) that display weather =
information or=20
available computer memory, give you quick access to Web searches, or =
perform a=20
range of other functions. The software is highly customizable: You can =
change a=20
dock's size and on-screen position, and you can choose from various =
effects when=20
you mouse over an icon.</P>
<P>Using the free version of ObjectDock, you can create one dock with =
all of the=20
preceding features. The $20 paid version supports multiple docks, =
including a=20
tabbed hideaway dock on which you can organize all of your program =
launchers by=20
type. The paid version adds features such as the ability to view system =
tray=20
icons, too, making it more useful as a taskbar replacement.</P>
<P>The program shouldn't strain your CPU, but it will require some =
memory: I'm=20
using the program now to run two docks, and it uses about 30MB of system =
RAM for=20
the purpose.</P>
<P>One of my two docks auto-hides on the top edge of my screen and has =
launchers=20
for my most commonly used programs. The other is a tabbed dock with =
'Graphics,'=20
'Apps,' and other software categories tucked away on the right side of =
the=20
screen. I played around with using a dock to replace the Windows =
taskbar, since=20
ObjectDock can show running tasks and system tray icons as well as =
application=20
executables, but I found that I preferred the regular taskbar--after =
using=20
another nice Stardock download called <A=20
href=3D"http://www.pcworld.com/article/id,119743-page,1/article.html">Win=
dowBlinds</A>=20
to change its looks, that is.</P>
<P><I>What do you think of these programs? Is your favorite file missing =
from <A=20
href=3D"http://www.pcworld.com/downloads/">PC World's Downloads =
library</A>?=20
E-mail your comments to <A href=3D"mailto:DownloadThis@pcworld.com">Erik =

Larkin</A>. Messages containing attached files will be deleted =
unread.</I></P>
<DIV class=3Dclear><!-- for IE --></DIV><BR><!--stopindex-->
<DIV class=3DtoolbarCont><A class=3DtoolbarMyPagesUnsaved title=3D"Add =
to My Pages"=20
onclick=3D"addToMyPagesToolbar(this, 'art128044', 'Download This: =
Simplify Routine Tasks', =
'/article/id,128044-c,shareware/article.html');"=20
href=3D"javascript:void(0);" name=3DtoolbarAddToMyPagesLink><!-- for IE =
--></A><!-- comments in this section to eliminate whitespace
	--><A class=3DtoolbarPrint title=3DPrint=20
href=3D"http://www.pcworld.com/printable/article/id,128044/printable.html=
"><!-- for IE --></A><A=20
class=3DtoolbarEmail title=3DEmail=20
href=3D"http://www.pcworld.com/emailfriend?aid=3D128044"><!-- for IE =
--></A><A=20
class=3DtoolbarComment title=3DComment=20
onclick=3D"javascript:toggleCommentsDisplay('post'); =
window.scrollBy(0,60);"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A class=3DtoolbarRss =
title=3DRSS=20
href=3D"http://www.pcworld.com/resource/rss.html"><!-- for IE --></A>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
<!--
function bookmarkPop(url){
	window.open(url, "_blank");
}
//-->
</SCRIPT>

<DIV=20
id=3DbookmarkToolbar><!-- comments in this section to eliminate =
whitespace--><A=20
class=3DtoolbarSlashdot title=3DSlashdot=20
href=3D"javascript:bookmarkPop('http://slashdot.org/bookmark.pl?url=3D'+e=
ncodeURIComponent('http://www.pcworld.com/article/id,128044/article.html'=
)+'&amp;title=3D'+encodeURIComponent('Download This: Simplify Routine =
Tasks'))"><!-- for IE --></A><!--=20
	--><A class=3DtoolbarDigg title=3D"Digg This"=20
href=3D"javascript:bookmarkPop('http://digg.com/submit?phase=3D2&amp;url=3D=
'+encodeURIComponent('http://www.pcworld.com/article/id,128044/article.ht=
ml')+'&amp;title=3D'+encodeURIComponent('Download This: Simplify Routine =
Tasks')+'&amp;bodytext=3D'+encodeURIComponent('Make routine tasks =
simpler with a password manager and a Vista-ready desktop =
utility.'))"><!-- for IE --></A><!--=20
	--><A class=3DtoolbarDelicious title=3Ddel.icio.us=20
href=3D"javascript:bookmarkPop('http://del.icio.us/post?url=3D'+encodeURI=
Component('http://www.pcworld.com/article/id,128044/article.html')+'&amp;=
title=3D'+encodeURIComponent('Download This: Simplify Routine =
Tasks'))"><!-- for IE --></A><!--
	--><A class=3DtoolbarNewsvine title=3DNewsvine=20
href=3D"javascript:bookmarkPop('http://www.newsvine.com/_tools/seed&amp;s=
ave?u=3D'+encodeURIComponent('http://www.pcworld.com/article/id,128044/ar=
ticle.html')+'&amp;h=3D'+encodeURIComponent('Download This: Simplify =
Routine Tasks'))"><!-- for IE --></A>
<DIV class=3Dclear><!-- for IE --></DIV></DIV><BR>
<DIV class=3Dcomment>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3DcommentEntry><B>Comments</B></DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV id=3DuserCommentsAjax></DIV>
<SCRIPT language=3DJavaScript1.3 type=3Dtext/javascript><!--
	/* Comments namespace */
	var PcwCommentsCode =3D new Object();
	PcwCommentsCode.mustRefresh =3D false;
	PcwCommentsCode.injectComments =3D function(commentRequest) {
		/* Update displayed comments */
		$('userCommentsAjax').innerHTML =3D commentRequest.responseText;
		if (PcwCommentsCode.mustRefresh) {
			$('comments').style.display =3D 'block';
			$('postingMessage').style.display =3D 'none';
		}
	}
	PcwCommentsCode.loadComments =3D function() {
		var comments =3D new Ajax.Request(
	    	'/article/usercomments.html',
	    	{ method: 'get',
	    	  parameters: 'php_topic_id=3D7175&nocache=3D' + =
Math.round((Math.random() * 90000) + 1),
	    	  onComplete: PcwCommentsCode.injectComments
	    	}
    	);
	}
	PcwCommentsCode.refreshComments =3D function() {
		PcwCommentsCode.mustRefresh =3D true;
		PcwCommentsCode.loadComments();
	}
	PcwCommentsCode.postComment =3D function() {
		var commentText =3D $('forum_comment').value;
		if ('' =3D=3D commentText) {
			alert('Please enter a comment');
			$('forum_comment').focus();
			return;
		}
		/* Clear post text-area */
		toggleCommentsDisplay('post');
		$('forum_comment').value =3D '';
		$('postingMessage').style.display =3D 'block';
		var params =3D 'forumTopicId=3D7175&'
		params +=3D 'forumId=3D2&';
		params +=3D 'forumPostSubject=3D' + escape('Download This: Simplify =
Routine Tasks') + '&';
		params +=3D 'redirUrl=3D/article/id,128044-c,shareware/article.html&';
		params +=3D 'forum_comment=3D' + escape(commentText);
		var comments =3D new Ajax.Request(
	    	'/postArticleComment',
	    	{ method: 'post',
	    	  parameters: params,
	    	  onComplete: PcwCommentsCode.refreshComments
	    	}
    	);
	}
	PcwCommentsCode.loadComments();

		// to make submit button appear in IE
		var images =3D new =
Array("http://images.pcworld.com/images/common/btn_std_red_on_white.gif")=
;
		var preloader =3D new Preloader(images);

// --></SCRIPT>
<A name=3Dcomments></A>
<DIV class=3DartCommentsPost>
<DIV id=3DpostingMessage style=3D"DISPLAY: none" align=3Dright><EM=20
style=3D"COLOR: #00f">Posting comment ...</EM></DIV>
<DIV id=3Dpost style=3D"DISPLAY: none">
<FORM id=3DcommentForm name=3DcommentForm action=3D/postArticleComment =
method=3Dpost><TEXTAREA class=3DcommentTextarea id=3Dforum_comment =
onkeyup=3D"charCounter('forum_comment','output','{CHAR}','1000');" =
name=3Dforum_comment maxlength=3D"1000"></TEXTAREA>=20

<TABLE width=3D"100%">
  <TBODY>
  <TR>
    <TD vAlign=3Dtop>
      <SCRIPT language=3DJavaScript1.3 type=3Dtext/javascript><!--
					if (!Logon.isValid) {
						document.write('<a href=3D"/logon" class=3D"linkInline" =
title=3D"Sign in">Sign in</a> to post a comment.<br />');
						document.write('New to PC World Comments? <a href=3D"/register" =
class=3D"linkInline" title=3D"Create a free account">Register =
here</a>.');
					}
				//	--> </SCRIPT>
    </TD>
    <TD align=3Dright><SPAN id=3Doutput>0</SPAN> <SPAN =
class=3DtextGray>/ 1000 max=20
      characters</SPAN>&nbsp;<BR>
      <SCRIPT language=3DJavaScript1.3 type=3Dtext/javascript><!--
				if(Logon.isValid) {
					document.write('<a =
href=3D"javascript:PcwCommentsCode.postComment();" class=3D"btnRt =
btnRedOnWhite" title=3D"Submit">Submit</a>');
				}
				// --> </SCRIPT>
    </TD></TR></TBODY></TABLE></FORM></DIV></DIV></DIV></DIV><!-- IE =
--></DIV>
<DIV class=3DsectionCol2>
<DIV class=3DsubhdCont>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DsectionSubhd2>Related Content</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3DrelSet>
<DIV class=3DrelCat>News=20
<UL class=3DlistArrowSet>
  <LI><A class=3DlistArrowItem title=3D"Norton 360 Security Suite Ships" =

  =
href=3D"http://www.pcworld.com/article/id,129364-page,1/article.html">Nor=
ton 360=20
  Security Suit...</A>=20
  <LI><A class=3DlistArrowItem title=3D"Microsoft Ponders Ruby Language" =

  =
href=3D"http://www.pcworld.com/article/id,129348-page,1/article.html">Mic=
rosoft=20
  Ponders Ruby L...</A> </LI></UL></DIV>
<DIV class=3DrelCat>Reviews=20
<UL class=3DlistArrowSet>
  <LI><A class=3DlistArrowItem title=3D"Great Graphics for Free"=20
  =
href=3D"http://www.pcworld.com/article/id,128839-page,1/article.html">Gre=
at=20
  Graphics for Free</A>=20
  <LI><A class=3DlistArrowItem=20
  title=3D"Executive Software Diskeeper Pro Premier 2007"=20
  =
href=3D"http://www.pcworld.com/article/id,128725-page,1/article.html">Exe=
cutive=20
  Software Diske...</A> </LI></UL></DIV>
<DIV class=3DrelCat>How-to=20
<UL class=3DlistArrowSet>
  <LI><A class=3DlistArrowItem title=3D"Good News for Cheapskates"=20
  =
href=3D"http://www.pcworld.com/article/id,128861-page,1/article.html">Goo=
d News=20
  for Cheapskates</A>=20
  <LI><A class=3DlistArrowItem title=3D"How to Remove Spyware From Your =
PC"=20
  =
href=3D"http://www.pcworld.com/article/id,129094-page,1/article.html">How=
 to=20
  Remove Spyware Fr...</A> </LI></UL></DIV></DIV>
<DIV class=3DrelSet>
<DIV class=3DrelCat>Downloads=20
<UL class=3DlistArrowSet>
  <LI><A class=3DlistArrowItem title=3D"Ad-Aware SE Personal"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,7423-page,1-c,shareware=
/description.html">Ad-Aware=20
  SE Personal</A>=20
  <LI><A class=3DlistArrowItem title=3D"RegClean "=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,4666-page,1-c,shareware=
/description.html">RegClean=20
  </A>
  <LI><A class=3DlistArrowItem title=3D"ZoneAlarm Free"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,7228-page,1-c,shareware=
/description.html">ZoneAlarm=20
  Free</A>=20
  <LI><A class=3DlistArrowItem title=3D"Motherboard Monitor"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,7309-page,1-c,shareware=
/description.html">Motherboard=20
  Monitor</A>=20
  <LI><A class=3DlistArrowItem title=3D"Clean System Directory 1.7"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,4143-page,1-c,shareware=
/description.html">Clean=20
  System Directory 1.7</A>=20
  <LI><A class=3DlistArrowItem title=3D"Tweak UI"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,2803-page,1-c,shareware=
/description.html">Tweak=20
  UI</A>=20
  <LI><A class=3DlistArrowItem title=3D"AVG Anti-Virus"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,15202-page,1-c,sharewar=
e/description.html">AVG=20
  Anti-Virus</A>=20
  <LI><A class=3DlistArrowItem title=3D"Norton AntiVirus 2005"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,4030-page,1-c,shareware=
/description.html">Norton=20
  AntiVirus 2005</A>=20
  <LI><A class=3DlistArrowItem title=3D"WinZip 11 (Standard)"=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,4172-page,1-c,shareware=
/description.html">WinZip=20
  11 (Standard)</A>=20
  <LI><A class=3DlistArrowItem title=3D"Sygate Personal Firewall "=20
  =
href=3D"http://www.pcworld.com/downloads/file/fid,8132-page,1-c,shareware=
/description.html">Sygate=20
  Personal Firewall </A></LI></UL></DIV></DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV class=3D"showcaseAd adWhiteMed">
<SCRIPT =
type=3Dtext/javascript>document.write(pcw_AdRender("iframe","showcase-lg"=
,2));</SCRIPT>
<NOSCRIPT><IFRAME id=3Dshowcase-lg name=3Dshowcase-lg marginWidth=3D0 =
marginHeight=3D0=20
src=3D"res://ieframe.dll/dnserror.htm" frameBorder=3D0 width=3D336 =
scrolling=3Dno=20
height=3D280></IFRAME></NOSCRIPT></DIV>
<DIV class=3DsectionCol1>
<DIV class=3DsubhdCont>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DsectionSubhd2>Recent Columns</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3DrelSetRecent><!-- BEGIN ITEM -->
<DIV class=3D"relCatLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'art128839', 'Great Graphics for Free', =
'/article/id,128839-c,freeware/article.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A title=3D"Great =
Graphics for Free"=20
href=3D"http://www.pcworld.com/article/id,128839-c,freeware/article.html"=
>Great=20
Graphics for Free</A> </DIV><!-- END ITEM --><!-- BEGIN ITEM -->
<DIV class=3D"relCatLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'art128344', 'Download This: Tech That =
Won\'t Tie You Down', '/article/id,128344-c,shareware/article.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
title=3D"Download This: Tech That Won't Tie You Down"=20
href=3D"http://www.pcworld.com/article/id,128344-c,shareware/article.html=
">Download=20
This: Tech That Won't Tie You Down</A> </DIV><!-- END ITEM --><!-- BEGIN =
ITEM -->
<DIV class=3D"relCatLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'art128044', 'Download This: Simplify =
Routine Tasks', '/article/id,128044-c,shareware/article.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
title=3D"Download This: Simplify Routine Tasks"=20
href=3D"http://www.pcworld.com/article/id,128044-c,shareware/article.html=
">Download=20
This: Simplify Routine Tasks</A> </DIV><!-- END ITEM --><!-- BEGIN ITEM =
-->
<DIV class=3D"relCatLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'art127670', 'Download This: Software to =
Save Your Bacon', '/article/id,127670-c,privacysecurity/article.html');" =

href=3D"javascript:void(0);"><!-- for IE --></A><A=20
title=3D"Download This: Software to Save Your Bacon"=20
href=3D"http://www.pcworld.com/article/id,127670-c,privacysecurity/articl=
e.html">Download=20
This: Software to Save Your Bacon</A> </DIV><!-- END ITEM --><!-- BEGIN =
ITEM -->
<DIV class=3D"relCatLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'art127334', 'Download This: Clocks, =
Chats, and Faster Searches, for Free', =
'/article/id,127334-c,shareware/article.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
title=3D"Download This: Clocks, Chats, and Faster Searches, for Free"=20
href=3D"http://www.pcworld.com/article/id,127334-c,shareware/article.html=
">Download=20
This: Clocks, Chats, and Faster Searches, for Free</A> </DIV><!-- END =
ITEM --><!-- BEGIN ITEM -->
<DIV class=3D"relCatLink artLinkOff"=20
onmouseover=3D"changeClass(this, 'artLinkOff', 'artLinkOn');"=20
onmouseout=3D"changeClass(this, 'artLinkOn', 'artLinkOff');"><A=20
class=3DmyPagesUnsaved title=3D"Add to My Pages"=20
onclick=3D"addToMyPages(this, 'art127064', 'Download This: Remove =
Rootkits, Place-Shift Your TV', =
'/article/id,127064-c,privacysecurity/article.html');"=20
href=3D"javascript:void(0);"><!-- for IE --></A><A=20
title=3D"Download This: Remove Rootkits, Place-Shift Your TV"=20
href=3D"http://www.pcworld.com/article/id,127064-c,privacysecurity/articl=
e.html">Download=20
This: Remove Rootkits, Place-Shift Your TV</A> </DIV><!-- END ITEM =
--></DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV><!-- IE --></DIV>
<DIV class=3DsectionCol1>
<DIV class=3DsubhdCont>
<DIV class=3DdividerSolid><!-- for IE --></DIV>
<DIV class=3DsectionSubhd2>Archives</DIV>
<DIV class=3DdividerDotted><!-- for IE --></DIV>
<DIV class=3DarchiveLead>View columns from: </DIV><SELECT =
class=3DarchiveSelect=20
onchange=3D"if(this.value!=3D0){location.href=3Dthis.value}; return =
true;"=20
name=3Darchive> <OPTION value=3D0 selected>Select a year</OPTION> =
<OPTION=20
  =
value=3D/columnist/id,7-n,downloadthis-year,2007/columnist.html>2007</OPT=
ION>=20
  <OPTION=20
  =
value=3D/columnist/id,7-n,downloadthis-year,2006/columnist.html>2006</OPT=
ION>=20
  <OPTION=20
  =
value=3D/columnist/id,7-n,downloadthis-year,2005/columnist.html>2005</OPT=
ION>=20
  <OPTION=20
  =
value=3D/columnist/id,7-n,downloadthis-year,2004/columnist.html>2004</OPT=
ION>=20
  <OPTION=20
  =
value=3D/columnist/id,7-n,downloadthis-year,2003/columnist.html>2003</OPT=
ION></SELECT>=20
</DIV><!-- IE --></DIV>
<DIV class=3Dclear><!-- IE --></DIV>
<DIV class=3DsectionCol1>
<DIV class=3Dmod1ColBlkTopShadow>
<H2 class=3DmodHd>Free Newsletters</H2></DIV>
<DIV class=3Dmod1ColBlkMidShadow>
<DIV class=3D"mod1ColContent modHeight2">
<DIV class=3Ddiv1ColTextWide id=3DtoutNews>
<DIV class=3Ddiv1ColTextLead>Receive the latest reviews, how-to's, news, =
and=20
more.</DIV>
<FORM name=3Dnewslettermodule action=3D/newsletters/module_processor=20
method=3Dpost><INPUT id=3Dsourceid type=3Dhidden value=3D1 =
name=3Dsourceid> <INPUT=20
id=3Dsubsource type=3Dhidden value=3DNL_MODULE name=3Dsubsource> <INPUT =
id=3Dsubmitted=20
type=3Dhidden value=3Dshow name=3Dsubmitted>=20
<DIV=20
style=3D"PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; =
PADDING-BOTTOM: 4px; WIDTH: 188px; PADDING-TOP: 0px"><INPUT=20
type=3Dcheckbox value=3D586 name=3Dprodid> <A class=3DlinkInlineBold=20
onclick=3D"window.open('/newsletters/sampleview?prodid=3D586', =
'BabyWindow', =
'height=3D400,width=3D440,resizable=3Dyes,scrollbars=3Dyes');return =
false;"=20
href=3D"http://www.pcworld.com/article/id,128044-c,shareware/article.html=
#">Hardware=20
&amp; Software&nbsp;&nbsp;</A> </DIV>
<DIV=20
style=3D"PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; =
PADDING-BOTTOM: 4px; WIDTH: 188px; PADDING-TOP: 0px"><INPUT=20
type=3Dcheckbox value=3D183 name=3Dprodid> <A class=3DlinkInlineBold=20
onclick=3D"window.open('/newsletters/sampleview?prodid=3D183', =
'BabyWindow', =
'height=3D400,width=3D440,resizable=3Dyes,scrollbars=3Dyes');return =
false;"=20
href=3D"http://www.pcworld.com/article/id,128044-c,shareware/article.html=
#">Daily=20
Downloads&nbsp;&nbsp;</A> </DIV>
<DIV=20
style=3D"PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; =
PADDING-BOTTOM: 4px; WIDTH: 188px; PADDING-TOP: 0px"><INPUT=20
type=3Dcheckbox value=3D589 name=3Dprodid> <A class=3DlinkInlineBold=20
onclick=3D"window.open('/newsletters/sampleview?prodid=3D589', =
'BabyWindow', =
'height=3D400,width=3D440,resizable=3Dyes,scrollbars=3Dyes');return =
false;"=20
href=3D"http://www.pcworld.com/article/id,128044-c,shareware/article.html=
#">Windows=20
Vista&nbsp;&nbsp;</A> </DIV>
<DIV class=3DtoutFld><INPUT class=3Dfield onfocus=3DclearFld(this);=20
value=3D"Enter e-mail address" name=3Demail> </DIV>
<DIV class=3DtoutBtn><A class=3DbtnTout title=3DGo=20
href=3D"javascript:document.newslettermodule.submit();">Go</A>=20
</DIV></FORM></DIV><A class=3DlinkBtmRt1 title=3D"All Newsletters"=20
href=3D"http://www.pcworld.com/newsletters/index.html">See all =
newsletters</A>=20
</DIV></DIV>
<DIV class=3Dmod1ColBlkBtmShadow><!-- for IE --></DIV><!-- IE --></DIV>
<DIV class=3DsectionCol1>
<DIV class=3Dmod1ColBlkTopShadow>
<H2 class=3DmodHd>Recent Discussions</H2></DIV>
<DIV class=3Dmod1ColBlkMidShadow>
<DIV class=3D"mod1ColContent modHeight2SolidGry">
<DIV class=3Ddiv1ColTextWide>
<DIV class=3Ddiv1ColTextLead><A=20
href=3D"http://forums.pcworld.com/forums">PCWorld.com =
Community</A></DIV>
<DIV class=3Dmod1ColItem><A class=3DlinkTitle title=3D"Dell to Sell =
Linux PCs"=20
href=3D"http://forums.pcworld.com/forums/viewtopic.php?p=3D24875#24875">D=
ell to Sell=20
Linux PCs</A> Steps to buying a new computer. 1. Buy new dell (vista =
loaded) 2.=20
FORMAT HARD DRIVE And... </DIV>
<DIV class=3Dmod1ColItem><A class=3DlinkTitle title=3D"svchost.exe =
hogging 99% CPU"=20
href=3D"http://forums.pcworld.com/forums/viewtopic.php?p=3D24874#24874">s=
vchost.exe=20
hogging 99% CPU</A> I have Microsoft Update enabled on six laptop =
computers, but=20
only one of them has the... </DIV></DIV></DIV></DIV>
<DIV class=3Dmod1ColBlkBtmShadow><!-- for IE --></DIV><!-- IE --></DIV>
<DIV class=3Dclear><!-- IE --></DIV><!-- IE --></DIV>
<DIV class=3Dclear><!-- IE --></DIV>
<SCRIPT src=3D"http://i.pcworld.com/js/adlinks.js" =
type=3Dtext/javascript></SCRIPT>

<DIV class=3DadMkt2Colw>
<H2 class=3DadMktHd>Today's Special Offers</H2>
<DIV class=3DadMktSet>
<SCRIPT type=3Dtext/javascript>renderSpecialOfferBox(7);</SCRIPT>
</DIV>
<DIV class=3DadMktSet>
<SCRIPT type=3Dtext/javascript>renderSpecialOfferBox(7);</SCRIPT>
</DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV class=3DprintHide=20
style=3D"BORDER-RIGHT: #484848 1px solid; BORDER-TOP: #484848 1px solid; =
BACKGROUND: #ededed; BORDER-LEFT: #484848 1px solid; WIDTH: 782px; =
BORDER-BOTTOM: #484848 1px solid; HEIGHT: 206px; TEXT-ALIGN: center">
<DIV class=3DsubsArea>
<DIV class=3DsubsLeft>
<DIV class=3DsubsMagcover></DIV>
<DIV class=3DsubsLinksLeft>
<DIV style=3D"TEXT-ALIGN: left"><A class=3DsubPolicyAnchor=20
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&am=
p;cds_page_id=3D11664"=20
target=3D_blank>Canadian residents</A> | <A class=3DsubPolicyAnchor=20
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&am=
p;cds_page_id=3D9066"=20
target=3D_blank>Foreign residents</A></DIV>
<DIV style=3D"TEXT-ALIGN: left"><A class=3DsubPolicyAnchor=20
href=3D"https://w1.buysub.com/servlet/CSGateway?cds_mag_code=3DPCW"=20
target=3D_blank>Customer service</A> | <A class=3DsubPolicyAnchor=20
href=3D"http://www.pcworld.com/resource/privacy.html" =
target=3D_blank>Privacy=20
Policy</A></DIV></DIV></DIV>
<DIV class=3DsubsCenter>Enter your trial subscription and get <B>2 =
Risk-Free=20
Issues plus Bonus CD-ROM</B>. If you like <SPAN style=3D"WHITE-SPACE: =
nowrap">PC=20
WORLD</SPAN>, pay just $19.97 for 10 more issues (12 in all). Otherwise, =
write=20
"cancel" on the bill, return it, and owe nothing. <B>Added Bonus!</B> =
You will=20
also get <SPAN style=3D"WHITE-SPACE: nowrap">PC World's</SPAN> Weekly =
Brief, a=20
free e-mail newsletter.<BR>
<DIV align=3Dcenter><A class=3DsubButton=20
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&am=
p;cds_page_id=3D11678"=20
target=3D_blank><IMG=20
style=3D"PADDING-RIGHT: 0px; MARGIN-TOP: 15px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none"=20
height=3D43 alt=3D"Get 2 Extra Issues If You Pay Now"=20
src=3D"http://images.pcworld.com/resource/graphics/subform/embedded_bonus=
issues_2.gif"=20
width=3D213 border=3D0> </A></DIV></DIV>
<DIV class=3DsubsRight>
<FORM id=3Dsubform name=3Dsubform=20
action=3D/subform/subform_processor><!-- form --><INPUT type=3Dhidden =
name=3Dsource>=20
<INPUT type=3Dhidden value=3DY name=3Dcds_opt_in1>=20
<TABLE cellSpacing=3D0 cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD class=3DsubsFormText align=3Dleft>Name</TD>
    <TD class=3DsubsFormText align=3Dleft>City</TD></TR>
  <TR><!-- Here are the Name and City -->
    <TD><INPUT tabIndex=3D101 maxLength=3D27 size=3D17 =
name=3Dcds_name></TD>
    <TD><INPUT tabIndex=3D104 maxLength=3D13 size=3D17 =
name=3Dcds_city></TD></TR>
  <TR>
    <TD align=3Dleft>
      <TABLE cellSpacing=3D0 cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD class=3DsubsFormText align=3Dleft>Address 1</TD></TR>
        <TR>
          <TD><INPUT tabIndex=3D102 maxLength=3D24 size=3D17=20
        name=3Dcds_address_1></TD></TR></TBODY></TABLE></TD>
    <TD>
      <TABLE cellSpacing=3D0 cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD class=3DsubsFormText align=3Dleft>State&nbsp;</TD>
          <TD class=3DsubsFormText align=3Dleft>Zip Code</TD></TR>
        <TR><!-- Here are the State and Zipcode-->
          <TD><INPUT tabIndex=3D105 maxLength=3D2 size=3D2 =
name=3Dcds_state></TD>
          <TD><INPUT tabIndex=3D106 maxLength=3D6 size=3D9=20
        name=3Dcds_zip></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD class=3DsubsFormText align=3Dleft>Address 2</TD>
    <TD class=3DsubsFormText align=3Dleft>E-mail (optional)</TD></TR>
  <TR>
    <TD><INPUT tabIndex=3D103 maxLength=3D24 size=3D17 =
name=3Dcds_address_2></TD>
    <TD><INPUT tabIndex=3D107 maxLength=3D50 size=3D17=20
name=3Dcds_email></TD></TR></TBODY></TABLE>I would like to receive =
occasional=20
e-mails about special offers and information from carefully screened =
companies.=20
<BR>
<DIV align=3Dcenter><INPUT type=3Dradio CHECKED value=3DY =
name=3Dcds_opt_in2>Yes <INPUT=20
type=3Dradio value=3DN name=3Dcds_opt_in2>No<BR><INPUT type=3Dimage =
alt=3D"Enter My Order"=20
src=3D"http://images.pcworld.com/resource/graphics/subform/embedded_butto=
n_yellow.gif"=20
name=3Dsend> </DIV></FORM></DIV></DIV><!-- close subsArea =
--></DIV></DIV>
<DIV class=3Dclear><!-- for IE --></DIV></DIV>
<DIV class=3DareaFooter>
<DIV class=3DftFooter id=3DftFooter><!-- Search / Links -->
<DIV class=3DftLt2>
<DIV class=3DftToolbarSrch id=3DftSearch>
<FORM id=3DsrchFormFooter name=3DsrchFormFooter action=3D/search/results =
method=3Dget>
<DIV class=3DftToolbarFld><INPUT class=3Dfield2 =
onfocus=3DclearFld(this);=20
value=3D"Search PC World" name=3Dqt> </DIV>
<DIV class=3DftToolbarBtn><A class=3DbtnFtSearch title=3D"Search PC =
World"=20
href=3D"javascript:submitSearch($('srchFormFooter'));">Search</A>=20
</DIV></FORM></DIV>
<DIV class=3DadvSearch><A =
href=3D"http://www.pcworld.com/search">Advanced=20
Search</A></DIV></DIV><!-- ftLt2 -->
<DIV class=3DftDash><!-- for IE --></DIV>
<DIV class=3DftRt2><SPAN class=3DftQuickLinks>QUICK LINKS:</SPAN> <A=20
href=3D"http://www.pcworld.com/article/id,123678-page,1-c,story/article.h=
tml?tk=3Dfoot">Cheap=20
Laptops</A> <A =
href=3D"http://www.pcworld.com/tc/workplace/?tk=3Dfoot">Small=20
Business</A> <A href=3D"http://www.pcworld.com/ic/pda/?tk=3Dfoot">Best =
Cell=20
Phones</A> <A=20
href=3D"http://www.pcworld.com/article/id,123839-page,1/article.html?tk=3D=
foot">Laser=20
Printers</A> <A=20
href=3D"http://www.pcworld.com/product/reviewfinder.html?id=3D41&amp;tk=3D=
foot">HDTV=20
Plasma TV</A> <A =
href=3D"http://www.pcworld.com/ic/cameras/?tk=3Dfoot">Digital=20
Cameras</A> <A=20
href=3D"http://www.pcworld.com/article/id,124820-page,1/article.html?tk=3D=
foot">PC=20
Speakers</A> <A=20
href=3D"http://www.pcworld.com/article/id,123729-page,1-c,story/article.h=
tml?tk=3Dfoot">Power=20
Laptop</A> <A href=3D"http://www.pcworld.com/ic/email/?tk=3Dfoot">Email =
&amp;=20
VOIP</A> <A =
href=3D"http://www.pcworld.com/tc/spyware/?tk=3Dfoot">Security=20
Antivirus</A> <A =
href=3D"http://www.pcworld.com/ic/windows/?tk=3Dfoot">Vista</A> <A=20
href=3D"http://www.pcworld.com/ic/monitors/?tk=3Dfoot">LCD Monitors</A> =
<A=20
href=3D"http://www.pcworld.com/article/id,126369-page,1/article.html?tk=3D=
foot">InkJet=20
Printers</A> <A=20
href=3D"http://www.pcworld.com/article/id,125072-page,1/article.html?tk=3D=
foot">Attached=20
Storage</A> <A=20
href=3D"http://www.pcworld.com/article/id,126166-page,1/article.html?tk=3D=
foot">Best=20
Video Cameras</A> <BR>
<DIV class=3Dclear><!-- for IE --></DIV><A=20
href=3D"http://www.pcworld.com/ic/mac/?tk=3Dfoot">iPod MP3 Players</A> =
<A=20
href=3D"http://www.pcworld.com/ic/desktops/?tk=3Dfoot">Desktop =
Computers</A> <A=20
href=3D"http://www.pcworld.com/tc/upgrade/?tk=3Dfoot">Motherboards &amp; =
Graphics=20
Cards</A> <A =
href=3D"http://www.pcworld.com/ic/laptops/?tk=3Dfoot">Business Laptops=20
&amp; Notebooks</A> <A=20
href=3D"http://www.pcworld.com/article/id,126852-page,1/article.html?tk=3D=
foot">Wireless=20
Networks</A> </DIV><!-- ftRt --><!-- PCW resources -->
<DIV class=3DftLt><A =
href=3D"http://www.pcworld.com/resource/aboutus.html"><SPAN=20
class=3DhdToolbarLink>About Us</SPAN></A><A=20
href=3D"http://www.pcworld.com/resource/contactus.html">Contact Us</A><A =

href=3D"http://marketing.pcworld.com/">Advertise</A><A=20
href=3D"http://www.pcworld.com/resource/asme.html">ASME Guidelines</A><A =

href=3D"http://www.pcworld.com/newsletters/index.html">Newsletters</A><A =

href=3D"http://www.pcworld.com/resource/site_faq.html">FAQ</A><A=20
href=3D"http://www.pcworld.com/resource/idg_intl.html">IDG =
International</A>=20
<DIV class=3Dclear><!-- for IE --></DIV><A=20
href=3D"http://www.pcworld.com/resource/copyright.html">=C2=A9 =
1998-2007, PC World=20
Communications, Inc.</A><A=20
href=3D"http://www.pcworld.com/resource/termsofservice.html">Terms of =
Service=20
Agreement</A><A =
href=3D"http://www.pcworld.com/resource/privacy.html">Privacy=20
Policy</A><A =
href=3D"http://www.pcworld.com/resource/community.html">Community=20
Standards</A> </DIV><!-- ftLt -->
<DIV class=3DftRt><A class=3DftText=20
href=3D"http://www.pcworld.com/resource/rss.html">RSS Feeds</A><A =
class=3DftIconXml=20
href=3D"http://www.pcworld.com/resource/rss.html"><IMG =
class=3DimgIconXml alt=3DXML=20
src=3D"http://images.pcworld.com/images/common/icon_xml.gif"></A></DIV><!=
-- IDG Network links -->
<DIV class=3DftLt><A =
href=3D"http://www.pcworld.com/resource/idg_network.html">IDG=20
NETWORK:</A><A href=3D"http://www.cio.com/" target=3D_blank>CIO</A><A=20
href=3D"http://www.computerworld.com/" =
target=3D_blank>Computerworld</A><A=20
href=3D"http://www.csoonline.com/" target=3D_blank>CSO</A><A=20
href=3D"http://www.games.net/" target=3D_blank>Games</A><A=20
href=3D"http://www.gamepro.com/" target=3D_blank>GamePro</A><A=20
href=3D"http://www.gamerhelp.com/" target=3D_blank>GamerHelp</A><A=20
href=3D"http://www.idgconnect.com/" target=3D_blank>IDG Connect</A><A=20
href=3D"http://www.infoworld.com/?source=3DAFL-pcwf" =
target=3D_blank>Infoworld</A><A=20
href=3D"http://www.itworldcanada.com/" target=3D_blank>ITWorld =
Canada</A><A=20
href=3D"http://www.javaworld.com/" target=3D_blank>JavaWorld</A>=20
<DIV class=3Dclear><!-- for IE --></DIV><A =
href=3D"http://www.linuxworld.com/"=20
target=3D_blank>LinuxWorld</A><A href=3D"http://www.macworld.com/"=20
target=3D_blank>Macworld</A><A href=3D"http://mikrodatorn.idg.se/"=20
target=3D_blank>MikroDatorn</A><A href=3D"http://www.networkworld.com/"=20
target=3D_blank>Network World</A><A href=3D"http://www.pcadvisor.co.uk/" =

target=3D_blank>PC Advisor</A><A href=3D"http://www.pcwelt.de/"=20
target=3D_blank>PC-Welt</A><A href=3D"http://www.pcworld.hu/" =
target=3D_blank>PC World=20
Hungary</A><A href=3D"http://www.pcwla.com/" target=3D_blank>PC World =
Latin=20
America</A><A href=3D"http://www.pcworld.pl/" target=3D_blank>PC World=20
Komputer</A><A href=3D"http://playlistmag.com/" =
target=3D_blank>Playlist</A><A=20
href=3D"http://www.tecchannel.de/" target=3D_blank>tecCHANNEL</A><A=20
href=3D"http://www.techworld.com/" target=3D_blank>Techworld</A>=20
</DIV><!-- ftLt --></DIV></DIV></DIV></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
<!--
if (isPCIE) {
        setTimeout('WriteFeatureViewer()',1000);
} else {
        WriteFeatureViewer();
}
// -->
</SCRIPT>
<!-- Mon Feb 26 20:54:54 PST 2007 -->
<SCRIPT src=3D"http://i.pcworld.com/script/refresh.js" defer=20
type=3Dtext/javascript></SCRIPT>
</BODY></HTML>

------=_NextPart_001_002D_01C759E8.BC3BF840
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: res://ieframe.dll/dnserror.htm

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>Internet Explorer cannot display the =
webpage</TITLE><LINK=20
href=3D"res://ieframe.dll/ErrorPageTemplate.css" type=3Dtext/css =
rel=3Dstylesheet>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<SCRIPT language=3Djavascript =
src=3D"res://ieframe.dll/errorPageStrings.js"=20
type=3Dtext/javascript>
        </SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"res://ieframe.dll/httpErrorPagesScripts.js"=20
type=3Dtext/javascript>
        </SCRIPT>

<META content=3D"MSHTML 6.00.6000.16414" name=3DGENERATOR></HEAD>
<BODY onload=3D"javascript:initMoreInfo('infoBlockID');">
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D730 border=3D0><!-- Error =
title -->
  <TBODY>
  <TR>
    <TD id=3DinfoIconAlign vAlign=3Dtop align=3Dleft width=3D60 =
rowSpan=3D2><IMG=20
      id=3DinfoIcon alt=3D"Info icon" =
src=3D"res://ieframe.dll/info_48.png"> </TD>
    <TD id=3DmainTitleAlign vAlign=3Dcenter align=3Dleft width=3D*>
      <H1 id=3DmainTitle>Internet Explorer cannot display the =
webpage</H1></TD></TR>
  <TR><!-- This row is for HTTP status code, as well as the divider-->
    <TD class=3DerrorCodeAndDivider id=3DerrorCodeAlign =
align=3Dright>&nbsp;=20
      <DIV class=3Ddivider></DIV></TD></TR><!-- Error Body -->
  <TR>
    <TD>&nbsp; </TD>
    <TD id=3DMostLikelyAlign vAlign=3Dtop align=3Dleft>
      <H3 id=3DlikelyCauses>Most likely causes:</H3>
      <UL>
        <LI id=3DcauseNotConnected>You are not connected to the =
Internet.=20
        <LI id=3DcauseSiteProblem>The website is encountering problems.=20
        <LI id=3DcauseErrorInAddress>There might be a typing error in =
the address.=20
        </LI></UL></TD></TR><!-- What you can do -->
  <TR>
    <TD>&nbsp; </TD>
    <TD id=3DwhatToTryAlign vAlign=3Dtop align=3Dleft>
      <H2 id=3DwhatToTry>What you can try:</H2></TD></TR><!-- Check =
Connection -->
  <TR>
    <TD>&nbsp; </TD>
    <TD id=3DcheckConnectionAlign vAlign=3Dcenter align=3Dleft>
      <H4>
      <TABLE>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop><IMG class=3DactionIcon alt=3D""=20
            src=3D"res://ieframe.dll/bullet.png" border=3D0> </TD>
          <TD vAlign=3Dtop><A=20
            onclick=3D"javascript:diagnoseConnection(); return false;"=20
            href=3D"res://ieframe.dll/dnserror.htm#"><ID =
id=3Ddiagnose>Diagnose=20
            Connection Problems</ID></A> =
</TD></TR></TBODY></TABLE></H4></TD></TR><!-- InfoBlock -->
  <TR>
    <TD id=3DinfoBlockAlign vAlign=3Dtop align=3Dright>&nbsp; </TD>
    <TD id=3DmoreInformationAlign vAlign=3Dcenter align=3Dleft>
      <H4>
      <TABLE>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop><A=20
            onclick=3D"javascript:expandCollapse('infoBlockID', true); =
return false;"=20
            href=3D"res://ieframe.dll/dnserror.htm#"><IMG =
class=3DactionIcon=20
            id=3DinfoBlockIDImage alt=3D"More information"=20
            src=3D"res://ieframe.dll/down.png" border=3D0></A> </TD>
          <TD vAlign=3Dtop><SPAN =
id=3DmoreInfoContainer></SPAN><NOSCRIPT><ID=20
            id=3DmoreInformation>More information</ID></NOSCRIPT>=20
      </TD></TR></TBODY></TABLE></H4>
      <DIV class=3DinfoBlock id=3DinfoBlockID style=3D"DISPLAY: none">
      <P><ID id=3DerrorExpl1>This problem can be caused by a variety of =
issues,=20
      including:</ID>=20
      <UL>
        <LI id=3DerrorExpl2>Internet connectivity has been lost.=20
        <LI id=3DerrorExpl3>The website is temporarily unavailable.=20
        <LI id=3DerrorExpl4>The Domain Name Server (DNS) is not =
reachable.=20
        <LI id=3DerrorExpl5>The Domain Name Server (DNS) does not have a =
listing=20
        for the website's domain.=20
        <LI id=3DerrorExpl6>If this is an HTTPS (secure) address, click =
Tools,=20
        click Internet Options, click Advanced, and check to be sure the =
SSL and=20
        TLS protocols are enabled under the security section. </LI></UL>
      <P></P>
      <P id=3DofflineUsers><B>For offline users</B></P>
      <P id=3DviewSubscribedFeeds1>You can still view subscribed feeds =
and some=20
      recently viewed webpages.<BR>To view subscribed feeds=20
      <OL>
        <LI id=3DviewSubscribedFeeds2>Click the Favorites Center button =
<IMG=20
        src=3D"res://ieframe.dll/favcenter.png" border=3D0>, click =
Feeds, and then=20
        click the feed you want to view. </LI></OL>
      <P></P>
      <P id=3DviewRecentWebpages1>To view recently visited webpages =
(might not=20
      work on all pages)=20
      <OL>
        <LI id=3DviewRecentWebpages2>Click Tools <IMG=20
        src=3D"res://ieframe.dll/tools.png" border=3D0>, and then click =
Work=20
        Offline.=20
        <LI id=3DviewRecentWebpages3>Click the Favorites Center button =
<IMG=20
        src=3D"res://ieframe.dll/favcenter.png" border=3D0>, click =
History, and then=20
        click the page you want to view. </LI></OL>
      <P></P></DIV></TD></TR></TBODY></TABLE></BODY></HTML>

------=_NextPart_001_002D_01C759E8.BC3BF840--

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://cache.directorym.com/creative/pcw/pc-world-bg012307.gif

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
gzI4g5lQgzZ4gziYCoM6uIM82IOXEAgAOw==

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://cache.directorym.com/creative/pcw/go-button.gif

R0lGODlhGgAUANUAANno8srY4aeiieHXotbk7tazH36AgcnX4Jmkq7XCyquXQ52OTrG6wXZ3eHR1
dpidoZqlrIWKjIuQk9fm8NDf6aKttPjKA7TAyMPQ2Xl6e4CHi623vaOutdTj7IyWnaWxuNjPnpee
o6Ovtp6ahXp+gZigpcLP2Ku3v5Wfpnh6fP3fWPzRG/3aQv3WLf7jbf/slP7ogvzOC//vpJijqkBA
QHJycv/yr/zMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAGgAUAAAGyUAAgGGoGY/IpDGz
oUyED8HARq1ar1TQSBIgMATYsFgQOhim4nR10LjU1HBqrVKT2e/4vN5eQ9RegIEvNIQ0goeBNTM1
MI2OhI+OkpKKNS6XmISYmZqbLpUqoaKEKoWlNKeioZUsra6ErbCyNK6tlS24uYS4u700ubiVK8PE
K4WEw4XFw5Uxzs/Q0dLOlTfW19jZ2tbV297blQrf4zcWCooHEQsF5NoFCyQeHx0mJSlK+EgOGign
GAAEAiQQAWGGwYMIEyLgkKBLEAA7

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://cache.directorym.com/creative/pcw/pc-world-mod012307.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<STYLE type=3Dtext/css>BODY {
	FONT-SIZE: 8pt; MARGIN: 0px; LINE-HEIGHT: 11px; FONT-FAMILY: Arial, =
Sans-Serif
}
#shell {
	BORDER-RIGHT: #bcbfc1 1px solid; BORDER-TOP: #bcbfc1 1px solid; =
BORDER-LEFT: #bcbfc1 1px solid; WIDTH: 158px; BORDER-BOTTOM: #bcbfc1 1px =
solid; HEIGHT: 320px; BACKGROUND-COLOR: #bcbfc1
}
#form {
	LEFT: 12px; POSITION: absolute; TOP: 85px
}
#category {
	LEFT: 15px; POSITION: absolute; TOP: 122px; TEXT-ALIGN: left
}
A:link {
	FONT-SIZE: 11px; COLOR: #990000; TEXT-DECORATION: none
}
A:active {
	FONT-SIZE: 11px; COLOR: #990000; TEXT-DECORATION: none
}
A:hover {
	FONT-SIZE: 11px; COLOR: #990000
}
A:visited {
	FONT-SIZE: 11px; COLOR: #990000; TEXT-DECORATION: none
}
.title {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #990000
}
.form {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: =
0px; MARGIN: 0px; COLOR: #333333; PADDING-TOP: 0px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.go {
	MARGIN-BOTTOM: -6px
}
</STYLE>

<META content=3D"MSHTML 6.00.6000.16414" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3Dshell><IMG=20
src=3D"http://cache.directorym.com/creative/pcw/pc-world-bg012307.gif">=20
<FORM id=3Dform name=3Dform action=3Dhttp://pcworld.directorym.com =
method=3Dget=20
target=3D_top><INPUT type=3Dhidden value=3D114 name=3Dsource> <INPUT =
class=3Dform=20
id=3Dsearch onfocus=3D"this.value=3D''" maxLength=3D20 size=3D14 =
value=3D"Search Now"=20
name=3Dsearch> <INPUT class=3Dgo type=3Dimage alt=3DGo=20
src=3D"http://cache.directorym.com/creative/pcw/go-button.gif" =
border=3D0> </FORM>
<DIV id=3Dcategory><SPAN class=3Dtitle>Popular Categories</SPAN> =
<BR><BR><A=20
href=3D"http://pcworld.directorym.com/dm/Data_Backup-National-d10491.aspx=
?source=3D113"=20
target=3D_top>Data Backup</A> <BR><BR><A=20
href=3D"http://pcworld.directorym.com/dm/eCommerce_Solutions-National-d11=
396.aspx?source=3D113"=20
target=3D_top>eCommerce Solutions</A><BR><BR><A=20
href=3D"http://pcworld.directorym.com/dm/Software_Solutions-National-d260=
48.aspx?source=3D113"=20
target=3D_top>Software Solutions</A> <BR><BR><A=20
href=3D"http://pcworld.directorym.com/dm/VoIP-National-d10336.aspx?source=
=3D113"=20
target=3D_top>VoIP</A><BR><BR><A=20
href=3D"http://pcworld.directorym.com/dm/Web_Conferencing-National-d10628=
.aspx?source=3D113"=20
target=3D_top>Web Conferencing</A><BR><BR><A=20
href=3D"http://pcworld.directorym.com/dm/Web_Hosting-National-d10190.aspx=
?source=3D113"=20
target=3D_top>Web Hosting</A><BR><BR><A=20
href=3D"http://pcworld.directorym.com/?source=3D113" target=3D_top>More=20
Categories</A></DIV></DIV></BODY></HTML>

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: res://ieframe.dll/ErrorPageTemplate.css

BODY {
	MARGIN-TOP: 20px; BACKGROUND-IMAGE: url(background_gradient.jpg); =
MARGIN-LEFT: 20px; COLOR: #575757; BACKGROUND-REPEAT: repeat-x; =
FONT-FAMILY: "Segoe UI", "verdana", "arial"; BACKGROUND-COLOR: #e8eaef
}
BODY.securityError {
	MARGIN-TOP: 20px; BACKGROUND-IMAGE: url(background_gradient_red.jpg); =
MARGIN-LEFT: 20px; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: "Segoe UI", =
"verdana" , "Arial"; BACKGROUND-COLOR: #e8eaef
}
BODY.tabInfo {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #f4f4f4
}
A {
	FONT-WEIGHT: normal; FONT-SIZE: 1em; MARGIN-LEFT: 0px; VERTICAL-ALIGN: =
top; COLOR: rgb(19,112,171); TEXT-DECORATION: none
}
A:link {
	VERTICAL-ALIGN: top; COLOR: rgb(19,112,171); TEXT-DECORATION: none
}
A:visited {
	VERTICAL-ALIGN: top; COLOR: rgb(19,112,171); TEXT-DECORATION: none
}
A:hover {
	COLOR: rgb(7,74,229); TEXT-DECORATION: underline
}
P {
	FONT-SIZE: 0.9em
}
H1 {
	MARGIN-TOP: 7px; FONT-WEIGHT: normal; FONT-SIZE: 1.1em; MARGIN-BOTTOM: =
4px; VERTICAL-ALIGN: bottom; COLOR: #4465a2
}
H2 {
	MARGIN-TOP: 20px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
1px
}
H3 {
	MARGIN-TOP: 10px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
1px
}
H4 {
	MARGIN-TOP: 12px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
1px
}
H5 {
	MARGIN-TOP: 1px; FONT-WEIGHT: normal; FONT-SIZE: 0.9em; MARGIN-BOTTOM: =
0px; COLOR: #575757
}
.actionIcon {
	MARGIN-TOP: 0px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 6px
}
.infoBlock {
	DISPLAY: block; PADDING-LEFT: 25px; FONT-SIZE: 0.9em; COLOR: #575757
}
.errorCodeAndDivider {
	FONT-WEIGHT: normal; FONT-SIZE: 0.7em; COLOR: #787878
}
UL {
	MARGIN-TOP: 1px; LIST-STYLE-POSITION: outside; FONT-SIZE: 0.9em; =
MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 1px; LINE-HEIGHT: 1.3em; =
PADDING-TOP: 1px
}
OL {
	MARGIN-TOP: 1px; LIST-STYLE-POSITION: outside; FONT-SIZE: 0.9em; =
MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 1px; LINE-HEIGHT: 1.3em; =
PADDING-TOP: 1px
}
.divider {
	BORDER-BOTTOM: #b6bcc6 1px solid
}

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: res://ieframe.dll/dnserror.htm

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>Internet Explorer cannot display the =
webpage</TITLE><LINK=20
href=3D"res://ieframe.dll/ErrorPageTemplate.css" type=3Dtext/css =
rel=3Dstylesheet>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<SCRIPT language=3Djavascript =
src=3D"res://ieframe.dll/errorPageStrings.js"=20
type=3Dtext/javascript>
        </SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"res://ieframe.dll/httpErrorPagesScripts.js"=20
type=3Dtext/javascript>
        </SCRIPT>

<META content=3D"MSHTML 6.00.6000.16414" name=3DGENERATOR></HEAD>
<BODY onload=3D"javascript:initMoreInfo('infoBlockID');">
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D730 border=3D0><!-- Error =
title -->
  <TBODY>
  <TR>
    <TD id=3DinfoIconAlign vAlign=3Dtop align=3Dleft width=3D60 =
rowSpan=3D2><IMG=20
      id=3DinfoIcon alt=3D"Info icon" =
src=3D"res://ieframe.dll/info_48.png"> </TD>
    <TD id=3DmainTitleAlign vAlign=3Dcenter align=3Dleft width=3D*>
      <H1 id=3DmainTitle>Internet Explorer cannot display the =
webpage</H1></TD></TR>
  <TR><!-- This row is for HTTP status code, as well as the divider-->
    <TD class=3DerrorCodeAndDivider id=3DerrorCodeAlign =
align=3Dright>&nbsp;=20
      <DIV class=3Ddivider></DIV></TD></TR><!-- Error Body -->
  <TR>
    <TD>&nbsp; </TD>
    <TD id=3DMostLikelyAlign vAlign=3Dtop align=3Dleft>
      <H3 id=3DlikelyCauses>Most likely causes:</H3>
      <UL>
        <LI id=3DcauseNotConnected>You are not connected to the =
Internet.=20
        <LI id=3DcauseSiteProblem>The website is encountering problems.=20
        <LI id=3DcauseErrorInAddress>There might be a typing error in =
the address.=20
        </LI></UL></TD></TR><!-- What you can do -->
  <TR>
    <TD>&nbsp; </TD>
    <TD id=3DwhatToTryAlign vAlign=3Dtop align=3Dleft>
      <H2 id=3DwhatToTry>What you can try:</H2></TD></TR><!-- Check =
Connection -->
  <TR>
    <TD>&nbsp; </TD>
    <TD id=3DcheckConnectionAlign vAlign=3Dcenter align=3Dleft>
      <H4>
      <TABLE>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop><IMG class=3DactionIcon alt=3D""=20
            src=3D"res://ieframe.dll/bullet.png" border=3D0> </TD>
          <TD vAlign=3Dtop><A=20
            onclick=3D"javascript:diagnoseConnection(); return false;"=20
            href=3D"res://ieframe.dll/dnserror.htm#"><ID =
id=3Ddiagnose>Diagnose=20
            Connection Problems</ID></A> =
</TD></TR></TBODY></TABLE></H4></TD></TR><!-- InfoBlock -->
  <TR>
    <TD id=3DinfoBlockAlign vAlign=3Dtop align=3Dright>&nbsp; </TD>
    <TD id=3DmoreInformationAlign vAlign=3Dcenter align=3Dleft>
      <H4>
      <TABLE>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop><A=20
            onclick=3D"javascript:expandCollapse('infoBlockID', true); =
return false;"=20
            href=3D"res://ieframe.dll/dnserror.htm#"><IMG =
class=3DactionIcon=20
            id=3DinfoBlockIDImage alt=3D"More information"=20
            src=3D"res://ieframe.dll/down.png" border=3D0></A> </TD>
          <TD vAlign=3Dtop><SPAN =
id=3DmoreInfoContainer></SPAN><NOSCRIPT><ID=20
            id=3DmoreInformation>More information</ID></NOSCRIPT>=20
      </TD></TR></TBODY></TABLE></H4>
      <DIV class=3DinfoBlock id=3DinfoBlockID style=3D"DISPLAY: none">
      <P><ID id=3DerrorExpl1>This problem can be caused by a variety of =
issues,=20
      including:</ID>=20
      <UL>
        <LI id=3DerrorExpl2>Internet connectivity has been lost.=20
        <LI id=3DerrorExpl3>The website is temporarily unavailable.=20
        <LI id=3DerrorExpl4>The Domain Name Server (DNS) is not =
reachable.=20
        <LI id=3DerrorExpl5>The Domain Name Server (DNS) does not have a =
listing=20
        for the website's domain.=20
        <LI id=3DerrorExpl6>If this is an HTTPS (secure) address, click =
Tools,=20
        click Internet Options, click Advanced, and check to be sure the =
SSL and=20
        TLS protocols are enabled under the security section. </LI></UL>
      <P></P>
      <P id=3DofflineUsers><B>For offline users</B></P>
      <P id=3DviewSubscribedFeeds1>You can still view subscribed feeds =
and some=20
      recently viewed webpages.<BR>To view subscribed feeds=20
      <OL>
        <LI id=3DviewSubscribedFeeds2>Click the Favorites Center button =
<IMG=20
        src=3D"res://ieframe.dll/favcenter.png" border=3D0>, click =
Feeds, and then=20
        click the feed you want to view. </LI></OL>
      <P></P>
      <P id=3DviewRecentWebpages1>To view recently visited webpages =
(might not=20
      work on all pages)=20
      <OL>
        <LI id=3DviewRecentWebpages2>Click Tools <IMG=20
        src=3D"res://ieframe.dll/tools.png" border=3D0>, and then click =
Work=20
        Offline.=20
        <LI id=3DviewRecentWebpages3>Click the Favorites Center button =
<IMG=20
        src=3D"res://ieframe.dll/favcenter.png" border=3D0>, click =
History, and then=20
        click the page you want to view. </LI></OL>
      <P></P></DIV></TD></TR></TBODY></TABLE></BODY></HTML>

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google-analytics.com/urchin.js

//-- Google Analytics Urchin Module=0A=
//-- Copyright 2005 Google, All Rights Reserved.=0A=
=0A=
//-- Urchin On Demand Settings ONLY=0A=
var _uacct=3D"";			// set up the Urchin Account=0A=
var _userv=3D1;			// service mode (0=3Dlocal,1=3Dremote,2=3Dboth)=0A=
=0A=
//-- UTM User Settings=0A=
var _ufsc=3D1;			// set client info flag (1=3Don|0=3Doff)=0A=
var _udn=3D"auto";		// (auto|none|domain) set the domain name for cookies=0A=
var _uhash=3D"on";		// (on|off) unique domain hash for cookies=0A=
var _utimeout=3D"1800";   	// set the inactive session timeout in seconds=0A=
var _ugifpath=3D"/__utm.gif";	// set the web path to the __utm.gif file=0A=
var _utsp=3D"|";			// transaction field separator=0A=
var _uflash=3D1;			// set flash version detect option (1=3Don|0=3Doff)=0A=
var _utitle=3D1;			// set the document title detect option =
(1=3Don|0=3Doff)=0A=
var _ulink=3D0;			// enable linker functionality (1=3Don|0=3Doff)=0A=
var _uanchor=3D0;			// enable use of anchors for campaign =
(1=3Don|0=3Doff)=0A=
var _utcp=3D"/";			// the cookie path for tracking=0A=
var _usample=3D100;		// The sampling % of visitors to track (1-100).=0A=
=0A=
//-- UTM Campaign Tracking Settings=0A=
var _uctm=3D1;			// set campaign tracking module (1=3Don|0=3Doff)=0A=
var _ucto=3D"15768000";		// set timeout in seconds (6 month default)=0A=
var _uccn=3D"utm_campaign";	// name=0A=
var _ucmd=3D"utm_medium";		// medium (cpc|cpm|link|email|organic)=0A=
var _ucsr=3D"utm_source";		// source=0A=
var _uctr=3D"utm_term";		// term/keyword=0A=
var _ucct=3D"utm_content";	// content=0A=
var _ucid=3D"utm_id";		// id number=0A=
var _ucno=3D"utm_nooverride";	// don't override=0A=
=0A=
//-- Auto/Organic Sources and Keywords=0A=
var _uOsr=3Dnew Array();=0A=
var _uOkw=3Dnew Array();=0A=
_uOsr[0]=3D"google";	_uOkw[0]=3D"q";=0A=
_uOsr[1]=3D"yahoo";	_uOkw[1]=3D"p";=0A=
_uOsr[2]=3D"msn";		_uOkw[2]=3D"q";=0A=
_uOsr[3]=3D"aol";		_uOkw[3]=3D"query";=0A=
_uOsr[4]=3D"aol";		_uOkw[4]=3D"encquery";=0A=
_uOsr[5]=3D"lycos";	_uOkw[5]=3D"query";=0A=
_uOsr[6]=3D"ask";		_uOkw[6]=3D"q";=0A=
_uOsr[7]=3D"altavista";	_uOkw[7]=3D"q";=0A=
_uOsr[8]=3D"search";	_uOkw[8]=3D"q";=0A=
_uOsr[9]=3D"netscape";	_uOkw[9]=3D"s";=0A=
_uOsr[10]=3D"cnn";	_uOkw[10]=3D"query";=0A=
_uOsr[11]=3D"looksmart";	_uOkw[11]=3D"qt";=0A=
_uOsr[12]=3D"about";	_uOkw[12]=3D"terms";=0A=
_uOsr[13]=3D"mamma";	_uOkw[13]=3D"query";=0A=
_uOsr[14]=3D"alltheweb";	_uOkw[14]=3D"q";=0A=
_uOsr[15]=3D"gigablast";	_uOkw[15]=3D"q";=0A=
_uOsr[16]=3D"voila";	_uOkw[16]=3D"kw";=0A=
_uOsr[17]=3D"virgilio";	_uOkw[17]=3D"qs";=0A=
_uOsr[18]=3D"live";	_uOkw[18]=3D"q";=0A=
_uOsr[19]=3D"baidu";	_uOkw[19]=3D"wd";=0A=
_uOsr[20]=3D"alice";	_uOkw[20]=3D"qs";=0A=
_uOsr[21]=3D"seznam";	_uOkw[21]=3D"w";=0A=
_uOsr[22]=3D"yandex";	_uOkw[22]=3D"text";=0A=
_uOsr[23]=3D"najdi";	_uOkw[23]=3D"q";=0A=
=0A=
//-- Auto/Organic Keywords to Ignore=0A=
var _uOno=3Dnew Array();=0A=
//_uOno[0]=3D"urchin";=0A=
//_uOno[1]=3D"urchin.com";=0A=
//_uOno[2]=3D"www.urchin.com";=0A=
=0A=
//-- Referral domains to Ignore=0A=
var _uRno=3Dnew Array();=0A=
//_uRno[0]=3D".urchin.com";=0A=
=0A=
//-- **** Don't modify below this point ***=0A=
var =
_uff,_udh,_udt,_ubl=3D0,_udo=3D"",_uu,_ufns=3D0,_uns=3D0,_ur=3D"-",_ufno=3D=
0,_ust=3D0,_ubd=3Ddocument,_udl=3D_ubd.location,_udlh=3D"",_uwv=3D"1";=0A=
var _ugifpath2=3D"http://www.google-analytics.com/__utm.gif";=0A=
if (_udl.hash) _udlh=3D_udl.href.substring(_udl.href.indexOf('#'));=0A=
if (_udl.protocol=3D=3D"https:") =
_ugifpath2=3D"https://ssl.google-analytics.com/__utm.gif";=0A=
if (!_utcp || _utcp=3D=3D"") _utcp=3D"/";=0A=
function urchinTracker(page) {=0A=
 if (_udl.protocol=3D=3D"file:") return;=0A=
 if (_uff && (!page || page=3D=3D"")) return;=0A=
 var a,b,c,xx,v,z,k,x=3D"",s=3D"",f=3D0;=0A=
 var nx=3D" expires=3DSun, 18 Jan 2038 00:00:00 GMT;";=0A=
 var dc=3D_ubd.cookie;=0A=
 _udh=3D_uDomain();=0A=
 if (!_uVG()) return;=0A=
 _uu=3DMath.round(Math.random()*2147483647);=0A=
 _udt=3Dnew Date();=0A=
 _ust=3DMath.round(_udt.getTime()/1000);=0A=
 a=3Ddc.indexOf("__utma=3D"+_udh);=0A=
 b=3Ddc.indexOf("__utmb=3D"+_udh);=0A=
 c=3Ddc.indexOf("__utmc=3D"+_udh);=0A=
 if (_udn && _udn!=3D"") { _udo=3D" domain=3D"+_udn+";"; }=0A=
 if (_utimeout && _utimeout!=3D"") {=0A=
  x=3Dnew Date(_udt.getTime()+(_utimeout*1000));=0A=
  x=3D" expires=3D"+x.toGMTString()+";";=0A=
 }=0A=
 if (_ulink) {=0A=
  if (_uanchor && _udlh && _udlh!=3D"") s=3D_udlh+"&";=0A=
  s+=3D_udl.search;=0A=
  if(s && s!=3D"" && s.indexOf("__utma=3D")>=3D0) {=0A=
   if (!(_uIN(a=3D_uGC(s,"__utma=3D","&")))) a=3D"-";=0A=
   if (!(_uIN(b=3D_uGC(s,"__utmb=3D","&")))) b=3D"-";=0A=
   if (!(_uIN(c=3D_uGC(s,"__utmc=3D","&")))) c=3D"-";=0A=
   v=3D_uGC(s,"__utmv=3D","&");=0A=
   z=3D_uGC(s,"__utmz=3D","&");=0A=
   k=3D_uGC(s,"__utmk=3D","&");=0A=
   xx=3D_uGC(s,"__utmx=3D","&");=0A=
   if ((k*1) !=3D ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) =
{_ubl=3D1;a=3D"-";b=3D"-";c=3D"-";xx=3D"-";z=3D"-";v=3D"-";}=0A=
   if (a!=3D"-" && b!=3D"-" && c!=3D"-") f=3D1;=0A=
   else if(a!=3D"-") f=3D2;=0A=
  }=0A=
 }=0A=
 if(f=3D=3D1) {=0A=
  _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A=
  _ubd.cookie=3D"__utmb=3D"+b+"; path=3D"+_utcp+";"+x+_udo;=0A=
  _ubd.cookie=3D"__utmc=3D"+c+"; path=3D"+_utcp+";"+_udo;=0A=
 } else if (f=3D=3D2) {=0A=
  a=3D_uFixA(s,"&",_ust);=0A=
  _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A=
  _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A=
  _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D"+_utcp+";"+_udo;=0A=
  _ufns=3D1;=0A=
 } else if (a>=3D0 && b>=3D0 && c>=3D0) {=0A=
  _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A=
 } else {=0A=
  if (a>=3D0) a=3D_uFixA(_ubd.cookie,";",_ust);=0A=
  else a=3D_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";=0A=
  _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A=
  _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A=
  _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D"+_utcp+";"+_udo;=0A=
  _ufns=3D1;=0A=
 }=0A=
 if (_ulink && xx && xx!=3D"" && xx!=3D"-") {=0A=
   xx=3D_uUES(xx);=0A=
   if (xx.indexOf(";")=3D=3D-1) _ubd.cookie=3D"__utmx=3D"+xx+"; =
path=3D"+_utcp+";"+nx+_udo;=0A=
 }=0A=
 if (_ulink && v && v!=3D"" && v!=3D"-") {=0A=
  v=3D_uUES(v);=0A=
  if (v.indexOf(";")=3D=3D-1) _ubd.cookie=3D"__utmv=3D"+v+"; =
path=3D"+_utcp+";"+nx+_udo;=0A=
 }=0A=
 _uInfo(page);=0A=
 _ufns=3D0;=0A=
 _ufno=3D0;=0A=
 _uff=3D1;=0A=
}=0A=
function _uInfo(page) {=0A=
 var p,s=3D"",dm=3D"",pg=3D_udl.pathname+_udl.search;=0A=
 if (page && page!=3D"") pg=3D_uES(page,1);=0A=
 _ur=3D_ubd.referrer;=0A=
 if (!_ur || _ur=3D=3D"") { _ur=3D"-"; }=0A=
 else {=0A=
  dm=3D_ubd.domain;=0A=
  if(_utcp && _utcp!=3D"/") dm+=3D_utcp;=0A=
  p=3D_ur.indexOf(dm);=0A=
  if ((p>=3D0) && (p<=3D8)) { _ur=3D"0"; }=0A=
  if (_ur.indexOf("[")=3D=3D0 && =
_ur.lastIndexOf("]")=3D=3D(_ur.length-1)) { _ur=3D"-"; }=0A=
 }=0A=
 s+=3D"&utmn=3D"+_uu;=0A=
 if (_ufsc) s+=3D_uBInfo();=0A=
 if (_uctm) s+=3D_uCInfo();=0A=
 if (_utitle && _ubd.title && _ubd.title!=3D"") =
s+=3D"&utmdt=3D"+_uES(_ubd.title);=0A=
 if (_udl.hostname && _udl.hostname!=3D"") =
s+=3D"&utmhn=3D"+_uES(_udl.hostname);=0A=
 s+=3D"&utmr=3D"+_ur;=0A=
 s+=3D"&utmp=3D"+pg;=0A=
 if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A=
  var i=3Dnew Image(1,1);=0A=
  i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A=
  i.onload=3Dfunction() {_uVoid();}=0A=
 }=0A=
 if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A=
  var i2=3Dnew Image(1,1);=0A=
  =
i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+=
_uGCS();=0A=
  i2.onload=3Dfunction() { _uVoid(); }=0A=
 }=0A=
 return;=0A=
}=0A=
function _uVoid() { return; }=0A=
function _uCInfo() {=0A=
 if (!_ucto || _ucto=3D=3D"") { _ucto=3D"15768000"; }=0A=
 if (!_uVG()) return;=0A=
 var =
c=3D"",t=3D"-",t2=3D"-",t3=3D"-",o=3D0,cs=3D0,cn=3D0,i=3D0,z=3D"-",s=3D""=
;=0A=
 if (_uanchor && _udlh && _udlh!=3D"") s=3D_udlh+"&";=0A=
 s+=3D_udl.search;=0A=
 var x=3Dnew Date(_udt.getTime()+(_ucto*1000));=0A=
 var dc=3D_ubd.cookie;=0A=
 x=3D" expires=3D"+x.toGMTString()+";";=0A=
 if (_ulink && !_ubl) {=0A=
  z=3D_uUES(_uGC(s,"__utmz=3D","&"));=0A=
  if (z!=3D"-" && z.indexOf(";")=3D=3D-1) { =
_ubd.cookie=3D"__utmz=3D"+z+"; path=3D"+_utcp+";"+x+_udo; return ""; }=0A=
 }=0A=
 z=3Ddc.indexOf("__utmz=3D"+_udh);=0A=
 if (z>-1) { z=3D_uGC(dc,"__utmz=3D"+_udh,";"); }=0A=
 else { z=3D"-"; }=0A=
 t=3D_uGC(s,_ucid+"=3D","&");=0A=
 t2=3D_uGC(s,_ucsr+"=3D","&");=0A=
 t3=3D_uGC(s,"gclid=3D","&");=0A=
 if ((t!=3D"-" && t!=3D"") || (t2!=3D"-" && t2!=3D"") || (t3!=3D"-" && =
t3!=3D"")) {=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"utmcid=3D"+_uEC(t);=0A=
  if (t2!=3D"-" && t2!=3D"") { if (c !=3D "") c+=3D"|"; =
c+=3D"utmcsr=3D"+_uEC(t2); }=0A=
  if (t3!=3D"-" && t3!=3D"") { if (c !=3D "") c+=3D"|"; =
c+=3D"utmgclid=3D"+_uEC(t3); }=0A=
  t=3D_uGC(s,_uccn+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmccn=3D"+_uEC(t);=0A=
  else c+=3D"|utmccn=3D(not+set)";=0A=
  t=3D_uGC(s,_ucmd+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmcmd=3D"+_uEC(t);=0A=
  else  c+=3D"|utmcmd=3D(not+set)";=0A=
  t=3D_uGC(s,_uctr+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmctr=3D"+_uEC(t);=0A=
  else { t=3D_uOrg(1); if (t!=3D"-" && t!=3D"") =
c+=3D"|utmctr=3D"+_uEC(t); }=0A=
  t=3D_uGC(s,_ucct+"=3D","&");=0A=
  if (t!=3D"-" && t!=3D"") c+=3D"|utmcct=3D"+_uEC(t);=0A=
  t=3D_uGC(s,_ucno+"=3D","&");=0A=
  if (t=3D=3D"1") o=3D1;=0A=
  if (z!=3D"-" && o=3D=3D1) return "";=0A=
 }=0A=
 if (c=3D=3D"-" || c=3D=3D"") { c=3D_uOrg(); if (z!=3D"-" && =
_ufno=3D=3D1)  return ""; }=0A=
 if (c=3D=3D"-" || c=3D=3D"") { if (_ufns=3D=3D1)  c=3D_uRef(); if =
(z!=3D"-" && _ufno=3D=3D1)  return ""; }=0A=
 if (c=3D=3D"-" || c=3D=3D"") {=0A=
  if (z=3D=3D"-" && _ufns=3D=3D1) { =
c=3D"utmccn=3D(direct)|utmcsr=3D(direct)|utmcmd=3D(none)"; }=0A=
  if (c=3D=3D"-" || c=3D=3D"") return "";=0A=
 }=0A=
 if (z!=3D"-") {=0A=
  i=3Dz.indexOf(".");=0A=
  if (i>-1) i=3Dz.indexOf(".",i+1);=0A=
  if (i>-1) i=3Dz.indexOf(".",i+1);=0A=
  if (i>-1) i=3Dz.indexOf(".",i+1);=0A=
  t=3Dz.substring(i+1,z.length);=0A=
  if (t.toLowerCase()=3D=3Dc.toLowerCase()) cs=3D1;=0A=
  t=3Dz.substring(0,i);=0A=
  if ((i=3Dt.lastIndexOf(".")) > -1) {=0A=
   t=3Dt.substring(i+1,t.length);=0A=
   cn=3D(t*1);=0A=
  }=0A=
 }=0A=
 if (cs=3D=3D0 || _ufns=3D=3D1) {=0A=
  t=3D_uGC(dc,"__utma=3D"+_udh,";");=0A=
  if ((i=3Dt.lastIndexOf(".")) > 9) {=0A=
   _uns=3Dt.substring(i+1,t.length);=0A=
   _uns=3D(_uns*1);=0A=
  }=0A=
  cn++;=0A=
  if (_uns=3D=3D0) _uns=3D1;=0A=
  _ubd.cookie=3D"__utmz=3D"+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; =
path=3D"+_utcp+"; "+x+_udo;=0A=
 }=0A=
 if (cs=3D=3D0 || _ufns=3D=3D1) return "&utmcn=3D1";=0A=
 else return "&utmcr=3D1";=0A=
}=0A=
function _uRef() {=0A=
 if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return "";=0A=
 var i=3D0,h,k,n;=0A=
 if ((i=3D_ur.indexOf("://"))<0) return "";=0A=
 h=3D_ur.substring(i+3,_ur.length);=0A=
 if (h.indexOf("/") > -1) {=0A=
  k=3Dh.substring(h.indexOf("/"),h.length);=0A=
  if (k.indexOf("?") > -1) k=3Dk.substring(0,k.indexOf("?"));=0A=
  h=3Dh.substring(0,h.indexOf("/"));=0A=
 }=0A=
 h=3Dh.toLowerCase();=0A=
 n=3Dh;=0A=
 if ((i=3Dn.indexOf(":")) > -1) n=3Dn.substring(0,i);=0A=
 for (var ii=3D0;ii<_uRno.length;ii++) {=0A=
  if ((i=3Dn.indexOf(_uRno[ii].toLowerCase())) > -1 && =
n.length=3D=3D(i+_uRno[ii].length)) { _ufno=3D1; break; }=0A=
 }=0A=
 if (h.indexOf("www.")=3D=3D0) h=3Dh.substring(4,h.length);=0A=
 return =
"utmccn=3D(referral)|utmcsr=3D"+_uEC(h)+"|"+"utmcct=3D"+_uEC(k)+"|utmcmd=3D=
referral";=0A=
}=0A=
function _uOrg(t) {=0A=
 if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return "";=0A=
 var i=3D0,h,k;=0A=
 if ((i=3D_ur.indexOf("://")) < 0) return "";=0A=
 h=3D_ur.substring(i+3,_ur.length);=0A=
 if (h.indexOf("/") > -1) {=0A=
  h=3Dh.substring(0,h.indexOf("/"));=0A=
 }=0A=
 for (var ii=3D0;ii<_uOsr.length;ii++) {=0A=
  if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {=0A=
   if ((i=3D_ur.indexOf("?"+_uOkw[ii]+"=3D")) > -1 || =
(i=3D_ur.indexOf("&"+_uOkw[ii]+"=3D")) > -1) {=0A=
    k=3D_ur.substring(i+_uOkw[ii].length+2,_ur.length);=0A=
    if ((i=3Dk.indexOf("&")) > -1) k=3Dk.substring(0,i);=0A=
    for (var yy=3D0;yy<_uOno.length;yy++) {=0A=
     if (_uOno[yy].toLowerCase()=3D=3Dk.toLowerCase()) { _ufno=3D1; =
break; }=0A=
    }=0A=
    if (t) return _uEC(k);=0A=
    else return =
"utmccn=3D(organic)|utmcsr=3D"+_uEC(_uOsr[ii])+"|"+"utmctr=3D"+_uEC(k)+"|=
utmcmd=3Dorganic";=0A=
   }=0A=
  }=0A=
 }=0A=
 return "";=0A=
}=0A=
function _uBInfo() {=0A=
 var sr=3D"-",sc=3D"-",ul=3D"-",fl=3D"-",cs=3D"-",je=3D1;=0A=
 var n=3Dnavigator;=0A=
 if (self.screen) {=0A=
  sr=3Dscreen.width+"x"+screen.height;=0A=
  sc=3Dscreen.colorDepth+"-bit";=0A=
 } else if (self.java) {=0A=
  var j=3Djava.awt.Toolkit.getDefaultToolkit();=0A=
  var s=3Dj.getScreenSize();=0A=
  sr=3Ds.width+"x"+s.height;=0A=
 }=0A=
 if (n.language) { ul=3Dn.language.toLowerCase(); }=0A=
 else if (n.browserLanguage) { ul=3Dn.browserLanguage.toLowerCase(); }=0A=
 je=3Dn.javaEnabled()?1:0;=0A=
 if (_uflash) fl=3D_uFlash();=0A=
 if (_ubd.characterSet) cs=3D_uES(_ubd.characterSet);=0A=
 else if (_ubd.charset) cs=3D_uES(_ubd.charset);=0A=
 return =
"&utmcs=3D"+cs+"&utmsr=3D"+sr+"&utmsc=3D"+sc+"&utmul=3D"+ul+"&utmje=3D"+j=
e+"&utmfl=3D"+fl;=0A=
}=0A=
function __utmSetTrans() {=0A=
 var e;=0A=
 if (_ubd.getElementById) e=3D_ubd.getElementById("utmtrans");=0A=
 else if (_ubd.utmform && _ubd.utmform.utmtrans) =
e=3D_ubd.utmform.utmtrans;=0A=
 if (!e) return;=0A=
 var l=3De.value.split("UTM:");=0A=
 var i,i2,c;=0A=
 if (_userv=3D=3D0 || _userv=3D=3D2) i=3Dnew Array();=0A=
 if (_userv=3D=3D1 || _userv=3D=3D2) { i2=3Dnew Array(); c=3D_uGCS(); }=0A=
=0A=
 for (var ii=3D0;ii<l.length;ii++) {=0A=
  l[ii]=3D_uTrim(l[ii]);=0A=
  if (l[ii].charAt(0)!=3D'T' && l[ii].charAt(0)!=3D'I') continue;=0A=
  var r=3DMath.round(Math.random()*2147483647);=0A=
  if (!_utsp || _utsp=3D=3D"") _utsp=3D"|";=0A=
  var f=3Dl[ii].split(_utsp),s=3D"";=0A=
  if (f[0].charAt(0)=3D=3D'T') {=0A=
   s=3D"&utmt=3Dtran"+"&utmn=3D"+r;=0A=
   f[1]=3D_uTrim(f[1]); if(f[1]&&f[1]!=3D"") =
s+=3D"&utmtid=3D"+_uES(f[1]);=0A=
   f[2]=3D_uTrim(f[2]); if(f[2]&&f[2]!=3D"") =
s+=3D"&utmtst=3D"+_uES(f[2]);=0A=
   f[3]=3D_uTrim(f[3]); if(f[3]&&f[3]!=3D"") =
s+=3D"&utmtto=3D"+_uES(f[3]);=0A=
   f[4]=3D_uTrim(f[4]); if(f[4]&&f[4]!=3D"") =
s+=3D"&utmttx=3D"+_uES(f[4]);=0A=
   f[5]=3D_uTrim(f[5]); if(f[5]&&f[5]!=3D"") =
s+=3D"&utmtsp=3D"+_uES(f[5]);=0A=
   f[6]=3D_uTrim(f[6]); if(f[6]&&f[6]!=3D"") =
s+=3D"&utmtci=3D"+_uES(f[6]);=0A=
   f[7]=3D_uTrim(f[7]); if(f[7]&&f[7]!=3D"") =
s+=3D"&utmtrg=3D"+_uES(f[7]);=0A=
   f[8]=3D_uTrim(f[8]); if(f[8]&&f[8]!=3D"") =
s+=3D"&utmtco=3D"+_uES(f[8]);=0A=
  } else {=0A=
   s=3D"&utmt=3Ditem"+"&utmn=3D"+r;=0A=
   f[1]=3D_uTrim(f[1]); if(f[1]&&f[1]!=3D"") =
s+=3D"&utmtid=3D"+_uES(f[1]);=0A=
   f[2]=3D_uTrim(f[2]); if(f[2]&&f[2]!=3D"") =
s+=3D"&utmipc=3D"+_uES(f[2]);=0A=
   f[3]=3D_uTrim(f[3]); if(f[3]&&f[3]!=3D"") =
s+=3D"&utmipn=3D"+_uES(f[3]);=0A=
   f[4]=3D_uTrim(f[4]); if(f[4]&&f[4]!=3D"") =
s+=3D"&utmiva=3D"+_uES(f[4]);=0A=
   f[5]=3D_uTrim(f[5]); if(f[5]&&f[5]!=3D"") =
s+=3D"&utmipr=3D"+_uES(f[5]);=0A=
   f[6]=3D_uTrim(f[6]); if(f[6]&&f[6]!=3D"") =
s+=3D"&utmiqt=3D"+_uES(f[6]);=0A=
  }=0A=
  if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A=
   i[ii]=3Dnew Image(1,1);=0A=
   i[ii].src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A=
   i[ii].onload=3Dfunction() { _uVoid(); }=0A=
  }=0A=
  if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A=
   i2[ii]=3Dnew Image(1,1);=0A=
   =
i2[ii].src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D=
"+c;=0A=
   i2[ii].onload=3Dfunction() { _uVoid(); }=0A=
  }=0A=
 }=0A=
 return;=0A=
}=0A=
function _uFlash() {=0A=
 var f=3D"-",n=3Dnavigator;=0A=
 if (n.plugins && n.plugins.length) {=0A=
  for (var ii=3D0;ii<n.plugins.length;ii++) {=0A=
   if (n.plugins[ii].name.indexOf('Shockwave Flash')!=3D-1) {=0A=
    f=3Dn.plugins[ii].description.split('Shockwave Flash ')[1];=0A=
    break;=0A=
   }=0A=
  }=0A=
 } else if (window.ActiveXObject) {=0A=
  for (var ii=3D10;ii>=3D2;ii--) {=0A=
   try {=0A=
    var fl=3Deval("new =
ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");=0A=
    if (fl) { f=3Dii + '.0'; break; }=0A=
   }=0A=
   catch(e) {}=0A=
  }=0A=
 }=0A=
 return f;=0A=
}=0A=
function __utmLinker(l,h) {=0A=
 if (!_ulink) return;=0A=
 var p,k,a=3D"-",b=3D"-",c=3D"-",x=3D"-",z=3D"-",v=3D"-";=0A=
 var dc=3D_ubd.cookie;=0A=
 if (!l || l=3D=3D"") return;=0A=
 var iq =3D l.indexOf("?"); =0A=
 var ih =3D l.indexOf("#"); =0A=
 if (dc) {=0A=
  a=3D_uES(_uGC(dc,"__utma=3D"+_udh,";"));=0A=
  b=3D_uES(_uGC(dc,"__utmb=3D"+_udh,";"));=0A=
  c=3D_uES(_uGC(dc,"__utmc=3D"+_udh,";"));=0A=
  x=3D_uES(_uGC(dc,"__utmx=3D"+_udh,";"));=0A=
  z=3D_uES(_uGC(dc,"__utmz=3D"+_udh,";"));=0A=
  v=3D_uES(_uGC(dc,"__utmv=3D"+_udh,";"));=0A=
  k=3D(_uHash(a+b+c+x+z+v)*1)+(_udh*1);=0A=
  =
p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmx=3D"+x+"&__utmz=3D=
"+z+"&__utmv=3D"+v+"&__utmk=3D"+k;=0A=
 }=0A=
 if (p) {=0A=
  if (h && ih>-1) return;=0A=
  if (h) { _udl.href=3Dl+"#"+p; }=0A=
  else {=0A=
   if (iq=3D=3D-1 && ih=3D=3D-1) _udl.href=3Dl+"?"+p;=0A=
   else if (ih=3D=3D-1) _udl.href=3Dl+"&"+p;=0A=
   else if (iq=3D=3D-1) =
_udl.href=3Dl.substring(0,ih-1)+"?"+p+l.substring(ih);=0A=
   else _udl.href=3Dl.substring(0,ih-1)+"&"+p+l.substring(ih);=0A=
  }=0A=
 } else { _udl.href=3Dl; }=0A=
}=0A=
function __utmLinkPost(f,h) {=0A=
 if (!_ulink) return;=0A=
 var p,k,a=3D"-",b=3D"-",c=3D"-",x=3D"-",z=3D"-",v=3D"-";=0A=
 var dc=3D_ubd.cookie;=0A=
 if (!f || !f.action) return;=0A=
 var iq =3D f.action.indexOf("?"); =0A=
 var ih =3D f.action.indexOf("#"); =0A=
 if (dc) {=0A=
  a=3D_uES(_uGC(dc,"__utma=3D"+_udh,";"));=0A=
  b=3D_uES(_uGC(dc,"__utmb=3D"+_udh,";"));=0A=
  c=3D_uES(_uGC(dc,"__utmc=3D"+_udh,";"));=0A=
  x=3D_uES(_uGC(dc,"__utmx=3D"+_udh,";"));=0A=
  z=3D_uES(_uGC(dc,"__utmz=3D"+_udh,";"));=0A=
  v=3D_uES(_uGC(dc,"__utmv=3D"+_udh,";"));=0A=
  k=3D(_uHash(a+b+c+x+z+v)*1)+(_udh*1);=0A=
  =
p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmx=3D"+x+"&__utmz=3D=
"+z+"&__utmv=3D"+v+"&__utmk=3D"+k;=0A=
 }=0A=
 if (p) {=0A=
  if (h && ih>-1) return;=0A=
  if (h) { f.action+=3D"#"+p; }=0A=
  else {=0A=
   if (iq=3D=3D-1 && ih=3D=3D-1) f.action+=3D"?"+p;=0A=
   else if (ih=3D=3D-1) f.action+=3D"&"+p;=0A=
   else if (iq=3D=3D-1) =
f.action=3Df.action.substring(0,ih-1)+"?"+p+f.action.substring(ih);=0A=
   else =
f.action=3Df.action.substring(0,ih-1)+"&"+p+f.action.substring(ih);=0A=
  }=0A=
 }=0A=
 return;=0A=
}=0A=
function __utmSetVar(v) {=0A=
 if (!v || v=3D=3D"") return;=0A=
 if (!_udo || _udo =3D=3D "") {=0A=
  _udh=3D_uDomain();=0A=
  if (_udn && _udn!=3D"") { _udo=3D" domain=3D"+_udn+";"; }=0A=
 }=0A=
 if (!_uVG()) return;=0A=
 var r=3DMath.round(Math.random() * 2147483647);=0A=
 _ubd.cookie=3D"__utmv=3D"+_udh+"."+_uES(v)+"; path=3D"+_utcp+"; =
expires=3DSun, 18 Jan 2038 00:00:00 GMT;"+_udo;=0A=
 var s=3D"&utmt=3Dvar&utmn=3D"+r;=0A=
 if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A=
  var i=3Dnew Image(1,1);=0A=
  i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A=
  i.onload=3Dfunction() { _uVoid(); }=0A=
 }=0A=
 if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A=
  var i2=3Dnew Image(1,1);=0A=
  =
i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+=
_uGCS();=0A=
  i2.onload=3Dfunction() { _uVoid(); }=0A=
 }=0A=
}=0A=
function _uGCS() {=0A=
 var t,c=3D"",dc=3D_ubd.cookie;=0A=
 if ((t=3D_uGC(dc,"__utma=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utma=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmb=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmb=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmc=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmc=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmx=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmx=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmz=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmz=3D"+t+";+");=0A=
 if ((t=3D_uGC(dc,"__utmv=3D"+_udh,";"))!=3D"-") =
c+=3D_uES("__utmv=3D"+t+";");=0A=
 if (c.charAt(c.length-1)=3D=3D"+") c=3Dc.substring(0,c.length-1);=0A=
 return c;=0A=
}=0A=
function _uGC(l,n,s) {=0A=
 if (!l || l=3D=3D"" || !n || n=3D=3D"" || !s || s=3D=3D"") return "-";=0A=
 var i,i2,i3,c=3D"-";=0A=
 i=3Dl.indexOf(n);=0A=
 i3=3Dn.indexOf("=3D")+1;=0A=
 if (i > -1) {=0A=
  i2=3Dl.indexOf(s,i); if (i2 < 0) { i2=3Dl.length; }=0A=
  c=3Dl.substring((i+i3),i2);=0A=
 }=0A=
 return c;=0A=
}=0A=
function _uDomain() {=0A=
 if (!_udn || _udn=3D=3D"" || _udn=3D=3D"none") { _udn=3D""; return 1; }=0A=
 if (_udn=3D=3D"auto") {=0A=
  var d=3D_ubd.domain;=0A=
  if (d.substring(0,4)=3D=3D"www.") {=0A=
   d=3Dd.substring(4,d.length);=0A=
  }=0A=
  _udn=3Dd;=0A=
 }=0A=
 if (_uhash=3D=3D"off") return 1;=0A=
 return _uHash(_udn);=0A=
}=0A=
function _uHash(d) {=0A=
 if (!d || d=3D=3D"") return 1;=0A=
 var h=3D0,g=3D0;=0A=
 for (var i=3Dd.length-1;i>=3D0;i--) {=0A=
  var c=3DparseInt(d.charCodeAt(i));=0A=
  h=3D((h << 6) & 0xfffffff) + c + (c << 14);=0A=
  if ((g=3Dh & 0xfe00000)!=3D0) h=3D(h ^ (g >> 21));=0A=
 }=0A=
 return h;=0A=
}=0A=
function _uFixA(c,s,t) {=0A=
 if (!c || c=3D=3D"" || !s || s=3D=3D"" || !t || t=3D=3D"") return "-";=0A=
 var a=3D_uGC(c,"__utma=3D"+_udh,s);=0A=
 var lt=3D0,i=3D0;=0A=
 if ((i=3Da.lastIndexOf(".")) > 9) {=0A=
  _uns=3Da.substring(i+1,a.length);=0A=
  _uns=3D(_uns*1)+1;=0A=
  a=3Da.substring(0,i);=0A=
  if ((i=3Da.lastIndexOf(".")) > 7) {=0A=
   lt=3Da.substring(i+1,a.length);=0A=
   a=3Da.substring(0,i);=0A=
  }=0A=
  if ((i=3Da.lastIndexOf(".")) > 5) {=0A=
   a=3Da.substring(0,i);=0A=
  }=0A=
  a+=3D"."+lt+"."+t+"."+_uns;=0A=
 }=0A=
 return a;=0A=
}=0A=
function _uTrim(s) {=0A=
  if (!s || s=3D=3D"") return "";=0A=
  while ((s.charAt(0)=3D=3D' ') || (s.charAt(0)=3D=3D'\n') || =
(s.charAt(0,1)=3D=3D'\r')) s=3Ds.substring(1,s.length);=0A=
  while ((s.charAt(s.length-1)=3D=3D' ') || =
(s.charAt(s.length-1)=3D=3D'\n') || (s.charAt(s.length-1)=3D=3D'\r')) =
s=3Ds.substring(0,s.length-1);=0A=
  return s;=0A=
}=0A=
function _uEC(s) {=0A=
  var n=3D"";=0A=
  if (!s || s=3D=3D"") return "";=0A=
  for (var i=3D0;i<s.length;i++) {if (s.charAt(i)=3D=3D" ") n+=3D"+"; =
else n+=3Ds.charAt(i);}=0A=
  return n;=0A=
}=0A=
function __utmVisitorCode(f) {=0A=
 var r=3D0,t=3D0,i=3D0,i2=3D0,m=3D31;=0A=
 var a=3D_uGC(_ubd.cookie,"__utma=3D"+_udh,";");=0A=
 if ((i=3Da.indexOf(".",0))<0) return;=0A=
 if ((i2=3Da.indexOf(".",i+1))>0) r=3Da.substring(i+1,i2); else return =
"";  =0A=
 if ((i=3Da.indexOf(".",i2+1))>0) t=3Da.substring(i2+1,i); else return =
"";  =0A=
 if (f) {=0A=
  return r;=0A=
 } else {=0A=
  var c=3Dnew =
Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T'=
,'U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');=0A=
  return =
c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r=
&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5=
&m]+c[t&m];=0A=
 }=0A=
}=0A=
function _uIN(n) {=0A=
 if (!n) return false;=0A=
 for (var i=3D0;i<n.length;i++) {=0A=
  var c=3Dn.charAt(i);=0A=
  if ((c<"0" || c>"9") && (c!=3D".")) return false;=0A=
 }=0A=
 return true;=0A=
}=0A=
function _uES(s,u) {=0A=
 if (typeof(encodeURIComponent) =3D=3D 'function') {=0A=
  if (u) return encodeURI(s);=0A=
  else return encodeURIComponent(s);=0A=
 } else {=0A=
  return escape(s);=0A=
 }=0A=
}=0A=
function _uUES(s) {=0A=
 if (typeof(decodeURIComponent) =3D=3D 'function') {=0A=
  return decodeURIComponent(s);=0A=
 } else {=0A=
  return unescape(s);=0A=
 }=0A=
}=0A=
function _uVG() {=0A=
 if((_udn.indexOf("www.google.") =3D=3D 0 || _udn.indexOf(".google.") =
=3D=3D 0 || _udn.indexOf("google.") =3D=3D 0) && _utcp=3D=3D'/') {=0A=
  return false;=0A=
 }=0A=
 return true;=0A=
}=0A=
function _uSP() {=0A=
 var s=3D100;=0A=
 if (_usample) s=3D_usample;=0A=
 if(s>=3D100 || s<=3D0) return true;=0A=
 return ((__utmVisitorCode(1)%10000)<(s*100));=0A=
}=0A=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s.pcworld.com/script/prototype.js

/*  Prototype JavaScript framework, version 1.3.1=0A=
 *  (c) 2005 Sam Stephenson <sam@conio.net>=0A=
 *=0A=
 *  THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please =
diff=0A=
 *  against the source tree, available from the Prototype darcs =
repository. =0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *=0A=
 *  For details, see the Prototype web site: http://prototype.conio.net/=0A=
 *=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.3.1',=0A=
  emptyFunction: function() {}=0A=
}=0A=
=0A=
var Class =3D {=0A=
  create: function() {=0A=
    return function() { =0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
var Abstract =3D new Object();=0A=
=0A=
Object.extend =3D function(destination, source) {=0A=
  for (property in source) {=0A=
    destination[property] =3D source[property];=0A=
  }=0A=
  return destination;=0A=
}=0A=
=0A=
Object.prototype.extend =3D function(object) {=0A=
  return Object.extend.apply(this, [this, object]);=0A=
}=0A=
=0A=
Function.prototype.bind =3D function(object) {=0A=
  var __method =3D this;=0A=
  return function() {=0A=
    __method.apply(object, arguments);=0A=
    return false;								// Edited JL - 10/1/05.  Needed to disable =
context menu in Firefox Mac OSX when using for mousedown events=0A=
  }=0A=
}=0A=
=0A=
Function.prototype.bindAsEventListener =3D function(object) {=0A=
  var __method =3D this;=0A=
  return function(event) {=0A=
    __method.call(object, event || window.event);=0A=
  }=0A=
}=0A=
=0A=
Number.prototype.toColorPart =3D function() {=0A=
  var digits =3D this.toString(16);=0A=
  if (this < 16) return '0' + digits;=0A=
  return digits;=0A=
}=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) {}=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var PeriodicalExecuter =3D Class.create();=0A=
PeriodicalExecuter.prototype =3D {=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try { =0A=
        this.currentlyExecuting =3D true;=0A=
        this.callback(); =0A=
      } finally { =0A=
        this.currentlyExecuting =3D false;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
function $() {=0A=
  var elements =3D new Array();=0A=
=0A=
  for (var i =3D 0; i < arguments.length; i++) {=0A=
    var element =3D arguments[i];=0A=
    if (typeof element =3D=3D 'string')=0A=
      element =3D document.getElementById(element);=0A=
=0A=
    if (arguments.length =3D=3D 1) =0A=
      return element;=0A=
=0A=
    elements.push(element);=0A=
  }=0A=
=0A=
  return elements;=0A=
}=0A=
=0A=
if (!Array.prototype.push) {=0A=
  Array.prototype.push =3D function() {=0A=
		var startLength =3D this.length;=0A=
		for (var i =3D 0; i < arguments.length; i++)=0A=
      this[startLength + i] =3D arguments[i];=0A=
	  return this.length;=0A=
  }=0A=
}=0A=
=0A=
if (!Function.prototype.apply) {=0A=
  // Based on code from http://www.youngpup.net/=0A=
  Function.prototype.apply =3D function(object, parameters) {=0A=
    var parameterStrings =3D new Array();=0A=
    if (!object)     object =3D window;=0A=
    if (!parameters) parameters =3D new Array();=0A=
    =0A=
    for (var i =3D 0; i < parameters.length; i++)=0A=
      parameterStrings[i] =3D 'parameters[' + i + ']';=0A=
    =0A=
    object.__apply__ =3D this;=0A=
    var result =3D eval('object.__apply__(' + =0A=
      parameterStrings.join(', ') + ')');=0A=
    object.__apply__ =3D null;=0A=
    =0A=
    return result;=0A=
  }=0A=
}=0A=
=0A=
String.prototype.extend({=0A=
  stripTags: function() {=0A=
    return this.replace(/<\/?[^>]+>/gi, '');=0A=
  },=0A=
=0A=
  escapeHTML: function() {=0A=
    var div =3D document.createElement('div');=0A=
    var text =3D document.createTextNode(this);=0A=
    div.appendChild(text);=0A=
    return div.innerHTML;=0A=
  },=0A=
=0A=
  unescapeHTML: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D this.stripTags();=0A=
    return div.childNodes[0].nodeValue;=0A=
  }=0A=
});=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')},=0A=
      function() {return new XMLHttpRequest()}=0A=
    ) || false;=0A=
  }=0A=
}=0A=
=0A=
Ajax.Base =3D function() {};=0A=
Ajax.Base.prototype =3D {=0A=
  setOptions: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      parameters:   ''=0A=
    }.extend(options || {});=0A=
  },=0A=
=0A=
  responseIsSuccess: function() {=0A=
    return this.transport.status =3D=3D undefined=0A=
        || this.transport.status =3D=3D 0 =0A=
        || (this.transport.status >=3D 200 && this.transport.status < =
300);=0A=
  },=0A=
=0A=
  responseIsFailure: function() {=0A=
    return !this.responseIsSuccess();=0A=
  }=0A=
}=0A=
=0A=
Ajax.Request =3D Class.create();=0A=
Ajax.Request.Events =3D =0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
Ajax.Request.prototype =3D (new Ajax.Base()).extend({=0A=
  initialize: function(url, options) {=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    var parameters =3D this.options.parameters || '';=0A=
    if (parameters.length > 0) parameters +=3D '&_=3D';=0A=
=0A=
    try {=0A=
      if (this.options.method =3D=3D 'get')=0A=
        url +=3D '?' + parameters;=0A=
=0A=
      this.transport.open(this.options.method, url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous) {=0A=
        this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
        setTimeout((function() =
{this.respondToReadyState(1)}).bind(this), 10);=0A=
      }=0A=
=0A=
      this.setRequestHeaders();=0A=
=0A=
      var body =3D this.options.postBody ? this.options.postBody : =
parameters;=0A=
      this.transport.send(this.options.method =3D=3D 'post' ? body : =
null);=0A=
=0A=
    } catch (e) {=0A=
    }=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var requestHeaders =3D =0A=
      ['X-Requested-With', 'XMLHttpRequest',=0A=
       'X-Prototype-Version', Prototype.Version];=0A=
=0A=
    if (this.options.method =3D=3D 'post') {=0A=
      requestHeaders.push('Content-type', =0A=
        'application/x-www-form-urlencoded');=0A=
=0A=
      /* Force "Connection: close" for Mozilla browsers to work around=0A=
       * a bug where XMLHttpReqeuest sends an incorrect Content-length=0A=
       * header. See Mozilla Bugzilla #246651. =0A=
       */=0A=
      if (this.transport.overrideMimeType)=0A=
        requestHeaders.push('Connection', 'close');=0A=
    }=0A=
=0A=
    if (this.options.requestHeaders)=0A=
      requestHeaders.push.apply(requestHeaders, =
this.options.requestHeaders);=0A=
=0A=
    for (var i =3D 0; i < requestHeaders.length; i +=3D 2)=0A=
      this.transport.setRequestHeader(requestHeaders[i], =
requestHeaders[i+1]);=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState !=3D 1)=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var event =3D Ajax.Request.Events[readyState];=0A=
=0A=
    if (event =3D=3D 'Complete')=0A=
      (this.options['on' + this.transport.status]=0A=
       || this.options['on' + (this.responseIsSuccess() ? 'Success' : =
'Failure')]=0A=
       || Prototype.emptyFunction)(this.transport);=0A=
=0A=
    (this.options['on' + event] || =
Prototype.emptyFunction)(this.transport);=0A=
=0A=
    /* Avoid memory leak in MSIE: clean up the oncomplete event handler =
*/=0A=
    if (event =3D=3D 'Complete')=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create();=0A=
Ajax.Updater.ScriptFragment =3D =
'(?:<script.*?>)((\n|.)*?)(?:<\/script>)';=0A=
=0A=
Ajax.Updater.prototype.extend(Ajax.Request.prototype).extend({=0A=
  initialize: function(container, url, options) {=0A=
    this.containers =3D {=0A=
      success: container.success ? $(container.success) : $(container),=0A=
      failure: container.failure ? $(container.failure) :=0A=
        (container.success ? null : $(container))=0A=
    }=0A=
=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
=0A=
    var onComplete =3D this.options.onComplete || =
Prototype.emptyFunction;=0A=
    this.options.onComplete =3D (function() {=0A=
      this.updateContent();=0A=
      onComplete(this.transport);=0A=
    }).bind(this);=0A=
=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  updateContent: function() {=0A=
    var receiver =3D this.responseIsSuccess() ?=0A=
      this.containers.success : this.containers.failure;=0A=
=0A=
    var match    =3D new RegExp(Ajax.Updater.ScriptFragment, 'img');=0A=
    var response =3D this.transport.responseText.replace(match, '');=0A=
    var scripts  =3D this.transport.responseText.match(match);=0A=
=0A=
    if (receiver) {=0A=
      if (this.options.insertion) {=0A=
        new this.options.insertion(receiver, response);=0A=
      } else {=0A=
        receiver.innerHTML =3D response;=0A=
      }=0A=
    }=0A=
=0A=
    if (this.responseIsSuccess()) {=0A=
      if (this.onComplete)=0A=
        setTimeout((function() {this.onComplete(=0A=
          this.transport)}).bind(this), 10);=0A=
    }=0A=
=0A=
    if (this.options.evalScripts && scripts) {=0A=
      match =3D new RegExp(Ajax.Updater.ScriptFragment, 'im');=0A=
      setTimeout((function() {=0A=
        for (var i =3D 0; i < scripts.length; i++)=0A=
          eval(scripts[i].match(match)[1]);=0A=
      }).bind(this), 10);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create();=0A=
Ajax.PeriodicalUpdater.prototype =3D (new Ajax.Base()).extend({=0A=
  initialize: function(container, url, options) {=0A=
    this.setOptions(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D 1;=0A=
=0A=
    this.updater =3D {};=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Ajax.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(request) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (request.responseText =3D=3D this.lastText ? =0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D request.responseText;=0A=
    }=0A=
    this.timer =3D setTimeout(this.onTimerEvent.bind(this), =0A=
      this.decay * this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
=0A=
document.getElementsByClassName =3D function(className) {=0A=
  var children =3D document.getElementsByTagName('*') || document.all;=0A=
  var elements =3D new Array();=0A=
  =0A=
  for (var i =3D 0; i < children.length; i++) {=0A=
    var child =3D children[i];=0A=
    var classNames =3D child.className.split(' ');=0A=
    for (var j =3D 0; j < classNames.length; j++) {=0A=
      if (classNames[j] =3D=3D className) {=0A=
        elements.push(child);=0A=
        break;=0A=
      }=0A=
    }=0A=
  }=0A=
  =0A=
  return elements;=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Element) {=0A=
  var Element =3D new Object();=0A=
}=0A=
=0A=
Object.extend(Element, {=0A=
  toggle: function() {=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var element =3D $(arguments[i]);=0A=
      element.style.display =3D =0A=
        (element.style.display =3D=3D 'none' ? '' : 'none');=0A=
    }=0A=
  },=0A=
=0A=
  hide: function() {=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var element =3D $(arguments[i]);=0A=
      element.style.display =3D 'none';=0A=
    }=0A=
  },=0A=
=0A=
  show: function() {=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var element =3D $(arguments[i]);=0A=
      element.style.display =3D '';=0A=
    }=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
  },=0A=
   =0A=
  getHeight: function(element) {=0A=
    element =3D $(element);=0A=
    return element.offsetHeight; =0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    element =3D $(element);=0A=
    if (!element)=0A=
      return;=0A=
    var a =3D element.className.split(' ');=0A=
    for (var i =3D 0; i < a.length; i++) {=0A=
      if (a[i] =3D=3D className)=0A=
        return true;=0A=
    }=0A=
    return false;=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    element =3D $(element);=0A=
    Element.removeClassName(element, className);=0A=
    element.className +=3D ' ' + className;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    element =3D $(element);=0A=
    if (!element)=0A=
      return;=0A=
    var newClassName =3D '';=0A=
    var a =3D element.className.split(' ');=0A=
    for (var i =3D 0; i < a.length; i++) {=0A=
      if (a[i] !=3D className) {=0A=
        if (i > 0)=0A=
          newClassName +=3D ' ';=0A=
        newClassName +=3D a[i];=0A=
      }=0A=
    }=0A=
    element.className =3D newClassName;=0A=
  },=0A=
  =0A=
  // removes whitespace-only text node children=0A=
  cleanWhitespace: function(element) {=0A=
    var element =3D $(element);=0A=
    for (var i =3D 0; i < element.childNodes.length; i++) {=0A=
      var node =3D element.childNodes[i];=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue)) =0A=
        Element.remove(node);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
var Toggle =3D new Object();=0A=
Toggle.display =3D Element.toggle;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.Insertion =3D function(adjacency) {=0A=
  this.adjacency =3D adjacency;=0A=
}=0A=
=0A=
Abstract.Insertion.prototype =3D {=0A=
  initialize: function(element, content) {=0A=
    this.element =3D $(element);=0A=
    this.content =3D content;=0A=
    =0A=
    if (this.adjacency && this.element.insertAdjacentHTML) {=0A=
      this.element.insertAdjacentHTML(this.adjacency, this.content);=0A=
    } else {=0A=
      this.range =3D this.element.ownerDocument.createRange();=0A=
      if (this.initializeRange) this.initializeRange();=0A=
      this.fragment =3D =
this.range.createContextualFragment(this.content);=0A=
      this.insertContent();=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
var Insertion =3D new Object();=0A=
=0A=
Insertion.Before =3D Class.create();=0A=
Insertion.Before.prototype =3D (new =
Abstract.Insertion('beforeBegin')).extend({=0A=
  initializeRange: function() {=0A=
    this.range.setStartBefore(this.element);=0A=
  },=0A=
  =0A=
  insertContent: function() {=0A=
    this.element.parentNode.insertBefore(this.fragment, this.element);=0A=
  }=0A=
});=0A=
=0A=
Insertion.Top =3D Class.create();=0A=
Insertion.Top.prototype =3D (new =
Abstract.Insertion('afterBegin')).extend({=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(true);=0A=
  },=0A=
  =0A=
  insertContent: function() {  =0A=
    this.element.insertBefore(this.fragment, this.element.firstChild);=0A=
  }=0A=
});=0A=
=0A=
Insertion.Bottom =3D Class.create();=0A=
Insertion.Bottom.prototype =3D (new =
Abstract.Insertion('beforeEnd')).extend({=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(this.element);=0A=
  },=0A=
  =0A=
  insertContent: function() {=0A=
    this.element.appendChild(this.fragment);=0A=
  }=0A=
});=0A=
=0A=
Insertion.After =3D Class.create();=0A=
Insertion.After.prototype =3D (new =
Abstract.Insertion('afterEnd')).extend({=0A=
  initializeRange: function() {=0A=
    this.range.setStartAfter(this.element);=0A=
  },=0A=
  =0A=
  insertContent: function() {=0A=
    this.element.parentNode.insertBefore(this.fragment, =0A=
      this.element.nextSibling);=0A=
  }=0A=
});=0A=
=0A=
var Field =3D {=0A=
  clear: function() {=0A=
    for (var i =3D 0; i < arguments.length; i++)=0A=
      $(arguments[i]).value =3D '';=0A=
  },=0A=
=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
  },=0A=
  =0A=
  present: function() {=0A=
    for (var i =3D 0; i < arguments.length; i++)=0A=
      if ($(arguments[i]).value =3D=3D '') return false;=0A=
    return true;=0A=
  },=0A=
  =0A=
  select: function(element) {=0A=
    $(element).select();=0A=
  },=0A=
   =0A=
  activate: function(element) {=0A=
    $(element).focus();=0A=
    $(element).select();=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Form =3D {=0A=
  serialize: function(form) {=0A=
    var elements =3D Form.getElements($(form));=0A=
    var queryComponents =3D new Array();=0A=
    =0A=
    for (var i =3D 0; i < elements.length; i++) {=0A=
      var queryComponent =3D Form.Element.serialize(elements[i]);=0A=
      if (queryComponent)=0A=
        queryComponents.push(queryComponent);=0A=
    }=0A=
    =0A=
    return queryComponents.join('&');=0A=
  },=0A=
  =0A=
  getElements: function(form) {=0A=
    var form =3D $(form);=0A=
    var elements =3D new Array();=0A=
=0A=
    for (tagName in Form.Element.Serializers) {=0A=
      var tagElements =3D form.getElementsByTagName(tagName);=0A=
      for (var j =3D 0; j < tagElements.length; j++)=0A=
        elements.push(tagElements[j]);=0A=
    }=0A=
    return elements;=0A=
  },=0A=
  =0A=
  getInputs: function(form, typeName, name) {=0A=
    var form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
    =0A=
    if (!typeName && !name)=0A=
      return inputs;=0A=
      =0A=
    var matchingInputs =3D new Array();=0A=
    for (var i =3D 0; i < inputs.length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) ||=0A=
          (name && input.name !=3D name)) =0A=
        continue;=0A=
      matchingInputs.push(input);=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    var elements =3D Form.getElements(form);=0A=
    for (var i =3D 0; i < elements.length; i++) {=0A=
      var element =3D elements[i];=0A=
      element.blur();=0A=
      element.disabled =3D 'true';=0A=
    }=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    var elements =3D Form.getElements(form);=0A=
    for (var i =3D 0; i < elements.length; i++) {=0A=
      var element =3D elements[i];=0A=
      element.disabled =3D '';=0A=
    }=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    var form =3D $(form);=0A=
    var elements =3D Form.getElements(form);=0A=
    for (var i =3D 0; i < elements.length; i++) {=0A=
      var element =3D elements[i];=0A=
      if (element.type !=3D 'hidden' && !element.disabled) {=0A=
        Field.activate(element);=0A=
        break;=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  reset: function(form) {=0A=
    $(form).reset();=0A=
  }=0A=
}=0A=
=0A=
Form.Element =3D {=0A=
  serialize: function(element) {=0A=
    var element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    var parameter =3D Form.Element.Serializers[method](element);=0A=
    =0A=
    if (parameter)=0A=
      return encodeURIComponent(parameter[0]) + '=3D' + =0A=
        encodeURIComponent(parameter[1]);                   =0A=
  },=0A=
  =0A=
  getValue: function(element) {=0A=
    var element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    var parameter =3D Form.Element.Serializers[method](element);=0A=
    =0A=
    if (parameter) =0A=
      return parameter[1];=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'submit':=0A=
      case 'hidden':=0A=
      case 'password':=0A=
      case 'text':=0A=
        return Form.Element.Serializers.textarea(element);=0A=
      case 'checkbox':  =0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element);=0A=
    }=0A=
    return false;=0A=
  },=0A=
=0A=
  inputSelector: function(element) {=0A=
    if (element.checked)=0A=
      return [element.name, element.value];=0A=
  },=0A=
=0A=
  textarea: function(element) {=0A=
    return [element.name, element.value];=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    var value =3D '';=0A=
    if (element.type =3D=3D 'select-one') {=0A=
      var index =3D element.selectedIndex;=0A=
      if (index >=3D 0)=0A=
        value =3D element.options[index].value || =
element.options[index].text;=0A=
    } else {=0A=
      value =3D new Array();=0A=
      for (var i =3D 0; i < element.length; i++) {=0A=
        var opt =3D element.options[i];=0A=
        if (opt.selected)=0A=
          value.push(opt.value || opt.text);=0A=
      }=0A=
    }=0A=
    return [element.name, value];=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var $F =3D Form.Element.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.TimedObserver =3D function() {}=0A=
Abstract.TimedObserver.prototype =3D {=0A=
  initialize: function(element, frequency, callback) {=0A=
    this.frequency =3D frequency;=0A=
    this.element   =3D $(element);=0A=
    this.callback  =3D callback;=0A=
    =0A=
    this.lastValue =3D this.getValue();=0A=
    this.registerCallback();=0A=
  },=0A=
  =0A=
  registerCallback: function() {=0A=
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A=
  },=0A=
  =0A=
  onTimerEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Observer =3D Class.create();=0A=
Form.Element.Observer.prototype =3D (new =
Abstract.TimedObserver()).extend({=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create();=0A=
Form.Observer.prototype =3D (new Abstract.TimedObserver()).extend({=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D function() {}=0A=
Abstract.EventObserver.prototype =3D {=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
    =0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
  =0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
  =0A=
  registerFormCallbacks: function() {=0A=
    var elements =3D Form.getElements(this.element);=0A=
    for (var i =3D 0; i < elements.length; i++)=0A=
      this.registerCallback(elements[i]);=0A=
  },=0A=
  =0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':  =0A=
        case 'radio':=0A=
          element.target =3D this;=0A=
          element.prev_onclick =3D element.onclick || =
Prototype.emptyFunction;=0A=
          element.onclick =3D function() {=0A=
            this.prev_onclick(); =0A=
            this.target.onElementEvent();=0A=
          }=0A=
          break;=0A=
        case 'password':=0A=
        case 'text':=0A=
        case 'textarea':=0A=
        case 'select-one':=0A=
        case 'select-multiple':=0A=
          element.target =3D this;=0A=
          element.prev_onchange =3D element.onchange || =
Prototype.emptyFunction;=0A=
          element.onchange =3D function() {=0A=
            this.prev_onchange(); =0A=
            this.target.onElementEvent();=0A=
          }=0A=
          break;=0A=
      }=0A=
    }    =0A=
  }=0A=
}=0A=
=0A=
Form.Element.EventObserver =3D Class.create();=0A=
Form.Element.EventObserver.prototype =3D (new =
Abstract.EventObserver()).extend({=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create();=0A=
Form.EventObserver.prototype =3D (new Abstract.EventObserver()).extend({=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
=0A=
if (!window.Event) {=0A=
  var Event =3D new Object();=0A=
}=0A=
=0A=
Object.extend(Event, {=0A=
  KEY_BACKSPACE: 8,=0A=
  KEY_TAB:       9,=0A=
  KEY_RETURN:   13,=0A=
  KEY_ESC:      27,=0A=
  KEY_LEFT:     37,=0A=
  KEY_UP:       38,=0A=
  KEY_RIGHT:    39,=0A=
  KEY_DOWN:     40,=0A=
  KEY_DELETE:   46,=0A=
=0A=
  element: function(event) {=0A=
    return event.target || event.srcElement;=0A=
  },=0A=
=0A=
  isLeftClick: function(event) {=0A=
    return (((event.which) && (event.which =3D=3D 1)) ||=0A=
            ((event.button) && (event.button =3D=3D 1)));=0A=
  },=0A=
=0A=
  pointerX: function(event) {=0A=
    return event.pageX || (event.clientX + =0A=
      (document.documentElement.scrollLeft || document.body.scrollLeft));=0A=
  },=0A=
=0A=
  pointerY: function(event) {=0A=
    return event.pageY || (event.clientY + =0A=
      (document.documentElement.scrollTop || document.body.scrollTop));=0A=
  },=0A=
=0A=
  stop: function(event) {=0A=
    if (event.preventDefault) { =0A=
      event.preventDefault(); =0A=
      event.stopPropagation(); =0A=
    } else {=0A=
      event.returnValue =3D false;=0A=
    }=0A=
  },=0A=
=0A=
  // find the first node with the given tagName, starting from the=0A=
  // node the event was triggered on; traverses the DOM upwards=0A=
  findElement: function(event, tagName) {=0A=
    var element =3D Event.element(event);=0A=
    while (element.parentNode && (!element.tagName ||=0A=
        (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))=0A=
      element =3D element.parentNode;=0A=
    return element;=0A=
  },=0A=
=0A=
  observers: false,=0A=
  =0A=
  _observeAndCache: function(element, name, observer, useCapture) {=0A=
    if (!this.observers) this.observers =3D [];=0A=
    if (element.addEventListener) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.addEventListener(name, observer, useCapture);=0A=
    } else if (element.attachEvent) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.attachEvent('on' + name, observer);=0A=
    }=0A=
  },=0A=
  =0A=
  unloadCache: function() {=0A=
    if (!Event.observers) return;=0A=
    for (var i =3D 0; i < Event.observers.length; i++) {=0A=
      Event.stopObserving.apply(this, Event.observers[i]);=0A=
      Event.observers[i][0] =3D null;=0A=
    }=0A=
    Event.observers =3D false;=0A=
  },=0A=
=0A=
  observe: function(element, name, observer, useCapture) {=0A=
    var element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
    =0A=
    if (name =3D=3D 'keypress' &&=0A=
        ((navigator.appVersion.indexOf('AppleWebKit') > 0) =0A=
        || element.attachEvent))=0A=
      name =3D 'keydown';=0A=
    =0A=
    this._observeAndCache(element, name, observer, useCapture);=0A=
  },=0A=
=0A=
  stopObserving: function(element, name, observer, useCapture) {=0A=
    var element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
    =0A=
    if (name =3D=3D 'keypress' &&=0A=
        ((navigator.appVersion.indexOf('AppleWebKit') > 0) =0A=
        || element.detachEvent))=0A=
      name =3D 'keydown';=0A=
    =0A=
    if (element.removeEventListener) {=0A=
      element.removeEventListener(name, observer, useCapture);=0A=
    } else if (element.detachEvent) {=0A=
      element.detachEvent('on' + name, observer);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
/* prevent memory leaks in IE */=0A=
Event.observe(window, 'unload', Event.unloadCache, false);=0A=
=0A=
var Position =3D {=0A=
=0A=
  // set to true if needed, warning: firefox performance problems=0A=
  // NOT neeeded for page scrolling, only if draggable contained in=0A=
  // scrollable elements=0A=
  includeScrollOffsets: false, =0A=
=0A=
  // must be called before calling withinIncludingScrolloffset, every =
time the=0A=
  // page is scrolled=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset =0A=
                || document.documentElement.scrollLeft =0A=
                || document.body.scrollLeft =0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset =0A=
                || document.documentElement.scrollTop =0A=
                || document.body.scrollTop =0A=
                || 0;=0A=
  },=0A=
=0A=
  realOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0; =0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  // caches x/y coordinate pair to use with overlap=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] && =0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D this.realOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] && =0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  // within must be called directly before=0A=
  overlap: function(mode, element) {  =0A=
    if (!mode) return 0;  =0A=
    if (mode =3D=3D 'vertical') =0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) / =0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) / =0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
  clone: function(source, target) {=0A=
    source =3D $(source);=0A=
    target =3D $(target);=0A=
    target.style.position =3D 'absolute';=0A=
    var offsets =3D this.cumulativeOffset(source);=0A=
    target.style.top    =3D offsets[1] + 'px';=0A=
    target.style.left   =3D offsets[0] + 'px';=0A=
    target.style.width  =3D source.offsetWidth + 'px';=0A=
    target.style.height =3D source.offsetHeight + 'px';=0A=
  }=0A=
}=0A=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.pcworld.com/script/main.js

/*********************************************************=0A=
 *	File:		main.js=0A=
 *	Author:		MetaDesign=0A=
 *	Created:	December 6, 2005=0A=
 *=0A=
 *	Description:=0A=
 *	Javascript file for all functions and classes provided=0A=
 *	in the following order:=0A=
 *	=0A=
 *	Utility Functions=0A=
 *  -----------------=0A=
 *	getObject=0A=
 *	filterByClassName=0A=
 *	getObjectsByClassName=0A=
 *	getChildrenByClassName=0A=
 *	getDescendantsByClassName=0A=
 *	compareById=0A=
 *	createElement=0A=
 *	getWindowWidth=0A=
 *	getWindowHeight=0A=
 *	getScrollX=0A=
 *	getScrollY=0A=
 *	tmpAlert=0A=
 *	clearFld=0A=
 *	changeclass=0A=
 *	=0A=
 *	Utility Exceptions=0A=
 *	------------------=0A=
 *	ObjectNotFoundException=0A=
 *	InvalidObjectRefException=0A=
 *	=0A=
 *	Application Specific Functions=0A=
 *	------------------------------=0A=
 *	addToMyPages=0A=
 *	addToMyPagesToolbar=0A=
 *	showImage=0A=
 *	toggleCommentsDisplay=0A=
 *	checkAllChecks=0A=
 *	charCounter=0A=
 *	selProdCat=0A=
 *	chgToolbar=0A=
 *=0A=
 *	FeatureViewer=0A=
 *	-------------=0A=
 *  Constants:=0A=
 *	Feature Viewer=0A=
 *  FEATURE_CLASS=0A=
 *  FEATURE_NAMES=0A=
 *=0A=
 *	Browser Detection:=0A=
 *  userAgent=0A=
 *  isPCIE=0A=
 *=0A=
 *	getFeatureCount=0A=
 *	getFeatureContent=0A=
 *	getFeatures=0A=
 *	encodeSpecial=0A=
 *	getFlashMovieObject=0A=
 *	setFlashVariables=0A=
 *=0A=
 *	Base Classes=0A=
 *	------------=0A=
 *	DOMDecorator=0A=
 *	OpacityControl=0A=
 *	Timer=0A=
 *	TimeObserver=0A=
 *	Move=0A=
 *=0A=
 *	Generic UI Control Classes=0A=
 *	--------------------------=0A=
 *	Drawer=0A=
 *	WindowShade=0A=
 *	AlertMessage=0A=
 *	ListControl=0A=
 *=0A=
 *	Module Specific Classes=0A=
 *	-----------------------=0A=
 *	ReviewFinder=0A=
 *	MyPages=0A=
 *=0A=
 ********************************************************/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Utility Functions=0A=
 *------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getObject=0A=
 *  =0A=
 *  Description:=0A=
 *  Accepts an object reference or a string, returns an=0A=
 *  object reference=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pRef	string or object	ID of HTML DOM entity, or=0A=
 *								reference to an object=0A=
 *	Exceptions:=0A=
 *	ObjectNotFoundException=0A=
 *	InvalidObjectRefException=0A=
 *  =0A=
 *  Return:=0A=
 *  object		Reference to named or passed DOM object.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getObject(pRef) {=0A=
	var obj;=0A=
=0A=
	if (typeof(pRef) =3D=3D "object") {=0A=
		obj =3D pRef;=0A=
	} else if (typeof(pRef) =3D=3D "string") {=0A=
		obj =3D document.getElementById(pRef);=0A=
		if (!obj) {=0A=
			throw new ObjectNotFoundException(pRef);=0A=
		}=0A=
	} else {=0A=
		throw new InvalidObjectRefException(pRef);=0A=
	}=0A=
	=0A=
	return obj;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  filterByClassName=0A=
 *  =0A=
 *  Description:=0A=
 *  Filters an array of DOM elements, returning only=0A=
 *  elements that match a particular class name.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pObjects	array	Array of DOM elements to filter=0A=
 *  pClassName	string	The class name to match=0A=
 *  =0A=
 *  Return:=0A=
 *  array		An array of DOM objects with the matching=0A=
 *				class name.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function filterByClassName(pObjects, pClassName) {=0A=
	var elements =3D new Array();=0A=
=0A=
	for (var i =3D 0; i < pObjects.length; i++) {=0A=
		var obj =3D pObjects[i];=0A=
		if (obj.className) {=0A=
			var classNames =3D obj.className.split(' ');=0A=
			for (var j =3D 0; j < classNames.length; j++) {=0A=
				if (classNames[j] =3D=3D pClassName) {=0A=
					elements[elements.length] =3D obj;=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
  =0A=
	return elements;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getObjectsByClassName=0A=
 *  =0A=
 *  Description:=0A=
 *  Returns an array of DOM objects that match a particular=0A=
 *  class name.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pClassName	string	The class name to match=0A=
 *  =0A=
 *  Return:=0A=
 *  array		An array of DOM objects with the matching=0A=
 *				class name.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getObjectsByClassName(pClassName) {=0A=
	var all =3D document.getElementsByTagName('*') || document.all;=0A=
	=0A=
	return filterByClassName(all, pClassName);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getObjectsByClassName=0A=
 *  =0A=
 *  Description:=0A=
 *  Returns an array of DOM objects that match a particular=0A=
 *  class name that are a descendent of pParentId=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pParentId	string	The id of a parent node to start search=0A=
 *  pClassName	string	The class name to match=0A=
 *  =0A=
 *  Return:=0A=
 *  array		An array of DOM objects with the matching=0A=
 *				class name.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getChildObjectsByClassName(pParentId,pClassName) {=0A=
	var parent =3D document.getElementById(pParentId);=0A=
	var all =3D parent.getElementsByTagName('*');=0A=
	return filterByClassName(all,pClassName);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getChildrenByClassName=0A=
 *  =0A=
 *  Description:=0A=
 *  Accepts a reference to a DOM object and returns an array=0A=
 *  of child elements that match a particular class name.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pRef		string or object	The parent DOM element=0A=
 *									to search=0A=
 *  pClassName	string				The class name to match=0A=
 *  =0A=
 *  Return:=0A=
 *  array		An array of DOM objects with the matching=0A=
 *				class name.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getChildrenByClassName(pRef, pClassName) {=0A=
	var children =3D getObject(pRef).childNodes;=0A=
=0A=
	return filterByClassName(children, pClassName);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getDescendantsByClassName=0A=
 *  =0A=
 *  Description:=0A=
 *  Accepts a reference to a DOM object and returns an array=0A=
 *  of all descendant elements that match a particular class=0A=
 *  name.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pRef		string or object	The parent DOM element=0A=
 *									to search=0A=
 *  pClassName	string				The class name to match=0A=
 *  =0A=
 *  Return:=0A=
 *  array		An array of DOM objects with the matching=0A=
 *				class name.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getDescendantsByClassName(pRef, pClassName) {=0A=
	var descendants =3D getObject(pRef).getElementsByTagName('*');=0A=
=0A=
	return filterByClassName(descendants, pClassName);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  compareById=0A=
 *  =0A=
 *  Description:=0A=
 *  Compares two DOM elements by ID.  Uses standard string=0A=
 *  comparison against language character set numeric codes.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pObjectA	object	The first DOM element to compare=0A=
 *  pObjectB	object	The second DOM element to compare=0A=
 *  =0A=
 *  Return:=0A=
 *  integer		-1 if pObjectB is greater than pObjectA,=0A=
 *				0 if equal, +1 if pObjectA is greater=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function compareById(pObjectA, pObjectB) {=0A=
	if (pObjectA.id > pObjectB.id) {=0A=
		return 1;=0A=
	} else if (pObjectA.id < pObjectB.id) {=0A=
		return -1;=0A=
	} else {=0A=
		return 0;=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  createElement=0A=
 *  =0A=
 *  Description:=0A=
 *  Utility function for dynamic generation of DOM=0A=
 *  elements.  Sets attributes on the element based on a=0A=
 *  hash of attribute names and values.=0A=
 *=0A=
 *	Example:=0A=
 *		var newElement =3D createElement('a',=0A=
 *		{=0A=
 *			'class': 'myClass',=0A=
 *			'href': 'http://www.mydomain.com',=0A=
 *			'onmouseover': 'jsFunction();'=0A=
 *		});=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pElement	string		DOM element to create=0A=
 *							(e.g. 'div', 'a', 'h1')=0A=
 *	pAttributes	hash		Hash of attributes and their=0A=
 *							values.=0A=
 *  =0A=
 *  Return:=0A=
 *  object		The newly created element=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function createElement(pElement, pAttributes) {=0A=
	// Make the element=0A=
	var newElement =3D document.createElement(pElement);=0A=
	=0A=
	// Set the attributes=0A=
	for (var attr in pAttributes) {=0A=
		switch (attr) {=0A=
			/*=0A=
				IE uses 'className' for setAttribute and getAttribute.=0A=
				All other browsers use 'class'.=0A=
				Setting the className property is cross-browser=0A=
			*/=0A=
			case 'class':=0A=
			case 'className':=0A=
				newElement.className =3D pAttributes[attr];=0A=
				break;=0A=
			/*=0A=
				setAttribute works for event handlers on Firefox, but not=0A=
				on IE.  Explicitly set the event handlers as functions=0A=
				using new Function constructor.=0A=
			*/=0A=
			case 'onblur':=0A=
				newElement.onblur =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onclick':=0A=
				newElement.onclick =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'ondblclick':=0A=
				newElement.ondblclick =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onfocus':=0A=
				newElement.onfocus =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onkeydown':=0A=
				newElement.onkeydown =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onkeypress':=0A=
				newElement.onkeypress =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onkeyup':=0A=
				newElement.onkeyup =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onmousedown':=0A=
				newElement.onmousedown =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onmousemove':=0A=
				newElement.onmousemove =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onmouseout':=0A=
				newElement.onmouseout =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onmouseover':=0A=
				newElement.onmouseover =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onmouseup':=0A=
				newelement.onmouseup =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
			case 'onresize':=0A=
				newElement.onresize =3D new Function(pAttributes[attr]);=0A=
				break;=0A=
=0A=
			/* Default action is to set the attribute */=0A=
			default:=0A=
				newElement.setAttribute(attr, pAttributes[attr]);=0A=
				break;=0A=
		}=0A=
	}=0A=
	return newElement;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getWindowWidth=0A=
 *  =0A=
 *  Description:=0A=
 *  Cross browser method for determining total width of=0A=
 *	browser window (inside chrome)=0A=
 *  =0A=
 *  Parameters:=0A=
 *  None=0A=
 *  =0A=
 *  Return:=0A=
 *  integer		Width of browser window in pixels=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getWindowWidth() {=0A=
	if (isNaN(window.innerWidth)) {=0A=
		return document.body.parentElement.clientWidth;=0A=
	} else {=0A=
		return window.innerWidth;=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getWindowHeight=0A=
 *  =0A=
 *  Description:=0A=
 *  Cross browser method for determining total height of=0A=
 *	browser window (inside chrome)=0A=
 *  =0A=
 *  Parameters:=0A=
 *  None=0A=
 *  =0A=
 *  Return:=0A=
 *  integer		Height of browser window in pixels=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getWindowHeight() {=0A=
	if (isNaN(window.innerHeight)) {=0A=
		return document.body.parentElement.clientHeight;=0A=
	} else {=0A=
		return window.innerHeight;=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getScrollX=0A=
 *  =0A=
 *  Description:=0A=
 *  Cross browser method for determining horizontal scroll of=0A=
 *  browser window=0A=
 *  =0A=
 *  Parameters:=0A=
 *  None=0A=
 *  =0A=
 *  Return:=0A=
 *  integer		Number of pixels scrolled horizontally=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getScrollX() {=0A=
	if (isNaN(window.scrollX)) {=0A=
		// IE compatibility mode=0A=
		return document.body.parentElement.scrollLeft;=0A=
	} else {=0A=
		return window.scrollX;=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getScrollY=0A=
 *  =0A=
 *  Description:=0A=
 *  Cross browser method for determining vertical scroll of=0A=
 *  browser window=0A=
 *  =0A=
 *  Parameters:=0A=
 *  None=0A=
 *  =0A=
 *  Return:=0A=
 *  integer		Number of pixels scrolled vertically=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getScrollY() {=0A=
	if (isNaN(window.scrollY)) {=0A=
		// IE compatibility mode=0A=
		return document.body.parentElement.scrollTop;=0A=
	} else {=0A=
		return window.scrollY;=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Function:  tmpAlert=0A=
 *	=0A=
 *	Description:=0A=
 *	Temporary function for alert of server side functionality=0A=
 *=0A=
 *	Paramaters:=0A=
 *	pType		string		Verbiage for alert box=0A=
 *=0A=
 *	Return:=0A=
 *	none=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function tmpAlert(pType) {=0A=
	alert('This will perform a ' + pType + '.');=0A=
	return false;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Function:  clearFld=0A=
 *	=0A=
 *	Description:=0A=
 *	Clears default text in form field on focus=0A=
 *=0A=
 *	Paramaters:=0A=
 *	pFld		string or object	Reference to the field to clear.=0A=
 *=0A=
 *	Return:=0A=
 *	none=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function clearFld(pFld) {=0A=
	getObject(pFld).value =3D "";=0A=
	return false;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Function:  changeClass=0A=
 *	=0A=
 *	Description:=0A=
 *	Changes the class of an element.  Replaces pOldClass=0A=
 *  with pNewClass.  If pOldClass does not exist, pNewClass=0A=
 *  is still added.=0A=
 *=0A=
 *	Parameters:=0A=
 *	pRef		string or object	Reference to element that=0A=
 *									changes class=0A=
 *	pOldClass	string		Old class to replace=0A=
 *	pNewClass	string		New class to add=0A=
 *=0A=
 *	Return:=0A=
 *	none=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function changeClass(pRef, pOldClass, pNewClass) {=0A=
	var obj =3D getObject(pRef);=0A=
	=0A=
	var newClassStr =3D pNewClass;=0A=
	=0A=
	if (obj.className) {=0A=
		var classNames =3D obj.className.split(' ');=0A=
		for (var i =3D 0; i < classNames.length; i++) {=0A=
			if (classNames[i] !=3D pOldClass) {=0A=
				newClassStr +=3D ' ' + classNames[i];=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	obj.className =3D newClassStr;=0A=
}=0A=
=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Function:  popWin=0A=
 *------------------------------------------------------*/=0A=
=0A=
function popWin(width,height,path) {=0A=
	var features =3D "height=3D"+height+",width=3D"+width;=0A=
	features =3D =
features+",menubar=3Dno,location=3Dno,scrollbars=3Dno,status=3Dno,titleba=
r=3Dno,toolbar=3Dno,resizeable=3Dyes";=0A=
	var w =3D window.open(path,"popWin",features,false);=0A=
	return false;=0A=
}=0A=
=0A=
=0A=
/*--------------------------------------------------------=0A=
 * Utility Exceptions=0A=
 *------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Exception:  ObjectNotFoundException=0A=
 *	=0A=
 *	Description:=0A=
 *	Runtime exception. Indicates that an object reference=0A=
 *	was not found.=0A=
 *=0A=
 *	Parameters:=0A=
 *	pRef		string		Erroneous reference to object=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function ObjectNotFoundException(pRef) {=0A=
   this.ref =3D pRef;=0A=
=0A=
   this.toString =3D function() {=0A=
      return "Object not found: " + pRef;=0A=
   };=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Exception:  InvalidObjectRefException=0A=
 *	=0A=
 *	Description:=0A=
 *	Runtime exception. Indicates an invalid reference=0A=
 *	to an object (not a string or object reference) was used.=0A=
 *=0A=
 *	Parameters:=0A=
 *	pRef		not string or object	Erroneous reference to object=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function InvalidObjectRefException(pRef) {=0A=
	this.ref =3D pRef;=0A=
	=0A=
	this.toString =3D function() {=0A=
		return "Invalid object reference: " + pRef;=0A=
	};=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Application Specific Functions=0A=
 *------------------------------------------------------*/=0A=
 =0A=
 var MYPAGES_ACTIVE =3D 'myPagesUnSaved';=0A=
 var MYPAGES_DISABLED =3D 'myPagesSaved';=0A=
 var MYPAGES_TOOLBAR_ACTIVE =3D 'toolbarMyPagesUnsaved';=0A=
 var MYPAGES_TOOLBAR_DISABLED =3D 'toolbarMyPagesSaved';=0A=
 =0A=
/*--------------------------------------------------------=0A=
 *  Function:  addToMyPages=0A=
 *  =0A=
 *  Description:=0A=
 *  Utility function for adding to My Pages.=0A=
 *  =0A=
 *  Parameters:=0A=
 *	pObj		string or object	Reference to My Pages icon=0A=
 *	pId			string	Unique ID of page to add=0A=
 *  pLabel		string	The label to display in the My Pages=0A=
 *						panel=0A=
 *	pURL		string	The URL of the page to add=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function addToMyPages(pObj, pId, pLabel, pURL) {=0A=
	var obj =3D getObject(pObj);=0A=
	=0A=
	// If the page is added successfully, switch to the saved (disabled)=0A=
	// version of the My Pages icon=0A=
	if (MyPages.prototype.addPage(pId, pLabel, pURL, true)) {=0A=
		changeClass(obj, MYPAGES_ACTIVE, MYPAGES_DISABLED);=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  addToMyPagesToolbar=0A=
 *  =0A=
 *  Description:=0A=
 *  Toolbar version of utility function for adding to My Pages.=0A=
 *  =0A=
 *  Parameters:=0A=
 *	pObj		string or object	Reference to My Pages icon=0A=
 *	pId			string	Unique ID of page to add=0A=
 *  pLabel		string	The label to display in the My Pages=0A=
 *						panel=0A=
 *	pURL		string	The URL of the page to add=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
	=0A=
function addToMyPagesToolbar(pObj, pId, pLabel, pURL) {=0A=
	var obj =3D getObject(pObj);=0A=
	=0A=
	// If the page is added successfully, switch to the saved (disabled)=0A=
	// version of the My Pages icon=0A=
	if (MyPages.prototype.addPage(pId, pLabel, pURL, true)) {=0A=
		var objs =3D document.getElementsByName("toolbarAddToMyPagesLink");=0A=
		for(var i =3D 0; i < objs.length; i++){=0A=
			changeClass(objs[i], MYPAGES_TOOLBAR_ACTIVE, =
MYPAGES_TOOLBAR_DISABLED);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  showImage=0A=
 *  =0A=
 *  Description:=0A=
 *  Changes the src and alt for an image object.=0A=
 *  =0A=
 *  Parameters:=0A=
 *	pImg		string or object	Reference to the image object.=0A=
 *	pSrc		string	The new src for the image.=0A=
 *	pAlt		string	The new alt for the image.=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function showImage(pImg, pSrc, pAlt) {=0A=
	var imageObj =3D getObject(pImg);=0A=
	imageObj.src =3D pSrc;=0A=
	imageObj.alt =3D pAlt;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Function:  toggleCommentsDisplay=0A=
 *	=0A=
 *	Description:=0A=
 *	Changes the display of ancillary article elements=0A=
 *	(comments and post a comment)=0A=
 *=0A=
 *	Paramaters:=0A=
 *	pArea		string or object	Reference to area being toggled=0A=
 *=0A=
 *	Return:=0A=
 *	none=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function toggleCommentsDisplay(pArea) {=0A=
	// Check current display=0A=
	var display =3D getObject(pArea).style.display;=0A=
	=0A=
	// Not showing.  Display it.=0A=
	if (display =3D=3D 'none') {=0A=
		getObject(pArea).style.display =3D 'block';=0A=
		=0A=
		// Toggle controls=0A=
		getObject(pArea + 'LinkOn').style.display =3D 'none';=0A=
		getObject(pArea + 'LinkOff').style.display =3D 'inline';=0A=
		if ('post' =3D=3D pArea) {=0A=
			getObject("forum_comment").focus();=0A=
		}=0A=
=0A=
	// Showing.  Hide it.=0A=
	} else {=0A=
		getObject(pArea).style.display =3D 'none';=0A=
		=0A=
		// Toggle controls=0A=
		getObject(pArea + 'LinkOff').style.display =3D 'none';=0A=
		getObject(pArea + 'LinkOn').style.display =3D 'inline';=0A=
	}=0A=
}=0A=
=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  checkAllChecks=0A=
 *  =0A=
 *  Description:=0A=
 *  Manages checked status of a series of checkboxes=0A=
 *  including a "check all" control.=0A=
 *  =0A=
 *  Parameters:=0A=
 *	pRef		string or object	Reference to checkbox that changes.=0A=
 *	pAll		string or object	Reference to the "check all" checkbox.=0A=
 *	pChecks		array	Array of references to checkbox series.=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function checkAllChecks(pRef, pAll, pChecks) {=0A=
	var changed =3D getObject(pRef);=0A=
	var all =3D getObject(pAll);=0A=
		=0A=
	// User changed the all checkbox=0A=
	if (changed =3D=3D all) {=0A=
		// Set all of the checkboxes accordingly=0A=
		for (var i =3D 0; i < pChecks.length; i++) {=0A=
			getObject(pChecks[i]).checked =3D changed.checked;=0A=
		}=0A=
	} else {=0A=
		var allChecked =3D true;=0A=
		// Check to see if all checks are checked=0A=
		for (var i =3D 0; i < pChecks.length; i++) {=0A=
			if (!getObject(pChecks[i]).checked) {=0A=
				allChecked =3D false;=0A=
				break;=0A=
			}=0A=
		}=0A=
		// Only check the all checkbox if all checkboxes haved been checked=0A=
		all.checked =3D allChecked;=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  charCounter=0A=
 *  =0A=
 *  Description:=0A=
 *  Counts the number of characters entered in input field=0A=
 *  and updates display of that number.=0A=
 *=0A=
 *	pText contains the string to display the number.=0A=
 *  It should contain the string "{CHAR}" indicating=0A=
 *	where the character count should be displayed.=0A=
 *  =0A=
 *  Parameters:=0A=
 *	pInput		string or object	Reference to input field=0A=
 *	pOutput		string or object	Reference to output display=0A=
 *	pText		string		Message text for display=0A=
 *	pMax		integer		Maximum number of characters allowed=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function charCounter(pInput, pOutput, pText, pMax) {=0A=
	var inputObj =3D getObject(pInput);=0A=
	var outputObj =3D getObject(pOutput);=0A=
	var length =3D inputObj.value.length;=0A=
=0A=
	// Ensure we are not over the max=0A=
	if (length >=3D pMax) {=0A=
		length =3D pMax;=0A=
		inputObj.value =3D inputObj.value.substr(0, pMax);=0A=
	}=0A=
=0A=
	// Display the character count=0A=
	outputObj.innerHTML =3D pText.replace('{CHAR}', length);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  selProdCat=0A=
 *  =0A=
 *  Description:=0A=
 *  Step 1 of Review Finder pane process.=0A=
 *  Selects product category from dropdown, displays=0A=
 *	conditional dropdowns based on choice. This is only =0A=
 *	a simulation.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  none=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function selProdCat(bHide) {=0A=
	// reveal conditional dropdowns and buttons=0A=
	// these items would likely be determined with an AJAX=0A=
	// call to the database.  Potentially, the values=0A=
	// of the dropdowns would also be determined via AJAX.=0A=
	arrReveal =3D new Array('blockStep2', 'btnGetReviews');=0A=
	for (var i =3D 0; i < arrReveal.length; i++) {=0A=
		getObject(arrReveal[i]).style.display =3D 'block';=0A=
	}=0A=
	=0A=
	// Reveal standard dropdowns.=0A=
	// These get displayed regardless of choice.=0A=
	arrRFElement =3D getObjectsByClassName('reviewFinderElement');=0A=
	for (var i =3D 0; i < arrRFElement.length; i++) {=0A=
		getObject(arrRFElement[i]).style.display =3D 'block';=0A=
	}=0A=
	=0A=
	if(bHide){=0A=
		// move the drawer closed to hide whole form=0A=
		ReviewFinder.prototype.close();=0A=
	}else{=0A=
		// move the drawer open to reveal whole form=0A=
		ReviewFinder.prototype.open();=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Function:  chgToolbar=0A=
 *	=0A=
 *	Description:=0A=
 *	Changes the display of the toolbar.=0A=
 *	Calls getObjectsByClassName.=0A=
 *=0A=
 *	Paramaters:=0A=
 *	pState		Integer		Which of 4 toolbar states to set=0A=
 *=0A=
 *	Toolbar states are as follows:=0A=
 *	1: default=0A=
 *	2: enter find.pcworld.com code=0A=
 *	3: sign in=0A=
 *	4: signed in=0A=
 *	=0A=
 *	Return:=0A=
 *	none=0A=
 *------------------------------------------------------*/=0A=
 =0A=
function chgToolbar(pState) {=0A=
	// turn display off for conditional elements=0A=
	var els =3D getObjectsByClassName('conditional');=0A=
	for (i =3D 0; i < els.length; i++) {=0A=
		els[i].style.display =3D 'none';=0A=
	}=0A=
=0A=
	// selective turn on display of elements according to state=0A=
	switch (pState) {=0A=
		case '2':=0A=
			$('hdCodeOn').style.display=3D'block';=0A=
			$('hdSignin1').className=3D'hdToolbarCodeonFill conditional';=0A=
			$('hdSignin1').style.display=3D'block';=0A=
			$('hdRegister').style.display=3D'block';=0A=
			break;=0A=
		case '3':=0A=
			$('hdCodeOff').style.display=3D'block';=0A=
			$('hdSignin1').className=3D'hdToolbarCodeoffFill conditional';=0A=
			$('hdSignin1').style.display=3D'block';=0A=
			$('hdRegister').style.display=3D'block';=0A=
			break;=0A=
		case '4':=0A=
			$('hdCodeOff').style.display=3D'block';=0A=
			$('hdSignin1').className=3D'hdToolbarCodeoffFill conditional';=0A=
			$('hdSignin1').style.display=3D'block';=0A=
			$('hdSignout').style.display=3D'block';=0A=
			break;=0A=
		case '1':=0A=
		default:=0A=
			$('hdCodeOff').style.display=3D'block';=0A=
			$('hdSignin1').className=3D'hdToolbarCodeoffFill conditional';=0A=
			$('hdSignin1').style.display=3D'block';=0A=
			$('hdRegister').style.display=3D'block';=0A=
			break;=0A=
	}=0A=
	return false;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Feature Viewer=0A=
 *------------------------------------------------------*/=0A=
=0A=
var hasFeature =3D false;=0A=
window.onload =3D function() {=0A=
	//WriteFeatureViewer();=0A=
}=0A=
 =0A=
function showTimers() {=0A=
	var strOut =3D "";=0A=
	var lastTime =3D aFlashCounters[0].split(":")[0];=0A=
=0A=
	for (var i=3D0;i<aFlashCounters.length;i++) {=0A=
		var func =3D aFlashCounters[i].split(":")[0];=0A=
		var time =3D aFlashCounters[i].split(":")[1];=0A=
		var delta =3D time - lastTime;=0A=
=0A=
		strOut =3D strOut + func + ":" + delta + "\n";=0A=
=0A=
		var lastTime =3D time;=0A=
	}=0A=
	=0A=
	var first =3D aFlashCounters[0].split(":")[1];=0A=
	var last =3D aFlashCounters[aFlashCounters.length-1].split(":")[1];=0A=
	var allDelta =3D last - first;=0A=
=0A=
	alert(strOut);=0A=
}=0A=
 =0A=
 =0A=
/* CONSTANTS */=0A=
var FEATURE_CLASS =3D 'feature';	 // Class name for features=0A=
var FEATURE_VIEWER_MOVIE =3D 'sendmovie';	// Name of the feature viewer =
Flash movie=0A=
var IE_VAR =3D 'ieQuery';	// Name of the variable to use when sending =
info to Flash via IE=0A=
var aFlashCounters =3D new Array();=0A=
=0A=
// Map of content names to feature structure=0A=
var FEATURE_NAMES =3D {=0A=
	// name				// class name			// attribute=0A=
	'head'			: ['featureHead',			'text'],=0A=
	'deck'			: ['featureDeck',			'text'],=0A=
	'short summary'	: ['featureSummary',		'text'],=0A=
	'link'			: ['featureLink',			'href'],=0A=
	'image path'	: ['featureImg',			'src'],=0A=
	'button path'	: ['featureBtn',			'src'],=0A=
	'rollover path'	: ['featureBtnRollover',	'src']=0A=
};=0A=
=0A=
/* BROWSER DETECTION */=0A=
var userAgent =3D navigator.userAgent.toLowerCase(); =0A=
var isPCIE =3D (=0A=
	(userAgent.indexOf('msie') !=3D -1)=0A=
	&& (userAgent.indexOf('win') !=3D -1)=0A=
	&& (userAgent.indexOf('opera') =3D=3D -1)=0A=
	&& (userAgent.indexOf('webtv') =3D=3D -1)=0A=
	);=0A=
var hasFlash8 =3D true;=0A=
if (navigator.platform =3D=3D "Linux") {hasFlash8 =3D false;}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getFeatureCount=0A=
 *  =0A=
 *  Description:=0A=
 *  Returns the number of features to display in the feature=0A=
 *  viewer.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  none=0A=
 *  =0A=
 *  Return:=0A=
 *  integer		The number of features to display=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getFeatureCount() {=0A=
	//aFlashCounters.push("getFeatureCount():" + new Date().valueOf());=0A=
	return =
getChildObjectsByClassName("FeatureViewerContent",FEATURE_CLASS).length;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getFeatureContent=0A=
 *  =0A=
 *  Description:=0A=
 *  Returns a string representing the content of a feature=0A=
 *  requested by name.=0A=
 *  =0A=
 *  Parameters:=0A=
 *  pOrder		The order number of the feature to retrieve=0A=
 *				content for (starting at 0).  Features are=0A=
 *				ordered by ID.=0A=
 *  pName		The name of the content to retrieve=0A=
 *  =0A=
 *  Return:=0A=
 *  string		The feature content requested=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getFeatureContent(pOrder, pName) {=0A=
	//aFlashCounters.push("getFeatureContent():" + new Date().valueOf());=0A=
	var features =3D =
getChildObjectsByClassName("FeatureViewerContent",FEATURE_CLASS);=0A=
	=0A=
	// Sort the features by id=0A=
	features.sort(compareById);=0A=
=0A=
	// Retrieve the feature we want=0A=
	var feature =3D features[pOrder];=0A=
	=0A=
	if (feature) {=0A=
		if (pName =3D=3D 'order') {=0A=
			return pOrder;=0A=
		} else if (FEATURE_NAMES[pName]) {=0A=
			// Find the element by class name.  There should only be one, so grab =
the first.=0A=
			var element =3D getDescendantsByClassName(feature, =
FEATURE_NAMES[pName][0])[0];=0A=
			if (element) {=0A=
				if (FEATURE_NAMES[pName][1] =3D=3D 'text') {=0A=
					return element.innerHTML;=0A=
				} else {=0A=
					return element.getAttribute(FEATURE_NAMES[pName][1]);=0A=
				}=0A=
			}=0A=
		}=0A=
		// Return empty string if the field requested is wrong or does not =
exist.=0A=
		return '';=0A=
	}=0A=
=0A=
	// The feature at pOrder does not exist.  Return null.=0A=
	return null;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getFeatures=0A=
 *  =0A=
 *  Description:=0A=
 *  Returns a string in url delimited format representing=0A=
 *	the content of all features.=0A=
 *=0A=
 *  Each content item is provided in the following format:=0A=
 *  <#>_<name>=3D<content>=0A=
 *=0A=
 *  where=0A=
 *    # is the order number of the feature (starting at 0)=0A=
 *    name is the name of the content (e.g. head, deck, etc)=0A=
 *    content is the value of the content=0A=
 *  =0A=
 *  Parameters:=0A=
 *  none=0A=
 *  =0A=
 *  Return:=0A=
 *  string		All feature content in url delimited format=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getFeatures() {=0A=
	//aFlashCounters.push("getFeatures():" + new Date().valueOf());=0A=
	var featureCount =3D getFeatureCount();=0A=
	var returnStr =3D '';=0A=
	var delim =3D '';=0A=
	=0A=
	for (var i =3D 0; i < featureCount; i++) {=0A=
		for (var name in FEATURE_NAMES) {=0A=
			returnStr +=3D delim + i + '_' + name + '=3D' + =
encodeSpecial(getFeatureContent(i, name));=0A=
			delim =3D '&';=0A=
		}=0A=
	}=0A=
=0A=
	setFlashVariables(FEATURE_VIEWER_MOVIE,	returnStr);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  encodeSpecial=0A=
 *  =0A=
 *  Description:=0A=
 *	Encodes characters that might obscure a string in URL=0A=
 *	delimited format (i.e. name1=3Dvalue1&name2=3Dvalue2).  Uses=0A=
 *  a proprietary encoding format to allow for further=0A=
 *	encoding with escape().=0A=
 *=0A=
 *  Parameters:=0A=
 *  pStr	string		The string to encode=0A=
 *  =0A=
 *  Return:=0A=
 *  string		The encoded string=0A=
 *-------------------------------------------------------*/=0A=
 =0A=
function encodeSpecial(pStr) {=0A=
	//aFlashCounters.push("encodeSpecial():" + new Date().valueOf());=0A=
	var returnStr =3D pStr;=0A=
	returnStr =3D returnStr.split('&').join('zzzampzzz');=0A=
	returnStr =3D returnStr.split('=3D').join('zzzequzzz');=0A=
	returnStr =3D returnStr.split('%').join('zzzperzzz');=0A=
	=0A=
	return returnStr;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  getFlashMovieObject=0A=
 *  =0A=
 *  Description:=0A=
 *	Retrieves a handle to the Flash movie identified by=0A=
 *	pMovieId.=0A=
 *=0A=
 *  Parameters:=0A=
 *  pMovieId	string	The ID of the Flash movie=0A=
 *  =0A=
 *  Return:=0A=
 *  object		Reference to the Flash movie=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function getFlashMovieObject(pMovieId) {=0A=
	//aFlashCounters.push("getFlashMovieObject():" + new Date().valueOf());=0A=
	if (window.document[pMovieId]) {=0A=
		return window.document[pMovieId];=0A=
	}=0A=
	=0A=
	if (navigator.appName.indexOf('Microsoft Internet') =3D=3D -1) {=0A=
		if (document.embeds && document.embeds[pMovieId]) {=0A=
			return document.embeds[pMovieId];=0A=
		}=0A=
	}=0A=
=0A=
	return getObject(pMovieId);=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  setFlashVariables=0A=
 *  =0A=
 *  Description:=0A=
 *	Sends information to a Flash movie in string format.=0A=
 *=0A=
 *	Information should be provided in url format:=0A=
 *		var1=3Dfoo&var2=3Dbar=0A=
 *=0A=
 *  Parameters:=0A=
 *  pMovieId	string	The ID of the Flash movie=0A=
 *	pFlashInfo	string	The information to send to the Flash=0A=
 *						movie.=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function setFlashVariables(pMovieId, pFlashInfo){=0A=
	//aFlashCounters.push("setFlashVariables():" + new Date().valueOf());=0A=
	=0A=
	if (isPCIE || hasFlash8 =3D=3D true) {=0A=
		var movie =3D getFlashMovieObject(pMovieId);=0A=
		movie.SetVariable(IE_VAR, escape(pFlashInfo));=0A=
	} else {=0A=
		// Otherwise, we need to use gateway.swf to handle our javascript to =
Flash communication.=0A=
	=0A=
		var divId =3D 'flash_setvariables_' + pMovieId;=0A=
		var divElement =3D document.getElementById(divId);=0A=
		=0A=
		// Embed gateway.swf if it's not already there.=0A=
		if (!divElement) {=0A=
			divElement =3D createElement('div', {});=0A=
			divElement.id =3D divId;=0A=
			document.body.appendChild(divElement);=0A=
		}=0A=
		=0A=
		divElement.innerHTML =3D '<embed =
src=3D"/flash/feature_viewer/gateway.swf" FlashVars=3D"lc=3D' + pMovieId =
+ '&fq=3D' + escape(pFlashInfo) + '" width=3D"0" height=3D"0" =
type=3D"application/x-shockwave-flash"></embed>';=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Function:  WriteFeatureViewer=0A=
 *  =0A=
 *  Description:=0A=
 *	Writes feature viewer object to page=0A=
 *=0A=
 *  Parameters:=0A=
 *  none=0A=
 *  =0A=
 *  Return:=0A=
 *  none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
function WriteFeatureViewer() {=0A=
	//aFlashCounters.push("WriteFeatureViewer():" + new Date().valueOf());=0A=
	if (hasFeature) {=0A=
		var strOut =3D "";=0A=
=0A=
		strOut =3D strOut + '<object id=3D"sendmovie" =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" =
codebase=3D"http://download.macromedia.com/pub/shockwave/cabs/flash/swfla=
sh.cab#version=3D6,0,79,0" width=3D"576" height=3D"190">';=0A=
		strOut =3D strOut + '<param name=3D"FlashVars" =
value=3D"movieid=3Dsendmovie&live=3D1" />';=0A=
		strOut =3D strOut + '<param name=3D"wmode" value=3D"transparent">'=0A=
		if (hasFlash8) {=0A=
			strOut =3D strOut + '<param name=3D"allowScriptAccess" =
value=3D"sameDomain" />';=0A=
			strOut =3D strOut + '<param name=3D"movie" =
value=3D"/flash/feature_viewer/FeatureBoxV8.swf" />';=0A=
			strOut =3D strOut + '<embed name=3D"sendmovie" =
src=3D"/flash/feature_viewer/FeatureBoxV8.swf" =
FlashVars=3D"movieid=3Dsendmovie&live=3D1" wmode=3D"transparent" =
width=3D"576" height=3D"190" type=3D"application/x-shockwave-flash" =
pluginspace=3D"http://www.macromedia.com/shockwave/download/index.cgi?P1_=
Prod_Version=3DShockwaveFlash" =
allowscriptaccess=3D"sameDomain"></embed>';=0A=
		} else {=0A=
			strOut =3D strOut + '<param name=3D"movie" =
value=3D"/flash/feature_viewer/FeatureBoxV7.swf" />';=0A=
			strOut =3D strOut + '<embed name=3D"sendmovie" =
src=3D"/flash/feature_viewer/FeatureBoxV7.swf" =
FlashVars=3D"movieid=3Dsendmovie&live=3D1" wmode=3D"transparent" =
width=3D"576" height=3D"190" type=3D"application/x-shockwave-flash" =
pluginspace=3D"http://www.macromedia.com/shockwave/download/index.cgi?P1_=
Prod_Version=3DShockwaveFlash" ></embed>';=0A=
		}=0A=
		strOut =3D strOut + '</object>';=0A=
=0A=
		$("FeatureViewer").innerHTML =3D strOut;=0A=
	}=0A=
	return false;=0A=
}=0A=
=0A=
=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Miscellaneous Functions=0A=
 *------------------------------------------------------*/=0A=
=0A=
/* SEARCH */=0A=
function search_onsubmit(){=0A=
	preSearchSubmit();=0A=
	return true;=0A=
}=0A=
=0A=
function submitSearch(frm){=0A=
	preSearchSubmit(frm);=0A=
	frm.submit();=0A=
}=0A=
=0A=
function preSearchSubmit(frm){=0A=
	if(frm.sw && frm.sw.checked=3D=3Dfalse) frm.old_qt.value=3D"";=0A=
}=0A=
=0A=
/* COOKIES */=0A=
function pcw_setCookie(name, value, expires, domain){=0A=
	if(navigator.cookieEnabled){=0A=
		document.cookie =3D =
name+"=3D"+escape(value)+";expires=3D"+expires.toGMTString()+";domain=3D"=
+domain+";path=3D/";=0A=
	}=0A=
}=0A=
=0A=
function pcw_readCookie(name){=0A=
	if(navigator.cookieEnabled&&document.cookie!=3D''){=0A=
		var strAll =3D document.cookie;=0A=
		var i1 =3D strAll.indexOf(name);=0A=
		if(i1!=3D-1){=0A=
			// skip name and '=3D'=0A=
			i1 =3D i1+name.length+1;=0A=
			i2 =3D strAll.indexOf(';', i1);=0A=
			if(i2=3D=3D-1) i2 =3D strAll.length;=0A=
			return unescape(strAll.substring(i1, i2));=0A=
		}=0A=
	}=0A=
	return "";=0A=
}=0A=
=0A=
function pcw_removeCookie(name, domain){=0A=
	if(navigator.cookieEnabled){=0A=
		var d =3D new Date();=0A=
		d.setDate(d.getDate()-30);=0A=
		=
document.cookie=3Dname+"=3D;expires=3D"+d.toGMTString()+";domain=3D"+doma=
in+";path=3D/";=0A=
	}=0A=
}=0A=
=0A=
/* SAVED PAGES */=0A=
=0A=
/*=0A=
	returns an array of saved pages read from cookie=0A=
*/=0A=
function getSavedPages(){=0A=
=0A=
	var rv =3D new Array();=0A=
	cookie =3D pcw_readCookie("savedPages");=0A=
	if(cookie!=3D""){=0A=
		var pages =3D cookie.split("\n");=0A=
		for(var i =3D 0; i < pages.length; i++){=0A=
			var page =3D pages[i].split("\t");=0A=
			rv.push({id:page[0], title: page[1], url: page[2]});=0A=
		}=0A=
	}=0A=
	return rv;=0A=
}=0A=
=0A=
/* DART ADS */=0A=
function pcw_AdInit () {=0A=
	//set global defaults=0A=
	pcw_ad_site =3D "pcw_general";=0A=
	pcw_ad_zone =3D "";=0A=
	pcw_ad_pos =3D "";=0A=
	pcw_ad_sec =3D "";=0A=
	pcw_ad_cats =3D "";=0A=
	pcw_ad_pcat =3D "";=0A=
	pcw_ad_sz =3D "";=0A=
	pcw_ad_tile =3D "";=0A=
	pcw_ad_tags =3D "";=0A=
	pcw_ad_ord =3D "";=0A=
	pcw_ad_custom =3D "";=0A=
	pcw_ad_width =3D "";=0A=
	pcw_ad_height =3D "";=0A=
	ad_debug =3D false;=0A=
=0A=
	pcw_ad_ord =3D pcw_GetOrd(8);=0A=
	=0A=
}=0A=
=0A=
//generates random number of length integers=0A=
function pcw_GetOrd (length) {=0A=
	var ord =3D "";=0A=
	for(var o=3D0;o<length;o++) {=0A=
		ord =3D ord + Math.floor((Math.random()*10));=0A=
	}=0A=
	return ord;=0A=
}=0A=
=0A=
function pcw_RefreshAd (adunit) {=0A=
=0A=
	//refresh ord and url vals=0A=
	pcw_ad_ord =3D pcw_GetOrd(8);=0A=
	pcw_SetAdVals(adunit);=0A=
=0A=
	if (adunit !=3D null) {=0A=
		var url =3D pcw_AdDartUrl("iframe");=0A=
		if (url !=3D "") {=0A=
			try {=0A=
				document.getElementById(adunit).src =3D url;=0A=
			} catch (e) {=0A=
				//do nothing=0A=
			}=0A=
		}=0A=
	}=0A=
	return false;=0A=
=0A=
}=0A=
=0A=
//overrides to be called on the page *after* the server-side options =
have been set=0A=
function pcw_AdOverride () {=0A=
=0A=
	//what are some cookies that I have set=0A=
	//what is my referrer? do something with it=0A=
	=0A=
}=0A=
=0A=
/*=0A=
adunit: specifies named unit (banner|tower|showcase|halfpage|button)=0A=
*/=0A=
=0A=
function pcw_SetAdVals (adunit,tile) {=0A=
	switch (adunit) {=0A=
		case "leader":=0A=
			pcw_ad_width=3D"728";=0A=
			pcw_ad_height=3D"90";=0A=
			pcw_ad_tile=3D"1";=0A=
			//pcw_ad_custom=3D"";=0A=
			break;=0A=
		case "showcase-lg":=0A=
			pcw_ad_width=3D"336";=0A=
			pcw_ad_height=3D"280";=0A=
			pcw_ad_tile=3D"2";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "tower-lg":=0A=
			pcw_ad_width=3D"160";=0A=
			pcw_ad_height=3D"600";=0A=
			pcw_ad_tile=3D"3";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "halfpage":=0A=
			pcw_ad_width=3D"336";=0A=
			pcw_ad_height=3D"850";=0A=
			pcw_ad_tile=3D"4";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "textbox":=0A=
			pcw_ad_width=3D"160";=0A=
			pcw_ad_height=3D"42";=0A=
			pcw_ad_tile=3D"5";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
			//textbox2 =3D textbox + tile 6=0A=
		case "button":=0A=
			pcw_ad_width=3D"160";=0A=
			pcw_ad_height=3D"60";=0A=
			pcw_ad_tile=3D"7";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "directvendor":=0A=
			pcw_ad_width=3D"1";=0A=
			pcw_ad_height=3D"1";=0A=
			pcw_ad_tile=3D"8";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "navbar":=0A=
			pcw_ad_width=3D"186";=0A=
			pcw_ad_height=3D"122";=0A=
			pcw_ad_tile=3D"9";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "button-sm":=0A=
			pcw_ad_width=3D"120";=0A=
			pcw_ad_height=3D"30";=0A=
			pcw_ad_tile=3D"10";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
		case "interstitial":=0A=
			pcw_ad_width=3D"1";=0A=
			pcw_ad_height=3D"1";=0A=
			pcw_ad_tile=3D"16";=0A=
			//pcw_ad_custom=3D""=0A=
			break;=0A=
	}=0A=
	//override with incoming tile value=0A=
	if (tile) {=0A=
		pcw_ad_tile =3D tile;=0A=
	}=0A=
	=0A=
	if (pcw_ad_site =3D=3D "") {=0A=
		pcw_ad_site =3D "pcw_general";=0A=
	}=0A=
=0A=
	pcw_ad_pos=3Dadunit;=0A=
	pcw_ad_sz=3Dpcw_ad_width+"x"+pcw_ad_height;=0A=
}=0A=
=0A=
=0A=
function pcw_AdRender(adtype,adunit,tile) {=0A=
=0A=
	pcw_SetAdVals(adunit,tile);=0A=
	var ad =3D '';=0A=
=0A=
	//build the ad=0A=
	if (ad_debug) {=0A=
		ad =3D ad + '<div =
style=3D"width:'+pcw_ad_width+'px;height:'+pcw_ad_height+'px;background-c=
olor:#606;color:#ff0">';=0A=
		ad =3D ad + pcw_AdDartUrl(adtype);=0A=
		ad =3D ad + '</div>';=0A=
	} else {=0A=
		switch (adtype) {=0A=
			case "script":=0A=
				ad =3D '<scr'+'ipt type=3D\"text/javascript\" ';=0A=
				ad =3D ad + 'src=3D"' + pcw_AdDartUrl("script")+ '">';=0A=
				ad =3D ad + '</scr'+'ipt>';=0A=
				break;=0A=
			case "iframe":=0A=
				ad =3D '<iframe name=3D"'+adunit+'" id=3D"'+adunit+'" src=3D"' + =
pcw_AdDartUrl("iframe") + '" width=3D"' + pcw_ad_width + '" height=3D"' =
+ pcw_ad_height + '" marginheight=3D"0" marginwidth=3D"0" =
scrolling=3D"no" frameborder=3D"0">';=0A=
				ad =3D ad + '<a href=3D"' + pcw_AdDartUrl("click") + '" =
target=3D"_top">';=0A=
				ad =3D ad + '<img width=3D"' + pcw_ad_width + '" height=3D"' + =
pcw_ad_height + '" src=3D"' + pcw_AdDartUrl("image") + '" =
alt=3D"Advertisement" /></a>';=0A=
				ad =3D ad + '</iframe>';=0A=
				break;=0A=
		}=0A=
	}=0A=
=0A=
	return ad;=0A=
=0A=
}=0A=
=0A=
/*=0A=
unit: specifies named unit (banner|tower|showcase|halfpage|button)=0A=
type: specifies type of tag (iframe|js)=0A=
*/=0A=
=0A=
function pcw_AdDartUrl(type) {=0A=
=0A=
	//what kind uf url to build?=0A=
	switch (type) {=0A=
		case "iframe":=0A=
			type=3D"adi";=0A=
			break;=0A=
		case "click":=0A=
			type=3D"jump";=0A=
			break;=0A=
		case "image":=0A=
			type=3D"ad";=0A=
			break;=0A=
		case "script":=0A=
			type=3D"adj";=0A=
			break;=0A=
	}=0A=
=0A=
	//base url=0A=
	url =3D =
'http://ad.doubleclick.net/'+type+'/'+pcw_ad_site+'/'+pcw_ad_zone+";";=0A=
	=0A=
	//custom attributes=0A=
	url +=3D pcw_ad_custom=0A=
=0A=
	//content attributes=0A=
	url +=3D pcw_AdKey("sec",pcw_ad_sec) + pcw_AdCats(pcw_ad_cats) + =
pcw_AdKey("aid",pcw_ad_aid);=0A=
	=0A=
	//size attributes=0A=
	url +=3D pcw_AdKey("pos",pcw_ad_pos) + pcw_AdKey("tile",pcw_ad_tile) + =
pcw_AdKey("sz",pcw_ad_sz);=0A=
=0A=
	//cache breaker	=0A=
	url +=3D pcw_AdKey("ord",pcw_ad_ord);=0A=
	=0A=
	return url;=0A=
=0A=
}=0A=
=0A=
/*=0A=
constructs the key tags in their proper form=0A=
*/=0A=
=0A=
function pcw_AdKey (key, val) {=0A=
	var strOut =3D "";=0A=
	if (ad_debug) {strOut +=3D " "}=0A=
	if (val) {=0A=
		strOut+=3Dkey+"=3D"+val+";";=0A=
	}=0A=
	=0A=
	return strOut;=0A=
}=0A=
=0A=
/*=0A=
splits cat values and generates their key tags=0A=
*/=0A=
=0A=
function pcw_AdCats (sVal) {=0A=
	var strOut =3D "";=0A=
	if (sVal) {=0A=
		var aVal =3D new Array();=0A=
		aVal =3D sVal.split(",");=0A=
		var ctr =3D 0;=0A=
		for (var i=3D0;i<aVal.length;i++) {=0A=
			if (aVal[i] =3D=3D pcw_ad_pcat) { =0A=
				continue;=0A=
			} else {=0A=
				if (ctr < 5) {=0A=
					strOut +=3D pcw_AdKey("c",aVal[i]);=0A=
					ctr++;=0A=
				} else {=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
	if (pcw_ad_pcat !=3D "") {=0A=
		strOut +=3D pcw_AdKey("c",pcw_ad_pcat);=0A=
	}=0A=
	return strOut;=0A=
}=0A=
=0A=
function doNothing () {=0A=
	return false;=0A=
}=0A=
=0A=
=0A=
/* HITBOX */=0A=
function setHbxVals () {=0A=
=0A=
	var hcDim =3D "|" + hbx.mlc + "/" + hbx.pn;=0A=
=0A=
	var sg =3D new Object();=0A=
	sg.dlBrowsers =3D 1; //done=0A=
	sg.dlLoaders =3D 2;=0A=
	sg.newsUsers =3D 3; //done=0A=
	sg.reviewsUsers =3D 4; //done=0A=
	sg.blogUsers =3D 5; //done=0A=
	sg.idgnsUsers =3D 6; //done=0A=
	sg.members =3D 7; //done=0A=
	sg.forumViewers =3D 8; //done=0A=
	sg.forumPosters =3D 9;=0A=
	sg.ddUsers =3D 10; //done=0A=
	sg.bgUsers =3D 11; //done=0A=
	sg.pgUsers =3D 12; //done=0A=
	sg.rssUsers =3D 13; //done=0A=
	sg.icUsers =3D 14; //done=0A=
	sg.nlSubscribers =3D 15; //done=0A=
	sg.magSubscribers =3D 16;=0A=
	sg.pi =3D 17;=0A=
	sg.sem =3D 18; //done=0A=
	=0A=
	var sgs =3D new Array();=0A=
	=0A=
	var nv =3D true;=0A=
	var ref =3D document.referrer;=0A=
	if (ref.indexOf("pcworld") > -1) {nv =3D false;}=0A=
	=0A=
	if (hbx.mlc.indexOf("downloads") > -1 && nv =3D=3D true) =
{sgs.push(sg.dlBrowsers);}=0A=
	if (hbx.mlc.indexOf("news") > -1 && nv =3D=3D true) =
{sgs.push(sg.newsUsers);}=0A=
	if (hbx.mlc.indexOf("review") > -1 && nv =3D=3D true) =
{sgs.push(sg.reviewsUsers);}=0A=
	if (hbx.mlc.indexOf("blog") > -1 && nv =3D=3D true) =
{sgs.push(sg.blogUsers);}=0A=
	if (hbx.mlc.indexOf("idgns") > -1 && nv =3D=3D true) =
{sgs.push(sg.idgnsUsers);}=0A=
	if (hbx.mlc.indexOf("duo") > -1 && nv =3D=3D true) =
{sgs.push(sg.ddUsers);}=0A=
	if (hbx.mlc.indexOf("guide") > -1 && nv =3D=3D true) =
{sgs.push(sg.bgUsers);}=0A=
	if (hbx.mlc.indexOf("/ic/") > -1 && nv =3D=3D true) =
{sgs.push(sg.icUsers);}=0A=
	if (hbx.mlc.indexOf("forum") > -1 && nv =3D=3D true) =
{sgs.push(sg.forumUsers);}=0A=
	if (hbx.mlc.indexOf("prices") > -1 && nv =3D=3D true) =
{sgs.push(sg.pgUsers);}=0A=
	=0A=
	//members=0A=
	if (pcw_readCookie('userEmail') !=3D '') {sgs.push(sg.members);}=0A=
=0A=
	//tk vals=0A=
	var tk =3D getQsVal("tk");=0A=
	if (tk !=3D "") {=0A=
		hbx.hc1 =3D tk+hcDim;=0A=
		if (tk.indexOf("nl_") > -1) {sgs.push(sg.nlSubscribers);}=0A=
		if (tk.indexOf("pcw_") > -1) {sgs.push(sg.sem);}=0A=
		if (tk.indexOf("rss_") > -1) {sgs.push(sg.rssUsers);}=0A=
	}=0A=
	=0A=
	//set appropriate hbx vals=0A=
	hbx.seg =3D sgs.join(",");=0A=
	=0A=
}=0A=
=0A=
function getQsVal (name) {=0A=
	if (window.location.search !=3D "") {=0A=
		var qs =3D window.location.search.substring(1);=0A=
		var pairs =3D qs.split("&");=0A=
		for (var i=3D0;i<pairs.length;i++) {=0A=
			var pair =3D pairs[i].split("=3D");=0A=
			if (pair[0] =3D=3D name) {=0A=
				return pair[1];=0A=
				break;=0A=
			}=0A=
		}=0A=
	}=0A=
	return "";=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Base Classes=0A=
 *------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  DOMDecorator=0A=
 *  =0A=
 *  Description:=0A=
 *	Decorator class to add functionality to DOM objects.=0A=
 *	Not a true decorator as the DOM object must be referenced=0A=
 *	as this.obj.=0A=
 *=0A=
 *	Adds two DOM traversing methods to the object:=0A=
 *	- getChildrenByClassName(pClassName)=0A=
 *	- getDescendantsByClassName(pClassName)=0A=
 *=0A=
 *	ObjectNotFoundException runtime exception is thrown if=0A=
 *	a proper DOM element is not provided to the constructor.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Properties:=0A=
 *	- obj: Reference to DOM element=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor. Sets reference to the DOM element.=0A=
 *	- getChildrenByClassName: Returns all children of the DOM=0A=
 *		element that match a particular class name.=0A=
 *	- getDescendantsByClassName: Returns all descendants of=0A=
 *		the DOM element that match a particular class name.=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if a valid DOM=0A=
 *		object is not provided to the constructor.=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var DOMDecorator =3D Class.create();=0A=
DOMDecorator.prototype =3D {=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Establishes reference to DOM element as=0A=
	 *	this.obj. Throws ObjectNotFoundException=0A=
	 *	if DOM element is not found in page.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pObj		string or object	Reference to DOM element=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function(pObj) {=0A=
		this.obj =3D getObject(pObj);=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  getChildrenByClassName=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Returns all children of the DOM element that match a=0A=
	 *	particular class name.  Uses global function =0A=
	 *	getChildrenByClassName.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pClassName		string	Class name to match children to=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  array	Array of all children that match the class name=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	getChildrenByClassName: function(pClassName) {=0A=
		return getChildrenByClassName(this.obj, pClassName);=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  getDescendantsByClassName=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Returns all descendants of the DOM element that match a=0A=
	 *	particular class name.  Uses global function =0A=
	 *	getDescendantsByClassName.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pClassName		string	Class name to match descendants to=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  array	Array of all descendants that match the class name=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	getDescendantsByClassName: function(pClassName) {=0A=
		return getDescendantsByClassName(this.obj, pClassName);=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  OpacityControl=0A=
 *  =0A=
 *  Description:=0A=
 *	Decorator class that adds a cross-browser method for=0A=
 *	controlling DOM element opacity.=0A=
 *=0A=
 *	Extends DOMDecorator class and uses its constructor for=0A=
 *	initialization.=0A=
 *=0A=
 *	ObjectNotFoundException runtime exception is thrown if=0A=
 *	a proper DOM element is not provided to the constructor.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Properties:=0A=
 *	- obj: Reference to DOM element=0A=
 *=0A=
 *  Methods:=0A=
 *	- setOpacity: Sets the opacity of the DOM element=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if a valid DOM=0A=
 *		object is not provided to the constructor.=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var OpacityControl =3D Class.create();=0A=
OpacityControl.prototype.extend(DOMDecorator.prototype).extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  setOpacity=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Sets the opacity of the DOM element using a variety of=0A=
	 *	browser-specific techniques.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pOpacity	integer	The opacity to set (0 - 100)=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	setOpacity: function(pOpacity) {=0A=
		var objStyle =3D this.obj.style;=0A=
		objStyle.opacity =3D pOpacity/100;=0A=
		objStyle.filter =3D 'alpha(opacity:' + pOpacity + ')';=0A=
		objStyle.MozOpacity =3D pOpacity/100;=0A=
	}=0A=
});=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  Timer=0A=
 *  =0A=
 *  Description:=0A=
 *	Like a metronome, this class establishes a heartbeat=0A=
 *	for other classes to observe.  The Timer class allows=0A=
 *	multiple objects to act synchronously.=0A=
 *=0A=
 *	Classes that wish to observe the Timer class should=0A=
 *	extend the TimeObserver class.=0A=
 *=0A=
 *  This class uses the observer pattern for notifications.=0A=
 *	It also uses the singleton pattern to establish a single=0A=
 *	unique instance of the class.  Objects that wish to=0A=
 *	reference the Timer should use Timer.getInstance() instead=0A=
 *	of "new Timer()".=0A=
 *=0A=
 *	Properties:=0A=
 *	- observers: Array for tracking the objects observing the=0A=
 *		Timer.=0A=
 *	- interval:	The internal interval that establishes the=0A=
 *		Timer's heartbeat.=0A=
 *	- timer: The singleton instance of the Timer class.=0A=
 *=0A=
 *  Methods:=0A=
 *	- initialize: Constructor. Sets the internal interval and=0A=
 *		establishes the class' properties.=0A=
 *	- getInstance: Retrieves the singleton instance of the Timer.=0A=
 *	- stopTimer: Stops the Timer.=0A=
 *	- registerObserver: Registers an object as an observer of the=0A=
 *		Timer.=0A=
 *	- removeObserver: Removes an object from the observers array,=0A=
 *		thereby removing it as an observer of the Timer.=0A=
 *	- notifyObservers: Notifies all observers of the Timer of=0A=
 *		a heartbeat event.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var Timer =3D Class.create();=0A=
Timer.prototype =3D {=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Sets the internal interval in motion and =0A=
	 *	establishes an empty observers array and timer instance.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function() {=0A=
		this.observers =3D new Array();	// Array to tally our observers=0A=
		this.interval =3D setInterval(this.notifyObservers.bind(this), 100);	=
// Start the timer=0A=
		this.timer =3D null;=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  getInstance=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Returns a singleton instance of the Timer.  An instance=0A=
	 *	is created if it does not already exist.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  object	The singleton instance of the Timer class.=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	getInstance: function() {=0A=
		if (!this.timer) {=0A=
			this.timer =3D new Timer();=0A=
		}=0A=
		=0A=
		return this.timer;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  stopTimer=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Stops the Timer by clearing its internal interval.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	stopTimer: function() {=0A=
		clearInterval(this.interval);=0A=
		this.interval =3D null;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  registerObserver=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Registers an object as an observer of the Timer by=0A=
	 *	adding the object to the observers property.  The=0A=
	 *	object must have a unique ID to distinguish it from=0A=
	 *	the other observers.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pObserver	object	The observer to register=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	registerObserver: function(pObserver) {=0A=
		this.observers[pObserver.id] =3D pObserver;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  removeObserver=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Removes an object from the observers property, thereby=0A=
	 *	removing it as an observer of the Timer.  The object=0A=
	 *	must have a unique ID to distinguish it from the other=0A=
	 *	observers.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pObserver	object	The observer to remove=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	removeObserver: function(pObserver) {=0A=
		delete(this.observers[pObserver.id]);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  notifyObservers=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Notifies all observers of a heartbeat event.  Called by=0A=
	 *	the Timer's internal interval.  Notification is established=0A=
	 *	by calling the observer's update method.  Observers should=0A=
	 *	extend the TimeObserver class to ensure that this method is=0A=
	 *	available.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	notifyObservers: function() {=0A=
		for (var id in this.observers) {=0A=
			if (typeof this.observers[id] =3D=3D "object") {=0A=
				this.observers[id].update();=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
/*--------------------------------------------------------=0A=
 *  END Timer class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  TimeObserver=0A=
 *  =0A=
 *  Description:=0A=
 *	Observer class for the Timer class.  All objects that wish=0A=
 *	to observe the Timer class should extend this class.=0A=
 *=0A=
 *	Uses the observer pattern.=0A=
 *=0A=
 *	Properties:=0A=
 *	- id: Each TimeObserver should have its own unique ID=0A=
 *	- counter: Internal counter for tracking the number of=0A=
 *		heartbeats that were received from the Timer.=0A=
 *	- duration: The length of time in number of heartbeats=0A=
 *		that the TimeObserver should observe the Timer.=0A=
 *	- timer: A reference to the Timer object.=0A=
 *=0A=
 *  Methods:=0A=
 *	- initialize: Constructor. Establishes a reference to the=0A=
 *		Timer. Initializes the object properties.=0A=
 *	- registerObserver: Registers the observer with the Timer.=0A=
 *	- removeObserver: Removes the observer from Timer registration.=0A=
 *	- update: Called by the Timer with each heartbeat.=0A=
 *	- updateAction: The action to take with each heartbeat.  This=0A=
 *		should be overriden by each object.=0A=
 *	- finishAction:  The action to take following the last=0A=
 *		heartbeat.  This should be overriden by each object.=0A=
 *	- stop: Stops the object from observing the Timer. Resets=0A=
 *		the counter to 0.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var TimeObserver =3D Class.create();=0A=
TimeObserver.prototype =3D {=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Retrieves an instance of the Timer. Initializes=0A=
	 *	the object properties.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function() {=0A=
		this.id			=3D "";			// Needed to register with Timer. We expect this =
to be overriden.=0A=
		this.counter	=3D 0;=0A=
		this.duration	=3D 10;			// We expect this to be overriden as needed.=0A=
		this.timer		=3D Timer.prototype.getInstance();=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  registerObserver=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Registers the object with the Timer.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	registerObserver: function() {=0A=
		this.timer.registerObserver(this);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  removeObserver=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Removes the object from the Timer.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	removeObserver: function() {=0A=
		this.timer.removeObserver(this);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  update=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Called by the Timer with each heartbeat.  Manages the=0A=
	 *	counter.  Calls updateAction with each heartbeat. Calls=0A=
	 *	finishAction after the last hearbeat.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	update: function() {=0A=
		this.counter++;=0A=
		this.updateAction(this.counter);=0A=
		if (this.counter >=3D this.duration) {=0A=
			this.finishAction();=0A=
			this.stop();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  updateAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  The action to take with each heartbeat. It is expected=0A=
	 *	that each object will override this method.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		The current value of the counter=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	updateAction: function(pCounter) {},			// We expect this to be overriden=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  finishAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  The action to take following the last heartbeat. It is=0A=
	 *	expected that each object will override this method.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	finishAction: function() {},					// We expect this to be overriden=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  stop=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Stops the object from observing the Timer. Removes the=0A=
	 *	object from the Timer's list of observers and resets=0A=
	 *	the counter to 0.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	stop: function() {=0A=
		this.timer.removeObserver(this);=0A=
		this.counter =3D 0;=0A=
	}=0A=
}=0A=
/*--------------------------------------------------------=0A=
 *  END TimeObserver class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Object:  Move=0A=
 *  =0A=
 *  Description:=0A=
 *	Utility object.  Provides methods for movement.=0A=
 *=0A=
 *	Adapted from Robert Penner's easing formulas.=0A=
 *=0A=
 *  Methods:=0A=
 *	- easeOutCubic: Formula for cubic ease out.=0A=
 *	- easeInOutCubic: Formula for cubic ease in and out.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var Move =3D {=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  easeOutCubic=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Formula for cubic ease out (slows down). Returns a position=0A=
	 *  given a particular start position, distance to travel and=0A=
	 *  duration for travel.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pTime		integer	The current time count=0A=
	 *	pStart		integer	The start position=0A=
	 *	pDistance	integer	The total distance to travel=0A=
	 *	pDuration	integer	The total time count to complete=0A=
	 *						movement=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  integer		The current position at the current time count=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	easeOutCubic: function(pTime, pStart, pDistance, pDuration) {=0A=
		return pStart + pDistance*((pTime =3D pTime/pDuration - 1)*pTime*pTime =
+ 1);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  easeInOutCubic=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Formula for cubic ease in and out (speeds up and slows down).=0A=
	 *	Returns a position given a particular start position,=0A=
	 *	distance to travel and duration for travel.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pTime		integer	The current time count=0A=
	 *	pStart		integer	The start position=0A=
	 *	pDistance	integer	The total distance to travel=0A=
	 *	pDuration	integer	The total time count to complete=0A=
	 *						movement=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  integer		The current position at the current time count=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	easeInOutCubic: function(pTime, pStart, pDistance, pDuration) {=0A=
		if ((pTime*=3D2/pDuration) < 1) {=0A=
			return pStart + pDistance/2*(pTime * pTime * pTime);=0A=
		} else {=0A=
			return pStart + pDistance/2*((pTime -=3D 2) * pTime * pTime + 2);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Generic UI Control Classes=0A=
 *------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  Drawer=0A=
 *  =0A=
 *  Description:=0A=
 *	Establishes a scrolling drawer element. The Drawer element=0A=
 *	takes up space when opened and pushes other elements down on=0A=
 *	the page.=0A=
 *=0A=
 *	Requires a div with class drawerContainer containing a div=0A=
 *	with class drawer.=0A=
 *=0A=
 *	Extends DOMDecorator and TimeObserver classes.=0A=
 *=0A=
 *	ObjectNotFoundException runtime exception is thrown if=0A=
 *	a proper DOM element is not provided to the constructor or=0A=
 *	if the Drawer child div is not found.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Properties:=0A=
 *	- obj: Reference to DOM element representing the=0A=
 *		Drawer container=0A=
 *	- id: Unique ID of the Drawer for TimeObserver purposes=0A=
 *	- drawer: Reference to the child Drawer object=0A=
 *	- start: Start position for Drawer movement=0A=
 *	- distance: Distance to travel for Drawer movement=0A=
 *	- duration: Duration for opening or closing Drawer=0A=
 *	- isOpen: True if the Drawer is open=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor. Sets references to the Drawer container=0A=
 *		DOM element and its child Drawer. Initializes the start,=0A=
 *		distance and duration properties for Drawer movement.=0A=
 *	- open:	Opens the Drawer.=0A=
 *	- close: Closes the Drawer.=0A=
 *	- toggle: Toggles the Drawer between opened and closed.=0A=
 *	- updateAction: Overrides TimeObserver's updateAction method.=0A=
 *		Initiates movement for closing or opening the Drawer.=0A=
 *	- move: Calculates the movement of the Drawer using a=0A=
 *		cubic ease out formula.=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if a valid DOM=0A=
 *		object is not provided to the constructor or if the=0A=
 *		child Drawer element is not found.=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var Drawer =3D Class.create();=0A=
Drawer.prototype.extend(DOMDecorator.prototype).extend(TimeObserver.proto=
type).extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Sets references to the Drawer container=0A=
	 *	DOM element and its child Drawer. Initializes the start,=0A=
	 *	distance and duration properties for Drawer movement.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pObj		string or object	Reference to the Drawer=0A=
	 *									container=0A=
	 *	pDuration	integer		Optional duration for Drawer=0A=
	 *							movement. Overrides the default=0A=
	 *							of TimeObserver.=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function(pObj, pDuration) {=0A=
		DOMDecorator.prototype.initialize.apply(this, arguments);=0A=
		TimeObserver.prototype.initialize.apply(this, arguments);=0A=
		=0A=
		this.drawer =3D this.getChildrenByClassName('drawer')[0];=0A=
		if (!this.drawer) {=0A=
			throw new ObjectNotFoundException('drawer in ' + pObj);=0A=
		}=0A=
		this.id =3D this.obj.id;=0A=
		=0A=
		// set times=0A=
		if (pDuration) {=0A=
			this.duration =3D pDuration;=0A=
		}=0A=
=0A=
		// track open/close state=0A=
		this.isOpen =3D false;=0A=
=0A=
		this.obj.style.height =3D '0px';=0A=
		=0A=
		// set default distances=0A=
		this.start =3D 0;												// coord of beginning location=0A=
		this.distance =3D this.drawer.clientHeight;					// total distance =
tweened=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  open=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Opens the Drawer. Uses Timer to coordinate movement.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	open: function() {=0A=
		/* If we're already moving, reset it so we can change direction */=0A=
		this.stop();=0A=
=0A=
		/* Start the movement */=0A=
		this.start =3D 0;												// coord of beginning location=0A=
		this.distance =3D this.drawer.clientHeight;					// total distance =
tweened=0A=
=0A=
		this.registerObserver();									// Subscribe to the timer so we can =
move in sync with the other objects=0A=
		this.isOpen =3D true;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  close=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Closes the Drawer. Uses the Timer to coordinate movement.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	close: function() {=0A=
		/* If we're already moving, reset it so we can change direction */=0A=
		this.stop();=0A=
		=0A=
		var paneDimension =3D this.drawer.clientHeight;=0A=
=0A=
		/* Start the movement */=0A=
		this.start =3D paneDimension;						// coord of beginning location=0A=
		this.distance =3D -paneDimension;					// total distance tweened=0A=
=0A=
		this.registerObserver();		// Subscribe to the timer so we can move in =
sync with the other objects=0A=
		this.isOpen =3D false;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  toggle=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Toggles the Drawer between opened and closed.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	toggle: function() {=0A=
		if (this.isOpen) {=0A=
			this.close();=0A=
		} else {=0A=
			this.open();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  updateAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Overrides TimeObserver's updateAction method.=0A=
	 *	Initiates movement for closing or opening the Drawer.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		The current value of the counter=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	updateAction: function(pCounter) {				// Override the =
TimeObserver.updateAction=0A=
		this.move(pCounter);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  move=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Calculates the movement of the Drawer using a cubic =0A=
	 *	ease out formula.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		The current value of the counter=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	move: function(pCounter) {=0A=
		this.obj.style.height =3D Move.easeOutCubic(pCounter, this.start, =
this.distance, this.duration) + 'px';=0A=
	}=0A=
=0A=
});=0A=
/*--------------------------------------------------------=0A=
 *  END Drawer class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  WindowShade=0A=
 *  =0A=
 *  Description:=0A=
 *	Establishes a scrolling WindowShade element. The=0A=
 *	WindowShade element does not take up space when opened.=0A=
 *	Instead, it displays over other elements on the page.=0A=
 *=0A=
 *	Requires a div with class windowShadeContainer containing a div=0A=
 *	with class windowShade.=0A=
 *=0A=
 *	Extends DOMDecorator and TimeObserver classes.=0A=
 *=0A=
 *	ObjectNotFoundException runtime exception is thrown if=0A=
 *	a proper DOM element is not provided to the constructor or=0A=
 *	if the WindowShade child div is not found.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Properties:=0A=
 *	- obj: Reference to DOM element representing the=0A=
 *		WindowShade container=0A=
 *	- id: Unique ID of the WindowShade for TimeObserver purposes=0A=
 *	- windowShade: Reference to the child WindowShade object=0A=
 *	- start: Start position for WindowShade movement=0A=
 *	- distance: Distance to travel for WindowShade movement=0A=
 *	- duration: Duration for opening or closing WindowShade=0A=
 *	- isOpen: True if the WindowShade is open=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor. Sets references to the WindowShade=0A=
 *		container DOM element and its child WindowShade.=0A=
 *		Initializes the start, distance and duration properties=0A=
 *		for WindowShade movement.=0A=
 *	- open:	Opens the WindowShade.=0A=
 *	- close: Closes the WindowShade.=0A=
 *	- toggle: Toggles the WindowShade between opened and closed.=0A=
 *	- updateAction: Overrides TimeObserver's updateAction method.=0A=
 *		Initiates movement for closing or opening the WindowShade.=0A=
 *	- finishAction: Overrides TimeObserver's finishAction method.=0A=
 *		Hides the WindowShade when closed.=0A=
 *	- move: Calculates the movement of the WindowShade using a=0A=
 *		cubic ease out formula.=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if a valid DOM=0A=
 *		object is not provided to the constructor or if the=0A=
 *		child WindowShade element is not found.=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var WindowShade =3D Class.create();=0A=
WindowShade.prototype.extend(DOMDecorator.prototype).extend(TimeObserver.=
prototype).extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Sets references to the WindowShade container=0A=
	 *	DOM element and its child WindowShade. Initializes the start,=0A=
	 *	distance and duration properties for WindowShade movement.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pObj		string or object	Reference to the WindowShade=0A=
	 *									container.=0A=
	 *	pDuration	integer		Optional duration for WindowShade=0A=
	 *							movement. Overrides the default=0A=
	 *							of TimeObserver.=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function(pObj, pDuration) {=0A=
		DOMDecorator.prototype.initialize.apply(this, arguments);=0A=
		TimeObserver.prototype.initialize.apply(this, arguments);=0A=
		=0A=
		this.windowShade =3D this.getChildrenByClassName('windowShade')[0];=0A=
		if (!this.windowShade) {=0A=
			throw new ObjectNotFoundException('windowShade in ' + pObj);=0A=
		}=0A=
		=0A=
		this.id =3D this.obj.id;=0A=
=0A=
		if (pDuration) {=0A=
			this.duration =3D pDuration;=0A=
		}=0A=
=0A=
		this.isOpen =3D false;=0A=
=0A=
		var windowShadeHeight =3D this.windowShade.clientHeight;=0A=
=0A=
		this.windowShade.style.top =3D -windowShadeHeight + 'px';=0A=
		this.windowShade.style.visibility =3D 'hidden';=0A=
		this.obj.style.height =3D '0px';=0A=
=0A=
		this.start =3D -windowShadeHeight;=0A=
		this.distance =3D windowShadeHeight;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  open=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Opens the WindowShade. Uses Timer to coordinate movement.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	open: function() {=0A=
		/* If we're already moving, reset it so we can change direction */=0A=
		this.stop();=0A=
=0A=
		var windowShadeHeight =3D this.windowShade.clientHeight;=0A=
		this.windowShade.style.top =3D -windowShadeHeight + 'px';=0A=
		this.windowShade.style.visibility =3D 'visible';=0A=
		this.obj.style.height =3D 'auto';=0A=
=0A=
		this.start =3D -windowShadeHeight;=0A=
		this.distance =3D windowShadeHeight;=0A=
		=0A=
		this.registerObserver();=0A=
		this.isOpen =3D true;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  close=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Closes the WindowShade. Uses the Timer to coordinate movement.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	close: function() {=0A=
		/* If we're already moving, reset it so we can change direction */=0A=
		this.stop();=0A=
=0A=
		this.start =3D 0;=0A=
		this.distance =3D -this.windowShade.clientHeight;=0A=
		=0A=
		this.registerObserver();=0A=
		this.isOpen =3D false;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  toggle=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Toggles the WindowShade between opened and closed.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
		=0A=
	toggle: function() {=0A=
		if (this.isOpen) {=0A=
			this.close();=0A=
		} else {=0A=
			this.open();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  updateAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Overrides TimeObserver's updateAction method.=0A=
	 *	Initiates movement for closing or opening the WindowShade.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		The current value of the counter=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	updateAction: function(pCounter) {				// Override the =
TimeObserver.updateAction=0A=
		this.move(pCounter);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  finishAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Overrides TimeObserver's finishAction method.=0A=
	 *	Hides the WindowShade after closing.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	finishAction: function() {=0A=
		if (!this.isOpen) {=0A=
			this.windowShade.style.visibility =3D 'hidden';=0A=
			this.obj.style.height =3D '0px';=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  move=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Calculates the movement of the WindowShade using a cubic =0A=
	 *	ease out formula.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		The current value of the counter=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	move: function(pCounter) {=0A=
		this.windowShade.style.top =3D Move.easeOutCubic(pCounter, this.start, =
this.distance, this.duration) + 'px';=0A=
	}=0A=
	=0A=
});=0A=
/*--------------------------------------------------------=0A=
 *  END WindowShade class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  AlertMessage=0A=
 *  =0A=
 *  Description:=0A=
 *	Provides a message alert mechanism.  Displays text=0A=
 *	in a styled DOM element.=0A=
 *=0A=
 *	Inherits from OpacityControl and TimeObserver classes.=0A=
 *=0A=
 *	ObjectNotFoundException runtime exception is thrown if=0A=
 *	a proper DOM element is not provided to the constructor=0A=
 *	or the message text area is not found within the element=0A=
 *  structure.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Properties:=0A=
 *	- obj: Reference to DOM element representing the=0A=
 *		AlertMessage=0A=
 *	- id: Unique ID of the AlertMessage for TimeObserver purposes=0A=
 *	- textArea: Reference to the DOM element for displaying the=0A=
 *		message=0A=
 *	- start: Start position for the fade effect=0A=
 *	- distance: Distance to travel for the fade effect=0A=
 *	- duration: Duration for the fade effect=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor. Sets references to the AlertMessage=0A=
 *		DOM element and its text area=0A=
 *	- display: Displays the AlertMessage=0A=
 *	- updateAction: Overrides TimeObserver method to execute fade=0A=
 *	- finishAction: Hides AlertMessage at end of fade=0A=
 *	- fade: Executes fade effect=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if a valid DOM=0A=
 *		object is not provided to the constructor or if text=0A=
 *		area for displaying message is not found=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var AlertMessage =3D Class.create();=0A=
AlertMessage.prototype.extend(OpacityControl.prototype).extend(TimeObserv=
er.prototype).extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Calls super constructor of OpacityControl=0A=
	 *	and TimeObserver. Establishes reference to alertText=0A=
	 *	DOM element. Throws ObjectNotFoundException=0A=
	 *	if proper DOM structure is not found in page.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pObj		string or object	Reference to DOM element representing=0A=
	 *						AlertMessage=0A=
	 *	pDuration	integer	The count or duration for the fade=0A=
	 *						effect.=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function(pObj, pDuration) {=0A=
		OpacityControl.prototype.initialize.apply(this, arguments);=0A=
		TimeObserver.prototype.initialize.apply(this, arguments);=0A=
		=0A=
		// Establish unique ID for TimeObserver behavior=0A=
		this.id =3D this.obj.id;=0A=
		=0A=
		// Retrieve the text display area for the message=0A=
		this.textArea =3D this.getDescendantsByClassName('alertText')[0];=0A=
		if (!this.textArea) {=0A=
			throw new ObjectNotFoundException('alertText in ' + pObj);=0A=
		}=0A=
=0A=
		// Make sure the AlertMessage is hidden=0A=
		this.setOpacity(0);=0A=
		this.obj.style.display =3D 'none';=0A=
=0A=
		// We only go to 99.99 opacity because 100 causes an odd "flash" effect=0A=
		this.start =3D 99.99;=0A=
		this.distance =3D -99.99;=0A=
=0A=
		// Set the duration if provided.  Otherwise take the default=0A=
		// established by TimeObserver=0A=
		if (pDuration) {=0A=
			this.duration =3D pDuration;=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  display=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Initiates display of the AlertMessage.  AlertMessage=0A=
	 *	fades from displayed to hidden.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pMsg	string	The message to display in the AlertMessage=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	display: function(pMsg) {=0A=
		/* If we're already fading, reset it so we can redisplay */=0A=
		this.stop();=0A=
=0A=
		// Set the message=0A=
		this.textArea.innerHTML =3D pMsg;=0A=
		=0A=
		// Display the message=0A=
		this.obj.style.display =3D 'block';=0A=
		=0A=
		// Calculate the message position on the page.=0A=
		// Centered vertically=0A=
		this.obj.style.top =3D Math.floor((getWindowHeight() - =
this.obj.clientHeight)/2 + getScrollY()) + 'px';=0A=
=0A=
		// Over the left nav=0A=
		this.obj.style.left =3D '22px';		// bug ID 411 - adjusted left =
position to center over left nav=0A=
		=0A=
		// Start the fade out=0A=
		this.registerObserver();=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  updateAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Overrides updateAction of TimeObserver.  Executes fade.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		Counter for the update=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	updateAction: function(pCounter) {=0A=
		this.fade(pCounter);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  finishAction=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Overrides finishAction of TimeObserver.  Used to perform=0A=
	 *	cleanup activities after the AlertMessage completes its=0A=
	 *	fade.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	finishAction: function() {=0A=
		// Hide the AlertMessage=0A=
		this.obj.style.display =3D 'none';=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  fade=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Fades out the AlertMessage using an easeInOut formula=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pCounter	integer		Counter for the fade steps=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	fade: function(pCounter) {=0A=
		this.setOpacity(Move.easeInOutCubic(pCounter, this.start, =
this.distance, this.duration));=0A=
	}=0A=
});=0A=
/*--------------------------------------------------------=0A=
 *  END AlertMessage class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  ListControl=0A=
 *  =0A=
 *  Description:=0A=
 *	Manages a list of "items".  Manages items both as an=0A=
 *	array and as a physical set of DOM elements appended=0A=
 *	within a container.=0A=
 *=0A=
 *	Inherits from DOMDecorator class.=0A=
 *=0A=
 *	ObjectNotFoundException runtime exception is thrown if=0A=
 *	a proper DOM element is not provided to the constructor.=0A=
 *=0A=
 *	Properties:=0A=
 *	- obj: Reference to DOM element representing the=0A=
 *		ListControl=0A=
 *	- listItems: array for tracking the items=0A=
 *	- count: integer count of the number of items=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor.  Establishes an empty ListControl=0A=
 *	- addItem: Adds an item to the ListControl=0A=
 *	- removeItem: Removes an item by ID=0A=
 *	- removeAll: Removes all items=0A=
 *	- hasItem: Checks to see if an item is already being=0A=
 *		managed by ID=0A=
 *	- getCount: Returns the count of items in the ListControl=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if a valid DOM=0A=
 *		object is not provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var ListControl =3D Class.create();=0A=
ListControl.prototype.extend(DOMDecorator.prototype).extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Calls super constructor of DOMDecorator.=0A=
	 *	Creates an empty list and sets count to 0=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pObj	string or object	Reference to DOM element representing list=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function(pObj) {=0A=
		DOMDecorator.prototype.initialize.apply(this,arguments);=0A=
		this.listItems =3D new Array;=0A=
		this.count =3D 0;=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  addItem=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Adds an item to the ListControl.  Will not add an item=0A=
	 *	if it already exists.  Tracks the item in listItems=0A=
	 *	array and updates the count.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pId			string	Unique ID of the item=0A=
	 *	pNode		obj		Any DOM element to include inside the=0A=
	 *						item=0A=
	 *	pAttributes	hash	A hash of attributes to set for the item=0A=
	 *	pItem		obj		The item.  Can be any object or data structure=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	addItem: function(pId, pNode, pAttributes, pItem) {=0A=
		// Check if we already have the item by ID=0A=
		if (!this.listItems[pId]) {=0A=
			// Add the item and track our count=0A=
			this.listItems[pId] =3D pItem;=0A=
			this.count++;=0A=
=0A=
			// Create the item, set the attributes and append=0A=
			// the node.=0A=
			var newItem =3D createElement('div', pAttributes);=0A=
			newItem.appendChild(pNode);=0A=
		=0A=
			// Add out listItem class=0A=
			newItem.className +=3D ' listItem';=0A=
			=0A=
			// Set the item ID=0A=
			newItem.id =3D pId;=0A=
		=0A=
			// Add the item to our DOM obj=0A=
			this.obj.appendChild(newItem);=0A=
		}=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  removeItem=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Removes an item from the ListControl by ID=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pId			string	Unique ID of the item=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	removeItem: function(pId) {=0A=
		// Get all our items=0A=
		var itemDivs =3D this.getChildrenByClassName('listItem');=0A=
		=0A=
		// Search all of our items until we find what we=0A=
		// want to remove=0A=
		for (var i =3D 0; i < itemDivs.length; i++) {=0A=
			var currItemDiv =3D itemDivs[i];=0A=
=0A=
			if (currItemDiv.id =3D=3D pId) {=0A=
				// Remove from the DOM=0A=
				this.obj.removeChild(currItemDiv);=0A=
				=0A=
				// Remove from the listItems array=0A=
				delete(this.listItems[pId]);=0A=
				=0A=
				// Update our running count=0A=
				this.count--;=0A=
=0A=
				break;=0A=
			}=0A=
		}=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  removeAll=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Removes all items from the ListControl.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	removeAll: function() {=0A=
		// Get all our items=0A=
		var itemDivs =3D this.getChildrenByClassName('listItem');=0A=
=0A=
		for (var i =3D 0; i < itemDivs.length; i++) {=0A=
			var currItemDiv =3D itemDivs[i];=0A=
			=0A=
			// Remove from the DOM=0A=
			this.obj.removeChild(currItemDiv);=0A=
=0A=
			// Remove from the listItems array=0A=
			delete(this.listItems[currItemDiv.id]);=0A=
		}=0A=
		// Update our running count=0A=
		this.count =3D 0;=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  hasItem=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Determines if an item is already in our ListControl by=0A=
	 *	ID=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pId			string	Unique ID of the item=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  boolean		True if the item is already in the ListControl=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	hasItem: function(pId) {=0A=
		return (this.listItems[pId] ? true: false);=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  getCount=0A=
	 *  =0A=
	 *  Description:=0A=
	 *	Getter method for retrieving the count of items=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	getCount: function() {=0A=
		return this.count;=0A=
	}=0A=
});=0A=
/*--------------------------------------------------------=0A=
 *  END ListControl class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	Module Specific Controls =0A=
 *------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	- Review Finder module =0A=
 *------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  ReviewFinder=0A=
 *  =0A=
 *  Description:=0A=
 *  Class for handling business logic for Review Finder=0A=
 *	functionality.  Composes and manages a Drawer and=0A=
 *	anchor element (button).=0A=
 *=0A=
 *	Assumes a specific DOM structure is available on the page:=0A=
 *		- Anchor with id 'reviewFinderBtn'=0A=
 *		- Div with id 'reviewFinderDrawer' and following=0A=
 *			Drawer structure=0A=
 *=0A=
 *	ObjectNotFoundException runtime exceptions are thrown if=0A=
 *	proper DOM structure is not available.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Uses singleton pattern to ensure that there is only one=0A=
 *	ReviewFinder object.  Provides methods as class methods=0A=
 *	operating on singleton object.=0A=
 *=0A=
 *	Properties:=0A=
 *	- button: reference to button link element=0A=
 *	- finderDrawer: reference to Drawer component=0A=
 *	- reviewFinder: singleton instance of ReviewFinder object=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor. Creates handles to components.=0A=
 *	- getInstance: Retrieves singleton instance of ReviewFinder.=0A=
 *	- open: Opens the finderDrawer Drawer.=0A=
 *	- close: Closes finderDrawer Drawer.=0A=
 *	- toggle: Toggles finderDrawer Drawer between open=0A=
 *		and closed.=0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Left uncaught if	document=0A=
 *		structure does not match expectations.=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var ReviewFinder =3D Class.create();=0A=
ReviewFinder.prototype.extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Establishes references to DOM elements=0A=
	 * 	composing ReviewFinder. Creates Drawer. Throws=0A=
	 *	ObjectNotFoundException if proper DOM structure is not=0A=
	 *	found in page. Attempts to find button, but ignores=0A=
	 *	exceptions if button is not found.=0A=
	 *=0A=
	 *  WARNING: This constructor should not be called directly=0A=
	 *		using 'new'.  Use 'ReviewFinder.prototype.getInstance()',=0A=
	 *		instead.  This constructor should be treated as=0A=
	 *		private.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function() {=0A=
		this.finderDrawer =3D new Drawer('reviewFinderDrawer', 1);=0A=
		=0A=
		try {=0A=
			this.button =3D getObject('reviewFinderBtn');=0A=
		} catch (e) {=0A=
			this.button =3D false;=0A=
			// We're catching the ObjectNotFoundException for the button.=0A=
			// We're okay with the button not existing.=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  getInstance=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Retrieves singleton instance of ReviewFinder object.=0A=
	 *  Generates the object if necessary.  This method should=0A=
	 *  be used to get a ReviewFinder object instead of using=0A=
	 *	'new ReviewFinder()'.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  object	Singleton instance of ReviewFinder object=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	getInstance: function() {=0A=
		if (!this.reviewFinder) {=0A=
			this.reviewFinder =3D new ReviewFinder();=0A=
		}=0A=
		=0A=
		return this.reviewFinder;=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  open=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Opens finderDrawer Drawer. Sets opened style for button=0A=
	 *	link.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	open: function() {=0A=
		with (ReviewFinder.prototype.getInstance()) {=0A=
			if (button) {=0A=
				changeClass(button, 'reviewFinderBtnOff', 'reviewFinderBtnOn');=0A=
			}=0A=
			finderDrawer.open();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  close=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Closes finderDrawer Drawer. Sets closed style for button=0A=
	 *	link.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	close: function() {=0A=
		with (ReviewFinder.prototype.getInstance()) {=0A=
			if (button) {=0A=
				changeClass(button, 'reviewFinderBtnOn', 'reviewFinderBtnOff');=0A=
			}=0A=
			finderDrawer.close();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  toggle=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Toggles finderDrawer Drawer between opened and closed.=0A=
	 *	Coordinates opened and closed styles for button link.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	toggle: function() {=0A=
		with (ReviewFinder.prototype.getInstance()) {=0A=
			if (button) {=0A=
				if (finderDrawer.isOpen) {=0A=
					changeClass(button, 'reviewFinderBtnOn', 'reviewFinderBtnOff');=0A=
				} else {=0A=
					changeClass(button, 'reviewFinderBtnOff', 'reviewFinderBtnOn');=0A=
				}=0A=
			}=0A=
			finderDrawer.toggle();=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	- Custom module utils=0A=
 *------------------------------------------------------*/=0A=
var PcwCustomModules =3D new Object();=0A=
PcwCustomModules.slotNumber =3D 0;=0A=
PcwCustomModules.defaultSet =3D =
['news','downloads','revhard','blogs','howto','revsoft'];=0A=
PcwCustomModules.getModuleSet =3D function() {=0A=
	var labelName =3D 'custom.modules';=0A=
	var data =3D null;=0A=
	var labelLen =3D labelName.length;=0A=
	/* read cookie property only once for speed */=0A=
	var cookieData =3D document.cookie;=0A=
	var cLen =3D cookieData.length;=0A=
	var i =3D 0;=0A=
	var cEnd;=0A=
	while (i < cLen) {=0A=
		var j =3D i + labelLen;=0A=
		if (cookieData.substring(i,j) =3D=3D labelName) {=0A=
			cEnd =3D cookieData.indexOf(';',j);=0A=
			if (cEnd =3D=3D -1) {=0A=
				cEnd =3D cookieData.length;=0A=
			}=0A=
			data =3D unescape(cookieData.substring(j+2, cEnd-1));=0A=
		}=0A=
		i++;=0A=
	}=0A=
	if (data) {=0A=
		data =3D data.split(',');=0A=
	}=0A=
	return data;=0A=
}=0A=
=0A=
/*--------------------------------------------------------=0A=
 *	- My Pages module =0A=
 *------------------------------------------------------*/=0A=
=0A=
/* CONSTANTS */=0A=
var TOO_MANY_PAGES =3D 'Your list is full. Please remove a page.';=0A=
var ALREADY_ADDED =3D 'Already added&#8230;';=0A=
var ADDING =3D 'Adding to My Pages...';=0A=
var REMOVE_TITLE =3D 'Remove from My Pages';=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  MyPages=0A=
 *  =0A=
 *  Description:=0A=
 *  Class for handling business logic for My Pages=0A=
 *	functionality.  Composes and manages a WindowShade,=0A=
 *	ListControl, anchor element (button), and AlertMessage.=0A=
 *=0A=
 *	Assumes a specific DOM structure is available on the page:=0A=
 *		- Anchor with id 'myPagesBtn'=0A=
 *		- Div with id 'myPagesAlert' and following=0A=
 *			AlertMessage structure=0A=
 *		- Div with id 'myPagesList' and following=0A=
 *			WindowShade structure=0A=
 *		- Div within 'myPagesList' WindowShade structure and=0A=
 *			with class ''myPagesList'=0A=
 *=0A=
 *	ObjectNotFoundException runtime exceptions are thrown if=0A=
 *	proper DOM structure is not available.=0A=
 *	InvalidObjectRefException is thrown if an invalid object=0A=
 *	reference is provided to the constructor.=0A=
 *=0A=
 *	Uses singleton pattern to ensure that there is only one=0A=
 *	MyPages object.  Provides methods as class methods=0A=
 *	operating on singleton object.=0A=
 *=0A=
 *	Business rules:=0A=
 *	- Enforces a maximum number of pages (10)=0A=
 *  =0A=
 *	Properties:=0A=
 *	- MAX_PAGES: maximum number of pages allowed=0A=
 *	- button: reference to button link element=0A=
 *	- alertMessage: reference to AlertMessage component=0A=
 *	- listWindowShade: reference to WindowShade component=0A=
 *	- pageList: reference to ListControl component=0A=
 *	- myPages: singleton instance of MyPages object=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor.  Creates handles to components.=0A=
 *		Preloads any saved My Pages from server.=0A=
 *	- getInstance: Retrieves singleton instance of MyPages.=0A=
 *	- preloadPages: Preloads any saved My Pages from server.=0A=
 *  - addPage: Adds a page to singleton instance of MyPages=0A=
 *	- removePage: Removes a page to singleton instance of=0A=
 *		MyPages.=0A=
 *	- removeAll: Removes all pages.=0A=
 *	- openList:	Opens listWindowShade WindowShade.=0A=
 *	- closeList: Closes listWindowShade WindowShade.=0A=
 *	- toggleList: Toggles listWindowShade WindowShade between open=0A=
 *		and closed.=0A=
 *	- updateCount: Updates button link element with the=0A=
 *		number of pages saved.  =0A=
 *  =0A=
 *  Exceptions:=0A=
 *	- ObjectNotFoundException: Thrown or left uncaught if=0A=
 *		document structure does not match expectations.=0A=
 *	- InvalidObjectRefException: Left uncaught if an invalid=0A=
 *		object reference is provided to the constructor.=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var MyPages =3D Class.create();=0A=
MyPages.prototype.extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Establishes references to DOM elements=0A=
	 * 	composing MyPages. Creates WindowShade, AlertMessage and=0A=
	 *	ListControl member objects. Preloads any existing=0A=
	 *	saved pages from server. Throws ObjectNotFoundException=0A=
	 *	if proper DOM structure is not found in page.=0A=
	 *=0A=
	 *  WARNING: This constructor should not be called directly=0A=
	 *		using 'new'.  Use 'MyPages.prototype.getInstance()',=0A=
	 *		instead.  This constructor should be treated as=0A=
	 *		private.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function() {=0A=
		this.MAX_PAGES =3D 10;=0A=
	=0A=
		try {=0A=
			this.button =3D getObject('myPagesBtn');=0A=
=0A=
			this.alertMessage =3D new AlertMessage('myPagesAlertMessage', 35);=0A=
			this.listWindowShade =3D new WindowShade('myPagesWindowShade');=0A=
=0A=
			var listObj =3D =
this.listWindowShade.getDescendantsByClassName('myPagesList')[0];=0A=
			if (!listObj) {=0A=
				throw new ObjectNotFoundException('myPagesList');=0A=
			} else {=0A=
				this.pageList =3D new ListControl(listObj);=0A=
			}=0A=
		} catch (e) {=0A=
			throw 'Could not create MyPages object. ' + e.toString();=0A=
		}=0A=
		=0A=
		this.preloadPages();=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  getInstance=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Retrieves singleton instance of MyPages object.=0A=
	 *  Generates the object if necessary.  This method should=0A=
	 *  be used to get a MyPages object instead of using=0A=
	 *	'new MyPages()'.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  object		Singleton instance of MyPages object=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	getInstance: function() {=0A=
		if (!this.myPages) {=0A=
			this.myPages =3D new MyPages();=0A=
		}=0A=
		=0A=
		return this.myPages;=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  preloadPages=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Preloads existing saved pages from the server.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	preloadPages: function() {=0A=
		/*=0A=
		Placeholder method for preloading saved pages from DB.=0A=
		Presumably, this is an AJAX call to the server that retrieves=0A=
		the user's saved pages based on cookied authentication and loads=0A=
		them into pageList using addItem().=0A=
		*/=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  addPage=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Adds a page to the pageList ListControl. Verifies that=0A=
	 *	MAX_PAGES limit has not been reached. Verifies if page=0A=
	 *	has already been saved.  Generates DOM structure to=0A=
	 *	represent page in pageList. Notifies server if page=0A=
	 *	was added.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pId		string	Unique reference to page being added=0A=
	 *	pLabel	string	User-friendly label to identify page=0A=
	 *	pURL	string	The url of the page being saved=0A=
	 *  pSetCookie boolean Pages added by user call this method with this =
parameter set to true=0A=
	 * 			pages added on page load have this method set to false=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  boolean		True if the page is added or already added=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	addPage: function(pId, pLabel, pURL, pSetCookie) {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
		=0A=
			// Check if we've already saved the page=0A=
			if (pageList.hasItem(pId)) {=0A=
				alertMessage.display(ALREADY_ADDED);=0A=
				return true;=0A=
				=0A=
			// Check if we're over our limit on pages=0A=
			} else if (pageList.getCount() >=3D MAX_PAGES) {=0A=
				alertMessage.display(TOO_MANY_PAGES);=0A=
				return false;=0A=
				=0A=
			// Otherwise, add the page.=0A=
			} else {=0A=
				if(pURL.substr(0,1) =3D=3D "/"){=0A=
					pURL =3D "http://www.pcworld.com"+pURL;=0A=
				}=0A=
=0A=
				// Generate DOM structure for the page in pageList=0A=
				// This could be a separate method or a unique class=0A=
				// But we only need to call it here, so far=0A=
				=0A=
				// Create overall div.  Establish rollovers for the listing=0A=
				// Rollovers change the class of the div=0A=
				var newElement =3D createElement('div', {=0A=
					'class': 'myPageOff',=0A=
					'onmouseover': "changeClass(this, 'myPageOff', 'myPageOn');",=0A=
					'onmouseout': "changeClass(this, 'myPageOn', 'myPageOff')"=0A=
				});=0A=
				=0A=
				// Add a link to remove the page from the list=0A=
				// Clicking link calls removePage()=0A=
				var removeLink =3D createElement('a', {=0A=
					'href': "javascript:MyPages.prototype.removePage('" + pId + "')",=0A=
					'class': 'removeBtn',=0A=
					'title': REMOVE_TITLE=0A=
				});=0A=
				newElement.appendChild(removeLink);=0A=
				=0A=
				// Create actual link to page.  Use pLabel to identify the page=0A=
				var pageLink =3D createElement('a', {=0A=
					'href': pURL,=0A=
					'class': 'myPageLink'=0A=
				});=0A=
				pageLink.innerHTML =3D pLabel;=0A=
				newElement.appendChild(pageLink);=0A=
				=0A=
				// We need a clear div to clear out side-by-side display=0A=
				// of remove link and page link=0A=
				var clearDiv =3D createElement('div', {'class': 'clear'});=0A=
				newElement.appendChild(clearDiv);=0A=
=0A=
				// Finally, a divider to visually separate from the next link=0A=
				var divider =3D createElement('div', {'class': 'myPagesDivider'});=0A=
				newElement.appendChild(divider);=0A=
			=0A=
				// Let the user know we're adding=0A=
				// if pSetCookie =3D false then don't display this message=0A=
				// this means that the saved pages list is getting preloaded at =0A=
				// page load from cookie=0A=
				if(pSetCookie){=0A=
					alertMessage.display(ADDING);=0A=
				}=0A=
=0A=
				// Add the page and update the count display=0A=
				pageList.addItem(pId, newElement, {'class': 'myPageItem'}, pURL);=0A=
				updateCount();=0A=
				=0A=
				// AJAX call to save page to DB goes here=0A=
				=0A=
				// set cookie to expire in 60 days=0A=
				var count =3D pageList.getCount();=0A=
				if(pSetCookie){=0A=
					var d =3D new Date();=0A=
					d.setDate(d.getDate()+60);=0A=
					var savedPage =3D pId+"\t"+pLabel+"\t"+pURL;=0A=
					var cookie =3D pcw_readCookie("savedPages");=0A=
					if(cookie!=3D""){=0A=
						cookie=3Dcookie+"\n";=0A=
					}=0A=
					cookie=3Dcookie+savedPage;=0A=
					pcw_setCookie("savedPages", cookie, d, "pcworld.com");=0A=
				}=0A=
				return true;=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  removePage=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Removes a page from pageList ListControl, identified by=0A=
	 *	unique id. Updates button link with proper count of=0A=
	 *	pages.  Notifies server of change.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  pId		string	Unique reference to page being removed=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	removePage: function(pId) {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
			pageList.removeItem(pId);=0A=
			updateCount();=0A=
			=0A=
			// AJAX call to remove page from DB goes here=0A=
			=0A=
			// remove from cookie too=0A=
			var savedPages =3D getSavedPages();=0A=
			// find the page with mathing pId;=0A=
			for(var i =3D 0; i < savedPages.length; i++){=0A=
				if(savedPages[i].id=3D=3DpId){=0A=
					savedPages =3D savedPages.slice(0,i).concat(savedPages.slice(i+1));=0A=
					break;=0A=
				}=0A=
			}=0A=
			=0A=
			// now set the cookie again =0A=
			var cookie=3D"";=0A=
			for(var i =3D 0; i < savedPages.length; i++){=0A=
				=
cookie=3Dcookie+savedPages[i].id+"\t"+savedPages[i].title+"\t"+savedPages=
[i].url+"\n";=0A=
			}=0A=
			cookie =3D cookie.substr(0, cookie.length-1);=0A=
			var d =3D new Date();=0A=
			d.setDate(d.getDate()+60);=0A=
			pcw_setCookie("savedPages", cookie, d, "pcworld.com");=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  removeAll=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Removes all pages from pageList ListControl. Updates=0A=
	 *	button link with proper count of pages. Notifies server=0A=
	 *	of change.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	removeAll: function() {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
			pageList.removeAll();=0A=
			updateCount();=0A=
			=0A=
			// AJAX call to remove all pages from DB goes here=0A=
			=0A=
			// remove pages from cookie=0A=
			pcw_removeCookie("savedPages", "pcworld.com");=0A=
		}=0A=
	},=0A=
	=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  openList=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Opens listWindowShade WindowShade. Sets opened style for button=0A=
	 *	link.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	openList: function() {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
			changeClass(button, 'myPagesBtnOff', 'myPagesBtnOn');=0A=
			listWindowShade.open();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  closeList=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Closes listWindowShade WindowShade. Sets closed style for button=0A=
	 *	link.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	closeList: function() {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
			changeClass(button, 'myPagesBtnOn', 'myPagesBtnOff');=0A=
			listWindowShade.close();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  toggleList=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Toggles listWindowShade WindowShade between opened and closed.=0A=
	 *	Coordinates opened and closed styles for button link.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	toggleList: function() {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
			if (listWindowShade.isOpen) {=0A=
				changeClass(button, 'myPagesBtnOn', 'myPagesBtnOff');=0A=
			} else {=0A=
				changeClass(button, 'myPagesBtnOff', 'myPagesBtnOn');=0A=
			}=0A=
			listWindowShade.toggle();=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  updateCount=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Updates button with a count of the pages saved.  Also=0A=
	 *	sets a proper title for the link element.=0A=
	 *  =0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	updateCount: function() {=0A=
		with (MyPages.prototype.getInstance()) {=0A=
			button.innerHTML =3D 'My Pages (' + pageList.getCount() + ')';=0A=
			button.setAttribute('title', button.innerHTML);=0A=
		}=0A=
	}=0A=
});=0A=
/*--------------------------------------------------------=0A=
 *  END MyPages class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
 /*--------------------------------------------------------=0A=
 *  BEGIN Page preloader class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Class:  Preloader=0A=
 *  =0A=
 *  Description:=0A=
 *  Class for preloading page assets.  Currently supports=0A=
 *  preloading of images only.=0A=
 *=0A=
 *	Properties:=0A=
 *	- images: array of images to preload.=0A=
 *=0A=
 *  Methods:=0A=
 *	- intialize: Constructor.  Preloads any image sources=0A=
 *      passed in as an array of strings.=0A=
 *	- preload: Preloads an image source.=0A=
 *	- onloadHandler: Event handler for image onload events  =0A=
 *	- onerrorHandler: Event handler for image onerror events  =0A=
 *	- onabortHandler: Event handler for image onabort events  =0A=
 *  =0A=
 *  Exceptions:=0A=
 *	none=0A=
 *-------------------------------------------------------*/=0A=
=0A=
var Preloader =3D Class.create();=0A=
Preloader.prototype.extend({=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  initialize=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Constructor. Preloads an array of image sources.=0A=
	 *  Establishes images array for tracking preloaded images.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pImgArray	Array	An array string of image sources.=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
=0A=
	initialize: function(pImgArray) {=0A=
		this.images =3D new Array;=0A=
		for (var i =3D 0; i < pImgArray.length; i++) {=0A=
			this.preload(pImgArray[i]);=0A=
		}=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  preload=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Preloads an image.  Adds the preloaded image to the =0A=
	 *  images member array.  Assigns event handlers for=0A=
	 *  onerror, onload, and onabort.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  pImg	String	String indicating the source URI for=0A=
	 *					the image to preload.=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	preload: function(pImg) {=0A=
		var img =3D new Image;=0A=
		img.onload =3D this.onloadHandler;=0A=
		img.onerror =3D this.onerrorHandler;=0A=
		img.onabort =3D this.onabortHandler;=0A=
		=0A=
		img.src =3D pImg;=0A=
		this.images.push(img);=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  onloadHandler=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Placeholder event handler for image onload event.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	onloadHandler: function() {=0A=
		// alert(this.src + ' loaded!');=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  onerrorHandler=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Placeholder event handler for image onerror event.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	onerrorHandler: function() {=0A=
		// alert(this.src + ' failed in error.');=0A=
	},=0A=
=0A=
	/*--------------------------------------------------------=0A=
	 *  Method:  onabortHandler=0A=
	 *  =0A=
	 *  Description:=0A=
	 *  Placeholder event handler for image onabort event.=0A=
	 *=0A=
	 *  Parameters:=0A=
	 *  none=0A=
	 *  =0A=
	 *  Return:=0A=
	 *  none=0A=
	 *-------------------------------------------------------*/=0A=
	=0A=
	onabortHandler: function() {=0A=
		// alert(this.src + ' aborted.');=0A=
	}=0A=
});=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  END Page preloader class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  Begin FeatureViewer class=0A=
 *-------------------------------------------------------*/=0A=
=0A=
 //alert("Note: the feature viewer is in mid-development, so if it looks =
weird it's because i'm in the middle of something");=0A=
 =0A=
/*--------------------------------------------------------=0A=
 *  BEGIN FeatureViewer class=0A=
 *-------------------------------------------------------*/=0A=
 =0A=
var FeatureViewer =3D Class.create();=0A=
FeatureViewer.prototype.extend({=0A=
=0A=
	initialize: function() {=0A=
=0A=
		//get and cache dom references=0A=
		this.containerNode =3D document.getElementById("FVContainer");=0A=
		this.contentNode =3D document.getElementById("FVContent");=0A=
		this.navNode =3D document.getElementById("FVNav");=0A=
		this.readBtn =3D document.getElementById("FVReadBtn");=0A=
		this.arrNavs =3D this.navNode.getElementsByTagName("a");=0A=
		=0A=
		//build shadow node=0A=
		this.shadowNode =3D this.contentNode.cloneNode(1);=0A=
		this.shadowNode.id =3D "FVContentShadow";=0A=
		this.containerNode.appendChild(this.shadowNode);=0A=
=0A=
		this.arrContent =3D this.contentNode.childNodes;=0A=
		this.arrContentShadow =3D this.shadowNode.childNodes;=0A=
=0A=
		//set input arrays=0A=
		this.arrImages =3D new Array();=0A=
		this.arrLinks =3D new Array();=0A=
		=0A=
		//cache these values so we don't have to calculate later=0A=
		this.contentLength =3D 0;=0A=
		this.selectedItem =3D 0;=0A=
=0A=
		//set timer durations		=0A=
		this.rotateDuration =3D 4000;=0A=
		this.idleDuration =3D 5000;=0A=
		this.navCloseDuration =3D 10000;=0A=
		=0A=
	},=0A=
	=0A=
	start: function() {=0A=
=0A=
		this.contentLength =3D this.arrLinks.length;=0A=
=0A=
		//preload images=0A=
		for (var i=3D0;i<this.contentLength;i++) {=0A=
			this.preload(this.arrImages[i]);=0A=
		}=0A=
		=0A=
		this.swapItem(1);=0A=
		this.startIdle();=0A=
=0A=
	},=0A=
	=0A=
	swapItem: function(item) {=0A=
	=0A=
	 	if (!item) {=0A=
	 		//this is an automated swap=0A=
	 		if (this.selectedItem =3D=3D this.contentLength) {=0A=
	 			item =3D 1;=0A=
	 		} else {=0A=
	 			item =3D this.selectedItem+1;=0A=
	 		}=0A=
	 	} else {=0A=
	 		this.stopAllTimers();=0A=
	 	}=0A=
	 	=0A=
	 	this.selectedItem =3D item;=0A=
	 	var index =3D item-1;=0A=
=0A=
	 	=0A=
	 	this.renderContent(index);=0A=
	 	this.highlightNav(index);=0A=
	 	=0A=
	},=0A=
	=0A=
	stopAllTimers: function() {=0A=
		this.stopDelayedNavClose();=0A=
		this.stopIdle();=0A=
		this.stopRotation();=0A=
	},=0A=
	=0A=
	startIdle: function() {=0A=
		this.stopDelayedNavClose();=0A=
		this.stopIdle();=0A=
		this.stopRotation();=0A=
		this.idleInterval =3D =
setInterval("fv.startRotation()",this.idleDuration);=0A=
	},=0A=
	=0A=
	stopIdle: function() {=0A=
		clearInterval(this.idleInterval);=0A=
	},=0A=
	=0A=
	startRotation: function() {=0A=
		this.stopIdle();=0A=
		this.startDelayedNavClose();=0A=
		this.rotateInterval =3D =
setInterval("fv.swapItem()",this.rotateDuration);=0A=
	},=0A=
	=0A=
	stopRotation: function() {=0A=
		clearInterval(this.rotateInterval);=0A=
	},=0A=
	=0A=
	startDelayedNavClose: function () {=0A=
		this.stopDelayedNavClose();=0A=
		this.navCloseInterval =3D =
setInterval("fv.closeNav()",this.navCloseDuration);=0A=
	},=0A=
	=0A=
	stopDelayedNavClose: function() {=0A=
		clearInterval(this.navCloseInterval);=0A=
	},=0A=
=0A=
	openNav: function() {=0A=
		fv.navNode.style.width =3D "188px";=0A=
=0A=
		//clear existing event if it exists=0A=
		if ( fv.navNode.detachEvent ) {=0A=
			fv.navNode.detachEvent( "onmouseover", fv.openNav );=0A=
		} else {=0A=
			fv.navNode.removeEventListener( "mouseover", fv.openNav, false );=0A=
		}=0A=
=0A=
		//set an event to close nav onmouseout=0A=
		if ( fv.navNode.attachEvent ) {=0A=
			fv.navNode.attachEvent( "onmouseout", fv.closeNav );=0A=
		} else {=0A=
			fv.navNode.addEventListener( "mouseout", fv.closeNav, false );=0A=
		}=0A=
=0A=
		//addEvent(fooNode,"mouseout",fv.closeNav);=0A=
		//fv.startDelayedNavClose();=0A=
	},=0A=
=0A=
	closeNav: function() {=0A=
=0A=
		fv.stopDelayedNavClose();=0A=
		fv.navNode.style.width =3D "33px";=0A=
=0A=
		//clear existing event=0A=
		if ( fv.navNode.detachEvent ) {=0A=
			fv.navNode.detachEvent( "onmouseout", fv.closeNav );=0A=
		} else {=0A=
			fv.navNode.removeEventListener( "mouseout", fv.closeNav, false );=0A=
		}=0A=
=0A=
		//set an event to open nav onmouseover=0A=
		if ( fv.navNode.attachEvent ) {=0A=
			fv.navNode.attachEvent( "onmouseover", fv.openNav );=0A=
		} else {=0A=
			fv.navNode.addEventListener( "mouseover", fv.openNav, false );=0A=
		}=0A=
=0A=
		//this.resizeNav(160,18,10);=0A=
	},=0A=
	=0A=
	resizeNav: function(start,end,interval) {=0A=
		this.navNode.style.width =3D start + "px";=0A=
		var newStart =3D start - 20;=0A=
		if (newStart > end) {=0A=
			setTimeout("fv.resizeNav("+newStart+","+end+")",interval);=0A=
		}=0A=
	},=0A=
	=0A=
	contentLink: function() {=0A=
		document.location.href =3D fv.arrLinks[fv.selectedItem-1];=0A=
	},=0A=
=0A=
	renderContent: function(index) {=0A=
		=0A=
		//clear content=0A=
	 	for (var i=3D0;i<this.contentLength;i++) {=0A=
	 		this.arrContent[i].style.display =3D "none";=0A=
	 		this.arrContentShadow[i].style.display =3D "none";=0A=
	 	}=0A=
=0A=
		//show content=0A=
	 	this.arrContent[index].style.display =3D "block";=0A=
	 	this.arrContentShadow[index].style.display =3D "block";=0A=
	 	this.containerNode.style.backgroundImage =3D =
"url("+this.arrImages[index]+")";=0A=
=0A=
	 	//to be safe, remove old link event=0A=
		if ( fv.contentNode.detachEvent ) {=0A=
			fv.contentNode.detachEvent( "onclick", fv.contentLink );=0A=
		} else {=0A=
			fv.contentNode.removeEventListener( "click", fv.contentLink, false );=0A=
		}=0A=
=0A=
	 	//add content hotspot=0A=
		if ( fv.contentNode.attachEvent ) {=0A=
			fv.contentNode.attachEvent( "onclick", fv.contentLink );=0A=
		} else {=0A=
			fv.contentNode.addEventListener( "click", fv.contentLink, false );=0A=
		}=0A=
=0A=
	 	this.readBtn.setAttribute("href",this.arrLinks[index]);=0A=
=0A=
	},=0A=
	=0A=
	highlightNav: function(index) {=0A=
	 	for (var i=3D0;i<this.arrContent.length;i++) {=0A=
	 		this.arrNavs[i].className =3D "";=0A=
	 	}=0A=
	 	this.arrNavs[index].className =3D "FVNavOn";=0A=
	},=0A=
	=0A=
	preload: function(url) {=0A=
		var img =3D new Image;=0A=
		img.src =3D url;=0A=
		//this.arrImages.push(url);=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*--------------------------------------------------------=0A=
 *  END FeatureViewer class=0A=
 *-------------------------------------------------------*/=0A=
=0A=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s.pcworld.com/script/flashobject.js

/**=0A=
 * FlashObject v1.2.3: Flash detection and embed - =
http://blog.deconcept.com/flashobject/=0A=
 * Modified by PC World=0A=
 *=0A=
 * FlashObject is (c) 2005 Geoff Stearns and is released under the MIT =
License:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 */=0A=
if(typeof com =3D=3D "undefined") var com =3D new Object();=0A=
if(typeof com.deconcept =3D=3D "undefined") com.deconcept =3D new =
Object();=0A=
if(typeof com.deconcept.util =3D=3D "undefined") com.deconcept.util =3D =
new Object();=0A=
if(typeof com.deconcept.FlashObjectUtil =3D=3D "undefined") =
com.deconcept.FlashObjectUtil =3D new Object();=0A=
com.deconcept.FlashObject =3D function(swf, id, w, h, ver, c, =
useExpressInstall, quality, redirectUrl, detectKey){=0A=
   this.DETECT_KEY =3D detectKey ? detectKey : 'detectflash';=0A=
   this.skipDetect =3D =
com.deconcept.util.getRequestParameter(this.DETECT_KEY);=0A=
   this.params =3D new Object();=0A=
   this.variables =3D new Object();=0A=
   this.attributes =3D new Array();=0A=
=0A=
   if(swf) this.setAttribute('swf', swf);=0A=
   if(id) this.setAttribute('id', id);=0A=
   if(w) this.setAttribute('width', w);=0A=
   if(h) this.setAttribute('height', h);=0A=
   if(ver) this.setAttribute('version', new =
com.deconcept.PlayerVersion(ver.toString().split(".")));=0A=
   if(c) this.addParam('bgcolor', c);=0A=
   var q =3D quality ? quality : 'high';=0A=
   this.addParam('quality', q);=0A=
   this.setAttribute('redirectUrl', '');=0A=
   if(redirectUrl) this.setAttribute('redirectUrl', redirectUrl);=0A=
   if(useExpressInstall) {=0A=
   // check to see if we need to do an express install=0A=
   var expressInstallReqVer =3D new =
com.deconcept.PlayerVersion([6,0,65]);=0A=
   var installedVer =3D com.deconcept.FlashObjectUtil.getPlayerVersion();=0A=
      if (installedVer.versionIsValid(expressInstallReqVer) && =
!installedVer.versionIsValid(this.getAttribute('version'))) {=0A=
         this.setAttribute('doExpressInstall', true);=0A=
      }=0A=
   } else {=0A=
      this.setAttribute('doExpressInstall', false);=0A=
   }=0A=
}=0A=
com.deconcept.FlashObject.prototype.setAttribute =3D function(name, =
value){=0A=
	this.attributes[name] =3D value;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getAttribute =3D function(name){=0A=
	return this.attributes[name];=0A=
}=0A=
com.deconcept.FlashObject.prototype.getAttributes =3D function(){=0A=
	return this.attributes;=0A=
}=0A=
com.deconcept.FlashObject.prototype.addParam =3D function(name, value){=0A=
	this.params[name] =3D value;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getParams =3D function(){=0A=
	return this.params;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getParam =3D function(name){=0A=
	return this.params[name];=0A=
}=0A=
com.deconcept.FlashObject.prototype.addVariable =3D function(name, =
value){=0A=
	this.variables[name] =3D value;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getVariable =3D function(name){=0A=
	return this.variables[name];=0A=
}=0A=
com.deconcept.FlashObject.prototype.getVariables =3D function(){=0A=
	return this.variables;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getParamTags =3D function(){=0A=
   var paramTags =3D ""; var key; var params =3D this.getParams();=0A=
   for(key in params) {=0A=
        paramTags +=3D '<param name=3D"' + key + '" value=3D"' + =
params[key] + '" />';=0A=
    }=0A=
   return paramTags;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getVariablePairs =3D function(){=0A=
	var variablePairs =3D new Array();=0A=
	var key;=0A=
	var variables =3D this.getVariables();=0A=
	for(key in variables){=0A=
		variablePairs.push(key +"=3D"+ variables[key]);=0A=
	}=0A=
	return variablePairs;=0A=
}=0A=
com.deconcept.FlashObject.prototype.getHTML =3D function() {=0A=
    var flashHTML =3D "";=0A=
    if (navigator.plugins && navigator.mimeTypes && =
navigator.mimeTypes.length) { // netscape plugin architecture=0A=
        if (this.getAttribute("doExpressInstall")) { =
this.addVariable("MMplayerType", "PlugIn"); }=0A=
        flashHTML +=3D '<embed type=3D"application/x-shockwave-flash" =
wmode=3D"transparent" src=3D"'+ this.getAttribute('swf') +'" width=3D"'+ =
this.getAttribute('width') +'" height=3D"'+ this.getAttribute('height') =
+'" id=3D"'+ this.getAttribute('id') + '" name=3D"'+ =
this.getAttribute('id') +'"';=0A=
		var params =3D this.getParams();=0A=
        for(var key in params){ flashHTML +=3D ' '+ key +'=3D"'+ =
params[key] +'"'; }=0A=
		pairs =3D this.getVariablePairs().join("&");=0A=
        if (pairs.length > 0){ flashHTML +=3D ' flashvars=3D"'+ pairs =
+'"'; }=0A=
        flashHTML +=3D '></embed>';=0A=
    } else { // PC IE=0A=
        if (this.getAttribute("doExpressInstall")) { =
this.addVariable("MMplayerType", "ActiveX"); }=0A=
        flashHTML +=3D '<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width=3D"'+ =
this.getAttribute('width') +'" height=3D"'+ this.getAttribute('height') =
+'" id=3D"'+ this.getAttribute('id') +'">';=0A=
        flashHTML +=3D '<param name=3D"movie" value=3D"' + =
this.getAttribute('swf') + '" />';=0A=
        flashHTML +=3D '<param name=3D"wmode" value=3D"transparent" />';=0A=
		var tags =3D this.getParamTags();=0A=
        if(tags.length > 0){ flashHTML +=3D tags; }=0A=
		var pairs =3D this.getVariablePairs().join("&");=0A=
        if(pairs.length > 0){ flashHTML +=3D '<param name=3D"flashvars" =
value=3D"'+ pairs +'" />'; }=0A=
        flashHTML +=3D '</object>';=0A=
    }=0A=
    return flashHTML;=0A=
}=0A=
com.deconcept.FlashObject.prototype.write =3D function(elementId){=0A=
	if(this.skipDetect || this.getAttribute('doExpressInstall') || =
com.deconcept.FlashObjectUtil.getPlayerVersion().versionIsValid(this.getA=
ttribute('version'))){=0A=
		if(document.getElementById){=0A=
		   if (this.getAttribute('doExpressInstall')) {=0A=
		      this.addVariable("MMredirectURL", escape(window.location));=0A=
		      document.title =3D document.title.slice(0, 47) + " - Flash =
Player Installation";=0A=
		      this.addVariable("MMdoctitle", document.title);=0A=
		   }=0A=
			document.write('<div>'+this.getHTML()+'</div>');=0A=
		}=0A=
	}else{=0A=
		if(this.getAttribute('redirectUrl') !=3D "") {=0A=
			document.location.replace(this.getAttribute('redirectUrl'));=0A=
		}=0A=
	}=0A=
}=0A=
/* ---- detection functions ---- */=0A=
com.deconcept.FlashObjectUtil.getPlayerVersion =3D function(){=0A=
   var PlayerVersion =3D new com.deconcept.PlayerVersion(0,0,0);=0A=
	if(navigator.plugins && navigator.mimeTypes.length){=0A=
		var x =3D navigator.plugins["Shockwave Flash"];=0A=
		if(x && x.description) {=0A=
			PlayerVersion =3D new =
com.deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, =
"").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));=0A=
		}=0A=
	}else if (window.ActiveXObject){=0A=
	   try {=0A=
   	   var axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash");=0A=
   		PlayerVersion =3D new =
com.deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));=0A=
	   } catch (e) {}=0A=
	}=0A=
	return PlayerVersion;=0A=
}=0A=
com.deconcept.PlayerVersion =3D function(arrVersion){=0A=
	this.major =3D parseInt(arrVersion[0]) || 0;=0A=
	this.minor =3D parseInt(arrVersion[1]) || 0;=0A=
	this.rev =3D parseInt(arrVersion[2]) || 0;=0A=
}=0A=
com.deconcept.PlayerVersion.prototype.versionIsValid =3D function(fv){=0A=
	if(this.major < fv.major) return false;=0A=
	if(this.major > fv.major) return true;=0A=
	if(this.minor < fv.minor) return false;=0A=
	if(this.minor > fv.minor) return true;=0A=
	if(this.rev < fv.rev) return false;=0A=
	return true;=0A=
}=0A=
/* ---- get value of query string param ---- */=0A=
com.deconcept.util.getRequestParameter =3D function(param){=0A=
	var q =3D document.location.search || document.location.href.hash;=0A=
	if(q){=0A=
		var startIndex =3D q.indexOf(param +"=3D");=0A=
		var endIndex =3D (q.indexOf("&", startIndex) > -1) ? q.indexOf("&", =
startIndex) : q.length;=0A=
		if (q.length > 1 && startIndex > -1) {=0A=
			return q.substring(q.indexOf("=3D", startIndex)+1, endIndex);=0A=
		}=0A=
	}=0A=
	return "";=0A=
}=0A=
=0A=
/* add Array.push if needed (ie5) */=0A=
if (Array.prototype.push =3D=3D null) { Array.prototype.push =3D =
function(item) { this[this.length] =3D item; return this.length; }}=0A=
=0A=
/* add some aliases for ease of use / backwards compatibility */=0A=
var getQueryParamValue =3D com.deconcept.util.getRequestParameter;=0A=
var FlashObject =3D com.deconcept.FlashObject;=0A=
=0A=
/* fix for video streaming bug */=0A=
com.deconcept.FlashObjectUtil.cleanupSWFs =3D function() {=0A=
  var objects =3D document.getElementsByTagName("OBJECT");=0A=
  for (var i=3D0; i < objects.length; i++) {=0A=
    for (var x in objects[i]) {=0A=
      if (typeof objects[i][x] =3D=3D 'function') {=0A=
        objects[i][x] =3D null;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
if (typeof window.onunload =3D=3D 'function') {=0A=
  var oldunload =3D window.onunload;=0A=
  window.onunload =3D function() {=0A=
    com.deconcept.FlashObjectUtil.cleanupSWFs();=0A=
    oldunload();=0A=
  }=0A=
} else {=0A=
  window.onunload =3D com.deconcept.FlashObjectUtil.cleanupSWFs;=0A=
}
------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s.pcworld.com/script/dhtmlpopup_adfloat.js

var dhtmlpopup_popupsIncluded;
/*
afb 7/8/2005
dhtmlpopup replaces exitPopUp()
*/
function dhtmlPopUp(){
	dhtmlpopup_ns=3D(document.layers);
	dhtmlpopup_ie=3D(document.all);
	dhtmlpopup_w3=3D(document.getElementById && !dhtmlpopup_ie);
	dhtmlpopup_popupsIncluded =3D true;
	dhtmlpopup_timerid =3D 0;

	if(navigator.cookieEnabled){ // not on cookieless browsers
		var cookiename =3D "dhtmlpopup=3D";
		var cookieval=3D"";
		// check for cookie,=20
		var strCookie =3D document.cookie;
		// if cookie exists , get val
		var i =3D strCookie.indexOf(cookiename);
	=09
		if(i=3D=3D-1){
			// if it doesn't exist set val=3D1, no expire value exit func
			strCookie=3D"dhtmlpopup=3D1;path=3D/";
			document.cookie=3DstrCookie;
			return;
		} else {
			// check for nodhtmlpopup cookie
			if(strCookie.indexOf("nodhtmlpopup")!=3D-1){
		=09
				return;
			}
		}
		// check document.referrer, if pcworld.com  then it is second page =
view
		if(document.referrer.indexOf("pcworld.com")!=3D-1){
			var d =3D new Date();
			d.setDate(d.getDate()+7); //expire in 7 days
			strCookie=3D"nodhtmlpopup=3D1;expires=3D"+d.toGMTString();
			strCookie +=3D "; domain=3D.pcworld.com; path=3D/";
			document.cookie=3DstrCookie;
			showDHTMLPopUpAd();
		}=09
	}
}

function initDHTMLPopUpAd(){
	if(!dhtmlpopup_ns && !dhtmlpopup_ie && !dhtmlpopup_w3) return;
	var dart =3D '<img =
src=3D"http://ad.doubleclick.net/ad/idg.us.pcw.wts/wtssoMF;sz=3D1x1" =
width=3D"1" height=3D"1" />';
	if(dhtmlpopup_ie) {
		eval('document.all.dart.innerHTML =3D dart');
	    adDiv=3Deval('document.all.sponsorAdDiv.style');
	    adCloseDiv=3Deval('document.all.adCloseBoxDiv.style');
		adBottomCloseDiv=3Deval('document.all.adCloseBottomDiv.style');
	}
	else if(dhtmlpopup_ns)	{
		eval('document.layers["dart"].innerHTML =3D dart');
	    adDiv=3Deval('document.layers["sponsorAdDiv"]');
	    adCloseDiv=3Deval('document.layers["adCloseBoxDiv"]');
		adBottomCloseDiv=3Deval('document.layers["adCloseBottomDiv"]');
    }
	else if(dhtmlpopup_w3)	{
		eval ('document.getElementById("dart").innerHTML =3D dart');
	    adDiv=3Deval('document.getElementById("sponsorAdDiv").style');
	    =
adCloseDiv=3Deval('document.getElementById("adCloseBoxDiv").style');
		=
adBottomCloseDiv=3Deval('document.getElementById("adCloseBottomDiv").styl=
e');
    }
	if (dhtmlpopup_ie||dhtmlpopup_w3){
		adDiv.visibility=3D"visible";
	} else {
		adDiv.visibility =3D"show";
	}
}

function showDHTMLPopUpAd(){
	initDHTMLPopUpAd();
	=
adDiv.left=3D"260px";adDiv.top=3D"190px";adDiv.zIndex=3DNumber.MAX_VALUE;=

	dhtmlpopup_timerid=3DsetTimeout("closeDHTMLPopUpAd()",20000);
}

function closeDHTMLPopUpAd(){

	if (dhtmlpopup_ie||dhtmlpopup_w3)
		adDiv.display=3D"none";
	else
		adDiv.visibility =3D"hide";
}

function validateDHTMLPopUpForm(frm){
	with(frm){
		if(cds_name.value=3D=3D""){
			alert("Please Enter Name");
			cds_name.focus();
			return false;
		}
	=09
		if(cds_address_1.value=3D=3D""){
			alert("Please Enter Address");
			cds_address_1.focus();
			return false;
		}
	=09
		if(cds_city.value=3D=3D""){
			alert("Please Enter City");
			cds_city.focus();
			return false;
		}
	=09
		if(cds_state.value=3D=3D""){
			alert("Please Enter State");
			cds_state.focus();
			return false;
		}
		if(cds_zip.value=3D=3D""){
			alert("Please Enter Zip Code");
			cds_zip.focus();
			return false;
		}
	=09
		return true;
	}
}

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s.pcworld.com/script/dhtmlpopup.js

document.write('\
<div id=3D"sponsorAdDiv" onclick=3D"clearTimeout(dhtmlpopup_timerid); =
return true;" onkeypress=3D"clearTimeout(dhtmlpopup_timerid); return =
true;" style=3D"visibility:hidden; position: absolute; z-index:999; =
left: 0px; top: 0px; width: 460px; height: 350px;" >\
<div id=3D"dart"></div>\
<table width=3D"355" border=3D"0" bgcolor=3D"#000000" cellspacing=3D"0" =
cellpadding=3D"2">\
	  <tr>\
		<td>\
\
			<table width=3D"100%" border=3D"0" bgcolor=3D"#FFFFFF" =
cellspacing=3D"0" cellpadding=3D"0">\
			<tr bgcolor=3D"#003399"><td align=3D"left" style=3D"padding:4px" =
><span style=3D"font: 16px, Arial, Verdana, Helvetica;font-weight: bold; =
color: #FFFFFF;">SPECIAL OFFER!</span></td>\
            <td align=3D"right">\
              <div align=3D"right" id=3D"adCloseBoxDiv">\
                    <a href=3D"#" onClick=3D"closeDHTMLPopUpAd()" =
class=3D"dhtmlpopupAnchor"><span style=3D"font: 13px, Verdana, Arial, =
Helvetica; text-decoration:none; font-weight: bold; color: =
#FFFFFF">close <span =
style=3D"size:22px;color:#FFFFFF">&diams;</span>&nbsp;</span></a>\
              </div>\
            </td>\
            </tr>\
			  <tr>\
				<td colspan=3D"2" width=3D"250" valign=3D"top">\
\
<table border=3D0 cellpadding=3D0 cellspacing=3D0 width=3D350>\
<tr>\
\
<td valign=3Dtop><img =
src=3D"http://images.pcworld.com/shared/graphics/popup_site_15bonuscd_2.g=
if" alt=3D"" width=3D"353" height=3D"96" border=3D"0"><br =
clear=3D"all">\
\
<!-- PADDING TABLE -->\
<table border=3D0 cellpadding=3D4 cellspacing=3D0>\
<tr>\
<td valign=3D"top">\
\
<form name=3D"form1" method=3D"send" =
action=3D"/subform/subform_processor" onsubmit=3D"return =
validateDHTMLPopUpForm(this)">\
<form =
action=3D"https://w1.buysub.com/servlet/PrePopGateway?cds_mag_code=3DPCW&=
cds_page_id=3D7978" method=3D"POST" name=3D"form">\
\
<div align=3D"left">Please enter my order and I\'ll get<strong> 2 =
Risk-Free Issues of PC&nbsp;World and 15 Instant Free Power =
Guides</strong>. Plus, I\'ll get a<strong> Bonus Windows Tips =
CD-ROM</strong> with my paid order.  If I like PC&nbsp;World, I\'ll get =
10 more issues (12 in all) for $19.97.  If not, I\'ll write "cancel" on =
the bill, send it back and owe nothing. <strong>Added Bonus!</strong>  =
I\'ll also get PC World\'s Weekly Brief, a free e-mail =
newsletter.</div>\
<div align=3D"center"><a =
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&cd=
s_page_id=3D26856"><img =
src=3D"http://images.pcworld.com/shared/graphics/button_6extraissues.gif"=
 alt=3D"" border=3D"0"></a></div>\
<table align=3D"center" width=3D"247" border=3D"0" cellspacing=3D"2" =
cellpadding=3D"0">\
<tr>\
\
<td >Name:<br />\
	<input type=3D"hidden" name=3D"source" value=3D"dhtmlpopup" />\
	<input type=3D"hidden" name=3D"cds_opt_in1" value=3D"Y"/> \
	<input type=3D"hidden" name=3D"cds_opt_in2" value=3D""/> \
	<input style=3D"width:115px" name=3D"cds_name" size=3D"24" =
maxlength=3D"24"  tabindex=3D"211" value=3D"">\
</td>\
<td rowspan=3D"3">&nbsp;</td>\
<td colspan=3D"3" >City:<br />\
	<input  style=3D"width:115px" type=3D"text" name=3D"cds_city" =
maxlength=3D"13" size=3D"24" tabindex=3D"214" value=3D"">\
</td>\
\
<tr>\
<td>Address 1:<br />\
	<input  style=3D"width:115px" type=3D"text" name=3D"cds_address_1" =
size=3D"24" maxlength=3D"24" tabindex=3D"212" value=3D"">\
</td>\
<td>State:<br />\
	<input  type=3D"text" name=3D"cds_state" size=3D"2" maxlength=3D"2" =
tabindex=3D"215" value=3D"">\
</td>\
<td></td>\
<td>Zip Code:<br />\
	<input  type=3D"text" name=3D"cds_zip" tabindex=3D"216" size=3D"7" =
maxlength=3D"6" value=3D"">\
</td>\
\
						</tr>\
						<tr>\
<td>Address 2:<br />\
	<input style=3D"width:115px" type=3D"text" name=3D"cds_address_2" =
size=3D"13" maxlength=3D"24" tabindex=3D"213" value=3D"">\
</td>\
<td colspan=3D"3">Email (optional):<br />\
	<input  maxlength=3D"40" type=3D"text" name=3D"cds_email" size=3D"15" =
tabindex=3D"217" style=3D"width:115px">\
</td>\
						</tr>\
					</table>\
					<input align=3D"center" type=3D"hidden" name=3D"cds_country" =
value=3D"United States"><span align=3D"center">Canada, <a =
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&cd=
s_page_id=3D23866">click here</a>. International, <a =
href=3D"https://w1.buysub.com/servlet/OrdersGateway?cds_mag_code=3DPCW&cd=
s_page_id=3D757">click here</a>.</span> <br>\
<div align=3D"center">\
<input type=3D"image" name=3D"send" value=3D"Submit Form" =
src=3D"http://images.pcworld.com/shared/graphics/button_sendmy2issues.gif=
" border=3D"0"></div>\
\
<div>\
<br>\
Annual newsstand rate is $83.88 ($6.99 per issue).\
<br>To learn more about our information practices, read our <a =
href=3D"/resource/privacy.html" target=3D"_other">Privacy Policy</a>.\
</div>\
\
</td>\
</tr>\
</table>\
<!-- END PADDING TABLE -->\
\
<tr>\
<td>\
\
\
</form>\
\
\
</td>\
</tr></table>\
\
</td>\
			  </tr>\
\
\
<tr bgcolor=3D"#666666"><td align=3D"left">&nbsp;</td>\
            <td align=3D"right">\
              <div align=3D"right" style=3D"padding:4px;" =
id=3D"adCloseBottomDiv">\
                    <a href=3D"#" class=3D"dhtmlpopupBottomAnchor" =
onClick=3D"closeDHTMLPopUpAd()"><span style=3D"font: 13px, Verdana, =
Arial, Helvetica; text-decoration:none; font-weight: bold; color: =
#FFFFFF">close <span =
style=3D"size:22px;color:#FFFFFF">&diams;</span>&nbsp;</span></a>\
              </div>\
            </td>\
            </tr>\
			</table>\
			</td>\
		</tr>\
	</table></div><script language=3D"Javascript">\
	dhtmlPopUp();\
</script>\
');
------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s.pcworld.com/script/hbx.js

//hbx.js,HBX2.0,COPYRIGHT 1997-2006 WEBSIDESTORY,INC. ALL RIGHTS =
RESERVED. U.S.PATENT No.6,393,479B1 & 6,766,370. =
INFO:http://websidestory.com/privacy=0A=
/* INSERT CUSTOM EVENT CODE HERE */=0A=
// custom code for 2.0 release to send linkviews on page view until the =
backend is ready=0A=
// remove this code block if we want to send linkViews as a separate =
request=0A=
function _hbOnPrePV(req){=0A=
    for(var a=3D0;a<_IL(document.links);a++){=0A=
        if(_lvid.length+_lvpos.length<_lvm)=0A=
            _LV(document.links[a]);=0A=
        else break;=0A=
    }=0A=
    _ar +=3D "&lv.id=3D"+_lvid+"&lv.pos=3D"+_lvpos;=0A=
    _lvl=3D-1; =0A=
}=0A=
=0A=
/* DO NOT CHANGE BELOW THIS LINE */=0A=
var _vjs=3D"HBX0201.03u";=0A=
var =
_dl=3D".exe,.zip,.wav,.wmv,.mp3,.mov,.mpg,.avi,.doc,.pdf,.xls,.ppt,.gz,.b=
in,.hqx,.dmg";=0A=
function _NA(a){return new Array(a?a:0)}=0A=
var =
_mn=3D_hbq=3D"",_hbA=3D_NA(),_hud=3D"undefined",_huf=3D"function",_ec=3D_=
if=3D_ll=3D_hec=3D_hfs=3D_hfc=3D_hfa=3D_ic=3D_pC=3D_fc=3D_pv=3D0,_hbi=3D_=
hbs=3Dnew Image(),_hbin=3D_NA(),_pA=3D_NA();=0A=
_lvid=3D_lvpos=3D_lvl=3D"";_hbE=3D_D("hbE")?_hbE:"";_hbEC=3D_D("hbEC")?_h=
bEC:0;var _ex=3D"expires=3DWed, 1 Jan 2020 00:00:00 =
GMT",_lvm=3D300,_lidt=3D"lid",_lpost=3D"lpos",=0A=
_pum=3D_erf=3D_hif=3D0;=0A=
function _D(v){return(typeof =
eval("window._"+v)!=3D_hud)?eval("window._"+v):""}function =
_DD(v){return(typeof v!=3D_hud)?1:0}=0A=
function _A(v,c){return escape((_D("lc")=3D=3D"y"&&_DD(c))?_TL(v):v)}=0A=
function _B(){return 0}function _GP(){return =
(_IL(_D("protocol"))>0)?_protocol+"://":(location.protocol=3D=3D"https:"?=
"https://":"http://")}=0A=
function _IC(a,b,c){return a.charAt(b)=3D=3Dc?1:0}function =
_II(a,b,c){return a.indexOf(b,c?c:0)}function _IL(a){return =
a!=3D_hud?a.length:0}=0A=
function _IF(a,b,c){return a.lastIndexOf(b,c?c:_IL(a))}function =
_IP(a,b){return a.split(b)}=0A=
function _IS(a,b,c){return b>_IL(a)?"":a.substring(b,c!=3Dnull?c:_IL(a))}=0A=
function =
_RP(a,b,c,d){d=3D_II(a,b);if(d>-1){a=3D_RP(_IS(a,0,d)+","+_IS(a,d+_IL(b),=
_IL(a)),b,c)}return a}=0A=
function _TL(a){return a.toLowerCase()}function _TS(a){return =
a.toString()}function _TV(){_hbSend()}function _SV(a,b,c){_hbSet(a,b,c)}=0A=
function =
_VS(a,b,c,d){c=3D['C','P','R'];for(d=3D0;d<_IL(c);d++){if(_II(""+b,"_"+c[=
d]+"::")=3D=3D0)b=3Deval("_R"+c[d]+"V(_IS(b,4,_IL(b)))")}eval("_"+a+"=3D'=
"+b+"'")}=0A=
function =
_VC(a,b,c,d){b=3D_IP(a,",");for(c=3D0;c<_IL(b);c++){d=3D_IP(b[c],"|");_VS=
(d[0],(_D(d[0]))?_D(d[0]):d[1]?d[1]:"")}}=0A=
function =
_VL(a,b){for(a=3D0;a<_hbEC;a++){_pv=3D_hbE[a];if(_pv._N=3D=3D"pv"){for(b =
in _pv){if(_EE(b)&&typeof _pv[b]!=3D_huf){_VS(b,_pv[b])}}}}=0A=
_VC("pn|PUT+PAGE+NAME+HERE,mlc|CONTENT+CATEGORY,elf|n,dlf|n,dft|n,pndef|t=
itle,ctdef|full,cp|null,hcn|")}_VL();=0A=
function =
_ER(a,b,c){if(_erf++=3D=3D0)_hbi.src=3D_GP()+_gn+"/HG?hc=3D"+_mn+"&hb=3D"=
+_A(_acct)+"&hec=3D1&vjs=3D"+_vjs+"&vpc=3DERR&ec=3D1&err=3D"+=0A=
((typeof a=3D=3D"string")?_A(a+"-"+c):"Unknown");_XT("Error",a);}=0A=
function _EE(a){return(a!=3D"_N"&&a!=3D"_C")?1:0}_EV(window,"error",_ER);=0A=
function _hbSend(c,a,i){a=3D"";_hec++;for(i in _hbA)if(typeof =
_hbA[i]!=3D_huf)a+=3D"&"+i+"=3D"+_hbA[i];_Q(_hbq+"&hec=3D"+_hec+a+_hbSend=
EV());_hbA=3D_NA()}=0A=
function =
_hbSet(a,b,c,d,e){d=3D_II(_hbq,"&"+a+"=3D");if(d>-1){e=3D_II(_hbq,"&",d+1=
);e=3De>d?e:_IL(_hbq);if(a=3D=3D"n"||a=3D=3D"vcon"){_hbq=3D_IS(_hbq,0,d)+=
"&"+a+"=3D"+b+=0A=
_IS(_hbq,e);_hec=3D-1;if(a=3D=3D"n"){_pn=3Db}else{_mlc=3Db}}else{_hbq=3D_=
IS(_hbq,0,d)+_IS(_hbq,e)}}if((a!=3D"n")&&(a!=3D"vcon"))_hbA[a]=3D(c=3D=3D=
0)?b:_A(b)}=0A=
function =
_hbRedirect(a,b,c,d,e,f,g){_SV("n",a);_SV("vcon",b);if(_DD(d)&&_IL(d)>0){=
d=3D_IC(d,0,"&")?_IS(d,1,_IL(d)):d;e=3D_IP(d,"&");for(f=3D0;f<_IL(e);=0A=
f++){g=3D_IP(e[f],"=3D");_SV(g[0],g[1])}}_TV();if(c!=3D""){_SV("hec",0);s=
etTimeout("location.href=3D'"+c+"'",500)}}=0A=
function =
_hbSendEV(a,b,c,d,e,f,x,i){a=3D'',c=3D'',e=3D_IL(_hbE);for(b=3D0;b<e;b++)=
{c=3D_hbE[b];for(var d in =
c){if(_EE(d)&&c[d].match){x=3Dc[d].match(/\[\]/g);=0A=
if(x!=3Dnull&&_IL(x)>c._C)c._C=3D_IL(x)}}for(d in =
c){if(_EE(d)&&c[d].match){x=3Dc[d].match(/\[\]/g);x=3D(x=3D=3Dnull)?0:_IL=
(x);for(i=3Dx;i<c._C;i++)c[d]+=3D"[]"}}}=0A=
for(b=3D0;b<e;b++){c=3D_hbE[b];for(f=3Db+1;f<e;f++){if(_hbE[f]!=3Dnull&&c=
._N=3D=3D_hbE[f]._N){for(d in =
c){if(_EE(d)&&_hbE[f]!=3Dnull)c[d]+=3D"[]"+_hbE[f][d];=0A=
_hbE[f][d]=3D""}}}for(d in =
c){if(_EE(d)&&c._N!=3D""&&c._N!=3D"pv"){a+=3D"&"+c._N+"."+d+"=3D"+_RP(_A(=
c[d]),"%5B%5D",",")}}}_hbE=3D_NA();_hbEC=3D0;return a}=0A=
function =
_hbM(a,b,c,d){_SV('n',a);_SV('vcon',b);if(_IL(c)>0)_SV(c,d);_TV()}=0A=
function _hbPageView(p,m){_hec=3D-1;_hbM(p,m,"")}function =
_hbExitLink(n){_hbM(_pn,_mlc,"el",n)}function =
_hbDownload(n){_hbM(_pn,_mlc,"fn",n)}=0A=
function =
_hbVisitorSeg(n,p,m){_SV("n",p);_SV("vcon",m);_SV("seg",n,1);_TV()}functi=
on _hbCampaign(n,p,m){_hbM(p,m,"cmp",n)}=0A=
function _hbFunnel(n,p,m){_hbM(p,m,"fnl",n)}function =
_hbGoalPage(n,p,m){_hbM(p,m,"gp",n)}=0A=
function =
_hbLink(a,b,c){_SV("lid",a);if(_DD(b))_SV("lpos",b);_XT("Link","");_TV()}=0A=
function =
_hbForm(a,b,c,d,e,f){if(_DD(c))_hlf=3Dc;_hfs=3D0,_fa=3D1,f=3D'Complete',_=
hfa=3D0;if(a=3D=3D0){f=3D'Abandon';_hfa=3D1}_XT("Form"+f,b)}=0A=
function =
_hbCookie(a,b,c){document.cookie=3Da+"=3D"+b+";path=3D/;"+((_DD(c)=3D=3D1=
)?"expires=3D"+c:"")}=0A=
function =
_LE(a,b,c,d,e,f,g,h,i,j,k,l){b=3D"([0-9A-Za-z\\-]*\\.)",c=3Dlocation.host=
name,d=3Da.href,h=3D'',i=3D'';eval("__f=3D/"+b+"*"+b+"/");if(_DD(__f)){__=
f.exec(c);=0A=
j=3D(_DD(_elf))?_elf:"";if(j!=3D"n"){if(_II(j,"!")>-1){h=3D_IS(j,0,_II(j,=
"!"));i=3D_IS(j,_II(j,"!")+1,_IL(j))}else{h=3Dj}}k=3D0;if(_DD(_elf)&&_elf=
!=3D"n"){=0A=
if(_IL(i)){l=3D_IP(i,",");for(g=3D0;g<_IL(l);g++)if(_II(d,l[g])>-1)return=
}if(_IL(h)){l=3D_IP(h,",");for(g=3D0;g<_IL(h);g++)if(_II(d,l[g])>-1)k=3D1=
}}=0A=
if(_II(a.hostname,RegExp.$2)<0||k){	e=3D_IL(d)-1;return =
_IC(d,e,'/')?_IS(d,0,e):d}}}=0A=
function =
_LD(a,b,c,d,e,f){b=3Da.pathname,d=3D'',e=3D'';b=3D_IS(b,_IF(b,"/")+1,_IL(=
b));c=3D(_DD(_dlf))?_dlf:"";if(c!=3D"n"){if(_II(c,"!")>-1){d=3D","+=0A=
_IS(c,0,_II(c,"!"));e=3D","+_IS(c,_II(c,"!")+1,_IL(c))}else{d=3D","+c}}f=3D=
_II(b,"?");b=3D(f>-1)?_IS(b,0,f):b;if(_IF(b,".")>-1){f=3D_IS(b,_IF(b,".")=
,_IL(b));=0A=
if(_II(_dl+d,f)>-1&&_II(e,f)<0){var =
dl=3Db;if(_DD(_dft)){if(_dft=3D=3D"y"&&a.name){dl=3Da.name}else =
if(_dft=3D=3D"full"){dl=3Da.pathname;if(!_IC(dl,0,'/'))dl=3D'/'+dl=0A=
}}return dl}}}=0A=
function =
_LP(a,b){for(b=3D0;b<_IL(a);b++){if(_IL(_lvl)<_lvm)_LV(a[b]);_EV(a[b],'mo=
usedown',_LT)}}=0A=
function =
_LV(a,b,c){b=3D_LN(a);c=3Db[0]+b[1];if(_IL(b[0])){_lvid+=3D_A(b[0])+",";_=
lvpos+=3D_A(b[1])+",";_lvl+=3Dc}}=0A=
function =
_LN(a,b,c,d){b=3Da.href;b+=3Da.name?a.name:"";c=3D_LVP(b,_lidt);d=3D_LVP(=
b,_lpost);return[c,d]}=0A=
function =
_LT(e){if((e.which&&e.which=3D=3D1)||(e.button&&e.button=3D=3D1)){var =
a=3Ddocument.all?window.event.srcElement:this;for(var =
i=3D0;i<4;i++){if(a.tagName&&=0A=
_TL(a.tagName)!=3D"a"&&_TL(a.tagName)!=3D"area"){a=3Da.parentElement}}var=
 =
b=3D_LN(a),c=3D'',d=3D'';a.lid=3Db[0];a.lpos=3Db[1];if(_D("lt")&&_lt!=3D"=
manual"){if((a.tagName&&=0A=
_TL(a.tagName)=3D=3D"area")){if(!_IL(a.lid)){if(a.parentNode){if(a.parent=
Node.name)a.lid=3Da.parentNode.name;else =
a.lid=3Da.parentNode.id}}if(!_IL(a.lpos))=0A=
a.lpos=3Da.coords}else{if(_IL(a.lid)<1)a.lid=3D_LS(a.text?a.text:a.innerT=
ext?a.innerText:"");if(!_IL(a.lid)||_II(_TL(a.lid),"<img")>-1)a.lid=3D_LI=
(a)}}=0A=
if(!_IL(a.lpos)&&_D("lt")=3D=3D"auto_pos"&&a.tagName&&_TL(a.tagName)!=3D"=
area"){c=3Ddocument.links;for(d=3D0;d<_IL(c);d++){if(a=3D=3Dc[d]){a.lpos=3D=
d+1;break}}}=0A=
var _f=3D0,j=3D'',k=3D'',l=3D(a.protocol)?_TL(a.protocol):"";=0A=
if(l&&l!=3D"mailto:"&&l!=3D"javascript:"){j=3D_LE(a),k=3D_LD(a);if(_DD(k)=
)a.fn=3Dk;else if(_DD(j))a.el=3Dj}=0A=
if(_D("lt")&&_IC(_lt,0,"n")!=3D1&&_DD(a.lid)&&_IL(a.lid)>0){_SV("lid",a.l=
id);if(_DD(a.lpos))_SV("lpos",a.lpos);_f=3D1}if(_DD(a.fn)){_SV("fn",a.fn)=
;_XT("Download",a);_f=3D2}=0A=
else =
if(_DD(a.el)){_SV("el",a.el);_XT("ExitLink",a);_f=3D1}if(_f>0){_XT("Link"=
,a);_TV()}}}=0A=
function =
_LVP(a,b,c,d,e){c=3D_II(a,"&"+b+"=3D");c=3Dc<0?_II(a,"?"+b+"=3D"):c;if(c>=
-1){d=3D_II(a,'&',c+_IL(b)+2);e=3D_IS(a,c+_IL(b)+2,d>-1?d:_IL(a));=0A=
if(!_ec){if(!(_II(e,"//")=3D=3D0))return e}else return e}return ""}=0A=
function _LI(a){var =
b=3D""+a.innerHTML,bu=3D_TL(b),i=3D_II(bu,"<img");if(bu&&i>-1){eval("__f=3D=
/ src\s*=3D\s*['\"]?([^'\" ]+)['\"]?/i");__f.exec(b);=0A=
if(RegExp.$1)b=3DRegExp.$1}return b}=0A=
function _LSP(a,b,c,d){d=3D_IP(a,b);return d.join(c)}=0A=
function =
_LS(a,b,c,d,e,f,g){c=3D_D("lim")?_lim:100;b=3D(_IL(a)>c)?_A(_IS(a,0,c)):_=
A(a);b=3D_LSP(b,"%0A","%20");b=3D_LSP(b,"%0D","%20");b=3D_LSP(b,"%09","%2=
0");=0A=
c=3D_IP(b,"%20");d=3D_NA();e=3D0;for(f=3D0;f<_IL(c);f++){g=3D_RP(c[f],"%2=
0","");if(_IL(g)>0){d[e++]=3Dg}}b=3Dd.join("%20");return unescape(b)}=0A=
function =
_EM(a,b,c,d){a=3D_D("fv");b=3D_II(a,";"),c=3DparseInt(a);d=3D3;if(_TL(a)=3D=
=3D"n"){d=3D999;_fv=3D""}else =
if(b>-1){d=3D_IS(a,0,b);_fv=3D_IS(a,b+1,_IL(a))}=0A=
else if(c>0){d=3Dc;_fv=3D""}return d}=0A=
function _FF(e){var a=3D(_bnN)?this:_EVO(e);_hlf=3D(a.lf)?a.lf:""}=0A=
function =
_FU(e){if(_hfs=3D=3D0&&_IL(_hlf)>0&&_fa=3D=3D1){_hfs=3D1;if(_hfc&&!_hfa){=
_SV("sf","1");_XT("FormComplete",_hfc)}else =
if(_IL(_hlf)>0){_SV("lf",_hlf);_XT("FormAbandon",_hlf)}=0A=
_TV();_hlf=3D"",_hfs=3D0,_hfc=3D0}}=0A=
function _FO(e){var =
a=3Dtrue;if(_DD(this._FS))eval("try{a=3Dthis._FS()}catch(e){}");if(a!=3Df=
alse)_hfc=3D1;return a}=0A=
function _FA(a,b,c,d,e,f,g,h,i,ff,fv,s){b=3Da.forms;ff=3Dnew =
Object();f=3D_EM();for(c=3D0;c<_IL(b);c++){ff=3Db[c],d=3D0,s=3D0,e=3Dff.e=
lements;=0A=
g=3Dff.name?ff.name:"forms["+c+"]";for(h=3D0;h<_IL(e);h++){if(e[h].type&&=
"hiddenbuttonsubmitimagereset".indexOf(e[h].type)<0&&d++>=3Df)break}if(d>=
=3Df){_fa=3D1;=0A=
for(h=3D0;h<_IL(e);h++){i=3De[h];if(i.type&&"hiddenbuttonsubmitimagereset=
".indexOf(i.type)<0){i.lf=3Dg+".";i.lf+=3D(i.name&&i.name!=3D"")?i.name:"=
elements["+h+"]";=0A=
_EV(i,"focus",_FF)}}ff._FS=3Dnull;ff._FS=3Dff.onsubmit;if(_DD(ff._FS)&&ff=
._FS!=3Dnull){ff.onsubmit=3D_FO}else =
if(!(_bnN&&_bv<5)&&_hM&&!(_bnI&&!_I5)){if((!_bnI)||=0A=
(_II(navigator.userAgent,"Opera")>-1)){ff.onsubmit=3D_FO}else{_EV(ff,"sub=
mit",_FO);=0A=
eval("try{document.forms["+c+"]._FS=3Ddocument.forms["+c+"].submit;docume=
nt.forms["+c+"].submit=3D_FO;throw ''}catch(E){}")}}}}}=0A=
function _GR(a,b,c,d){if(!_D("hrf"))return =
a;if(_II(_hrf,"http",0)>-1)return =
_hrf;b=3Dwindow.location.search;b=3D_IL(b)>1?_IS(b,1,_IL(b)):"";=0A=
c=3D_II(b,_hrf+"=3D");if(c>-1){ =
d=3D_II(b,"&",c+1);d=3Dd>c?d:_IL(b);b=3D_IS(b,c+_IL(_hrf)+1,d)}return(b!=3D=
_hud&&_IL(b)>0)?b:a}=0A=
function =
_PO(a,b,c,d,e,f,g){d=3Dlocation,e=3Dd.pathname,f=3D_IS(e,_IF(e,"/")+1),g=3D=
document.title;if(a&&b=3D=3Dc){return(_pndef=3D=3D"title"&&g!=3D""&&g!=3D=
d&&=0A=
!(_bnN&&_II(g,"http")>0))?g:f?f:_pndef}else{return =
b=3D=3Dc?(e=3D=3D""||e=3D=3D"/")?"/":_IS(e,(_ctdef!=3D"full")?_IF(e,"/",_=
IF(e,"/")-2):_II(e,"/"),_IF(e,"/"))=0A=
:(b=3D=3D"/")?b:((_II(b,"/")?"/":"")+(_IF(b,"/")=3D=3D_IL(b)-1?_IS(b,0,_I=
L(b)-1):b))}}=0A=
function _PP(a,b,c,d){return =
""+(c>-1?_PO(b,_IS(a,0,c),d)+";"+_PP(_IS(a,c+1),b,_II(_IS(a,c+1),";")):_P=
O(b,a,d))}=0A=
_mlc=3D_PP(_mlc,0,_II( =
_mlc,";"),"CONTENT+CATEGORY");_pn=3D_PP(_pn,1,_II(_pn,";"),"PUT+PAGE+NAME=
+HERE");=0A=
function _NN(a){return _D(a)!=3D"none"}=0A=
function _E(a){var b=3D"";var d=3D_IP(a,",");for(var =
c=3D0;c<_IL(d);c++)b+=3D"&"+d[c]+"=3D"+_A(_D(d[c]));return b}=0A=
function =
_F(a,b){return(!_II(a,"?"+b+"=3D"))?0:_II(a,"&"+b+"=3D")}function =
_G(a,b,c,d){var =
e=3D_F(a,b);if(d&&e<0&&top&&window!=3Dtop){e=3D_F(_tls,b);=0A=
if(e>-1)a=3D_tls};return(e>-1)?_IS(a,e+2+_IL(b),(_II(a,"&",e+1)>-1)?_II(a=
,"&",e+1):_IL(a)):c}=0A=
function =
_H(a,b,c){if(!a)a=3Dc;if(_I5||_N6){eval("try{_vv=3D_G(location.search,'"+=
a+"','"+b+"',1)}"+__c+"{}")}else{_vv=3D_G(location.search,a,b,1)}return =
unescape(_vv)}=0A=
function =
_I(a,b,c,d){__f=3D_IS(a,_II(a,"?"));if(b){if(_I5||_N6){eval("try{_hra=3D_=
G(__f,_hqsr,_hra,0)}"+__c+"{}")}else{_hra=3D_G(__f,_hqsr,_hra,0)}};=0A=
if(c&&!_hra){if(_I5||_N6){eval("try{_hra=3D_G(location.search,_hqsp,_hra,=
1)}"+__c+"{}")}else{_hra=3D_G(location.search,_hqsp,_hra,1)}};=0A=
if(d&&!_hra)_hra=3Dd;return _hra}function =
_J(a,b,c,d){c=3D_II(a,"CP=3D");d=3D_II(a,b,c+3);return(c<0)?"null":_IS(a,=
c+3,(d<0)?_IL(a):d)}=0A=
var =
__r=3D".referrer",_rf=3D_A(eval("document"+__r)),_et=3D0,_oe=3D0,_we=3D0,=
_ar=3D"",_hM=3D(!(_II(navigator.userAgent,"Mac")>-1)),_tls=3D"";=0A=
_bv=3DparseInt(navigator.appVersion);_bv=3D(_bv>99)?(_bv/100):_bv;var =
__f,_hrat=3D_D("hra"),_hra=3D"",__c=3D"catch(_e)",_fa=3D0,_hlfs=3D0,_hoc=3D=
0,=0A=
_hlf=3D'',_ce=3D'',_ln=3D'',_pl=3D'',_bn=3Dnavigator.appName,_bn=3D(_II(_=
bn,"Microsoft")?_bn:"MSIE"),_bnN=3D(_bn=3D=3D"Netscape"),_bnI=3D(_bn=3D=3D=
"MSIE"),=0A=
_hck=3D"*; path=3D/; "+(_D("cpd")&&_D("cpd")!=3D""?(" =
domain=3D."+_D("cpd")+"; =
"):"")+_ex,_N6=3D(_bnN&&_bv>4),_I5=3Dfalse,_ss=3D"na",_sc=3D"na",_sv=3D11=
,_cy=3D"u",_hp=3D"u",=0A=
_tp=3D_D("ptc");if(_bn=3D=3D"MSIE"){var =
_nua=3Dnavigator.userAgent,_is=3D_II(_nua,_bn),_if=3D_II(_nua,".",_is);if=
(_if>_is)_I5=3D_nua.substring(_is+5,_if)>=3D5}=0A=
if(_N6||_I5)eval("try{_tls=3Dtop.location.search}catch(_e){}")=0A=
function =
_PV(){_dcmpe=3D_H(_D("dcmpe"),_D("dcmpe"),"DCMPE");_dcmpre=3D_H(_D("dcmpr=
e"),_D("dcmpre"),"DCMPRE");_vv=3D"";_cmp=3D_H(_D("cmpn"),_D("cmp"),"CMP")=
;=0A=
_gp=3D_H(_D("gpn"),_D("gp"),"GP");_dcmp=3D_H(_D("dcmpn"),_D("dcmp"),"DCMP=
");if(_II(_cmp,"SFS-")>-1){document.cookie=3D"HBCMP=3D"+_cmp+"; =
path=3D/;"+=0A=
(_D("cpd")&&_D("cpd")!=3D""?(" domain=3D."+_D("cpd")+"; =
"):"")+_ex}if(_bnI&&_bv>3)_ln=3Dnavigator.userLanguage;=0A=
if(_bnN){if(_bv>3)_ln=3Dnavigator.language;if(_bv>2)for(var =
i=3D0;i<_IL(navigator.plugins);i++)_pl+=3Dnavigator.plugins[i].name+":"};=
_cp=3D_D("cp");=0A=
if(location.search&&_TL(_cp)=3D=3D"null")_cp=3D_J(location.search,"&");if=
(_II(document.cookie,"CP=3D")>-1){=0A=
_ce=3D"y";_hd=3D_J(document.cookie,"*");if(_TL(_hd)!=3D"null"&&_cp=3D=3D"=
null"){_cp=3D_hd}else{document.cookie=3D"CP=3D"+_cp+_hck}}else{document.c=
ookie=3D"CP=3D"+_cp+_hck;=0A=
_ce=3D(_II(document.cookie,"CP=3D")>-1)?"y":"n"};if(window.screen){_sv=3D=
12;_ss=3Dscreen.width+"*"+screen.height;_sc=3D_bnI?screen.colorDepth:scre=
en.pixelDepth;=0A=
if(_sc=3D=3D_hud)_sc=3D"na"};_ra=3D_NA();if(_ra.toSource||(_bnI&&_ra.shif=
t))_sv=3D13;if(!(_bnN&&_bv<5)&&!_bnI&&_hM)eval("try{throw =
_sv=3D14}catch(e){}");=0A=
if((new =
Date()).toDateString)_sv=3D15;if(_hbA.every)_sv=3D16;if(_I5&&_hM){if(_II(=
""+navigator.appMinorVersion,"Privacy")>-1)_ce=3D"p";=0A=
if(document.body&&document.body.addBehavior){document.body.addBehavior("#=
default#homePage");_hp=3Ddocument.body.isHomePage(location.href)?"y":"n";=0A=
document.body.addBehavior("#default#clientCaps");_cy=3Ddocument.body.conn=
ectionType}};var =
_hcc=3D(_DD(_hcn))?_D("hcv"):"";if(!_D("gn"))_gn=3D"ehg.hitbox.com";=0A=
if(_D("ct")&&!_D("mlc"))_mlc=3D_ct;_XT("PrePVR","");_ar=3D_GP()+_gn+"/HG?=
hc=3D"+_mn+"&hb=3D"+_A(_acct)+"&cd=3D1&hv=3D6&n=3D"+_A(_pn,1)+"&con=3D&vc=
on=3D"+_A(_mlc,1)+"&tt=3D"=0A=
+_D("lt")+"&ja=3D"+(navigator.javaEnabled()?"y":"n")+"&dt=3D"+(new =
Date()).getHours()+"&zo=3D"+(new Date()).getTimezoneOffset()+"&lm=3D"+=0A=
Date.parse(document.lastModified)+(_tp?("&pt=3D"+_tp):"")+_E((_bnN?"bn,":=
"")+"ce,ss,sc,sv,cy,hp,ln,vpc,vjs,hec,pec,cmp,gp,dcmp,dcmpe,dcmpre,cp,fnl=
")=0A=
+"&seg=3D"+_D("seg")+"&epg=3D"+_D("epg")+"&cv=3D"+_A(_hcc)+"&gn=3D"+_A(_D=
("hcn"))+"&ld=3D"+_A(_D("hlt"))+"&la=3D"+_A(_D("hla"))+"&c1=3D"+_A(_D("hc=
1"))+"&c2=3D"+=0A=
_A(_D("hc2"))+"&c3=3D"+_A(_D("hc3"))+"&c4=3D"+_A(_D("hc4"))+"&customerid=3D=
"+_A(_D("ci")?_ci:_D("cid"))+"&ttt=3D"+_lidt+","+_lpost;=0A=
if(_I5||_N6){eval("try{_rf=3D_A(top.document"+__r+")+''}"+__c+"{_rf=3D_A(=
document"+__r+")+''}")}=0A=
else{if(top.document&&_IL(parent.frames)>1){_rf=3D_A(eval("document"+__r)=
)+""}else =
if(top.document){_rf=3D_A(eval("top.document"+__r))+""}}if((_rf=3D=3D_hud=
)||=0A=
(_rf=3D=3D""))_rf=3D"bookmark";_rf=3Dunescape(_rf);_rf=3D_GR(_rf);_hra=3D=
_I(_rf,_D("hqsr"),_D("hqsp"),_hrat);_ar+=3D"&ra=3D"+_A(_hra)+"&pu=3D"+_A(=
_IS(eval("document.URL")=0A=
+"",0,_pum))+_hbSendEV()+"&rf=3D";_ar+=3D(_IL(_ar)+_IL(_rf)<2048)?_A(_rf)=
:"bookmark";if(_IL(_ar)+_IL(_pl)<2048)_ar+=3D"&pl=3D"+_A(_pl);=0A=
_XT("PrePV",_ar);if(_D("onlyMedia")!=3D"y")_hbi.src=3D_ar+"&hid=3D"+Math.=
random();_hbq=3D_IS(_ar,0,_II(_ar,"&hec"));_XT("PostPV",_ar);_hbE=3D_NA()=
}_PV();=0A=
function =
_Q(a){a+=3D"&hid=3D"+Math.random();if(_hif=3D=3D0){_hif=3D1;_hbs=3D"";_hb=
s=3Dnew Image();_hbs.src=3Da}else{_hif=3D0;_hbi=3D"";_hbi=3Dnew =
Image();_hbi.src=3Da}}=0A=
function =
__X(a){if(_ec=3D=3D0){_ec=3D1;a=3Ddocument;if(_NN("lt")||_NN("dlf")||_NN(=
"elf"))_LP(a.links);if(_NN("fv"))_FA(a);=0A=
if(_NN("lt")&&_IL(_lvl)>0&&_lvl!=3D-1){_SV('lv.id',_lvid,1);_SV('lv.pos',=
_lvpos,1);_TV()}}}=0A=
function =
_EV(a,b,c,d){if(a.addEventListener){a.addEventListener(b,c,false)}else =
if(a.attachEvent){a.attachEvent(((d=3D=3D1)?"":"on")+b,c)}}=0A=
function _EVO(e){return document.all?window.event.srcElement:this} =0A=
function =
_RCV(a,b,c,d){b=3Ddocument.cookie;c=3D_II(b,a+"=3D");d=3D"";if(c>-1){d=3D=
_II(b,";",c+1);d=3D(d>0)?d:_IL(b);d=3D(d>c)?_IS(b,c+_IL(a)+1,d):""}return=
 d}=0A=
function _RRV(a){return(_LVP(document.referrer,a))}function =
_RPV(a){return(_LVP(document.URL,a))}=0A=
function _XT(a,b){if(typeof _D("hbOn"+a)=3D=3D_huf)eval("_hbOn"+a+"(b)")}=0A=
_EV(window,"load",__X);_EV(window,"unload",_FU);eval('setTimeout("__X()",=
3000)');
------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://i.pcworld.com/js/adlinks.js

var aAdLink =3D new Array(new Object(),new Object(),new Object(),new =
Object(),new Object(),new Object(),new Object(),new Object(),new =
Object(),new Object(),new Object(),new Object(),new Object(),new =
Object(),new Object(),new Object(),new Object(),new Object(),new =
Object(),new Object(),new Object(),new Object());=0A=
aAdLink[0]['text'] =3D 'Jump Start your Day with the Latest Technology =
News';=0A=
aAdLink[0]['desc'] =3D 'The Digital World Blog,  putting your finger =
firmly on the PULSE of Technology';=0A=
aAdLink[0]['lurl'] =3D 'http://www.digital-world.com/';=0A=
aAdLink[0]['purl'] =3D =
'http://ad.doubleclick.net/ad/pcw_textlinks/tsotracking;sz=3D1x1';=0A=
aAdLink[1]['text'] =3D 'What could you see with NEC?';=0A=
aAdLink[1]['desc'] =3D 'A business world of possibilities. We can help =
you create innovative, immersive work environments. ';=0A=
aAdLink[1]['lurl'] =3D =
'http://ad.doubleclick.net/clk;62073485;13891317;l?http://www.necdisplay.=
com/enterprise';=0A=
aAdLink[1]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[2]['text'] =3D 'Find Tech Jobs on Monster';=0A=
aAdLink[2]['desc'] =3D 'Post Your Resume & Search Listings. ';=0A=
aAdLink[2]['lurl'] =3D =
'http://ad.doubleclick.net/clk;77455374;13346828;u?http://clk.atdmt.com/M=
ON/go/drcttmon0770000771mon/direct/01/';=0A=
aAdLink[2]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[3]['text'] =3D 'Multiply your ability to inventory, manage, =
diagnose, ';=0A=
aAdLink[3]['desc'] =3D 'and repair PCs with the increased performance =
and energy-efficiency built into Intel vPro technology.';=0A=
aAdLink[3]['lurl'] =3D =
'http://ad.doubleclick.net/clk;71796697;13346828;e?http://ad.doubleclick.=
net/clk;71675567;15471823;s?http://www.intel.com/business/vpro?ppc_cid=3D=
EntMul1H07us_157';=0A=
aAdLink[3]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[4]['text'] =3D 'Love your PC';=0A=
aAdLink[4]['desc'] =3D 'Watch the sparks fly when our computer experts =
at Best Buy introduce you to the PC of your dreams.';=0A=
aAdLink[4]['lurl'] =3D =
'http://ad.doubleclick.net/clk;73063421;13891317;c?http://clk.atdmt.com/A=
VE/go/dgxxgbb70460000127ave/direct/01';=0A=
aAdLink[4]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[5]['text'] =3D 'Win a $6500 Savings Account-B6500 Printer =
Series';=0A=
aAdLink[5]['desc'] =3D 'B6500 Digital Mono Printer Series from OKI =
Printing Solutions-Powerful workgroup performance for improved =
productivity.';=0A=
aAdLink[5]['lurl'] =3D =
'http://ad.doubleclick.net/clk;73191552;13346828;l?http://ad.doubleclick.=
net/clk;72620183;15525082;a?http://www.okidata.com/mkt/html/nf/b6500print=
er.html';=0A=
aAdLink[5]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[6]['text'] =3D '$100 Rebate on the NEW B6500 Mono Printer =
Series';=0A=
aAdLink[6]['desc'] =3D 'B6500 Digital Mono Printer Series from OKI =
Printing Solutions-Powerful workgroup performance for improved =
productivity.';=0A=
aAdLink[6]['lurl'] =3D =
'http://ad.doubleclick.net/clk;73191625;13346828;m?http://ad.doubleclick.=
net/clk;72620503;15647648;j?http://www.okidata.com/mkt/html/nf/b6500print=
er.html';=0A=
aAdLink[6]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[7]['text'] =3D 'HP\'s ProLiant ML150 Server.';=0A=
aAdLink[7]['desc'] =3D '40% of businesses whose systems fry never fully =
recover. HP\'s ProLiant ML150 Server safeguards your business\' data.';=0A=
aAdLink[7]['lurl'] =3D =
'http://ad.doubleclick.net/clk;73970348;13346828;t?http://ad.doubleclick.=
net/clk;73911505;15705677;m';=0A=
aAdLink[7]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[8]['text'] =3D 'HP All-in-Ones:';=0A=
aAdLink[8]['desc'] =3D 'one machine, multiple functions. ';=0A=
aAdLink[8]['lurl'] =3D =
'http://ad.doubleclick.net/clk;74015717;13346828;k?http://ad.doubleclick.=
net/clk;73996338;15744582;b';=0A=
aAdLink[8]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[9]['text'] =3D 'SonicWALL Email Security stops Spam and =
Phishing:';=0A=
aAdLink[9]['desc'] =3D 'Can your e-mail spam solution kill the phish? =
Take a Deeper Look. View our free e-mail security flash video demo now.';=0A=
aAdLink[9]['lurl'] =3D =
'http://ad.doubleclick.net/clk;74108402;13346828;e?http://clk.atdmt.com/D=
SF/go/dgxxgsoh0110000008dsf/direct/01/';=0A=
aAdLink[9]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[10]['text'] =3D 'Make the Smarter Choice....choose AMD.';=0A=
aAdLink[10]['desc'] =3D 'The same great technology DreamWorks Animation =
used to make Flushed Away is in the newest AMD-based HP PC. Learn more!';=0A=
aAdLink[10]['lurl'] =3D =
'http://ad.doubleclick.net/clk;75796124;13346828;t?http://clk.atdmt.com/D=
EN/go/pcwrdamd0130000084den/direct/01/';=0A=
aAdLink[10]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[11]['text'] =3D 'Free Trial of WINDOWS VISTA   Click Here';=0A=
aAdLink[11]['desc'] =3D 'Take a tour of Widows Vista or download a trial =
version  Click Here';=0A=
aAdLink[11]['lurl'] =3D =
'http://ad.doubleclick.net/clk;75356741;13346828;q?http://clk.atdmt.com/M=
RT/go/pcwrmwxp0150002197mrt/direct/01/';=0A=
aAdLink[11]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[12]['text'] =3D 'Only SONY has Full HD games, PCs, movies ++';=0A=
aAdLink[12]['desc'] =3D 'Sony products with Blu-ray disc? technology =
deliver Full HD';=0A=
aAdLink[12]['lurl'] =3D =
'http://ad.doubleclick.net/clk;75450603;13346828;i?http://www.sonystyle.c=
om/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/USD/SY_BrowseCatalog-Start?Ca=
tegoryName=3Dhav_bluraydisc&Dept=3Dtvvideo&DCMP=3Dbdunited_banner&DCMP=3D=
pcworld_text';=0A=
aAdLink[12]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[13]['text'] =3D 'The power of Windows&reg; Vista&trade;';=0A=
aAdLink[13]['desc'] =3D 'Get the Windows&reg; Vista&trade; experience =
with Truelife&trade; Display. Now available on the Dell&trade; =
Inspiron&trade; E1505. Priced at $899';=0A=
aAdLink[13]['lurl'] =3D =
'http://ad.doubleclick.net/clk;77695557;13346828;d?http://ad.doubleclick.=
net/clk;75869732;15514912;s?http://lt.dell.com/lt/lt.aspx?CID=3D18922&LID=
=3D429656&DGC=3DBA&DGSeg=3DDHS&DURL=3Dhttp://www1.us.dell.com/content/top=
ics/segtopic.aspx/odg/odg_special49?c%3dus%26cs%3d19%26l%3den%26s%3ddhs';=0A=
aAdLink[13]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[14]['text'] =3D 'FREE 30-Day Trial of Trend Micro Internet =
Security PC-cillin';=0A=
aAdLink[14]['desc'] =3D 'Safeguards your computers, home networks and =
personal identity and is Windows Vista Certified';=0A=
aAdLink[14]['lurl'] =3D =
'http://ad.doubleclick.net/clk;79943849;13346828;f?http://clk.atdmt.com/M=
SI/go/pcwrmthm0080000017msi/direct/01/';=0A=
aAdLink[14]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[15]['text'] =3D '30% off Remote Supervisor Adapter II Slimline';=0A=
aAdLink[15]['desc'] =3D 'An advanced, yet simplified remote management =
system for IBM System x servers. Now 30% off thru March 30th. Learn =
more.';=0A=
aAdLink[15]['lurl'] =3D =
'http://ad.doubleclick.net/clk;79440401;13346828;h?http://www.ibm.com/sys=
tems/express/flexible12.html?ca=3Dexpress&tactic=3D6N7AH03W&me=3DW&P_Crea=
tive=3DB&met=3Dss_non';=0A=
aAdLink[15]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[16]['text'] =3D 'Fault Tolerant Servers: Up to 99.999% uptime on =
Windows ';=0A=
aAdLink[16]['desc'] =3D 'Downtime is not an option, clustering and =
redundancy might not be enough. Free white paper from NEC Corporation of =
America   ';=0A=
aAdLink[16]['lurl'] =3D =
'http://ad.doubleclick.net/clk;82438481;13346828;q?http://www.necam.com/s=
ervers/in/10/';=0A=
aAdLink[16]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[17]['text'] =3D 'Visit Circuit City for hot deals on cool =
gadgets';=0A=
aAdLink[17]['desc'] =3D 'MP3 and iPod, PCs, HDTV and much more. Take =
advantage of firedog in-home consultation and our 24 minute pickup =
guarantee.';=0A=
aAdLink[17]['lurl'] =3D =
'http://ad.doubleclick.net/clk;82453308;13346828;l?http://www.circuitcity=
.com/ccd/home.do?Key=3D406005';=0A=
aAdLink[17]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[18]['text'] =3D 'Adobe Acrobat 8 Is Here. Share documents, make =
comments';=0A=
aAdLink[18]['desc'] =3D 'Exert more effortless control than ever on your =
information exchange. Help your business flow. Better by Adobe.';=0A=
aAdLink[18]['lurl'] =3D =
'http://ad.doubleclick.net/clk;63085633;13346828;m?http://ad.doubleclick.=
net/clk;49291338;14171032;b?http://www.adobe.com/go/acrobat8exp?sdid=3DJJ=
ZE';=0A=
aAdLink[18]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[19]['text'] =3D 'The ROBOTECH Movie on DVD, 2/6/07 ';=0A=
aAdLink[19]['desc'] =3D 'Best Animated Sci-Fi Feature 2006 Intl. Horror =
& Sci-Fi Film Festival. Join Scott Bernard in the search for Adm. =
Hunter.';=0A=
aAdLink[19]['lurl'] =3D =
'http://ad.doubleclick.net/clk;66839127;13346828;u?http://www.theshadowch=
ronicles.com';=0A=
aAdLink[19]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[20]['text'] =3D 'Get the power to download faster - FREE*.';=0A=
aAdLink[20]['desc'] =3D 'The PX-500 Mobile Broadband Connection Card. =
Download 400-700 kbps. Connect wirelessly in 8,073 cities. Shop now ';=0A=
aAdLink[20]['lurl'] =3D =
'http://ad.doubleclick.net/clk;69640986;13346828;a?http://clk.atdmt.com/M=
0N/go/dvntrspr0440000014m0n/direct/01/';=0A=
aAdLink[20]['purl'] =3D 'http://www.pcworld.com';=0A=
aAdLink[21]['text'] =3D 'Visit Circuit City today and start 2007 off =
right';=0A=
aAdLink[21]['desc'] =3D 'Ready to make the switch to HDTV, curious about =
Vista, or looking for the latest gadgets - we\'ve got you covered';=0A=
aAdLink[21]['lurl'] =3D =
'http://ad.doubleclick.net/clk;71426104;13346828;d?http://www.circuitcity=
.com/ccd/home.do?Key=3D398083';=0A=
aAdLink[21]['purl'] =3D 'http://www.pcworld.com';=0A=
function renderSnoBox() {=0A=
	var rand;=0A=
	var found;=0A=
	var counter;=0A=
=0A=
	var len =3D 12;=0A=
	if (aAdLink.length < len) {=0A=
		len =3D aAdLink.length=0A=
	}=0A=
=0A=
	var aAdIx =3D new Array(len);=0A=
=0A=
	counter =3D 0;=0A=
	while (counter < len) {=0A=
=0A=
		rand =3D Math.floor(Math.random()*aAdLink.length);=0A=
=0A=
		found =3D false;=0A=
		for (var i=3D0;i<aAdIx.length;i++) {=0A=
			if (aAdIx[i] =3D=3D rand) {=0A=
				found =3D true;=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		if (!found) {=0A=
			aAdIx[counter] =3D rand;=0A=
			counter++;=0A=
		}=0A=
=0A=
	}=0A=
=0A=
	for (var i=3D0;i<aAdIx.length;i++) {=0A=
		if (aAdLink[aAdIx[i]]) {=0A=
			document.write('<ul><li>');=0A=
			document.write('<a href=3D"'+aAdLink[aAdIx[i]]['lurl']+'" =
target=3D"_blank">'+aAdLink[aAdIx[i]]['text']+'</a>');=0A=
			document.write('<br />'+aAdLink[aAdIx[i]]['desc']);=0A=
			document.write('<img width=3D"1" height=3D"1" alt=3D"" =
src=3D"'+aAdLink[aAdIx[i]]['purl']+'" />');=0A=
			document.write('</li></ul>');=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function renderSpecialOfferBox(len) {=0A=
	var rand;=0A=
	var found;=0A=
	var counter;=0A=
=0A=
	if (len =3D=3D null) {=0A=
		len =3D 12;=0A=
	}=0A=
=0A=
	if (aAdLink.length < len) {=0A=
		len =3D aAdLink.length=0A=
	}=0A=
=0A=
	var aAdIx =3D new Array(len);=0A=
=0A=
	counter =3D 0;=0A=
	while (counter < len) {=0A=
=0A=
		rand =3D Math.floor(Math.random()*aAdLink.length);=0A=
=0A=
		found =3D false;=0A=
		for (var i=3D0;i<aAdIx.length;i++) {=0A=
			if (aAdIx[i] =3D=3D rand) {=0A=
				found =3D true;=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		if (!found) {=0A=
			aAdIx[counter] =3D rand;=0A=
			counter++;=0A=
		}=0A=
=0A=
	}=0A=
=0A=
	for (var i=3D0;i<aAdIx.length;i++) {=0A=
		if (aAdLink[aAdIx[i]]) {=0A=
			document.write('<a href=3D"'+aAdLink[aAdIx[i]]['lurl']+'" =
class=3D"linkInline">');=0A=
			document.write(aAdLink[aAdIx[i]]['text']);=0A=
			document.write('</a>');=0A=
			document.write('<div>');=0A=
			document.write(aAdLink[aAdIx[i]]['desc']);=0A=
			document.write('<img width=3D"1" height=3D"1" alt=3D"" =
src=3D"'+aAdLink[aAdIx[i]]['purl']+'" />');=0A=
			document.write('</div>');=0A=
		}=0A=
	}=0A=
}=0A=
=0A=

------=_NextPart_000_0000_01C759E8.BC35DDC0
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: http://i.pcworld.com/script/refresh.js


				var AD_REFRESH = true;
				
				if (AD_REFRESH) {
					switch (pcw_ad_site) {
						
							case 'pcw_news':
							
								break;
						
							case 'pcw_reviews':
							
								break;
						
							case 'pcw_downloads':
							
								break;
						
							case 'pcw_shopping':
							
								break;
						
							case 'pcw_home':
							
								break;
						
					}
				}
			
------=_NextPart_000_0000_01C759E8.BC35DDC0--
