From: <Opgeslagen met Windows Internet Explorer 7>
Subject: IN VIVO IMAGING: Optical molecular imaging: closer to clinical - BioOptics World
Date: Sun, 21 Feb 2010 12:15:28 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_008E_01CAB2EF.8E64A990"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/index/biophotonics/display/bow-article-display/370799/articles/biooptics-world/volume-2/issue-6/departments/news-views/in-vivo-imaging-optical-molecular-imaging-closer-to-clinical.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>IN VIVO IMAGING: Optical molecular imaging: closer to =
clinical - BioOptics World</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.6000.16981" name=3DGENERATOR></HEAD>
<BODY class=3Dbody leftMargin=3D0 topMargin=3D0 marginwidth=3D"0" =
marginheight=3D"0">
<SCRIPT src=3D"http://www.optoiq.com/javascript/prototype.1.6.0.3.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.optoiq.com/javascript/scriptaculous.js?load=3Deffects" =

type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.optoiq.com/javascript/utils/StringUtils.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.optoiq.com/javascript/navigation/utils.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.optoiq.com/javascript/mbox.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.optoiq.com/javascript/topiccenter/topiccentersaveagent.=
js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.optoiq.com/javascript/topiccenter/topiccenterfetchagent=
.js"=20
type=3Dtext/javascript></SCRIPT>

<DIV class=3DmboxDefault></DIV>
<SCRIPT language=3DJavaScript1.2>
			mboxCreate('global');
		</SCRIPT>
<!-- googleon: all -->
<META content=3D2009-11-01 name=3Dlast-modified-date>
<META=20
content=3D"Optical molecular imaging continues its steady march toward =
the clinic as demonstrated by a number of talks at the World Molecular =
Imaging Conference (September 23&amp;ndash;26, Montreal, QC, Canada)."=20
name=3Ddescription>
<META content=3D"" name=3Dkeywords>
<META content=3DNOARCHIVE name=3DROBOTS><!-- Compact Privacy Policy =
Reference to allow IE6 to download our cookies-->
<META http-equiv=3DP3P content=3D'CP=3D"Pennwell Privacy Policy"'=20
href=3D"/privacypolicy/privacypolicy.xml"><!-- googleoff: all -->
<SCRIPT type=3Dtext/javascript>
	        	document.domain=3D"optoiq.com";
	        	pwSitelifePrefix=3D"http://sitelife.optoiq.com";
	        </SCRIPT>

<SCRIPT src=3D"http://sitelife.optoiq.com/ver1.0/SiteLifeProxy"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://sitelife.optoiq.com/ver1.0/Direct/DirectProxy"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.optoiq.com/javascript/pennwell_user.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.optoiq.com/javascript/pennwell_pluck_utils.js" =

type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.optoiq.com/javascript/pennwell_pluck_gallery.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK href=3D"http://www.optoiq.com/stylesheets/header2.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK =
href=3D"http://www.optoiq.com/stylesheets/content4.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.optoiq.com/stylesheets/footer1.css" type=3Dtext/css=20
rel=3Dstylesheet><LINK =
href=3D"http://www.optoiq.com/stylesheets/extendedfooter.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.optoiq.com/stylesheets/componentlevel.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<SCRIPT language=3DJavaScript=20
src=3D"http://www.optoiq.com/javascript/security/forgotpassword.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.optoiq.com/javascript/security/callbackhandler.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.optoiq.com/javascript/navigation/tertiary_navigation_ma=
nager.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK =
href=3D"http://www.optoiq.com/optoiq-2/en-us/docroot/style/optoiq2.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.optoiq.com/optoiq-2/en-us/docroot/style/optoiq2BOW.css=
"=20
type=3Dtext/css rel=3Dstylesheet>
<DIV id=3Dsitecatayst><!-- site catalyst component -->
<SCRIPT language=3DJavaScript type=3Dtext/javascript>
            <!--
                ( function() {
                    // site catalyst component
                    var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                    var map =3D 'TCSiteCatalystMap';
                    var key =3D '';
                    var saveAgent =3D new TopicCenterSaveAgent();
                    saveAgent.saveToSession( url, map, key, =
'articles.biooptics-world.volume-2.issue-6.departments.news-views.in-vivo=
-imaging-optical-molecular-imaging-closer-to-clinical', function( =
transport ) {
                        original_json =3D =
transport.responseText.evalJSON( true );
                    });
                })();
            //-->
            </SCRIPT>

<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV id=3Dportalnavigation><!-- check structure and dropdownstructure =
--><!--the calculated include =
path=3D"/optoiq-2/en-us/index.navSSI.Style.portalnavigation.html" -->
<STYLE type=3Dtext/css>#template #lbWrapper {
	BACKGROUND: #000000
}
#topnavcontainer A {
	FONT-WEIGHT: bold; COLOR: #fff; TEXT-DECORATION: none
}
#topnav1 {
	BACKGROUND: url(/optoiq-2/en-us/docroot/Images/portalNavBG.png) =
no-repeat; MARGIN: 0px auto; WIDTH: 993px; HEIGHT: 30px; TEXT-ALIGN: =
center
}
#topnavcontainer {
	MARGIN: 0px auto; WIDTH: 634px
}
#topnav1 #topnavcontainer UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#topnav1 #topnavcontainer LI {
	FONT-SIZE: 12px; FLOAT: left; MARGIN: 0px; LINE-HEIGHT: 29px; =
LIST-STYLE-TYPE: none
}
#topnav1 #topnavcontainer LI A {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px
}
#topnav1 #topnavcontainer LI LI {
	FLOAT: none; LINE-HEIGHT: 20px; LIST-STYLE-TYPE: none
}
#topnav1 #topnavcontainer .separator {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(/optoiq-2/en-us/docroot/Images/divider.png) no-repeat; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN-LEFT: 0px; WIDTH: 2px; MARGIN-RIGHT: 0px; =
PADDING-TOP: 0px; HEIGHT: 30px
}
#OPTO2 {
	BACKGROUND: url(/optoiq-2/en-us/docroot/Images/homePBG.png) no-repeat =
center bottom
}
.highlighted#OPTO2 {
	BACKGROUND: #c01d2e
}
#OPTO2:hover {
	BACKGROUND: #c01d2e
}
#LFW {
	BACKGROUND: url(/optoiq-2/en-us/docroot/Images/lfwPBG.png) no-repeat =
center bottom
}
.highlighted#LFW {
	BACKGROUND: #005baa
}
#LFW:hover {
	BACKGROUND: #005baa
}
#ILS {
	BACKGROUND: url(/optoiq-2/en-us/docroot/Images/ilsPBG.png) no-repeat =
center bottom
}
.highlighted#ILS {
	BACKGROUND: #2dafbc
}
#ILS:hover {
	BACKGROUND: #2dafbc
}
#BOW {
	BACKGROUND: url(/optoiq-2/en-us/docroot/Images/bowPBG.png) no-repeat =
center bottom
}
.highlighted#BOW {
	BACKGROUND: #68904a
}
#BOW:hover {
	BACKGROUND: #68904a
}
#VSD {
	BACKGROUND: url(/optoiq-2/en-us/docroot/Images/vsdPBG.png) no-repeat =
center bottom
}
.highlighted#VSD {
	BACKGROUND: #a80e17
}
#VSD:hover {
	BACKGROUND: #a80e17
}
#topnav1 #topnavcontainer:hover LI.selected {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 9px! important; PADDING-LEFT: =
9px! important; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 1px! important; PADDING-TOP: 1px! important; =
BORDER-RIGHT-WIDTH: 0px
}
#topnav1 #topnavcontainer .sfhover .selected {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 9px! important; PADDING-LEFT: =
9px! important; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 1px! important; PADDING-TOP: 1px! important; =
BORDER-RIGHT-WIDTH: 0px
}
</STYLE>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
		// Fix for IE 6 flicker issue on cursor change
		try {
			document.execCommand("BackgroundImageCache", false, true);
		} catch(err) {};
	=09
		// Cursor change for mouseover/mouseoff header for link to home page
		function changeCursor(curType) {
			document.body.style.cursor =3D curType;
		}
	</SCRIPT>

<DIV id=3Dtopnav1>
<DIV id=3Dtopnavcontainer align=3Dcenter><SPAN =
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-home><A id=3DOPTO2 =
href=3D"http://www.optoiq.com/index.html">OptoIQ</A>=20
  </LI></UL><SPAN class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-LFW><A id=3DLFW=20
  =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications.h=
tml">Laser=20
  Focus World</A> </LI></UL><SPAN class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-VSD><A id=3DVSD=20
  =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing.htm=
l">Vision=20
  Systems Design</A> </LI></UL><SPAN class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-ILS><A id=3DILS=20
  =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing.html">Indust=
rial=20
  Laser Solutions</A> </LI></UL><SPAN class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-BOW><A id=3DBOW=20
  href=3D"http://www.optoiq.com/index/biophotonics.html">BioOptics =
World</A>=20
</LI></UL><SPAN class=3Dseparator><BR></SPAN></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV><!-- end check structure and =
dropdownstructure -->
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV id=3DtemplateOuterLeft>
<DIV id=3DtemplateOuterRight>
<DIV id=3Dtemplate>
<DIV id=3Dheader>
<DIV id=3DtopHeader>
<DIV id=3DlbWrapper>
<DIV id=3DLBleft>
<DIV id=3DLBright>
<DIV id=3DLBcenter>
<DIV id=3DtopLeaderBoard>
<DIV class=3Darticleaddisplay>
<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
            var _version =3D 10; //--></SCRIPT>

<SCRIPT language=3DJavaScript1.1 type=3Dtext/javascript>
                <!--
                _version =3D 11;
                if (navigator.userAgent.indexOf('Mozilla/3') !=3D -1) {
                    _version =3D 10;
                }
                // -->
            </SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
                <!--
                var adPool =3D null;
                var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                var map =3D 'TCAdPoolMap';

                var fetchAgent =3D new TopicCenterFetchAgent();
                fetchAgent.fetchMapping(url, map, function(transport) {
                    var json =3D transport.responseText.evalJSON(true);

                    //Make sure we got a response of type JSON
                    if (json !=3D null) {
                        var adPool =3D json.result.TCAdPoolMap;
                        if (adPool =3D=3D null || adPool =3D=3D 'null' =
|| adPool.length <=3D 0) {
                            adPool =3D 'BOW.pennnet.com/ros';
                        }
                        if (_version < 11) {
                            document.write('<a =
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Top?1265843896545" target=3D"_top" =
><img src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/' + =
adPool + '@Top,Right1,Right2,Right3,Bottom!Top?1265843896545" =
border=3D"0"></a>');
                        } else {
                            document.write('<SCR' + 'IPT =
LANGUAGE=3D"JavaScript1.1" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Top?1265843896545">');
                            document.write('<' + '!-- -' + '->');
                            document.write('</SCR' + 'IPT>');
                        }
                    }
                });
                //-->
            </SCRIPT>
</DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV></DIV></DIV>
<DIV id=3Dbranding>
<DIV class=3Dbranding-image><A =
href=3D"http://www.optoiq.com/index.html"><IMG=20
alt=3D"brand image"=20
src=3D"http://www.optoiq.com/etc/medialib/platform-7/optoiq-2/site-images=
.Par.13711.Image.0.0.1.png"=20
border=3Dno></A> </DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV>
<DIV id=3DutilityBar><A id=3DPWUserAvatarLink=20
href=3D"http://www.optoiq.com/index/biophotonics/display/bow-article-disp=
lay/370799/articles/biooptics-world/volume-2/issue-6/departments/news-vie=
ws/"></A>
<DIV id=3DPWUserAvatar><IMG id=3DPWUserAvatarImg alt=3D"User Image"=20
src=3D"http://www.optoiq.com/Images/general/no-user-image.gif"> </DIV>
<DIV id=3DutilityWelcomeMessage>Hello<SPAN id=3DPWUserName></SPAN><SPAN=20
id=3DoptoIqScore style=3D"DISPLAY: none"></SPAN> </DIV><BR>
<DIV id=3DprofileLinks><A id=3Dlogout-link style=3D"DISPLAY: none"=20
href=3D"http://www.optoiq.com/index/logout.html">Log Out</A> <A =
id=3Dlogin-link=20
href=3D"http://www.optoiq.com/index/login.html">Log In</A> <SPAN=20
id=3Dregister-link>| <A=20
href=3D"http://www.optoiq.com/index/biophotonics/display/bow-article-disp=
lay/omedastart.QP129867.cb=3D+optoiq-2+en-us+index+biophotonics+display+b=
ow-article-display~articles~biooptics-world~volume-2~issue-6~departments~=
news-views~in-vivo-imaging-optical-molecular-imaging-closer-to-clinical.h=
tml">Register</A></SPAN>=20
</DIV>
<DIV id=3Dutility-bar-advsearchdiv><A id=3Dutility-bar-searchtext=20
href=3D"http://www.optoiq.com/index/search/advanced-search.html">Advanced=
=20
Search</A> </DIV>
<SCRIPT language=3DJavaScript>
            	if (typeof pwUser !=3D=3D 'object') {
                	pwUser =3D {};
            	}
            	pwUser.lookup =3D {
           =20
           =20
            		type: 'check',
            		callback: pwUser.showUser
           =20
           =20
           =20
            	};


                        new Ajax.Request( =
'/optoiq-2/en-us/index.userlookup.html?ts=3D' + new Date().getTime(), {
                            method : 'post',
                            parameters : {
                                act: pwUser.lookup.type
                            },
                            onSuccess : function( transport ) {
                                var json =3D =
transport.responseText.evalJSON( true );
                                if ( json !=3D null ) {
                                	pwUser.lookup.callback(json);
                                }
                            }
                        });

                </SCRIPT>

<DIV id=3Dsubscribe>Subscribe: </DIV>
<FORM id=3Dutility-bar-searchForm name=3DSearchForm =
action=3D/index/search.html=20
method=3Dget><INPUT type=3Dhidden value=3D"opto " name=3Dsi> <INPUT =
type=3Dhidden=20
value=3Dopto name=3Dcollection> <INPUT=20
style=3D"FONT-SIZE: 12px; WIDTH: 193px; HEIGHT: 15px" name=3Dkeywords> =
<INPUT=20
type=3Dimage=20
src=3D"http://www.optoiq.com/etc/medialib/platform-7/optoiq2/site-images.=
Par.3212.Image.0.0.1.gif"=20
align=3Dtop>=20
<DIV id=3Dutility-bar-ads>
<SCRIPT=20
src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/@?12658438965=
60"=20
type=3Dtext/javascript>
                        <!--
	        	          _version=3D10;
		                  _version=3D11;

		                   if (navigator.appVersion.indexOf('MSIE 3') !=3D =
-1){
			                 document.write('<IFRAME WIDTH=3D HEIGHT=3D =
MARGINWIDTH=3D0 MARGINHEIGHT=3D0 HSPACE=3D0 VSPACE=3D0 FRAMEBORDER=3D0 =
SCROLLING=3Dno BORDERCOLOR=3D"#000000" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_sx.ads/@?12658438965=
60"></iframe>');
		                   } else if (_version < 11) {
			                   document.write ('<A =
HREF=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/@?1265843896560=
"><IMG =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/@?12658438965=
60" ></a>');
		                   }
		               // -->
                      </SCRIPT>
<NOSCRIPT><A=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/@?1265843896560=
"><IMG=20
src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/@?12658438965=
60"=20
border=3D0></A> </NOSCRIPT></DIV></FORM>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV id=3DrteArea><SPAN style=3D"TEXT-ALIGN: right"><IMG alt=3DOptoIQ=20
src=3D"http://www.optoiq.com/optoiq-2/en-us/docroot/Images/pageBrandingBO=
W.png"></SPAN>=20
</DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV id=3Dnavigation><!-- check structure and dropdownstructure =
--><!--the calculated include =
path=3D"/optoiq-2/en-us/index.navSSI.Style.navigation.html" -->
<SCRIPT language=3Djavascript type=3Dtext/javascript><!--
	=09
		sfHover =3D function() {
			var sfEls =3D =
document.getElementById("topnav").getElementsByTagName("LI");
			for (var i=3D0; i<sfEls.length; i++) {
				sfEls[i].onmouseover=3Dfunction() {
					this.className+=3D" sfhover";
				}
				sfEls[i].onmouseout=3Dfunction() {
					this.className=3Dthis.className.replace(new RegExp(" sfhover\\b"), =
"");
				}
			}
			var sfDivs =3D document.getElementsByTagName("DIV");
			for (var i=3D0; i<sfDivs.length; i++) {
				sfDivs[i].onmouseover=3Dfunction() {
					this.className+=3D" sfhover";
				}
				sfDivs[i].onmouseout=3Dfunction() {
					this.className=3Dthis.className.replace(new RegExp(" sfhover\\b"), =
"");
				}
			}
		}
		if (window.attachEvent) window.attachEvent("onload", sfHover);
	=09
	// -->
  Event.observe(window, 'load', function( e ){

      var url =3D window.location.toString();
      var photonicslink =3D =
$('nav-photonics').down('a').href.replace('.html','');
      var machinevisionlink =3D =
$('nav-machinevision').down('a').href.replace('.html','');
      var biophotonicslink =3D =
$('nav-biophotonics').down('a').href.replace('.html','');
      var laserslink =3D =
$('nav-lasers').down('a').href.replace('.html','');
      var homelink =3D $('nav-home').down('a').href.replace('.html','');
      var productslink =3D =
$('nav-products').down('a').href.replace('.html','');
      var communitylink =3D =
$('nav-community').down('a').href.replace('.html','');
      var jobslink =3D $('nav-jobs').down('a').href.replace('.html','');
      var advertiselink =3D =
$('nav-advertise').down('a').href.replace('.html','');


      if(url.include(photonicslink)){
         $('nav-photonics').toggleClassName('LFWhighlighted');
         $('LFW').toggleClassName('highlighted');
      } else if(url.include(machinevisionlink)){
         $('nav-machinevision').toggleClassName('VSDhighlighted');
          $('VSD').toggleClassName('highlighted');
      } else if(url.include(biophotonicslink)){
         $('nav-biophotonics').toggleClassName('BIOhighlighted');
          $('BOW').toggleClassName('highlighted');
      } else if(url.include(laserslink)){
         $('nav-lasers').toggleClassName('ILShighlighted');
          $('ILS').toggleClassName('highlighted');
      } else if(url.include(productslink)){                  =20
         $('nav-products').toggleClassName('OIQhighlighted');
          $('OPTO2').toggleClassName('highlighted');
      } else if(url.include(communitylink)){
         $('nav-community').toggleClassName('OIQhighlighted');
          $('OPTO2').toggleClassName('highlighted');
      } else if(url.include(jobslink)){
         $('nav-jobs').toggleClassName('OIQhighlighted');
          $('OPTO2').toggleClassName('highlighted');
      } else if(url.include(advertiselink)){
         $('nav-advertise').toggleClassName('OIQhighlighted');
          $('OPTO2').toggleClassName('highlighted');
      } else if(url.match(homelink)){
         $('main-nav-home').toggleClassName('OIQhighlighted');
         $('OPTO2').toggleClassName('highlighted');
      }
  });


</SCRIPT>

<DIV id=3Dtopnav>
<UL>
  <LI id=3Dmain-nav-home><A =
href=3D"http://www.optoiq.com/index.html">Home</A>=20
  <DIV class=3Dsubmenu>
  <DIV class=3D"nav-home submenu-onecol wrapper-col">
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A href=3D"http://www.optoiq.com/index/resources.html">Resource =
Center</A>=20

    <UL class=3Dtertiary>
      <LI><A href=3D"http://www.optoiq.com/index/blogs.html">Blogs</A>=20
      <LI><A =
href=3D"http://www.optoiq.com/index/podcasts.html">Podcasts</A>=20
      <LI><A =
href=3D"http://www.optoiq.com/index/webcasts.html">Webcasts</A>=20
      <LI><A href=3D"http://www.optoiq.com/index/video.html">Videos</A>=20
      <LI><A href=3D"http://www.optoiq.com/index/whitepapers.html">White =

      Papers</A>=20
      <LI><A href=3D"http://www.optoiq.com/index/edigest.html">Editorial =

      Digests</A>=20
      <LI><A href=3D"http://www.optoiq.com/index/events.html">Events</A> =

      <LI><A =
href=3D"http://www.optoiq.com/index/industry-links.html">Industry=20
      Links</A> </LI></UL>
    <LI><A =
href=3D"http://www.optoiq.com/index/magazines.html">Magazines</A>=20
    <LI><A =
href=3D"http://www.optoiq.com/index/newsletters.html">Newsletters</A>=20
    <LI><A =
href=3D"http://www.optoiq.com/index/subscribe.html">Subscribe</A>=20
    <LI><A href=3D"http://www.optoiq.com/index/about-us.html">About =
OptoIQ</A>=20
    <LI><A href=3D"http://www.optoiq.com/index/contact-us.html">Contact =
OptoIQ</A>=20
    </LI></UL></DIV>
  <DIV style=3D"CLEAR: both"></DIV></DIV>
  <DIV class=3D"submenu-onecol "></DIV></DIV></LI></UL><SPAN=20
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-photonics><A=20
  =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications.h=
tml">Photonics=20
  Technologies &amp; Applications</A>=20
  <DIV class=3Dsubmenu>
  <DIV class=3D"nav-photonics submenu-threecol wrapper-col">
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-resource-center.html">Resource=20
    Center</A>=20
    <UL class=3Dtertiary>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-blogs.html">Blogs</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-webcasts.html">Webcasts</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-video.html">Videos</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-whitepapers.html">White=20
      Papers</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-editorialdigests.html">Editorial=20
      Digests</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-industry-events.html">Events</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-industry-links.html">Industry=20
      Links</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-products.html">Product=20
      Center</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-product-showcase.html">Focus=20
      on Products</A> </LI></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-current-issue.html">Current=20
    Issue</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-past-issue.html">Past=20
    Issues</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-business-center.html">Business=20
    Center</A>=20
    <LI><A=20
    =
href=3D"http://pennwell.365media.com/laserfocusworld/search.html">Buyers =

    Guide</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-magazines.html">Magazines</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-newsletters.html">eNewsletters</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/n=
ewsletter-archive.html">eNewsletter=20
    Archives</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-subscribe.html">Subscribe</A>=20

    <LI><A =
href=3D"http://www.optoiq.com/index/contribute.html">Contribute</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-about-us.html">About=20
    Laser Focus World</A> </LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets.html">Applications=20
    &amp; Markets</A>=20
    <UL class=3Dtertiary id=3Dpta_apps_and_markets>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets/science-research.html">Science=20
      &amp; Research</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets/defense-security-sensing.html">Defense,=20
      Security &amp; Sensing</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets/biophotonics.html">Biophotonics</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets/materials-processing.html">Materials=20
      Processing</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets/lfw-energy-environment.html">Energy=20
      &amp; Environment</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/l=
fw-applications-markets/communications-it.html">Communications=20
      &amp; IT</A> </LI></UL></LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products.html">Technology=20
    &amp; Products</A>=20
    <UL class=3Dtertiary id=3Dpta_tech_and_products>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/instrumentation.html">Instrumentation</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/imaging-detectors.html">Imaging=20
      &amp; Detectors</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/fiber-optics.html">Fiber=20
      Optics</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/lasers-sources.html">Lasers=20
      &amp; Sources</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/parts-accessories.html">Parts=20
      &amp; Accessories</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/positioning-support.html">Positioning=20
      &amp; Support</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/optical-manufacturing.html">Optical=20
      Manufacturing</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/test-measurement.html">Test=20
      &amp; Measurement</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/lfw-software.html">Software</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/photonics-technologies-applications/t=
echnology-products/optical-components.html">Optical=20
      Components</A> </LI></UL></LI></UL></DIV>
  <DIV style=3D"CLEAR: both"></DIV></DIV>
  <DIV class=3D"submenu-threecol "></DIV></DIV></LI></UL><SPAN=20
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-machinevision><A=20
  =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing.htm=
l">Machine=20
  Vision &amp; Image Processing</A>=20
  <DIV class=3Dsubmenu>
  <DIV class=3D"nav-machinevision submenu-threecol wrapper-col">
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-resource-center.html">Resource=20
    Center</A>=20
    <UL class=3Dtertiary>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-blogs.html">Blogs</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/cam=
era-directory.html">Camera=20
      Directory</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-products.html">Product=20
      Center</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-product-showcase.html">Product=20
      Showcase</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-webcasts.html">Webcasts</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-video-showcase.html">Video=20
      Showcase</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-video.html">Video=20
      Library</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-whitepapers.html">White=20
      Papers</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-industry-events.html">Events</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-industry-links.html">Industry=20
      Links</A> </LI></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-current-issue.html">Current=20
    Issue</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-past-issues.html">Past=20
    Issues</A>=20
    <LI><A=20
    =
href=3D"http://pennwell.365media.com/visionsystemsdesign/search.html">Buy=
ers=20
    Guide</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-magazines.html">Magazines</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-newsletters.html">Newsletters</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-subscribe.html">Subscribe</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-contribute.html">Contribute</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-about-us.html">About=20
    Vision Systems Design</A> </LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets.html">Applications=20
    &amp; Markets</A>=20
    <UL class=3Dtertiary id=3Dmvip_apps_and_markets>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets/factory-automation.html">Factory=20
      Automation</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets/medical-pharmaceutical.html">Medical=20
      &amp; Pharmaceutical</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets/packaging.html">Packaging</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets/vsd-energy-environment.html">Energy=20
      &amp; Environment</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets/defense-security-research.html">Defense,=20
      Security &amp; Research</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-applications-markets/vision-guided-robotics.html">Vision-Guided=20
      Robotics</A> </LI></UL></LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products.html">Technology=20
    &amp; Products</A>=20
    <UL class=3Dtertiary id=3Dmvip_tech_and_products>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/cameras-sensors.html">Cameras=20
      &amp; Sensors</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/smart-cameras.html">Smart=20
      Cameras</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/vsd-software.html">Software</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/vision-system-boards.html">Vision=20
      System Boards</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/lighting.html">Lighting</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/optics-lenses.html">Optics=20
      &amp; Lenses</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/vsd-high-speed-imaging.html">High-Speed=20
      Imaging</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing/vsd=
-technologies-products/infrared-uv-x-ray.html">Infrared=20
      &amp; Nonvisible Imaging</A> </LI></UL></LI></UL></DIV>
  <DIV style=3D"CLEAR: both"></DIV></DIV>
  <DIV class=3D"submenu-threecol "></DIV></DIV></LI></UL><SPAN=20
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-lasers><A=20
  =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing.html">Lasers=
 for=20
  Manufacturing</A>=20
  <DIV class=3Dsubmenu>
  <DIV class=3D"nav-lasers submenu-twocol wrapper-col">
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-resource=
-center.html">Resource=20
    Center</A>=20
    <UL class=3Dtertiary>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-blogs.ht=
ml">Blogs</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-laser-ma=
rkets.html">Laser=20
      Markets</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-products=
.html">Products</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-industry=
-events.html">Events</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-applicat=
ionnotes.html">Application=20
      Notes</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-video.ht=
ml">Video</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-webcasts=
.html">Webcasts</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-industry=
-links.html">Industry=20
      Links</A> </LI></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-topic-de=
scriptions.html">Topic=20
    Descriptions</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-current-=
issue.html">Current=20
    Issue</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-past-iss=
ues.html">Past=20
    Issues</A>=20
    <LI><A=20
    =
href=3D"http://pennwell.365media.com/industriallasersolutions/search.html=
">Buyers=20
    Guide</A>=20
    <LI><A=20
    =
href=3D"http://pennwell.365media.com/industriallasersolutionsjobshops/sea=
rch.html">Job=20
    Shop Directory</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-issue-ma=
gazines.html">Magazines</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-newslett=
ers.html">Newsletters</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-subscrib=
e.html">Subscribe</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-about-us=
.html">About=20
    Industrial Laser Solutions</A> </LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/laser-cuttin=
g.html">Laser=20
    Cutting</A>=20
    <UL class=3Dtertiary id=3Dlfm_laser_cutting></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/laser-weldin=
g.html">Laser=20
    Welding</A>=20
    <UL class=3Dtertiary id=3Dlfm_laser_welding></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/laser-markin=
g-engraving.html">Laser=20
    Marking &amp; Engraving</A>=20
    <UL class=3Dtertiary id=3Dlfm_laser_marking_and_engraving></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/rapid-manufa=
cturing.html">Rapid=20
    Manufacturing</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/laser-microm=
achining.html">Laser=20
    Micromachining</A>=20
    <UL class=3Dtertiary></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/laser-drilli=
ng.html">Laser=20
    Drilling</A>=20
    <UL class=3Dtertiary id=3Dlfm_laser_drilling></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/laser-surfac=
e-treatment.html">Laser=20
    Surface Treatment</A>=20
    <UL class=3Dtertiary id=3Dlfm_laser_surface_treatment></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing/ils-safety.h=
tml">Laser=20
    Safety</A> </LI></UL></DIV>
  <DIV style=3D"CLEAR: both"></DIV></DIV>
  <DIV class=3D"submenu-twocol "></DIV></DIV></LI></UL><SPAN=20
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-biophotonics><A=20
  =
href=3D"http://www.optoiq.com/index/biophotonics.html">Biophotonics</A>=20
  <DIV class=3Dsubmenu>
  <DIV class=3D"nav-biophotonics submenu-fourcol wrapper-col">
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-resource-center.html=
">Resource=20
    Center</A>=20
    <UL class=3Dtertiary>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/bow-blogs.html">Blogs</A=
>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/bow-podcast.html">Podcas=
ts</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/bow-webcasts.html">Webca=
sts</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/bow-video.html">Videos</=
A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/bow-industry-events.html=
">Events</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/bow-industry-links.html"=
>Industry=20
      Links</A> </LI></UL>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-buyers-guide.html">B=
uyers=20
    Guide</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-current-issue.html">=
Current=20
    Issue</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-past-issue.html">Pas=
t=20
    Issues</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-magazines.html">Maga=
zines</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-newsletters.html">Ne=
wsletters</A>=20

    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-subscribe.html">Subs=
cribe</A>=20

    <LI><A =
href=3D"http://www.optoiq.com/index/contribute.html">Contribute</A>=20
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/bow-about-us.html">About=
=20
    BioOptics World</A> </LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/specialties.html">Specia=
lties</A>=20

    <UL class=3Dtertiary id=3Dbio_specialties>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/dermatology-=
cosmetic-surgery.html">Dermatology=20
      &amp; Cosmetic Surgery</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/ophthalmolog=
y.html">Ophthalmology</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/oncology-can=
cer.html">Oncology/Cancer=20
      </A>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/cell-biology=
.html">Cell=20
      Biology</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/more-special=
ties.html">More=20
      Specialties</A> </LI></UL></LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging.html"=
>Biomedical=20
    Imaging</A>=20
    <UL class=3Dtertiary id=3Dbio_biomedical_imaging>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging/bow-m=
icroscopy.html">Microscopy</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging/optic=
al-coherence-tomography.html">OCT</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging/molec=
ular-imaging.html">Molecular=20
      Imaging</A> </LI></UL></LI></UL></DIV>
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/biophotonics/techniques.html">Techniq=
ues</A>=20

    <UL class=3Dtertiary id=3Dbio_techniques>
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/techniques/spectroscopy.=
html">Spectroscopy</A>=20

      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/techniques/cytometry-cel=
l-sorting.html">Cytometry=20
      &amp; Cell Sorting</A>=20
      <LI><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/techniques/dna-sequencin=
g-analysis.html">DNA=20
      Sequencing &amp; Analysis</A> </LI></UL></LI></UL></DIV>
  <DIV style=3D"CLEAR: both"></DIV></DIV>
  <DIV class=3D"submenu-fourcol "></DIV></DIV></LI></UL><SPAN=20
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-products><A=20
  href=3D"http://www.optoiq.com/index/oiq-products.html">Products</A>=20
</LI></UL><SPAN class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-community><A=20
  href=3D"http://www.optoiq.com/index/community.html">Community</A>=20
  <DIV class=3Dsubmenu>
  <DIV class=3D"nav-community1 submenu-onecol wrapper-col">
  <DIV class=3Dsubmenu-col>
  <UL class=3Dsubnavlist>
    <LI><A=20
    =
href=3D"http://www.optoiq.com/index/community/personal-profile.html">Pers=
onal=20
    Profile</A>=20
    <LI><A =
href=3D"http://www.optoiq.com/index/glossary.html">Glossary</A>=20
  </LI></UL></DIV>
  <DIV style=3D"CLEAR: both"></DIV></DIV>
  <DIV class=3D"submenu-onecol "></DIV></DIV></LI></UL><SPAN=20
class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-jobs><A =
href=3D"http://www.optoiq.com/index/jobs.html">Jobs</A>=20
</LI></UL><SPAN class=3Dseparator><BR></SPAN>
<UL>
  <LI id=3Dnav-advertise><A=20
  href=3D"http://www.optoiq.com/index/advertise.html">Advertise</A> =
</LI></UL><SPAN=20
class=3Dseparator><BR></SPAN></DIV>
<DIV class=3D"topnav "></DIV>
<DIV style=3D"CLEAR: both"></DIV><!-- end check structure and =
dropdownstructure -->
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV>
<DIV id=3Dcontainer>
<DIV id=3DcontainerTopParsys>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV id=3DleftColWrapper>
<DIV id=3DleftColumn>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD width=3D"70%"><IMG height=3D1=20
      src=3D"http://www.optoiq.com/libs/CFC/content/statics.0.gif" =
width=3D1></TD>
    <TD width=3D3><IMG height=3D1=20
      src=3D"http://www.optoiq.com/libs/CFC/content/statics.0.gif" =
width=3D3></TD>
    <TD width=3D"27%"><IMG height=3D1=20
      src=3D"http://www.optoiq.com/libs/CFC/content/statics.0.gif" =
width=3D1></TD></TR>
  <TR>
    <TD vAlign=3Dtop align=3Dleft>
      <SCRIPT type=3Dtext/javascript>
	function changeSize(size) { 	 =20
	  if ($("paragraphs") !=3D null) 	      =20
	    $("paragraphs").setStyle({ fontSize : size + "px" });
	   =20
	  if ($("ContentBody") !=3D null)
	     document.getElementById('ContentBody').style.fontSize=3Dsize+"px"; =
 =20
	}
=09
	function printExternal() {           =20
	   var printWindow =3D =
window.open("/optoiq-2/en-us/index/biophotonics/display/bow-articles-tool=
s-template._printArticle.articles.biooptics-world.volume-2.issue-6.depart=
ments.news-views.in-vivo-imaging-optical-molecular-imaging-closer-to-clin=
ical.html" , "prtDoc");=20
	   printWindow.focus();
	   //printWindow.location.reload( false ); 	  =20
	   //printWindow.print();
	 =20
    }
</SCRIPT>

      <DIV class=3Dart-tools-toolbox>
      <TABLE class=3Dart-tools-toolLinks>
        <TBODY>
        <TR class=3Dart-tools-toolblock>
          <TD class=3Dart-tools-images><IMG class=3Dart-tools-printIcon=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
48158.Image.0.0.1.gif">=20
            <SPAN class=3Dart-tools-printText><A=20
            =
href=3D"http://www.optoiq.com/index/biophotonics/display/bow-articles-too=
ls-template/_printArticle/articles/biooptics-world/volume-2/issue-6/depar=
tments/news-views/in-vivo-imaging-optical-molecular-imaging-closer-to-cli=
nical.html"=20
            target=3DprintScreen>Print</A></SPAN> <IMG =
class=3Dart-tools-emailIcon=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
58771.Image.0.0.1.gif">=20
            <SPAN class=3Dart-tools-printText><A=20
            =
href=3D"http://www.optoiq.com/index/biophotonics/display/bow-articles-too=
ls-template/_emailArticle/articles/biooptics-world/volume-2/issue-6/depar=
tments/news-views/in-vivo-imaging-optical-molecular-imaging-closer-to-cli=
nical.html"=20
            target=3DemailScreen>Email</A></SPAN> <IMG =
class=3Dart-tools-saveIcon=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
52123.Image.0.0.1.gif">=20
            <SPAN class=3Dart-tools-printText><A=20
            =
href=3D"http://www.optoiq.com/index/biophotonics/display/bow-articles-too=
ls-template/_saveArticle/articles/biooptics-world/volume-2/issue-6/depart=
ments/news-views/in-vivo-imaging-optical-molecular-imaging-closer-to-clin=
ical.html"=20
            target=3DsaveScreen>Save</A></SPAN> </TD>
          <TD class=3Dart-tools-font-image1><SPAN =
class=3Dart-tools-fontSizer><A=20
            href=3D"javascript:changeSize('10');"><IMG=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
10273.Image.0.0.1.gif"></A>=20
            </SPAN></TD>
          <TD class=3Dart-tools-font-image2><SPAN =
class=3Dart-tools-fontSizer><A=20
            href=3D"javascript:changeSize('12');"><IMG=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
48411.Image.0.0.1.gif"></A>=20
            </SPAN></TD>
          <TD class=3Dart-tools-font-image3><SPAN =
class=3Dart-tools-fontSizer><A=20
            href=3D"javascript:changeSize('14');"><IMG=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
41352.Image.0.0.1.gif"></A>=20
            </SPAN></TD>
          <TD class=3Dart-tools-font-image4><SPAN =
class=3Dart-tools-fontSizer><A=20
            href=3D"javascript:changeSize('16');"><IMG=20
            =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.=
33714.Image.0.0.1.gif"></A>=20
            </SPAN></TD></TR></TBODY></TABLE></DIV>
      <DIV style=3D"CLEAR: both"></DIV>
      <DIV class=3Dweb-2.0-tools id=3Dweb20tools><!-- AddThis Bookmark =
Button BEGIN -->
      <SCRIPT type=3Dtext/javascript>
			  addthis_url    =3D location.href;  =20
			  addthis_title  =3D document.title; =20
			  addthis_pub    =3D 'pennwell';    =20
			</SCRIPT>

      <SCRIPT src=3D"http://s7.addthis.com/js/addthis_widget.php?v=3D12" =

      type=3Dtext/javascript></SCRIPT>
<!-- AddThis Bookmark Button END -->| <A=20
      href=3D"http://www.optoiq.com/index/rss.html"><IMG=20
      style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
      alt=3DRssImageAltText=20
      =
src=3D"http://www.optoiq.com/etc/medialib/platform-7/optoiq-2/site-images=
.Par.81849.Image.0.0.1.gif">=20
      <B></B></A></DIV></TD>
    <TD></TD>
    <TD vAlign=3Dtop align=3Dleft>
      <DIV class=3Darticleaddisplay>
      <SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
            var _version =3D 10; //--></SCRIPT>

      <SCRIPT language=3DJavaScript1.1 type=3Dtext/javascript>
                <!--
                _version =3D 11;
                if (navigator.userAgent.indexOf('Mozilla/3') !=3D -1) {
                    _version =3D 10;
                }
                // -->
            </SCRIPT>

      <SCRIPT language=3DJavaScript type=3Dtext/javascript>
                <!--
                var adPool =3D null;
                var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                var map =3D 'TCAdPoolMap';

                var fetchAgent =3D new TopicCenterFetchAgent();
                fetchAgent.fetchMapping(url, map, function(transport) {
                    var json =3D transport.responseText.evalJSON(true);

                    //Make sure we got a response of type JSON
                    if (json !=3D null) {
                        var adPool =3D json.result.TCAdPoolMap;
                        if (adPool =3D=3D null || adPool =3D=3D 'null' =
|| adPool.length <=3D 0) {
                            adPool =3D =
'BOW.pennnet.com/article_tool_bar';
                        }
                        if (_version < 11) {
                            document.write('<a =
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/' + adPool + =
'@Left1?1265843896591" target=3D"_top" ><img =
src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/' + adPool + =
'@Left1?1265843896591" border=3D"0"></a>');
                        } else {
                            document.write('<SCR' + 'IPT =
LANGUAGE=3D"JavaScript1.1" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/' + adPool + =
'@Left1?1265843896591">');
                            document.write('<' + '!-- -' + '->');
                            document.write('</SCR' + 'IPT>');
                        }
                    }
                });
                //-->
            </SCRIPT>
      </DIV>
      <DIV class=3Dpluck-rating id=3Darticle-ratings>
      <SCRIPT language=3DJavaScript>
	   if (typeof gSiteLife =3D=3D=3D "object") {
		   gSiteLife.AddEventHandler('', function() {
		        var myRating =3D $$("div.Ratings_YourRating")[0];
		        if (typeof myRating =3D=3D=3D 'object' && myRating.lastChild) =
{
			        myRating.lastChild.data =3D '';		        }
           });
	       gSiteLife.Rating("ExternalResource", "Article/370799"); }
	   </SCRIPT>
      </DIV></TD></TR></TBODY></TABLE>
<DIV class=3DmboxDefault></DIV>
<SCRIPT language=3DJavaScript1.2>
	=09

		mboxCreate("productPage",
		"entity.id=3Doptoiq-2_IN VIVO IMAGING: Optical molecular imaging: =
closer to clinical",
		"entity.categoryId=3Doptoiq-2",
		"entity.name=3DIN VIVO IMAGING: Optical molecular imaging: closer to =
clinical",
		=
"entity.pageURL=3Dhttp://www.optoiq.com/optoiq-2/en-us/index/biophotonics=
/display/bow-article-display.articles.biooptics-world.volume-2.issue-6.de=
partments.news-views.in-vivo-imaging-optical-molecular-imaging-closer-to-=
clinical.html",
		"entity.message=3DOptical molecular imaging continues its steady march =
toward the clinic as demonstrated by a number of talks at the World =
Molecular Imaging Conference (September 23&ndash;26, Montreal, QC, =
Canada).");
	</SCRIPT>

<SCRIPT type=3Dtext/javascript>

       function rewriteImageUrl(imageurl){
           return imageurl.sub('thm/th_', 'cap/cap_');
       }

       Event.observe(window, 'load', function(){
            $$('center').each(function(link){

                     if(link.down('a') !=3D null){
                         if(link.down('img') !=3D null){
                        Event.observe(link.down('a'), 'click', =
function(){
                          var imagePath =3D =
link.down('img').getAttribute('src');
                          imagePath =3D rewriteImageUrl(imagePath);
                          =
window.open(imagePath,"","width=3D600,height=3D600,resizable=3Dyes,status=
=3Dno,scrollbars=3Dyes,titlebar=3Dno'");
                        });
                      }
                    } else if(link.up('a') !=3D null){
                         var a =3D link.up('a');

                         if(a.down('img') !=3D null){
                             Event.observe(a, 'click', function(){
                          var imagePath =3D =
a.down('img').getAttribute('src');
                          imagePath =3D rewriteImageUrl(imagePath);
                          =
window.open(imagePath,"","width=3D600,height=3D600,resizable=3Dyes,status=
=3Dno,scrollbars=3Dyes,titlebar=3Dno'");
                        });
                      }
                    }
            });




       });//end window load observer.
    </SCRIPT>

<DIV id=3Darticle-display><!-- googleon: all -->
<H1>IN VIVO IMAGING: Optical molecular imaging: closer to =
clinical</H1><BR>
<DIV class=3Darticlepublicationdate><SPAN =
class=3Darticlepublicationdatecnt>Nov 1,=20
2009 </SPAN></DIV>
<DIV class=3Darticle-content-wrapper><SPAN id=3DContentBody>
<P>Optical molecular imaging continues its steady march toward the =
clinic as=20
demonstrated by a number of talks at the World Molecular Imaging =
Conference=20
(September 23=9626, Montreal, QC, Canada). At the meeting=92s kick-off =
keynote,=20
Nobel Prize winner Roger Tsien stressed that surgery and radiation =
therapy offer=20
key opportunities for optical molecular imaging. His group has developed =

synthetic molecules called activatable cell penetrating peptides (ACPP) =
that=20
selectively accumulate in diseased tissue. Brighter and smaller than =
fluorescent=20
proteins, these molecules help visualize small metastases in the lung =
and are=20
useful for surgical guidance.</P>
<TABLE style=3D"CLEAR: right" width=3D720 align=3Dcenter border=3D0>
  <TBODY>
  <TR>
    <TD><A =
href=3D"javascript:OpenLargeWindow(265014,650,666,'IS');"><IMG=20
      height=3D757=20
      =
src=3D"http://images.pennnet.com/articles/bow/thm/th_news%201109%2003.gif=
"=20
      width=3D720 align=3Dcenter border=3D0><BR><FONT =
size=3D1><I><STRONG>FIGURE=20
      1.</STRONG> Using the near-infrared fluorophore indocyanine green, =

      researchers at The University of Texas Health Science =
Center-Houston can=20
      image the human lymphatic system. In this case, six intradermal =
injections=20
      of 25 =B5g ICG in 100 =B5L of saline highlight lymphatic vessels =
in a=20
      patient=92s arm.</I></FONT>
      <CENTER><FONT class=3Dsmall>Click here to enlarge=20
      image</FONT></CENTER><BR></A></TD></TR></TBODY></TABLE>
<P>=93We have found that molecular fluorescence image guidance with ACPP =
is=20
superior to standard surgery,=94 said Tsien. The addition of ACPP to a =
tumor site=20
gives the surgeon a roadmap to fine structures such as nerves. Using =
optical=20
molecular probes like ACPP could help surgeons more aggressively go =
after tumors=20
because they can easily visualize the nerves woven through a solid =
tumor.</P>
<P>The use of the near-infrared fluorophore indocyanine green (ICG) in=20
microdoses has led to the first images of the human lymphatic system as=20
described by John Rasmussen from The Brown Foundation Institute of =
Molecular=20
Medicine, University of Texas Health Science Center (Houston, TX) (see =
Fig. 1).=20
The effective use of small amounts of ICG may allow for more rapid =
approval by=20
the U.S. Food and Drug Administration (FDA) thus enabling more =
widespread=20
clinical use. Often called the forgotten circulation system of the body, =
the=20
lymph system flushes and filters waste from the blood and transports =
proteins=20
through the body. When this system fails, chronic swelling and reduced =
immune=20
response occur. </P>
<H2>Novel applications </H2>
<P>The meeting highlighted several emerging optical technologies and=20
applications. For instance, Adam de la Zerda of Stanford University =
(Stanford,=20
CA) described a prototype photoacoustic system that images new blood =
vessel=20
growth in the eye. Early detection of such growth could lead to better=20
treatments for wet macular degeneration and diabetic retinopathy.</P>
<TABLE style=3D"CLEAR: right" width=3D300 align=3Dcenter border=3D0>
  <TBODY>
  <TR>
    <TD><A =
href=3D"javascript:OpenLargeWindow(265014,650,666,'IS');"><IMG=20
      height=3D179=20
      =
src=3D"http://images.pennnet.com/articles/bow/thm/th_news%201109%2004.jpg=
"=20
      width=3D300 align=3Dcenter border=3D0><BR><FONT =
size=3D1><I><STRONG>FIGURE=20
      2.</STRONG> VisEn Medical=92s FMT 2500 LX (left) and FMT 1500 =
(right)=20
      promise unparalleled true quantification of in vivo biomarkers for =

      measuring disease progression and therapeutic efficacy.</I></FONT>
      <CENTER><FONT class=3Dsmall>Click here to enlarge=20
      image</FONT></CENTER><BR></A></TD></TR></TBODY></TABLE>
<P>Gordon Turner of the Novartis Institutes for Biomedical Research =
(Cambridge,=20
MA) reported the use of optical projection tomography to study drug =
effects on=20
heart disease. Using optical imaging provides faster, more robust data =
than=20
traditional whole slide imaging. </P>
<P>And Ning Zhang of Caliper Life Sciences (Hopkinton, MA) discussed how =

bioluminescence imaging permits longitudinal studies to monitor the =
survival of=20
adipose tissue grafts. This work is particularly important for cosmetic =
and=20
reconstructive surgery because adipose tissue is used in breast =
augmentation,=20
reconstruction of breast defects, and wound healing. </P>
<H2>New agents, new systems</H2>
<P>According to exhibitors, optical imaging agents and multimodality =
systems=20
will drive the field of molecular imaging in the next few years. While =
small=20
animal preclinical studies will continue to provide a solid base for the =
optical=20
molecular imaging market, optical imaging agents ready for clinical =
trials could=20
play a key role in wider acceptance of optical techniques for clinical=20
applications. </P>
<P>One such case is Li-Cor Biosciences=92s (Lincoln, NE) IRDye 800CW PEG =
contrast=20
agent. The agent has shown promising results imaging the human lymphatic =
system,=20
and according to company representatives will be in clinical trials =
within a=20
year. A number of companies such as Caliper Life Sciences, VisEn Medical =

(Bedford, MA), and Care-stream Molecular Imaging (Rochester, NY) are =
ramping up=20
production of current imaging agent products and spending more time and =
money=20
developing new agents in wavelength ranges applicable to humans.</P>
<P>As the agents find new applications, new systems will follow. On =
display at=20
the meeting were several systems either in clinical use or ready for =
use. They=20
included ART/Advanced Research Technologies Inc.=92s (Montreal, QC, =
Canada)=20
Softscan breast imager, Fluoptics=92s (Grenoble, France) handheld =
real-time imager=20
for oncology surgery, and O2View=92s (Marken, the Netherlands) real-time =
Artemis,=20
a multi-spectral NIR fluorescence camera system for surgical =
applications.</P>
<P>In the area of preclinical optical imaging, the hardware has reached =
a level=20
where few technical challenges remain. To enhance their products, then,=20
companies are upgrading image analysis software and combining distinct =
imaging=20
modalities into a single system. A number of new or improved systems =
were=20
introduced at WMIC, many with multimodal capabilities. Caliper =
introduced the=20
IVIS Lumina XR which combines both optical imaging and anatomical =
information=20
from x-ray. VisEn, which produces systems for fluorescence molecular =
tomography=20
(FMT), introduced the FMT 1500 for small to mid-sized facilities, and an =
updated=20
version of its FMT 2500 (see Fig. 2). The next-generation system, the =
LX,=20
operates at four different wavelengths and comes with adapters that =
allow for=20
CT, MRI, and PET scanning. ART/Advanced Research Technologies Inc. =
introduced=20
Optix MX3, a whole animal 3-D in vivo imager able to co-register optical =

information with data from CT scans.</P>
<H2>Market =93speeding up=94</H2>
<P>Although many sectors of the economy have taken hits this year, the =
molecular=20
imaging market doesn=92t appear to have lost much ground. Caliper =
President Kevin=20
Hrusovsky described optical molecular imaging as a =93vibrant field=94 =
and noted=20
that sales on Caliper=92s IVIS system have topped $50 million. Three =
years ago=20
sales were $30 million.</P>
<P>=93Each year going forward will represent five years. Things are =
speeding up,=94=20
said Hrusovsky. <EM><STRONG>=96Susan M. =
Reiss</STRONG></EM></P></SPAN></DIV><!-- googleoff: all -->
<DIV class=3DmboxDefault></DIV>
<SCRIPT language=3DJavaScript1.2>
			mboxCreate("optoiq-2_AlsoViewed_Articles",
			"entity.id=3Doptoiq-2_IN VIVO IMAGING: Optical molecular imaging: =
closer to clinical");
		</SCRIPT>
</DIV>
<SCRIPT type=3Dtext/javascript>
            var myImages =3D new Array();
                                                    =20

            if(navigator.appVersion.include('MSIE')){  //if IE browser

                $$('img').each(function(image, index){
                    =
if(image.getAttribute('src').startsWith('http://images.pennnet.com')){

                       var imag =3D new Image();
                       imag.src =3D image.src

                       //alert(image.src+ ' ' +image.width+ ' ' =
+imag.width);

                       if(image.width > imag.width || image.height > =
imag.height){

                           image.removeAttribute('width');
                           image.removeAttribute('height');

                       } else if(imag.width > 500){

                           image.writeAttribute({width: '500'});
                           image.removeAttribute('height');
                       }

                      if(image.up('td') !=3D null){
                            image.up('td').writeAttribute({align: =
"center"});
                            image.up('table').writeAttribute({align: =
"center"});
                            image.up('table').writeAttribute({width: =
image.readAttribute('width')});                     =20
                      }
                    }
                });

            }else{//any other browser
           =20
                $$('div.article-content-wrapper').each(function(div){


                       //applies to all images in the article itself

                    $$('img').each(function(image, index){

                        if(image !=3D "undefined"){

                          =
if(image.getAttribute('src').startsWith('http://images.pennnet.com')){

                           myImages[index] =3D new Image();
                           myImages[index].src =3D =
image.getAttribute('src')


                            Event.observe(myImages[index], 'load', =
function(){
                                    //alert(myImages[index].src + 'has' =
+myImages[index].width +' x '+ myImages[index].height);

                                if(myImages[index].height < =
image.getAttribute('height') || myImages[index].width < =
image.getAttribute('width')){
                                    //alert('here '+ =
myImages[index].height);
                                     image.removeAttribute('height');
                                     image.removeAttribute('width');
                                }

                                if(myImages[index].width < 500 ){
                                    image.removeAttribute('height');
                                    image.removeAttribute('width');
                                } else {
                                    image.removeAttribute('height');
                                    image.writeAttribute({width: =
'500px'});
                                }
                                if(image.up('td') !=3D null){
                                    =
image.up('td').writeAttribute({align: "center"});
                                    =
image.up('table').writeAttribute({align: "center"});
                                    =
image.up('table').writeAttribute({width: myImages[index].width});
                                }
                             });

                          }
                        }
                       });
                     });
                    }//end else

    </SCRIPT>

<DIV class=3Dpluck-recommend id=3Darticle-recommendations>
<SCRIPT language=3DJavaScript>
	       gSiteLife.Recommend("ExternalResource", "Article/370799");
	   </SCRIPT>
</DIV>
<DIV class=3Dpluck-comment>
<SCRIPT language=3DJavaScript>
	      gSiteLife.CommentsInput("ExternalResource", "Article/370799", =
document.URL);
	      gSiteLife.CommentsOutput("ExternalResource", "Article/370799", =
false);
	   </SCRIPT>
</DIV>
<STYLE type=3Dtext/css></STYLE>

<SCRIPT type=3Dtext/javascript>=0A=
		function CFC_popup(/*String*/ url, /*String*/ name, /*String*/ =
features)=0A=
			{=0A=
			var defaultWidth =3D 500;=0A=
			var defaultHeight =3D 400;=0A=
=0A=
			if (url.indexOf("/") =3D=3D 0) url =3D "" + url;=0A=
			if (features.indexOf("width") =3D=3D -1) features +=3D ",width=3D" + =
defaultWidth;=0A=
			if (features.indexOf("height") =3D=3D -1) features +=3D ",height=3D" =
+ defaultHeight;=0A=
			var w =3D window.open(url, name, features);=0A=
			w.focus();=0A=
			}=0A=
	</SCRIPT>

<DIV class=3Dheader>
<DIV class=3DPromoBoxHeadLeft>
<DIV class=3DPromoBoxHeadright><SPAN =
class=3DPromoBoxHeadTitle>Biophotonics Content=20
Catigories:</SPAN></DIV></DIV></DIV><SPAN class=3D"">
<P><A=20
href=3D"http://www.optoiq.com/index/biophotonics/specialties.html">Specia=
lties</A>&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; <A=20
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging.html"=
>Biomedical=20
Imaging&nbsp;</A>&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <A=20
href=3D"http://www.optoiq.com/index/biophotonics/techniques.html">Techniq=
ues</A></P>
<P></P>
<P>
<TABLE height=3D177 cellSpacing=3D5 cellPadding=3D3 width=3D638 =
border=3D0>
  <TBODY>
  <TR>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/dermatology-=
cosmetic-surgery.html">Dermatology=20
      &amp; Cosmetic Surgery</A></TD>
    <TD></TD>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging/bow-m=
icroscopy.html">Microscopy</A></TD>
    <TD></TD>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/techniques/spectroscopy.=
html">Spectroscopy</A></TD></TR>
  <TR>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/ophthalmolog=
y.html">Ophthalmology</A></TD>
    <TD></TD>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging/optic=
al-coherence-tomography.html">OCT</A></TD>
    <TD></TD>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/techniques/cytometry-cel=
l-sorting.html">Cytometry=20
      &amp; Cell Sorting</A></TD></TR>
  <TR>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/cell-biology=
.html">Oncology/Cancer</A></TD>
    <TD></TD>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/biomedical-imaging/molec=
ular-imaging.html">Molecular=20
      Imaging</A></TD>
    <TD></TD>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/techniques/dna-sequencin=
g-analysis.html">DNA=20
      Sequencing &amp; Analysis</A></TD></TR>
  <TR>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/cell-biology=
.html">Cell=20
      Biology</A></TD>
    <TD></TD>
    <TD></TD>
    <TD></TD>
    <TD></TD></TR>
  <TR>
    <TD><A=20
      =
href=3D"http://www.optoiq.com/index/biophotonics/specialties/more-special=
ties.html">More=20
      Specialties</A></TD>
    <TD></TD>
    <TD></TD>
    <TD></TD>
    <TD></TD></TR></TBODY></TABLE></P></SPAN>
<DIV=20
style=3D"CLEAR: both; FONT-SIZE: 1px; LINE-HEIGHT: 1px; HEIGHT: =
1px"><BR></DIV>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD width=3D"50%"><IMG height=3D1=20
      src=3D"http://www.optoiq.com/libs/CFC/content/statics.0.gif" =
width=3D1></TD>
    <TD width=3D10><IMG height=3D1=20
      src=3D"http://www.optoiq.com/libs/CFC/content/statics.0.gif" =
width=3D10></TD>
    <TD width=3D"50%"><IMG height=3D1=20
      src=3D"http://www.optoiq.com/libs/CFC/content/statics.0.gif" =
width=3D1></TD></TR>
  <TR>
    <TD vAlign=3Dtop align=3Dleft>
      <DIV class=3D"pluck-mostcommented displaybox">
      <DIV class=3DPromoBoxHeadLeft>
      <DIV class=3DPromoBoxHeadRight><SPAN =
class=3DPromoBoxHeadTitle>Most=20
      Recommended Articles</SPAN> </DIV></DIV>
      <SCRIPT language=3DJavaScript> =20
	       gSiteLife.SummaryArticlesMostCommented(5); =20
	   </SCRIPT>
      </DIV></TD>
    <TD></TD>
    <TD vAlign=3Dtop align=3Dleft>
      <DIV class=3D"pluck-mostcommented displaybox">
      <DIV class=3DPromoBoxHeadLeft>
      <DIV class=3DPromoBoxHeadRight><SPAN =
class=3DPromoBoxHeadTitle>Most Commented=20
      Articles</SPAN> </DIV></DIV>
      <SCRIPT language=3DJavaScript> =20
	       gSiteLife.SummaryArticlesMostCommented(5); =20
	   </SCRIPT>
      </DIV></TD></TR></TBODY></TABLE>
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV>
<DIV id=3DmiddleColWrapper>
<DIV id=3DmiddleColumn>
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV>
<DIV id=3DrightColWrapper>
<DIV id=3DrightColumn>
<DIV class=3Darticle-list-summary id=3D"Recent Articles">
<DIV class=3Dheader>
<DIV class=3DPromoBoxHeadLeft>
<DIV class=3DPromoBoxHeadRight><SPAN class=3DPromoBoxHeadTitle>Recent=20
Articles</SPAN> </DIV></DIV></DIV><SPAN class=3Darticle-block=20
id=3Darticle-block-farcolumn65682><IMG class=3Dspinner =
title=3DLoading...=20
style=3D"DISPLAY: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto" =
alt=3DLoading...=20
src=3D"http://www.optoiq.com/Images/spinner.gif">=20
<DIV class=3Dsummary-item><SPAN class=3Dtitle><A=20
href=3D"http://www.optoiq.com/index/display/article-display/3280005372/ar=
ticles/optoiq2/biophotonics-/biomedical-imaging/oct/2010/1/OCT-scanner-fr=
om-Michelson-Diagnostics-receives-FDA-clearance.html">OCT=20
scanner from Michelson Diagnostics receives FDA 510(k) =
clearance</A></SPAN>=20
</DIV>
<DIV class=3Dsummary-item><SPAN class=3Dtitle><A=20
href=3D"http://www.optoiq.com/index/display/article-display/9997411752/ar=
ticles/optoiq2/biophotonics-/biomedical-imaging/microscopy-/2010/1/Nikon-=
super-resolution-microscope-incorporates-SIM-technology.html">Nikon=20
super resolution microscope incorporates SIM technology</A></SPAN> =
</DIV>
<DIV class=3Dsummary-item><SPAN class=3Dtitle><A=20
href=3D"http://www.optoiq.com/index/display/article-display/7333675797/ar=
ticles/optoiq2/biophotonics-/biomedical-imaging/molecular-imaging/2010/1/=
optial-molecular_imaging.html">Optical=20
molecular imaging on track for $400 million in 2014, says Strategies=20
Unlimited</A></SPAN> </DIV>
<DIV class=3Dsummary-item><SPAN class=3Dtitle><A=20
href=3D"http://www.optoiq.com/index/display/article-display/8756365310/ar=
ticles/optoiq2/biophotonics-/biomedical-imaging/2010/1/nanolens-improves.=
html">Nanolens=20
improves imaging of nanoscale objects</A></SPAN> </DIV>
<DIV class=3Dsummary-item><SPAN class=3Dtitle><A=20
href=3D"http://www.optoiq.com/index/display/article-display/7675942357/ar=
ticles/optoiq2/biophotonics-/2010/1/soft-tissue_dental.html">Soft=20
tissue dental laser</A></SPAN> </DIV></SPAN></DIV>
<DIV class=3Darticleaddisplay>
<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
            var _version =3D 10; //--></SCRIPT>

<SCRIPT language=3DJavaScript1.1 type=3Dtext/javascript>
                <!--
                _version =3D 11;
                if (navigator.userAgent.indexOf('Mozilla/3') !=3D -1) {
                    _version =3D 10;
                }
                // -->
            </SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
                <!--
                var adPool =3D null;
                var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                var map =3D 'TCAdPoolMap';

                var fetchAgent =3D new TopicCenterFetchAgent();
                fetchAgent.fetchMapping(url, map, function(transport) {
                    var json =3D transport.responseText.evalJSON(true);

                    //Make sure we got a response of type JSON
                    if (json !=3D null) {
                        var adPool =3D json.result.TCAdPoolMap;
                        if (adPool =3D=3D null || adPool =3D=3D 'null' =
|| adPool.length <=3D 0) {
                            adPool =3D 'BOW.pennnet.com/ros';
                        }
                        if (_version < 11) {
                            document.write('<a =
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Right1?1265843896841" target=3D"_top" =
><img src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/' + =
adPool + '@Top,Right1,Right2,Right3,Bottom!Right1?1265843896841" =
border=3D"0"></a>');
                        } else {
                            document.write('<SCR' + 'IPT =
LANGUAGE=3D"JavaScript1.1" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Right1?1265843896841">');
                            document.write('<' + '!-- -' + '->');
                            document.write('</SCR' + 'IPT>');
                        }
                    }
                });
                //-->
            </SCRIPT>
</DIV>
<DIV class=3Darticleaddisplay>
<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
            var _version =3D 10; //--></SCRIPT>

<SCRIPT language=3DJavaScript1.1 type=3Dtext/javascript>
                <!--
                _version =3D 11;
                if (navigator.userAgent.indexOf('Mozilla/3') !=3D -1) {
                    _version =3D 10;
                }
                // -->
            </SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
                <!--
                var adPool =3D null;
                var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                var map =3D 'TCAdPoolMap';

                var fetchAgent =3D new TopicCenterFetchAgent();
                fetchAgent.fetchMapping(url, map, function(transport) {
                    var json =3D transport.responseText.evalJSON(true);

                    //Make sure we got a response of type JSON
                    if (json !=3D null) {
                        var adPool =3D json.result.TCAdPoolMap;
                        if (adPool =3D=3D null || adPool =3D=3D 'null' =
|| adPool.length <=3D 0) {
                            adPool =3D 'BOW.pennnet.com/ros';
                        }
                        if (_version < 11) {
                            document.write('<a =
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Right2?1265843896857" target=3D"_top" =
><img src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/' + =
adPool + '@Top,Right1,Right2,Right3,Bottom!Right2?1265843896857" =
border=3D"0"></a>');
                        } else {
                            document.write('<SCR' + 'IPT =
LANGUAGE=3D"JavaScript1.1" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Right2?1265843896857">');
                            document.write('<' + '!-- -' + '->');
                            document.write('</SCR' + 'IPT>');
                        }
                    }
                });
                //-->
            </SCRIPT>
</DIV>
<DIV class=3Darticleaddisplay>
<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
            var _version =3D 10; //--></SCRIPT>

<SCRIPT language=3DJavaScript1.1 type=3Dtext/javascript>
                <!--
                _version =3D 11;
                if (navigator.userAgent.indexOf('Mozilla/3') !=3D -1) {
                    _version =3D 10;
                }
                // -->
            </SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
                <!--
                var adPool =3D null;
                var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                var map =3D 'TCAdPoolMap';

                var fetchAgent =3D new TopicCenterFetchAgent();
                fetchAgent.fetchMapping(url, map, function(transport) {
                    var json =3D transport.responseText.evalJSON(true);

                    //Make sure we got a response of type JSON
                    if (json !=3D null) {
                        var adPool =3D json.result.TCAdPoolMap;
                        if (adPool =3D=3D null || adPool =3D=3D 'null' =
|| adPool.length <=3D 0) {
                            adPool =3D 'BOW.pennnet.com/ros';
                        }
                        if (_version < 11) {
                            document.write('<a =
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Right3?1265843896857" target=3D"_top" =
><img src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/' + =
adPool + '@Top,Right1,Right2,Right3,Bottom!Right3?1265843896857" =
border=3D"0"></a>');
                        } else {
                            document.write('<SCR' + 'IPT =
LANGUAGE=3D"JavaScript1.1" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Right3?1265843896857">');
                            document.write('<' + '!-- -' + '->');
                            document.write('</SCR' + 'IPT>');
                        }
                    }
                });
                //-->
            </SCRIPT>
</DIV><SPAN class=3D"">
<P align=3Dcenter><A =
href=3D"http://www.optoiq.com/index/community.html"><IMG=20
id=3D"/etc/medialib/platform-7/optoiq-2/site-images#Par.83607.Image " =
height=3D100=20
alt=3D""=20
src=3D"http://www.optoiq.com/etc/medialib/platform-7/optoiq-2/site-images=
.Par.83607.Image.-1.-1.1.gif"=20
width=3D300 border=3D0></A></P></SPAN>
<DIV=20
style=3D"CLEAR: both; FONT-SIZE: 1px; LINE-HEIGHT: 1px; HEIGHT: =
1px"><BR></DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV>
<DIV id=3DcontainerBottomParsys>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV id=3Dfooter>
<HR style=3D"MARGIN: 0px; COLOR: #efefef">

<DIV id=3DbottomLeaderBoard>
<DIV class=3Darticleaddisplay>
<SCRIPT language=3DJavaScript type=3Dtext/javascript><!--
            var _version =3D 10; //--></SCRIPT>

<SCRIPT language=3DJavaScript1.1 type=3Dtext/javascript>
                <!--
                _version =3D 11;
                if (navigator.userAgent.indexOf('Mozilla/3') !=3D -1) {
                    _version =3D 10;
                }
                // -->
            </SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
                <!--
                var adPool =3D null;
                var url =3D =
'/optoiq-2/en-us/index.topiccenterlookup.html';
                var map =3D 'TCAdPoolMap';

                var fetchAgent =3D new TopicCenterFetchAgent();
                fetchAgent.fetchMapping(url, map, function(transport) {
                    var json =3D transport.responseText.evalJSON(true);

                    //Make sure we got a response of type JSON
                    if (json !=3D null) {
                        var adPool =3D json.result.TCAdPoolMap;
                        if (adPool =3D=3D null || adPool =3D=3D 'null' =
|| adPool.length <=3D 0) {
                            adPool =3D 'BOW.pennnet.com/ros';
                        }
                        if (_version < 11) {
                            document.write('<a =
href=3D"http://ads.pennnet.com/RealMedia/ads/click_nx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Bottom?1265843896857" target=3D"_top" =
><img src=3D"http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/' + =
adPool + '@Top,Right1,Right2,Right3,Bottom!Bottom?1265843896857" =
border=3D"0"></a>');
                        } else {
                            document.write('<SCR' + 'IPT =
LANGUAGE=3D"JavaScript1.1" =
SRC=3D"http://ads.pennnet.com/RealMedia/ads/adstream_jx.ads/' + adPool + =
'@Top,Right1,Right2,Right3,Bottom!Bottom?1265843896857">');
                            document.write('<' + '!-- -' + '->');
                            document.write('</SCR' + 'IPT>');
                        }
                    }
                });
                //-->
            </SCRIPT>
</DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<HR style=3D"MARGIN: 0px; COLOR: #efefef">

<DIV id=3DfooterNav>
<DIV class=3Dbasic-footer>
<DIV id=3DpennLogo><IMG style=3D"WIDTH: 112px" alt=3D"footer logo image" =

src=3D"http://www.optoiq.com/etc/medialib/platform-7/optoiq2/site-images.=
Par.78880.Image.0.0.1.jpg">=20
</DIV>
<DIV class=3Dfooterlink>
<P><A class=3DcontentText id=3D/content/optoiq-2/en-us/index=20
href=3D"http://www.optoiq.com/index.html">Home</A> | <A =
class=3DcontentText=20
id=3D/content/optoiq-2/en-us/index/wiring-harness=20
href=3D"http://www.optoiq.com/index/photonics-technologies-applications.h=
tml">Photonics=20
Technologies &amp; Applications</A> | <A class=3DcontentText=20
id=3D/content/optoiq-2/en-us/index/communications-connectivity=20
href=3D"http://www.optoiq.com/index/machine-vision-imaging-processing.htm=
l">Machine=20
Vision &amp; Image Processing</A> | <A class=3DcontentText=20
id=3D/content/optoiq-2/en-us/index/standards=20
href=3D"http://www.optoiq.com/index/lasers-for-manufacturing.html">Lasers=
 for=20
Manufacturing</A> | <A class=3DcontentText=20
id=3D/content/optoiq-2/en-us/index/materials-distribution=20
href=3D"http://www.optoiq.com/index/biophotonics.html">Biophotonics</A>=20
|&nbsp;<BR><A class=3DcontentText =
id=3D/content/optoiq-2/en-us/index/subscribe=20
href=3D"http://www.optoiq.com/index/subscribe.html">Subscribe</A> | <A=20
class=3DcontentText=20
id=3D/content/optoiq-2/en-us/index/contact-us/advertising-contacts=20
href=3D"http://www.optoiq.com/index/advertise.html">Advertise</A> | <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/events=20
href=3D"http://www.optoiq.com/index/events.html">Industry Events</A> | =
<A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/buyers-guide=20
href=3D"http://www.optoiq.com/index/oiq-products.html">Buyers Guide</A> =
| <A=20
class=3DcontentText href=3D"http://www.optoiq.com/index/community.html"=20
target=3D_blank>Community</A> |&nbsp; <A class=3DcontentText=20
id=3D/content/optoiq-2/en-us/index/Video=20
href=3D"http://www.optoiq.com/index/video.html">Video</A> |&nbsp; <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/whitepapers=20
href=3D"http://www.optoiq.com/index/whitepapers.html">White =
Papers<BR></A><BR><A=20
class=3DcontentText href=3D"http://www.pennwell.com/" =
target=3D_blank>PennWell.com</A>=20
| <A class=3DcontentText =
id=3D/content/optoiq-2/en-us/index/all-pennwell-sites=20
href=3D"http://www.optoiq.com/index/all-pennwell-sites.html">PennWell =
Websites</A>=20
| <A class=3DcontentText =
id=3D/content/optoiq-2/en-us/index/pennwell-events=20
href=3D"http://www.optoiq.com/index/pennwell-events.html">PennWell =
Events</A> | <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/privacy-policy=20
href=3D"http://www.optoiq.com/index/privacy-policy.html">Privacy =
Policy</A> | <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/terms=20
href=3D"http://www.optoiq.com/index/terms.html">Terms &amp; =
Conditions</A> | <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/contact-us=20
href=3D"http://www.optoiq.com/index/contact-us.html">About Us</A> | <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/site-map=20
href=3D"http://www.optoiq.com/index/site-map.html">Site Map</A> | <A=20
class=3DcontentText id=3D/content/optoiq-2/en-us/index/rss=20
href=3D"http://www.optoiq.com/index/rss.html">RSS</A> | <A =
class=3DcontentText=20
href=3D"mailto:webmaster@pennnet.com?subject=3DOptoIQ">Webmaster<BR></A><=
/P>Copyright=20
=A9 2009: PennWell Corporation=20
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV>
<DIV id=3DextendFooter>
<DIV id=3DextendFooterContent>
<DIV style=3D"CLEAR: both"></DIV></DIV>
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV></DIV></DIV></BODY></HTML>

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/optoiq-2/site-images.Par.13711.Image.0.0.1.png

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
ucMSB2cQAAAAAElFTkSuQmCC

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/Images/general/no-user-image.gif

R0lGODlhPAA8APcAANTc4sTL08LJ0X+NnXyLmurt797h5tHY37K7xKu0vpCcqsbO1ba/yMTM09rg
56uzvKiwud/l7KevuO7w8oKQn9Xc452ptbS9x8rS246bqYuYp3qJmb3G0M3V3KWttpmlsYmWpa+4
waexvaCqtoWSocDJ04CPnpShrrfAyrO8x6Wut87W3rS+yKKuuqOtuJOfrPn5+fr6+v7+/u3s7P39
/aiqre7t7fz8/O/u7vv7+8PK0sXM1PDv7/Hw8PLx8cDHz/j4+MbN1cfO1vX09MHI0M3U29Pa4brC
yr3FzaeprNzi6c/W3bjAyLa+xsvS2dje5dvh6Le/x9nf5vb29tDX3rS8xPTz887V3NXb4rnByb/G
zsjP1vr5+bzEzNbd5MnQ1621vqqyu8nQ2L3EzPX19fLy8vPz89fd5Pj398PL0rG5wtLZ4N3j6q62
v6y0vff29vf39/Dw8Pb19cjP1/Py8vT09KmxusDI0KiprLO7w6iqrN7k68zT2rW9xcHJ0NTb4r7F
zbzDy77GzszT27G5wbC4wPn4+Nng58rR2NTa4dfe5bnAybvDy8bN1Njf5rK6w6+3wMrR2be+x7W8
xbrBydDW3rC4wdLY4NPZ4Kaut93j6a62vq+3v8LK0cfN1LW+x7K6ws7U3LvCytrh6K21vcHJ0bvC
y7/Hz7/HzsjO1fz8/aGst7O6w87V3bjBy9LX3NHX3qewud7k6t7l68zS2tvi6MrQ1oWTotjc4ePm
6ZGeq/T198/V3fr7+7S8xcLK0pijsM3T2cTK0fHz9IqXpfv6+u/v74ORoJumssfP1qy0vMPL04iV
pMXN1Ky1v6myu9Xa37C6w7zEzb3EzcHK05qkr7i/x9zj6fb3+L7Hz9HX37zFz87U2tPY3dzi6ODj
593k6ujq7aSstdLY3+zu8aavutDV26u1wX2Mm5ynseDm7MTN1amzvamzvpair5ikssbO1sfO17G7
xqWvuaGsuNbb4KOuupOgrf3+/rzDzKu0vN/l6+zr66OlqOvq6v///yH5BAAAAAAALAAAAAA8ADwA
AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKTChjosWJMjJmrNGvo8ePIEOKHEkypMaTMmrEuMjSYD+U
GlW2nCnwpUYaMVfSbGlTBo2fP2XuZNkPqFEaQodaLHo0qE6lE5n+vEH1RlKoEftV3Wr1KVaIWrlS
vfrVYViqOdLmIFuWYT+1cNd6besWbjG1bB2qwmXrU4hUr7BdfJu2WIzDMfIu/MaOwLsWKVDYs2DC
ArSoiDMnnruwAAIN22pFmLWHzTUlUEqcGFEva2YusLkoPhgMHYsIEfbtAcdGSS0oDg5J4XALCdjY
XGAohzG7YCoSGNSNLq0J9SgHUhw9OdMhQ5aH/ZYr/zdEvvnAJwNWSN8jq7c34MKfKPJSAcsSEMLM
kjcEA4h/IOYJ5AI107FRHRTXZbcdfX8kYgQ8JkzQUD//VQggZwal8k4E7PWGWnBSyEcfFn8YscY4
B7Tjy4QVouEiGubhQ0AH1FmHnXZnjOjgGgdQUUkRxwzj1otowGEkHOYZcEJ7SnwY33z1lYjJJT0u
cUUo9Pzg1pFwvOHlGzVwsdAn8lT3240L1rdjj5VYWcQgrnzg1pdvTGHnFDXAsBAy61j35IhSUknF
Eq2EUgQfTohBgCoL9XOnnXJEmudCxBwAnII5qmniAbC0ecWbTjiByBe3kNNopHJMIQcZrE6qEAUA
PP95RpRGTFlloYc6EYkYc2zBTDiNskrGqkMUq4eeCmnQAY46btqpm4OEOuocQgRBgoQK9VPsEGRs
O8Sxe5aiyKwVBHqroYju+sUW1QawaKPe1iFvHeAqlMU5zfL47KeD0CLqF9QG0cwOF7jj1rx1WKGw
FfUmZIAu5dYq6BK8fJquGOtWu0MAaVhgXKMLK2zGyA0n9MIym2ozKL/+TlvtwAHooAUFQjY6shlW
mEHHziUjZMs9PA5aca7qshvExml0IsAIUUy4Mx06lyF1zwiJkMLKb7bMqxALNLKxDgIQwQA62DYq
dRl0lOHD2nggu5AB6Jxisa4YG430L2HnQ0J+E67/7YPafrftkC0UuIIoIlt3/bUAftyBAjPfmeX3
2j1ULrhDrxAgQjwZH80x3kT8kIAJWoJXeQ8+nN7D5Q4V4MstCZTidcyMZ+OMBqvgkpXqPcThO+sM
9fLKKgRkMAIRaYAduj0KDACMJ7uA5XscvfNgPfAJ5eIMASdEE8DijZ+iBSBjdOHMCQPkbpb1PMTB
Pg/YG2TOB8Q4s8zRDSQf9g9aCIJEF4EQxRGyEIV5aEABnuhFo97HAxw4MAluM4gnFPACBghBCLMD
W+P4R74uMGKAi2BCFJrQhwToggAfQ0g/HIgDHhiDhRA8SDfSoQtp2C1/yvsBKvwHQAFmQYSSIGEV
//LACjAoAIEqZOELYRjBf+wCAcT4BLUwCL47cLB8H6RECEfYh0kM8RFqIEQhygECZ+TCJSx0oA3W
GMOBBIMALtjCDfUXuh0iYQwBHCAQhUhEUBDCEpDgRBvAUA0CCKAg/VijDXCgSBu08R9IOIYr5pAM
KtJug+PD4hG0KEISejEPYBQjJNqwCTC4QR8qOMYnCJLIRiqyjVoghgBuSLs6+g+PptBjFILYhyGy
AhRqsEQIBAkGUrjhAQ8IQyxI0LSauHIG0IxhAShwh0p6TgedwCQgpuHBTW7Rk18MYyFGWUo3KCOZ
z7CDHTJxDG7UBJozsAE8ZxBDBIhAYw2o5Q9OcdDLQOTyh7vkYx6AaYlCENOYyAyDOiEQCwmkAxjv
nCc8Y/iBT1yzE6UI3fj+l8VvdjGcoiSlKc8ZBoXaAQISkEAmVECAiMKTHzCN4QkYkM8c8vOO/tSj
NXg5xIEG06CDRGgyF9pQlXrAAxuoCUz5Ac2lxlAXDMBmRjnIUW928qOgDCMgReqGY5Z0oSld6VHF
kdR/9GOpM1gqP5JQkra69a0gUatc50rXutr1rniVqz/2yte++vWvgA2sYAfL16US9rCITexfYdoD
xTr2sYPlQUAAADs=

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ads.pennnet.com/RealMedia/ads/adstream_nx.ads/@?1265843896560

R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/optoiq-2/en-us/docroot/Images/pageBrandingBOW.png

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
MMxONajQKX8AAAAASUVORK5CYII=

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/libs/CFC/content/statics.0.gif

R0lGODdhAQABAPAAAP///////yH5BAEAAAAALAAAAAABAAEAQAICRAEAOw==

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.48158.Image.0.0.1.gif

R0lGODlhDwANAPIGAP///iAgIAAAAP////7+/a2trQAAAAAAACH5BAEAAAYALAAAAAAPAA0AAAM/
aBrSLkFJE4YldsRJR/kfsU0BlmGjVIGfpgZwNpgwLHyCxw530RQ8WSbnu/EeD8/vJDMVgUJL7vZj
WUHILDIBADs=

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.58771.Image.0.0.1.gif

R0lGODlhDwAJAPIGAJGRkQAAAL6+vv/////+/////gAAAAAAACH5BAEAAAYALAAAAAAPAAkAAAMt
CLrcECLKKUIAFYzNx8vCcA0E9wxgOW4neoWBqJ0BAcabhRPQBVEUy0NHLAYSADs=

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.52123.Image.0.0.1.gif

R0lGODlhEwANAPIGAP///gAAAP///62trYCAgJmZmQAAAAAAACH5BAEAAAYALAAAAAATAA0AAAM+
aLqs0RAG8aIJuE5BYxjggHFktXwDWZBEyXwlybWcCVMyW2JE5meyxy0XqzlAxGDnlErWeq+QdAp9
/a6YRQIAOw==

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.10273.Image.0.0.1.gif

R0lGODlhGQAeAPUxAO3t7erq6ubm5mloaAAAAOfn593d3ZmYmP///8nJydLS0rS0tMvLy6enp6Oj
o2ZmZn19fdra2jMzMx0dHfPz83d3d5GRkW5ubpmZmfv7+yIiIs3NzTg4OLe3txEREV1dXQQEBFVV
VYiIiMTExHJychQUFPf39+Li4hkZGdTU1KKiopWVlY2NjZubm4qKiqioqP///gAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADEALAAAAAAZAB4AAAbBQIBw
SCwaj8ikcslsOp/Q54BArVqv1oEgABgcEOCweCw+DAwFAnnNJiQMarY8TFgo4nM5ocHA59cEDgl+
f2OBg3IQD3OHhGEUExIReoKOYBgXFhWUiGscGwIaGW2VaxEgHx8eHaSdYyQXIyMiIa2OGSgnYCYl
AYClYycrYiopv66FhsDJysjMYI3PzV7SYGaCDFNY21cDLHwKCy0sLuXm5+jlLC12BgkLLw7y8/T1
8i8LbwUGCgwJ/wADCvzHQAGaIAA7

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.48411.Image.0.0.1.gif

R0lGODlhGQAeAPUvAO3t7erq6ubm5mloaAAAAOfn593d3ZmYmP///8nJydLS0rS0tKOjo/v7+2Ji
YsPDw6qqqicnJ01NTUhISLu7uyIiIuLi4t7e3h4eHnd3d4CAgNra2hkZGURERF1dXQgICLKysisr
K6KiompqapWVlQwMDAQEBFFRUcvLy6enp42NjZubm4qKiqioqP///gAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAC8ALAAAAAAZAB4AAAbHQIBw
SCwaj8ikcslsKgeEqHRKnQ4EAcDggOh6v+DvYWAoEMLoNCFhOKffXsJC4Ya/CYxE3Y7G6/l3eXtg
Dw4NgX9pEhEQiINeFhUUE45pGhkNGBdqgmiZGwgZGZyJYCAfHh4dHIdhfo8IEiMitCGNrp1gFiUB
XiSUuKVeGidfASabYK+ApLDMy8zBzoDQ0V9+W9ZeY3koUFXgVAMqKSgKCysqLOvs7e7rKitzBgkL
LQz4+fr7+C0LbAUMKECRoKDBgwgLmisTBAA7

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.41352.Image.0.0.1.gif

R0lGODlhGQAeAPUuAO3t7erq6ubm5mloaAAAAOfn593d3ZmYmP///8nJydLS0rS0tMvLy6enp6Oj
ozg4ONra2tXV1QgICDc3N3JycmpqalVVVaqqqhUVFff39xEREbKysvv7+xkZGaGhoUBAQE1NTcTE
xJmZmSIiIgwMDC8vL5GRkQQEBFFRUY2NjZubm4qKiqioqP///gAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAC4ALAAAAAAZAB4AAAbYQIBw
SCwaj8ikcUBoOp/Q50AQAAwOiKx2y90eBoYCoUsuExKGcXmtJSwUavaa0GDE5WSCI3HHc/V8axAE
D3N7fVsUExIRZodlGRgXFhWOgWQXHRwbGhl5j2QfFAgcHR6fl1yDIiEhIIVdgIgIFCQjtyMEjX+g
W5EmWyWVvKlaFycBWyadxIgfKFwBJ6dbsn6Ws9fW17G93G3e3wjb4lmAV+UIX3sMTFHvUAMpdQoL
Kikr+fr7/PkpKm8MJFjAwoHBgwgTGmSxAE0BAwoYJJhIsaLFiQwUhAkCADs=

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/standard-images.Par.33714.Image.0.0.1.gif

R0lGODlhGQAeAPU5AO3t7erq6ubm5mloaAAAAOfn593d3ZmYmP///8nJydLS0rS0tMvLy6enp6Oj
o+Li4n9/f9TU1Hd3dwQEBFpaWvf39xkZGWZmZggICKqqqhUVFfPz84mJiUBAQGpqam5ubiIiItXV
1c3Nzd7e3rKysisrK0hISE1NTREREZmZmZ2dnaKioi8vL1FRUcjIyK6urtHR0V5eXvv7+zw8PI2N
jZubm4qKiqioqP///gAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADkALAAAAAAZAB4AAAbgQMCA
QCwaj8aBICA8IJ7QqDR6GBgKhKl2S0gYstswlLBQgMVhQoNxRmsJjkTbLYXLwxHIIx2fRykTEnx3
WgIYFxYVXH1bHBobGhmLhFMgHwgeHZN+CCQEIwgiBCFvjFMnJlAlHqWUUCMTRygbU3Z+Ehoruisq
Eym1plAVFpdRLSzArggZBDBSLwQudcFPM8hSMhox08p0Y9Te393htuHJnN7l5lF2A07rCFVxDENI
9kcDNGsKCzU0NgADChwIkEaNMgYSLLjhoKHDhxAb3ljgpYABBQwSaNzIsaNGBgquBAEAOw==

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/optoiq-2/site-images.Par.81849.Image.0.0.1.gif

R0lGODlhSAAOAPUhAAICyF2u/7PJ6PmSTP/s3////wBm/gFd5zOZ/4I1A/9mAfm1hwJPxDJsw3mh
3VV/vTt/5dzl8QdDnfXVv+/Ep/KANPjl2P718G2Isu3x9dxbBcNQBNNuKzBamczb8UAcA////gAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACEALAAAAABIAA4AAAb/wAJh
SCwaj8jjQBBoOp/QqDQKWCiu2Kx2y90mEIaweEwOH87k86Fc7brf3O8YAmnYGYx1GOJwPBp5Bgd9
DoB6YW1YCwUXVwMFFgqLBRVXFAUFCo8TXXJimKAFAhIHEBGhBYAOqAKBiFZZEwUUCgQFHBuTtAqg
G5sacWCfBRgNDxnEDKcYEgwQAg0QBRHNg62HiVgVF5AFAxuSjLcL3AW+BRPAXsJhmB15AsmYDtVn
qxHveWhi2ViP6BuALbpE4cIlc7+CjcFUbFWBZvEwRXCARxooAQ9cvdryz4K6RQsOcsB0Lp3CYaAy
vFsjABmmDM0geAhFERusLBcuWCgAC2SFnFkbSCZct5CYw4xrzjRwgAyDvlIRSfG7eUXWgJGUwi0A
FlAopAVgB2Tx1K7Au3gqGXgwdGDmgz54Sk2TulERQA2LIoFUxwshKqpkDbjLM5OaRAGnPEhwKCAi
0qlaNAS8IhmcZL4KNoDLrFkz38Bw1/BxQMdBY4z6TDemqNFAPziwT4rZZ0aN7UO32ST4wLu379/A
gwffLby48eBBAAA7

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://images.pennnet.com/articles/bow/thm/th_news%201109%2003.gif

R0lGODlhRQFWAff/AAMFBAUJBgcMCAgOCQgLBwsUDA4ZDwcQCA8cEA8UEBMZDhAdERYaFQ0iDw8i
EQ4qERMlExUqFxYsGBsjExwjGxsrFhwsGxchGBUyFhcyGBg0GRs8Gxk3GBwgDh8pIB41ICwdFSMr
FSUpGCQzGSs0GSw7GyY2GDMpGTQ7Gjs9GjU2FyQrIyYqJSMzIywzKyw7LCU5JTE4LjQ7Mzc8NhxF
Hh1IHx5MIx1GIB9QJh9ZKitCHD1DHDZGHD5SHylFKi9FMSBRJyBVKSFcLCtRLTpIIzRDNDxDOjxK
PDZINjlUOixYMiJhLyNlMSVsNCtpNidxNyd0OCh1OCp7Oih2ODNjOz9WQD1oQ0gnHUI+GVQnH1Yq
IWo0KGg1KHQxKHU0KWouJUNEG0xLHEhIG0pSHlRNG1tUHVZUHUhNIUFIPktTIENVPlhZIVxhJGRb
HmdaHXBfHmRcIHFHN2thHnVnHn5yH2tiIXdpIXxxIXxwMkRLQkdMRUxTSkdXR1FYTlRcUlhdVUlk
SlxjWlhlVlp0W01tUV57YHlSQmFoXmFyX3BrQWVsYmhtZW1zaml3Z3J5bnV7cnl+diyEPi2IPzSG
Pi6MQS+QQjSNQjCRQzyXRkObSFiEX0uiSlapTV6uUGmFa3KBbn2DenmFdnKPdWCvUGi1U3W9V3zB
WHudgIdPN4JuHoZzHpN8H4FuIYh0IZN8IYNcSJBvWZl0ZKh0WaF8caCIKoKJfoWWfqqJXLCJd7qm
VIfIW4XGXIzGZY7GaorIYZDFbZLFccOPfMWzb4WNgomOhYOHgI2UiomVhpKYjpWckpmelZ2fmZuh
lp2kmpmnl5GokLmUhqGmnKKpnquymqWroamupauxpq2zqam2prG2rbK5rra7sbm+tbrBtr7DubjF
tK3BqMeajNWiltekmMuols6tosLHvc/RtN3Ok8XLwcrOxcvRxs7SycbQwdHWzdTYz9jXyNba0dne
1NTX0N7j2dvg1uDdwOLm3eXo3fHpyubq4eru5ezw5+7y6fH07Pb58CH5BAAAAAAALAAAAABFAVYB
AAj+AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNqREggYseNIENeDFCQ5EKTAFCKXMmypcuX
MAMIGEBgQAGbA3LivHlT506fPH0KLUC0wAECBWra7PkTqM6eUHMGDapTgII3HZTifOqUKtOtTrl+
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
AgIAOw==

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://images.pennnet.com/articles/bow/thm/th_news%201109%2004.jpg

/9j/4AAQSkZJRgABAQEAZABkAAD/7AB7RHVja3kAAQAEAAAAHgADAGYAAAAxAEMAbwBwAHkAcgBp
AGcAaAB0ACAAMgAwADAAOAAgAFMAdABlAHAAaABlAG4AIABGAGEAdQBzAHQALAAgAGEAbABsACAA
cgBpAGcAaAB0AHMAIAByAGUAcwBlAHIAdgBlAGQAAP/bAEMACAYGBwYFCAcHBwkJCAoMFA0MCwsM
GRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0N
GDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/A
ABEIALMBLAMBIgACEQEDEQH/xAAbAAABBQEBAAAAAAAAAAAAAAAAAgMEBQYHCP/EAFEQAAEDAwED
BQkLCAcJAQEAAAIAAQMEBRIRBhMhIjEyUVIHFEFCcpGhscEVIzNhYnFzgYKS0RYkJTRTY6LCNUNF
ZIOT4Rc2RFSEo7LS8bPw/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAECBAUDBv/EACwRAQABAwMDAwMD
BQAAAAAAAAABAgMSBBEyBTFREyFBFDNSIiNxJGGBkfD/2gAMAwEAAhEDEQA/AO3IQheqoQhCARkI
9JCqcQqKuqilLoE/HmxZuZ/qQWmQ9oUbwO0Cq4K+kLkHOBGw5aiLuxs/MXBk4VbRD4x/Zgkf1CoF
hvA7QI3gdpVJXSi8WKtLyaKZ/wCRJK8Q+LQ3QvJoZPazILbfB2kbwO0qf3YHxbVdC/6Zm9ZMj3UM
ujaLl9oY29ZoLpCp/dStHoWaqLypIm/mU6gr2rqcj3BQShI8UkMmmoE3xs7spEpJQhQBCEIBCEIB
CEIBCEIBCEIBCElApCbllip4JJ5SwijFzMy5hZudVMl4KbkhSVoAXK1KmLXR/qUC2KeISxKUBLqR
v4v2g/eVH3zF2agfKppP/VK3sRdv/Kf8FKq63sX7UPvI3gdofvKhknpx6cuP2XTff9D/AMzF9otE
WaTIe0KMlm++aIujV0/+a34pW+py6NTEX+IyKtEhZG4VMse7GCUxLJizElrS50D6EIUrBCEIBZm+
iQ0l6ICxLveTR/8ACd1pln7xHkNyDt0r+kSZAmcpbPu5YKmWoKaFhZ58X0ZuLMzCLdahltHcO1EP
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

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/Images/spinner.gif

R0lGODlhMAAwAPYAAGZmZn9/f4KCgoeHh4mJiY+Pj5GRkZaWlpubm56enqOjo6enp6urq6+vr7Ky
sra2trq6usHBwcfHx8jIyM/Pz9HR0dfX19jY2N7e3uDg4Ofn5+np6e/v7/Pz8/X19fn5+f///2dn
Z2pqanFxcXp6eoCAgIWFhY6OjpqamqGhoaampqqqqrOzs7y8vMLCwsXFxczMzNDQ0NbW1t3d3eLi
4uXl5evr6/Dw8Pf39/r6+mhoaGxsbHJycoiIiIyMjKKioqioqLW1tbm5ucDAwM7OztPT09XV1dvb
2+Hh4erq6u7u7vv7+2lpaZCQkJmZmbCwsLe3t7+/v83NzdTU1NnZ2ePj4+bm5vT09Gtra3x8fIGB
gZOTk5eXl5iYmKCgoKSkpL29vcTExNLS0tra2u3t7fb29pWVlcnJyeTk5PHx8fj4+AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/
C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNpbWlyYSBOZWpjaGV2YSAod3d3LmxvYWRp
bmZvLm5ldCkAIfkEAAoA/wAsAAAAADAAMAAABv9AkHBILBqPyKRySeRQKBymdFpsAAANqlbKuDK2
20wjclx4jx7OB1zcGAKEjLEL+BY/GYxmzRZyEAEBC3xDdAtGHBh6fUQUAgEDFUV0dkMeeRkejEMf
CoEIHUSURRqKUZtDFwOBZENmAIdDHYoZhKggDoEGG4VXsSAfpRinWxyhRhsFgQ6uZ36Ke0cftm0L
DBfUIBGBBBhCo8B5GMdFHBYVmkcRBwcID9GygAEKmuCJGLxFsxP8ckcVCdgdSBCBGIgKjwRQAGEI
hAda6YRcosBvAoV8RzRAQCBwAYV0HxYEOtBh1AZTnDZUqDgBQ0QkHzA4EIigATYQGAiwerXgIYb/
Wn4ssLRgcImHCgtoQtAA4kGgBBMWKLioKNRDlhUwauEQISC7BBIw1NT6gcMGDxooSJgggQLQPsEe
cGTnYEM2YBYk6KVwgdymDxcasGuFJAM/oncZeaDwoOidC1qleLhg4VyFc5UvV9DsT8mGzJoxh65w
E4QGBw1So07NurWkJRVay16tmimIDQ5ot9bd4LWS2LKDq84HWHNo0ZhtK9FwGbPo0aWnBIt+hIOD
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

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/optoiq-2/site-images.Par.83607.Image.-1.-1.1.gif

R0lGODlhLAFkAPeBAL4eLb6e/8Os/8q5/8fH/9XI/9jV/+Ta/9zi/+HO/+Pj/+7i/+nt//L2/+v0
/+37//X7//z7//v//////+X7/9vy/9Ps/8rl/8fZ/73R/7PI/6a4/5+2/6Gp/46S/29m/6fE/7K7
//39/fz8+/v7+vr7+vn6+fj49/f39vX29PT08vLz8fHy8PDx7u7v7Ozt6enq5ubn4+Pl4OHj3d7g
2tze2Nnb1NbZ0tXX0NPWztLVzbiL/+O1/6Vc/4wx/8ya/9q8/9Ou/1EC/wUA8/PO/+Ty/9zs/wAA
pgAAabl0//zy/9Ph/53B/wAASvjc/wAAOOPs/9HTzAAANwAAMcd3g7cxSQAAMwAAL8uLk8RjcAAA
NQAALdu2t8BOX+TMzL0+UtWfo9KvsN3AwOLV0+vf3e7u8dfJxrEV/9jRzcrBvNDTy/np/5+fm359
e4qKmc/SyjYzM29vhlRTXyQgIby9uKyss8zPxsAqOM7RyNTPyr8hMJmZrLu7yN3d5MzM1ikpUv//
/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIEALAAAAAAsAWQA
AAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKPKhDR44cJnGoVHmj5Q0b
MGPCrEGzZg0aOGnM2MlThk+fMYIGhREDhlGjL5IqdcGUaYunLViwWDFVhVWrKbKi2IrihFcTYMOW
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
tKY9LWpTq9rVsra1rn0tbGMr29nStragDQgAOw==

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/optoiq2/site-images.Par.78880.Image.0.0.1.jpg

/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU
FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAyAHADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6por5
58c/EXx54S+JeieEWuNEuxrDwiC9azdTEJZTH8yiTnaRnqMitDxp8RfGPwt1HTH8ZRaVrWgXshiN
5YQvbzRNgEgoWYHjJHrg8igD3aiq1hdw39lb3lpIJLeeNZY3HRlYZB/I1ZoABWbqN2samINdLKRk
GGEsfwJUr+daVFAmrnCX0MlyGZ9D8SXLY6nUhCjgj+6kwH/jtc9faClw/wC9+HBuUGDul1FC2foS
efxr0vWob+bS7iPSbqK0vmXEU8sXmIjepXIz+deD+C/iR498RfEu98GX0ug6bc6ezNPKlrJIZVRg
GCAvgZBzntW8K7ht+b/zMJUIy3f4L/I2r3w/4VQf8Tr4daxZKf8AlpanzQo9T5Umf0NS6R4U0nUl
kbwB4z1SxuYvvWpnZgn+9E2G/E8VsfG74jN8PofDzQiJmv79YpvMGQsAx5h9jyOab8ZtLceGn8S6
QdPt7rSonvWllicPIqrkKskbKy/qDWscW3o2/wA19zMnhEtUk/wf3ooR+NvEvgi+htPiBZpc6dKw
SPVbReM/7QAA/DAPXG6vWbK6hvLWK4tZElglUOkiHIYHuK828Bard+L9I1LQ/HC2r6k8Uc0lnHB5
axwyIGUAliWYHq3GDivOINd8UeB9H8X6Jod7aB9CD3cf2yBpC8O4A7Duwp5DYIIOe1KUFUg5Jcsl
q+zXcITdKaje8XovJ9j6aor5p1v4i+PLf4D6H4ystS08TTM0V2ZLQGQsZXVWTnYAAqjBX3zXQ+Kv
if4i0m+0SK1htZPMtEmlhkT57pvKifK4PAdpGjTaD86nPHTkO0439o24ez/aA+H1zDbyXUkP2WRY
IcF5SLokKue5xgVp/G618S/EnTII59BufDnhrSGkv7y91Jk3sqoRlI1JJIXdx3JFc38a/Eul6j8f
PBOqWFwLnTdLktTd3MSMyR7bkuwJx1C4P419EeKra38e/DnWLPRLuGaPUbOWGCZTlN+CBn2zQB4b
4C8cNr2hPNe+KNU8OWVqBaaVp+nWLyiOKNQFeRwhEhPTGccH2rO1j4pfEGf4a3us/bDplzpt3Haz
7tP8s3qyE7JULD5T8pBA7Y6V0n7Pvjyw8IeG5vB3jeX+xNU0yeTy1vAUWSMnccHuQS31GMUz9oXx
pp/ij4UXEVjFdI1xfILESwlWvI4yC8qL1CZJGTjOKANnxUnjtPhpJ43Pi6Wy1CGzW/XTYLdBbLHg
NsORuZsHqT146Vk+OfiB4vn+BmieN9H1WHTmlRYry3S3VjJIZCm5WP3RxnA9a6bxr4n0a7/Z1ujB
fxubrShZRDB3PP5Q/d4x972ryLXNd02f9lTTdAhuN2spOitZhG8wESljxj05zQB6b4nTx2Phm/jU
+LZbHUYLNL5dNt4ENsE2g7WJG5mIOck9eMYryx/Edxa/En4efEeeNYV12JYb7yl2oZFPkyH8QVbF
ex+L/Emj3X7Ok7QX0b+fpQsogAdzziMAxgdd3HSvIL/TrbxB+yxZ/ZX3ar4dnNxNEQVaFWchs/UE
GgDrP2gNDbxzdeM72Es6eFLO3jt9hyGmYmSYEeoRl/KtfSvE8fi/4H+D9NuZsPqdxHY3rt1WG2zJ
O59tkQH/AAKu2+C/h6RvhYh1zMt/r6Pd3zOMMxlXAB+ibRXh3wX0A6TqHjDTvEV6baxsZJ9HtFI3
YuLkCNyq9SdqITjtTScnZCbUVdnSeHfiHbeNNc1fVbrW73w3p8TC2so9NsWkmmVRw8soRsjp8vSs
+y1S51vwZ8TLnWrSZ9WtdPaCPVmtmt1v4N2FYoQAG+Ree4I9K0v2fvE0Pw0Or+CvHjHSLiO6ae1u
LgbYJVIAIV+hzgMD3B9q7H4l+PNJ1/4XeLls/OW0aI2lndyIQl7KRyIhjLAdM4we1NSktmJxi90e
Za5/yZbpP/XwP/Sh6+mPCNvDJ4W0OSSJHcWMGGZQSPkHevlTWNd06X9lPS/D8dxu1pLgB7MI3mLi
Z2JIx02kHPvX098MtXs9a8C6LcWMyyKlpDFIBnMcgjXch9xnFSUdKsESKFWKMKOAAoGKdHGka7Y1
CrnOFGBUgqjcahbW0wiuZlhZsbTJ8oY+gJ4J9hRa4m7bjrvTrK8kR7yztrh0+60sSuV+hI4qdoo2
ILIpIGASO3pUgIPQg0uaB3IfIi/55Jwc/dHX1pfJj6+Wmf8AdFPJA6nFYuo+JtF05tl5qdpHLziL
zAXP0Ucn8qcYuTskTKajq2a3kxf88k65+6OtRXFpbT28kVxbwyRSKVkR0BVl9CD1HtXn+qfFbTY5
Tb6RbzXdyeFEmYxn/cwZT+CGsSePxz4uO1oJrOzbgrKTZw/RgCZnH4R10Rwst5+6vMwliY7Q95+R
1viPxzp+jiSy0uJL6/hTmKNgkNuB3lk+7Go9+favNtIttZ8VaxPe6IkT3s7kXGtmDy7e2BA3C3Uj
LvgAeYefTA5rudC+F+n26wtrk7al5Tb47REENrGex8sfePbcxJPevQoIY7eBIoI1jiQBVRRgKPQC
r9rToq1JXfdmXsalV3qOy7IwPD/hWw0vQrXTLkf2msGSJL0CVix6kZzgew6V0HkxbVXy02qMAYHH
0qXtS9q45NyfM9ztjFRVlsReTH/zzT/vkUqIiZ2KFycnAxk1JRQMKhuFV4JFdQyleQRkUUUREzwv
40s2gqDobHTTuU5sz5PPP93FeOf8Jl4n/wChj1r/AMDpf/iqKK9PojynuUL3WtUvonF7qV7cD/pr
O7/zNd18KbaC/vhDfQRXMRdfkmQOvX0NFFetH+EefP8AiH1DpGm2OnQeXp9nbWsf92CJUH5AVo0U
V83W+M96h8CCiiisjoCiiigAooooA//Z

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.optoiq.com/etc/medialib/platform-7/optoiq2/site-images.Par.3212.Image.0.0.1.gif

R0lGODlhNwAUAPQTAP///u/Hy89WYr8eLt+OluOdpNdzfcMsO+ersd+Pl/PW2Pvy8/fk5tNlcNuB
isc6SMtIVf///+u5vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA
ABMALAAAAAA3ABQAAAX/4DQFwmCeaKqubGsKgTgRbm3fKTHifM+SvmCwJCwaBwdEIFA4HFeGQnDB
KBQWiqcqEfAJIg2TIQI5CRzOEyTheJgOAoHBeWi0TdyDI3w7RBh3Jw8KWAsJJlcBDGQDXxFkB4QK
YAMJC1gRUjcQkxEKfAgLTgkRTgEGSBGHX3ykTghSpGUSXTwPBpNlAQtLkyUPBQGPqxEntCkJWZW1
NQkMKKoDAQpxDQJOWA4Q0V8n0yYQYVx4zC7bCA96ESUF6wOhB9thY8QnDusHS8vkOGOP0UhCRVjA
R8JABgwQNCr2RiADN+P28YBABAWcFA8qsoinpeMRjR6fwAjpMcYhkkcSCcgAgtJLjAkhAAA7

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/stylesheets/header2.css

BODY {
=09
}
#template {
	MARGIN-LEFT: auto; WIDTH: 993px; MARGIN-RIGHT: auto
}
#template #header {
	MARGIN-BOTTOM: 0px
}
#template #lbWrapper {
	MARGIN-TOP: 0px; FLOAT: none
}
#template #header #topLeaderBoard {
	FLOAT: none; PADDING-BOTTOM: 10px; MARGIN: auto; WIDTH: 728px; =
PADDING-TOP: 10px
}
#template #header #branding {
	MARGIN-TOP: 5px; FLOAT: left; MARGIN-BOTTOM: 5px; OVERFLOW: hidden; =
WIDTH: 350px; HEIGHT: 90px
}
#template #header #utilityBar {
	FLOAT: left; MARGIN: 10px 5px 0px; WIDTH: 263px; HEIGHT: 90px
}
#template #header #utilityBar #login {
	FLOAT: left; WIDTH: 161px; HEIGHT: 45px
}
#template #header #utilityBar #subscribe {
	FLOAT: right; MARGIN-LEFT: 0px; WIDTH: 60px; MARGIN-RIGHT: 40px; =
HEIGHT: 20px
}
#template #header #utilityBar #search {
	FLOAT: left; MARGIN-LEFT: 0px; WIDTH: 263px
}
#template #header #rteArea {
	MARGIN-TOP: 5px; DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 5px; =
MARGIN-LEFT: 10px; WIDTH: 355px; HEIGHT: 90px
}
#template #header #navigation {
	FLOAT: left; WIDTH: 993px
}
#template #header #navigation #globalNav {
	MARGIN-BOTTOM: 0px; WIDTH: 973px; HEIGHT: 35px
}
#template #header #navigation #globalSubNav {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 10px; WIDTH: 973px; HEIGHT: 35px
}
* HTML #template {
=09
}
* HTML #template #header #branding {
	OVERFLOW: hidden; WIDTH: 340px
}
* HTML #template #header #topHeader {
=09
}
* HTML #template #header #topHeader LBleft {
=09
}
* HTML #template #header #utilityBar {
=09
}
* HTML #template #header #navigation {
=09
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/stylesheets/content4.css

#template #container {
	MARGIN-LEFT: 0px
}
#template #container #leftColWrapper {
	MARGIN-TOP: 10px; FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 683px
}
#template #container #middleColWrapper {
	DISPLAY: none
}
#template #container #rightColWrapper {
	MARGIN-TOP: 10px; FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 310px
}
#template #container #leftColumn {
	PADDING-LEFT: 1px; FLOAT: left; MARGIN-LEFT: 10px; OVERFLOW: hidden; =
WIDTH: 663px
}
#template #container #middleColumn {
	DISPLAY: none
}
#template #container #rightColumn {
	FLOAT: left; OVERFLOW: hidden; WIDTH: 300px
}
#template #container #leftColWrapper #bookmark {
	FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 310px; HEIGHT: 30px
}
#template #container #leftColumn #artToolWrapper {
	DISPLAY: none
}
#template #container #leftColumn #ctaArticle {
	MARGIN-TOP: 10px; FLOAT: left; WIDTH: 300px; MARGIN-RIGHT: 10px; =
HEIGHT: 300px
}
#template #container #leftColumn #articleTools {
	MARGIN-TOP: 10px; FLOAT: left; WIDTH: 300px; MARGIN-RIGHT: 10px; =
HEIGHT: 150px
}
#template #container #comments {
	DISPLAY: none
}
* HTML #template #container {
	OVERFLOW: hidden
}
* HTML #template #container #leftColWrapper {
	WIDTH: 673px
}
* HTML #template #container #rightColWrapper {
	WIDTH: 310px
}
* HTML #template #container #leftColumn {
	PADDING-LEFT: 1px; MARGIN-LEFT: 5px; WIDTH: 663px
}
* HTML #template #container #rightColumn {
	MARGIN-LEFT: 5px
}
* HTML #template #container #comments {
	MARGIN-LEFT: 0px
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/stylesheets/footer1.css

#template #footer {
	MARGIN-BOTTOM: 10px; MARGIN-LEFT: 0px; WIDTH: 100%
}
#template #footer #bottomLeaderBoard {
	MARGIN: 10px auto; WIDTH: 728px
}
#template #footer #pennLogo {
	MARGIN-TOP: 10px; FLOAT: left; MARGIN-LEFT: 10px; WIDTH: 112px; HEIGHT: =
70px
}
#template #footer #footerNav {
	MARGIN-TOP: 10px; FLOAT: left; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
#template #footer #footerNav .footerlink {
	DISPLAY: inline; FONT-SIZE: 10px; LIST-STYLE-TYPE: circle; TEXT-ALIGN: =
center
}
#template #footer #footerNav .footerlink LI {
	DISPLAY: inline; MARGIN-LEFT: 2px
}
#template #sitecatalyst {
	FLOAT: left
}
* HTML #template #footer {
	PADDING-LEFT: 0px
}
* HTML #template #footer #pennLogo {
	MARGIN-LEFT: 0px; WIDTH: 112px
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.optoiq.com/stylesheets/extendedfooter.css

#template #extendFooter {
	FLOAT: left; WIDTH: 992px
}
#template #extendFooter #extendFooterContent {
	FLOAT: left; WIDTH: 992px
}
* HTML #template #extendFooter {
	
}
* HTML #template #extendFooter #extendFooterContent {
	MARGIN-LEFT: 0px
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/stylesheets/componentlevel.css

EM {
	OVERFLOW: hidden; ZOOM: 100%
}
#template #header #navigation A {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
#template #header #navigation A:hover {
	TEXT-DECORATION: none
}
#template #header #navigation #globalNav {
	MARGIN-TOP: 0px; DISPLAY: inline-block; MARGIN-BOTTOM: 0px; WIDTH: =
993px; COLOR: white; HEIGHT: 30px
}
#template #header #navigation #globalNav UL {
	PADDING-RIGHT: 0px; DISPLAY: inline-block; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; HEIGHT: 25px
}
#template #header #navigation #globalNav UL LI {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#template #header #navigation #globalNav UL LI A {
	LINE-HEIGHT: 30px
}
#template #header #navigation #globalSubNav {
	DISPLAY: inline-block; MARGIN-BOTTOM: 0px; WIDTH: 993px; BORDER-BOTTOM: =
1px solid; HEIGHT: 30px
}
#template #header #navigation #globalSubNav #welcomeMessage {
	MARGIN-LEFT: 15px; PADDING-TOP: 8px
}
#template #header #navigation #globalSubNav UL {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px; WIDTH: 993px; =
PADDING-TOP: 0px; HEIGHT: 25px
}
#template #header #navigation #globalSubNav UL LI {
	PADDING-RIGHT: 2px; DISPLAY: inline; LIST-STYLE-TYPE: none
}
#template #header #navigation #globalSubNav UL LI A {
	PADDING-RIGHT: 8px; PADDING-LEFT: 6px; FONT-SIZE: 10px; PADDING-BOTTOM: =
8px; LINE-HEIGHT: 25px; PADDING-TOP: 8px
}
* HTML #template #header #navigation #globalNav UL LI {
	DISPLAY: inline; HEIGHT: 13px
}
* HTML #template #header #navigation #globalNav UL LI A {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.tertiary-nav-list {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 10px! important; PADDING-TOP: 0px! important; POSITION: =
relative
}
.tertiary-nav-list UL {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.tertiary-nav-list UL LI {
=09
}
.tertiary-nav-list A {
	TEXT-DECORATION: underline
}
.tertiary-nav-title {
	MARGIN-TOP: 15px
}
.tertiary-nav-list UL.tertiary LI {
	WHITE-SPACE: nowrap; LIST-STYLE-TYPE: none
}
.tertiary-nav-list UL.tertiary LI.selected A {
	COLOR: #000; TEXT-DECORATION: none
}
.tertiary-nav-list UL.split.tertiary {
	WIDTH: 48%
}
.tertiary-nav-list UL.right.split.tertiary {
	LEFT: 0px; MARGIN-LEFT: 50%; POSITION: absolute
}
.tertiary-nav-list UL.full.tertiary LI {
	FLOAT: left; MARGIN-RIGHT: 10px
}
UL.split.tertiary {
	FLOAT: left; WIDTH: 50%
}
#template #container #rightColumn .ad-display {
	PADDING-BOTTOM: 5px; PADDING-TOP: 5px; HEIGHT: auto
}
#template #container .articleaddisplay {
	PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.advancedsearch {
=09
}
#advancedsearch-pageTitle H1 {
	MARGIN-TOP: 4px; FONT-SIZE: 150%; MARGIN-BOTTOM: 7px
}
#advancedsearch-pageSubtitle H1 {
=09
}
#advancedsearch-siteMetaText {
	PADDING-RIGHT: 2px; MARGIN-TOP: 2px; PADDING-LEFT: 4px; MARGIN-BOTTOM: =
2px; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #ffffff
}
.articlecategorylisting-maincontent {
	FLOAT: left; PADDING-TOP: 10px
}
.articlecategorylisting-subcontent {
	MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px
}
.articlecategorylisting-heading {
	PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
.article-block {
	MARGIN-TOP: 10px; DISPLAY: block; MARGIN-BOTTOM: 10px
}
.summary-item {
	DISPLAY: block; MARGIN-BOTTOM: 15px
}
.summary-footer {
	TEXT-ALIGN: right
}
.article-spacer {
	CLEAR: both; HEIGHT: 10px
}
.article-markets-box {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
BORDER-LEFT: black 1px solid; WIDTH: 300px; BORDER-BOTTOM: black 1px =
solid
}
.article-markets-title {
	MARGIN-TOP: 4px; FONT-SIZE: 150%; MARGIN-BOTTOM: 7px
}
.article-markets-boxlinkblock {
	MARGIN-TOP: 10px; DISPLAY: block; MARGIN-BOTTOM: 10px
}
.article-nav-link {
	PADDING-BOTTOM: 20px; PADDING-TOP: 10px
}
.article-nav-link-right {
	FLOAT: right
}
.article-nav-link-left {
	FLOAT: left
}
.art-tools-fontSizer IMG {
	WIDTH: 25px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; HEIGHT: 28px; BORDER-BOTTOM-STYLE: none
}
.art-tools-toolbox {
	BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: black =
1px solid; PADDING-LEFT: 2px; FLOAT: left; BORDER-LEFT: black 1px solid; =
WIDTH: 99%; BORDER-BOTTOM: black 1px solid; HEIGHT: 100%; =
BACKGROUND-COLOR: #f2f5fa
}
.art-tools-toolLinks {
	MARGIN: 7px auto; TEXT-ALIGN: center
}
.art-tools-printIcon {
	WIDTH: 15px; HEIGHT: 13px
}
.art-tools-emailIcon {
	PADDING-LEFT: 5px; WIDTH: 15px; HEIGHT: 9px
}
.art-tools-saveIcon {
	PADDING-LEFT: 5px; WIDTH: 19px; HEIGHT: 13px
}
.art-tools-ad {
=09
}
.art-tools-fontSizer {
=09
}
.art-tools-toolblock {
=09
}
.art-tools-images {
=09
}
.art-tools-font-image1 {
	PADDING-LEFT: 5px
}
.art-tools-font-image2 {
=09
}
.art-tools-font-image3 {
=09
}
.art-tools-font-image4 {
=09
}
.art-tools-printText {
=09
}
.basic-podcast-summary-genericBox {
=09
}
.basic-podcast-summary-genericBox H1 {
	PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; TEXT-TRANSFORM: =
uppercase; PADDING-TOP: 2px
}
.basic-podcast-summary-genericBoxContent {
	PADDING-RIGHT: 2px; MARGIN-TOP: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: =
2px
}
.basic-podcast-summary-images {
=09
}
.basic-podcast-summary-images IMG {
	MAX-WIDTH: 110px; VERTICAL-ALIGN: middle; OVERFLOW: hidden; =
BORDER-TOP-STYLE: none; MAX-HEIGHT: 75px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.basic-podcast-summary-linksbox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.basic-podcast-summary-links {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.basic-podcast-summary-subscribe IMG {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.basic-podcast-summary-more {
	FLOAT: right
}
.basic-podcast-summary-more IMG {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.basic-podcast-summary-moreImage {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.basic-podcast-summary-moreLabel {
=09
}
.basic-podcast-summary-linktitle {
=09
}
.basic-podcast-summary-synopsis {
=09
}
.basic-podcast-summary-download {
	PADDING-TOP: 5px
}
.basic-podcast-summary-subscribe {
=09
}
.basic-podcast-summary-td-details {
=09
}
.classified-display {
	DISPLAY: block; FONT-SIZE: 10pt
}
.pagetitle {
	MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px
}
.jump-to-nav {
	BORDER-TOP: #333 2px solid; DISPLAY: block; PADDING-TOP: 10px
}
.jump-to-item {
	FLOAT: left; MARGIN-RIGHT: 50px
}
.jump-to-title {
	MARGIN-RIGHT: 10px
}
.jump-to-title {
	FLOAT: left
}
.jump-to-items {
	FLOAT: left
}
.category {
	MARGIN-TOP: 20px; DISPLAY: block
}
.category-title {
	DISPLAY: block
}
.category-content TD {
	BORDER-RIGHT: #333 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #333 1px =
solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #333 1px =
solid; PADDING-TOP: 4px; BORDER-BOTTOM: #333 1px solid
}
.category-content TH {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px; WHITE-SPACE: nowrap
}
.category-content TH.description {
	WIDTH: 50%
}
.category-content TH.city {
	WIDTH: 30%
}
.category-content TH.state {
	WIDTH: 10%
}
.category-content TH.country {
	WIDTH: 5%
}
.category-content TH.postdate {
	WIDTH: 5%
}
.category-content TD.postdate {
	WHITE-SPACE: nowrap
}
.online-archives-category-summary-item {
	MARGIN-TOP: 20px
}
.online-archives-category-genericBox {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN: 10px =
2px 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.online-archives-category-next {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.homepage-teaser-sideeditor {
	FLOAT: left; WIDTH: 50%
}
.homepage-teaser-topeditor {
	MARGIN-LEFT: 50%
}
.homepage-teaser-news {
	MARGIN-LEFT: 50%
}
.podcast-display-outerbox {
=09
}
.podcast-display-PageTitle {
	PADDING-RIGHT: 2px; MARGIN-TOP: 2px; PADDING-LEFT: 4px; MARGIN-BOTTOM: =
2px; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #ffffff
}
.podcast-display-PageTitle H1 {
	PADDING-LEFT: 2px; FONT-SIZE: 150%; PADDING-BOTTOM: 2px; MARGIN: 4px =
0px 7px; TEXT-TRANSFORM: none; COLOR: #000000; PADDING-TOP: 4px; =
BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none
}
.podcast-display-details {
	HEIGHT: 100%; BACKGROUND-COLOR: rgb(255,255,255)
}
.podcast-display-description {
	FONT-WEIGHT: normal; FONT-SIZE: 12pt; COLOR: #000000
}
.podcast-display-images {
	FLOAT: left; BORDER-TOP-STYLE: none; MARGIN-RIGHT: 10px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none
}
.podcast-display-images A IMG {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.podcast-display-genericList {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.podcast-display-genericList LI {
	MARGIN-BOTTOM: 5px
}
.podcast-display-subscribe {
	PADDING-RIGHT: 5px
}
.podcast-display-subscribe A IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.podcast-display-rss {
=09
}
.podcast-display-rss A IMG {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.podcast-display-Title {
	FONT-WEIGHT: normal; FONT-SIZE: 14pt; COLOR: #000000
}
.podcast-display-content-box {
	WIDTH: 100%
}
.podcast-display-articletools {
	FLOAT: left; WIDTH: 35%
}
.podcast-display-playbtn {
	PADDING-RIGHT: 5px; FLOAT: left
}
.podcast-display-downloadbtn {
=09
}
.podcast-display-play-images {
	WIDTH: 100%
}
.podcast-display-subscribebox {
	WIDTH: 100%
}
.podcast-display-print-box {
	CLEAR: both; PADDING-TOP: 5px
}
.podcast-display-print-PageTitle {
	PADDING-RIGHT: 2px; MARGIN-TOP: 2px; PADDING-LEFT: 4px; MARGIN-BOTTOM: =
2px; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center
}
.podcast-display-print-PageTitle H1 {
	PADDING-LEFT: 2px; FONT-SIZE: 150%; PADDING-BOTTOM: 2px; MARGIN: 4px =
0px 7px; TEXT-TRANSFORM: none; COLOR: #000000; PADDING-TOP: 4px; =
BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none
}
.podcast-display-print-title {
=09
}
.podcast-display-print-description {
=09
}
.podcast-display-print-link {
	PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 4px 0px 7px; =
PADDING-TOP: 4px
}
.podcast-display-email-PageTitle {
	CLEAR: both; PADDING-RIGHT: 2px; MARGIN-TOP: 2px; PADDING-LEFT: 4px; =
MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 8px; PADDING-TOP: 5px; =
BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center
}
.podcast-display-email-PageTitle H1 {
	PADDING-LEFT: 2px; FONT-SIZE: 150%; PADDING-BOTTOM: 2px; MARGIN: 4px =
0px 7px; TEXT-TRANSFORM: none; COLOR: #000000; PADDING-TOP: 4px; =
BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none
}
.podcast-display-email-synopsis {
	FONT-WEIGHT: bold
}
.podcast-display-email-userform {
	PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 4px 0px 7px; =
PADDING-TOP: 4px
}
.podcast-highlight-genericBox {
=09
}
.podcast-highlight-genericBox H1 {
	PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; TEXT-TRANSFORM: =
uppercase; PADDING-TOP: 2px; BORDER-BOTTOM: #000000 1px solid
}
.podcast-highlight-genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px
}
.podcast-highlight-images {
	BOTTOM: 0pt; POSITION: relative
}
.podcast-highlight-more {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; TEXT-ALIGN: right; BORDER-RIGHT-WIDTH: 0px
}
.podcast-highlight-moreIcon {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.podcast-highlight {
	PADDING-RIGHT: 2px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
.podcast-highlight-img {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.podcast-highlight-more-left {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; =
BORDER-BOTTOM-WIDTH: 0px; WIDTH: 60%; BORDER-RIGHT-WIDTH: 0px
}
.podcast-highlight-link {
	PADDING-RIGHT: 2px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 5px
}
.podcast-highlight-moreLabel {
=09
}
.podcast-highlight-moreImage {
	VERTICAL-ALIGN: middle; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.podcast-summary-genericBox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; =
BACKGROUND-COLOR: #fff
}
.podcast-summary-genericBox H1 {
	PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 0px; TEXT-TRANSFORM: =
uppercase; PADDING-TOP: 2px; BORDER-BOTTOM: #000000 1px solid
}
.podcast-summary-genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px
}
.podcast-summary-images {
=09
}
.podcast-summary-images IMG {
	MAX-WIDTH: 110px; VERTICAL-ALIGN: middle; OVERFLOW: hidden; =
BORDER-TOP-STYLE: none; MAX-HEIGHT: 75px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.podcast-summary-searchbox {
	FLOAT: right
}
.podcast-summary-linksbox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.podcast-summary-links {
=09
}
.podcast-summary-pages {
	WIDTH: 100%; TEXT-ALIGN: center
}
.podcast-summary-totalPages {
=09
}
.podcast-summary-totalpodcasts {
=09
}
.podcast-summary-indexPages {
=09
}
.podcast-summary-subscribe {
	PADDING-TOP: 5px
}
.podcast-summary-playdownload {
	PADDING-TOP: 5px
}
.podcast-summary-subscribebutton {
=09
}
.podcast-summary-subscribeimage {
	MAX-WIDTH: 110px; OVERFLOW: hidden; BORDER-TOP-STYLE: none; MAX-HEIGHT: =
75px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BORDER-BOTTOM-STYLE: none
}
.podcast-summary-synopsis {
=09
}
.podcast-summary-td-details {
=09
}
.product-center-box {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; WIDTH: 400px; BORDER-BOTTOM: #000000 1px =
solid
}
.product-center-titleBox {
	TEXT-TRANSFORM: uppercase; COLOR: rgb(255,255,255); BORDER-BOTTOM: 0pt; =
BACKGROUND-COLOR: rgb(88,131,173)
}
.product-center-title {
	VERTICAL-ALIGN: text-bottom
}
.product-center-boxLeftLink {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FLOAT: left; WIDTH: 50%; =
PADDING-TOP: 3px
}
.product-center-boxRightLink {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FLOAT: right; WIDTH: 50%; =
PADDING-TOP: 3px
}
.product-center-image {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; =
BORDER-BOTTOM-WIDTH: 0px; WIDTH: 70px; HEIGHT: 67px; BORDER-RIGHT-WIDTH: =
0px
}
.product-center-text {
	WIDTH: 80%
}
.product-display-genericBox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; WIDTH: 400px; BORDER-BOTTOM: #000000 1px =
solid
}
.product-display-genericBox H1 {
	PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; =
PADDING-TOP: 2px; BORDER-BOTTOM: #000000 1px solid
}
.product-display-genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px
}
.product-display-featureBox IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px
}
.product-display-images IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: right; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; hspace: 5px; vspace: =
5px
}
.product-display-more A {
	FLOAT: right; MARGIN: 2em auto 0px; WIDTH: 290px
}
.product-focus-genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px
}
.product-focus-subtitle {
	MARGIN: 10px
}
.product-focus-monthYr {
	FLOAT: right; WIDTH: 50%
}
.product-focus-productimage {
	FLOAT: left; MARGIN-RIGHT: 10px
}
.product-focus-productimage IMG {
	MARGIN-TOP: 10px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.product-focus-content {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.product-focus-featureBox IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px
}
.product-summary-productName {
	MARGIN-TOP: 10px; PADDING-TOP: 2px
}
.product-summary-hrline {
	MARGIN-LEFT: 0px; WIDTH: 97%
}
.quick-vote-genericBox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; WIDTH: 284px; BORDER-BOTTOM: #000000 1px =
solid; BACKGROUND-COLOR: #fff
}
.quick-vote-genericBoxcontents {
	WIDTH: 284px
}
.quick-vote-Title {
	PADDING-LEFT: 3px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; PADDING-TOP: =
3px; BORDER-BOTTOM: #000000 1px solid
}
.quick-vote-votebutton {
	FLOAT: right; MARGIN: 2em auto 0px; WIDTH: 220px
}
.quick-vote-resultslink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 230px
}
.quick-vote-archivelink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 230px
}
.quick-vote-comment {
	FLOAT: right; WIDTH: 260px; TEXT-ALIGN: center
}
.quick-vote-discussionlink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 220px
}
.quick-voteresults-questions {
	PADDING-LEFT: 5px; MARGIN-LEFT: 5px
}
.quick-voteresults-responses {
	PADDING-LEFT: 5px; FLOAT: left; MARGIN-LEFT: 2px; WIDTH: 200px
}
.quick-vote-percentageText {
	WIDTH: 25%; TEXT-ALIGN: right
}
.quick-voteresults-fraction {
	FLOAT: left; MARGIN: 2px; WIDTH: 75%
}
.quick-vote-display-genericBox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; WIDTH: 284px; BORDER-BOTTOM: #000000 1px =
solid
}
.quick-vote-display-genericBoxcontents {
	WIDTH: 284px
}
.quick-vote-display-Title {
	PADDING-LEFT: 3px; MARGIN-LEFT: 10px; TEXT-TRANSFORM: uppercase; =
PADDING-TOP: 3px; BORDER-BOTTOM: #000000 1px solid
}
.quick-vote-display-votebutton {
	FLOAT: right; MARGIN: 2em auto 0px; WIDTH: 160px
}
.quick-vote-display-resultslink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 170px
}
.quick-vote-display-archivelink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 170px
}
.quick-vote-display-comment {
	FLOAT: right; WIDTH: 260px; TEXT-ALIGN: center
}
.quick-vote-display-discussionlink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 230px
}
.quick-voteresults-questions {
	PADDING-LEFT: 5px; MARGIN-LEFT: 5px
}
.quick-voteresults-responses {
	PADDING-LEFT: 5px; FLOAT: left; MARGIN-LEFT: 2px; WIDTH: 200px
}
.quick-vote-percentageText {
	WIDTH: 25%; TEXT-ALIGN: right
}
.quick-voteresults-fraction {
	FLOAT: left; MARGIN: 2px; WIDTH: 75%
}
.quick-vote-archivelink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 230px
}
.quick-vote-comment {
	FLOAT: right; WIDTH: 260px; TEXT-ALIGN: center
}
.quick-vote-discussionlink {
	MARGIN-TOP: 3px; FLOAT: right; WIDTH: 220px
}
.quick-vote-summary {
=09
}
.quick-vote-summary-genericBox H1 {
	PADDING-LEFT: 3px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; PADDING-TOP: =
3px; BORDER-BOTTOM: #000000 1px solid
}
.quick-vote-summary-genericBox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.search-shortSearchResults UL {
	PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: =
0.7em 0pt; PADDING-TOP: 0pt
}
.search-shortSearchLinks {
	MARGIN-LEFT: 10px
}
#search-gsaResultsHeader {
	WIDTH: 100%; LINE-HEIGHT: 2.5em; HEIGHT: 36px
}
#search-bottomSearchForm {
	WIDTH: 100%; LINE-HEIGHT: 2.5em; HEIGHT: 36px
}
#search-gsaResultsHeader {
	MARGIN-TOP: 0pt
}
#search-gsaResultsHeader #search-gsaKeywords {
	PADDING-LEFT: 0.7em; FLOAT: left
}
#search-gsaResultsHeader #search-gsaResult {
	PADDING-RIGHT: 0.5em; FLOAT: right
}
.search-sortLinks {
	CLEAR: both; MARGIN-LEFT: 5px
}
.search-gsaCollections {
	PADDING-BOTTOM: 1em; MARGIN: -5px auto auto 5px; BORDER-BOTTOM: #000000 =
1px dotted
}
.search-searchResult {
	MARGIN: 5px
}
#search-bottomSearchNav {
	BORDER-TOP: #000000 1px dotted; MARGIN-TOP: 1em; TEXT-ALIGN: center
}
.search-gsaPagelist A {
	BORDER-RIGHT: #dde7ec 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#dde7ec 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; MARGIN: =
-3px; BORDER-LEFT: #dde7ec 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: =
#dde7ec 1px solid
}
.search-gsaPagelist SPAN {
	BORDER-RIGHT: #dde7ec 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#dde7ec 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; MARGIN: =
-3px; BORDER-LEFT: #dde7ec 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: =
#dde7ec 1px solid
}
.search-gsaPagelist A#search-nextLink {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.search-gsaPagelist A#search-previousLink {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
#search-bottomSearchForm {
	CLEAR: both; PADDING-TOP: 0.7em
}
#search-bottomSearchForm .search-submitBtn {
	BORDER-RIGHT: #ffffff 1px inset; BORDER-TOP: #ffffff 1px inset; =
MARGIN-LEFT: 5px; BORDER-LEFT: #ffffff 1px inset; BORDER-BOTTOM: #ffffff =
1px inset
}
.whitepaper-promo .whitepaper-spacer {
	CLEAR: left; DISPLAY: block; HEIGHT: 10px
}
.whitepaper-promo A IMG.vendor-logo {
	MAX-WIDTH: 120px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
#search-summary-pagination {
	BORDER-TOP: #000000 1px dotted; MARGIN-TOP: 1em; TEXT-ALIGN: center
}
.search-summary-gsaPagelist A {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 1px; MARGIN: =
-5px; PADDING-TOP: 1px
}
.search-summary-gsaPagelist SPAN {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 1px; MARGIN: =
-5px; PADDING-TOP: 1px
}
.search-summary-gsaPagelist A#search-nextLink {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.search-summary-gsaPagelist A#search-previousLink {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.search-summary-morebox {
	MARGIN-BOTTOM: 1px; TEXT-ALIGN: right
}
.wirenews-block {
	MARGIN-TOP: 10px; DISPLAY: block; MARGIN-BOTTOM: 10px
}
.wirenews-spacer {
	CLEAR: both; HEIGHT: 10px
}
#navItemCategories UL LI {
	DISPLAY: inline
}
.site-tools-subscribe {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 100%; BORDER-RIGHT-WIDTH: 0px
}
.site-tools-subscribe TD {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; =
PADDING-TOP: 6px
}
#blogteaser {
	WIDTH: 192px
}
.blogteaserbox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.blogteaserbox H1 {
	PADDING-LEFT: 5px; FONT-SIZE: 13px; PADDING-BOTTOM: 2px; MARGIN: 0px; =
TEXT-TRANSFORM: uppercase; PADDING-TOP: 2px; BORDER-BOTTOM: #000000 1px =
solid
}
#blogrsslist {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 0px 15px; PADDING-TOP: 0px
}
#blogrsslist LI {
	MARGIN-BOTTOM: 2px
}
#blogteaserad {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#blogteaser_recentlbl {
=09
}
#blogteaserintrotxt {
	PADDING-BOTTOM: 10px
}
#blogteaserfooter {
	TEXT-ALIGN: right
}
#blogteasercontent {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#jobsearch .jobsearch_contentPadding {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-TOP: 6px
}
#jobsearch .jobsearch_sectionTitle {
	PADDING-TOP: 5px; TEXT-ALIGN: left
}
#jobsearch .jobsearch_sectiontitlefnt {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #395a90; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif
}
#jobsearch .jobsearch_dotsMdGray {
	BORDER-BOTTOM: #cccccc 1px dotted
}
#jobsearch .jobsearch_fieldLabel {
	PADDING-RIGHT: 10px; WIDTH: 200px; TEXT-ALIGN: right
}
#jobsearch .jobsearch_fieldlblfont {
	FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif
}
#jobsearch .jobsearch_formCell {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 11px; =
PADDING-BOTTOM: 3px; COLOR: #333333; PADDING-TOP: 3px; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: #edf1f5; =
TEXT-ALIGN: left
}
#jobsearch .jobsearch_fieldTitle {
	PADDING-LEFT: 10px; FONT-SIZE: 11px; COLOR: #333333; PADDING-TOP: 3px; =
FONT-FAMILY: Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: =
#edf1f5; TEXT-ALIGN: left
}
#jobsearch .jobsearch_dropdown {
	BORDER-RIGHT: #7f9db9 1px solid; BORDER-TOP: #7f9db9 1px solid; =
FONT-SIZE: 11px; BORDER-LEFT: #7f9db9 1px solid; COLOR: #333333; =
BORDER-BOTTOM: #7f9db9 1px solid; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; HEIGHT: 20px
}
.breadcrumb {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.breadcrumb LI {
	DISPLAY: inline
}
#web20tools {
	DISPLAY: inline
}
#TestForm {
	FLOAT: left; POSITION: relative; BACKGROUND-COLOR: #f6f7ff
}
.TestFormtdTop {
	BACKGROUND-IMAGE: url(../Images/TestForm/tab_top.gif); =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 6px
}
.TestFormtableMain {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-STYLE: normal; FONT-FAMILY: =
Verdana, Arial
}
.TestFormtdHeader {
	PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND-IMAGE: url(../Images/TestForm/tab_header.gif); =
PADDING-BOTTOM: 5px; VERTICAL-ALIGN: middle; BACKGROUND-REPEAT: =
repeat-y; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial; HEIGHT: 22px
}
.TestFormtdMiddle {
	BACKGROUND-IMAGE: url(../Images/TestForm/tab_bg.gif); =
BACKGROUND-REPEAT: repeat-y
}
.TestFormcontentTable {
	PADDING-RIGHT: 10px; BACKGROUND-POSITION: 50% bottom; PADDING-LEFT: =
10px; BACKGROUND-IMAGE: url(../Images/TestForm/tab_bg_bottom.gif); =
PADDING-BOTTOM: 8px; PADDING-TOP: 8px; BACKGROUND-REPEAT: no-repeat
}
.TestFormbuttonS2 {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #ff0c00 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; VERTICAL-ALIGN: =
middle; BORDER-LEFT: #ff0c00 1px solid; CURSOR: pointer; COLOR: #ffffff; =
BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: verdana, Helvetica, =
sans-serif; BACKGROUND-COLOR: #cc0000; TEXT-ALIGN: center
}
.TestFormtdBottom {
	BACKGROUND-IMAGE: url(../Images/TestForm/tab_bottom.gif); =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 7px
}
.TestFormSponsor {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #cc0000; FONT-FAMILY: =
verdana, Helvetica, sans-serif; TEXT-DECORATION: none
}
.login {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
FONT-SIZE: 13px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 =
1px solid; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 100%; =
BACKGROUND-COLOR: #fff
}
.login H1 {
	PADDING-LEFT: 5px; FONT-SIZE: 13px; PADDING-BOTTOM: 2px; MARGIN: 0px; =
TEXT-TRANSFORM: uppercase; COLOR: white; PADDING-TOP: 2px; =
BORDER-BOTTOM: #000000 1px solid; BACKGROUND-COLOR: #e2141c
}
.login H1 A {
	COLOR: white
}
.login .genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px
}
.login INPUT[type=3Dtext] {
	BORDER-RIGHT: #a2a2a2 1px solid; BORDER-TOP: #a2a2a2 1px solid; =
BORDER-LEFT: #a2a2a2 1px solid; BORDER-BOTTOM: #a2a2a2 1px solid
}
SELECT {
	BORDER-RIGHT: #a2a2a2 1px solid; BORDER-TOP: #a2a2a2 1px solid; =
BORDER-LEFT: #a2a2a2 1px solid; BORDER-BOTTOM: #a2a2a2 1px solid
}
TEXTAREA {
	BORDER-RIGHT: #a2a2a2 1px solid; BORDER-TOP: #a2a2a2 1px solid; =
BORDER-LEFT: #a2a2a2 1px solid; BORDER-BOTTOM: #a2a2a2 1px solid
}
INPUT[type=3Dpassword] {
	BORDER-RIGHT: #a2a2a2 1px solid; BORDER-TOP: #a2a2a2 1px solid; =
BORDER-LEFT: #a2a2a2 1px solid; BORDER-BOTTOM: #a2a2a2 1px solid
}
.login .buttonS2 {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #ff0c00 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; VERTICAL-ALIGN: =
middle; BORDER-LEFT: #ff0c00 1px solid; CURSOR: pointer; COLOR: #ffffff; =
BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: verdana, Helvetica, =
sans-serif; BACKGROUND-COLOR: #cc0000; TEXT-ALIGN: center
}
.innertube {
	MARGIN: 0px
}
.user-registration {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
FONT-SIZE: 13px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 =
1px solid; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 100%; =
BACKGROUND-COLOR: #fff
}
.user-registration H1 {
	PADDING-LEFT: 5px; FONT-SIZE: 13px; PADDING-BOTTOM: 2px; MARGIN: 0px; =
TEXT-TRANSFORM: uppercase; COLOR: white; PADDING-TOP: 2px; =
BORDER-BOTTOM: #000000 1px solid; BACKGROUND-COLOR: #e2141c
}
.user-registration .genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px
}
.user-registration .required {
	FONT-WEIGHT: bold; COLOR: red
}
.userregistration .subscriptionResponse {
	MARGIN-BOTTOM: 2em; MARGIN-LEFT: 75px; WIDTH: 350px
}
.user-registration .buttonS2 {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #ff0c00 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; VERTICAL-ALIGN: =
middle; BORDER-LEFT: #ff0c00 1px solid; CURSOR: pointer; COLOR: #ffffff; =
BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: verdana, Helvetica, =
sans-serif; BACKGROUND-COLOR: #cc0000; TEXT-ALIGN: center
}
.user-registration .error {
	COLOR: #d40000
}
.utility-bar #avatar #pennwell_user #PWUserAvatar {
	MARGIN-TOP: 5px
}
#utility-bar-searchForm {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#PWUserAvatarImg {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; WIDTH: 40px; BORDER-BOTTOM: medium none; HEIGHT: 40px
}
* HTML #PWUserAvatar {
	MARGIN-RIGHT: -20px
}
#profile-links {
	MARGIN-TOP: 5px; FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 5px; =
WIDTH: 80%
}
.displaybox {
	FONT-SIZE: 12px; COLOR: #333; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.displaybox H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #333333
}
.displaybox H2 {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #16387c
}
.navevtlayout {
	BORDER-RIGHT: #b6b6b6 1px solid; BORDER-TOP: #b6b6b6 1px solid; =
BORDER-LEFT: #b6b6b6 1px solid; WIDTH: 190px; BORDER-BOTTOM: #b6b6b6 1px =
solid; BORDER-COLLAPSE: collapse; TEXT-ALIGN: left
}
.navevtspacing {
	MARGIN: 10px
}
.navevthdr {
	TEXT-TRANSFORM: uppercase; HEIGHT: 20px
}
#navevthdrclr {
=09
}
#navevthdrtxt {
	PADDING-LEFT: 10px; FONT-SIZE: 10pt; BOTTOM: -3px; BORDER-BOTTOM: 1px =
solid; POSITION: relative
}
.navevtbody {
	PADDING-LEFT: 2px
}
.navevtdttxt {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.navevtdtlayout {
	MARGIN-TOP: 3px; MARGIN-BOTTOM: 8px
}
.navevtdtrangetxt {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; TEXT-DECORATION: none
}
.navevtnametxt {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; LINE-HEIGHT: 1.5em; TEXT-DECORATION: =
none
}
.navevtnamebody {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 0px; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px
}
.navevtsmallfnt {
	FONT-SIZE: 9px
}
.navevtsmallanchorfnt {
	FONT-SIZE: 7pt; TEXT-DECORATION: none
}
.navevtfootlayout {
	FLOAT: right; VERTICAL-ALIGN: middle; TEXT-ALIGN: left
}
.navevtfoottxt {
	PADDING-LEFT: 5px; FONT-SIZE: 11px; TEXT-DECORATION: none
}
.evtanchordtxt {
	TEXT-DECORATION: none
}
.navevtfooteranchor {
=09
}
.naveventlocation {
=09
}
.naveventlocationcon {
=09
}
.naveventlocationlabel {
	PADDING-RIGHT: 5px; FLOAT: left
}
.upevtheadertxt {
	FONT-SIZE: 14pt
}
.upevtlayout {
	BORDER-RIGHT: #b6b6b6 1px solid; BORDER-TOP: #b6b6b6 1px solid; =
BORDER-LEFT: #b6b6b6 1px solid; WIDTH: 280px; BORDER-BOTTOM: #b6b6b6 1px =
solid; BORDER-COLLAPSE: collapse; TEXT-ALIGN: left
}
.upevtsummary {
	FONT-SIZE: 12px
}
.upevtlayout {
	BORDER-RIGHT: #b6b6b6 1px solid; BORDER-TOP: #b6b6b6 1px solid; =
BORDER-LEFT: #b6b6b6 1px solid; WIDTH: 280px; BORDER-BOTTOM: #b6b6b6 1px =
solid; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: white; TEXT-ALIGN: =
left
}
#upevtbodylayout {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10pt
}
.evtsummlocation {
=09
}
.evtsummlocationlabel {
	PADDING-RIGHT: 5px; FLOAT: left
}
.evtsummlocationcon {
=09
}
.page-title {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 16pt; MARGIN-BOTTOM: 10px
}
.page-intro-text {
	DISPLAY: block; FONT-SIZE: 9px; MARGIN-BOTTOM: 20px
}
.page-content-type-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #666
}
.whitepaper-display {
	FONT-SIZE: 10pt
}
.whitepaper {
	DISPLAY: block
}
.whitepaper-details {
	DISPLAY: block; MARGIN-BOTTOM: 20px
}
.whitepaper-more {
	DISPLAY: block; MARGIN-BOTTOM: 20px
}
.whitepaper-additional-resources {
	DISPLAY: block; MARGIN-BOTTOM: 20px
}
.whitepaper-more A:active {
	DISPLAY: block; FONT-WEIGHT: bold
}
.whitepaper-more A:link {
	DISPLAY: block; FONT-WEIGHT: bold
}
.whitepaper-more A:visited {
	DISPLAY: block; FONT-WEIGHT: bold
}
.whitepaper-additional-resources {
	DISPLAY: block
}
.whitepaper-download A {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.whitepaper-download A IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.vendor-logo {
	FLOAT: left; WIDTH: 120px
}
.whitepaper-separator {
	CLEAR: left; DISPLAY: block
}
.whitepaper-tools {
	FLOAT: left; WIDTH: 120px
}
.whitepaper-download-tools {
	MARGIN-LEFT: 30px
}
.whitepaper-resource-tools {
	LEFT: 60px; POSITION: relative
}
.whitepaper-imgtext {
	VERTICAL-ALIGN: top
}
.whitepaper-print-details {
	FONT-SIZE: 12px
}
.clearer {
	CLEAR: both
}
#tdToc {
	PADDING-RIGHT: 20px; WIDTH: 45%
}
#toc H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 24px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#toc H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#pastIssues H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#cover H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#toc H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#pastissues H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#toc H4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#pastIssues H4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#toc H2 {
	FONT-SIZE: 20px
}
#pastIssues H2 {
	FONT-SIZE: 20px
}
#cover H2 {
	FONT-SIZE: 20px
}
#toc H3 {
	FONT-SIZE: 16px
}
#pastIssues H3 {
	FONT-SIZE: 16px
}
#cover H3 {
	FONT-SIZE: 16px
}
#toc H3 {
=09
}
.tocArticles {
=09
}
.tocArticles {
	MARGIN-BOTTOM: 1em
}
#cover {
	TEXT-ALIGN: center
}
#cover IMG {
	WIDTH: 100px; HEIGHT: 130px
}
#cover SPAN {
	FONT-WEIGHT: bold; FONT-SIZE: 22px
}
#cover INPUT {
	WIDTH: 100%; HEIGHT: 30px
}
#covertext P {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
#pastIssuesContent {
	MARGIN-TOP: 20px; MARGIN-BOTTOM: 4px
}
.pastIssue {
	FLOAT: left; MARGIN-BOTTOM: 1em
}
.currentIssue {
	FLOAT: left; MARGIN-BOTTOM: 1em
}
.pastIssue IMG {
	FLOAT: left; WIDTH: 100px; BORDER-TOP-STYLE: none; MARGIN-RIGHT: 10px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 130px; =
BORDER-BOTTOM-STYLE: none
}
.currentIssue IMG {
	FLOAT: left; WIDTH: 100px; BORDER-TOP-STYLE: none; MARGIN-RIGHT: 10px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 130px; =
BORDER-BOTTOM-STYLE: none
}
.pastIssueNoImage {
	FLOAT: left; WIDTH: 100px; BORDER-TOP-STYLE: none; MARGIN-RIGHT: 10px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 130px; =
BORDER-BOTTOM-STYLE: none
}
.pastIssueNoImage {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 20px; BORDER-LEFT: black 1px solid; =
BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center
}
#cover .pastIssueNoImage {
	FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
.pastIssue DIV.pastIssueCont {
	MARGIN-LEFT: 110px
}
.currentIssue DIV {
	MARGIN-LEFT: 110px
}
.issuePageNav {
	FLOAT: right
}
.currentIssue .magazine {
	FONT-WEIGHT: bold; FONT-SIZE: 120%
}
.currentIssue .volumeIssue {
	FONT-WEIGHT: bold; FONT-SIZE: 120%
}
.currentIssue .monthYear {
	FONT-STYLE: italic
}
#seoarchives #years {
	BORDER-BOTTOM: #000 1px solid; TEXT-ALIGN: center
}
#seoarchives #issues {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #000 1px; =
PADDING-LEFT: 6px; FLOAT: right; PADDING-BOTTOM: 6px; BORDER-LEFT: #000 =
1px solid; WIDTH: 200px; PADDING-TOP: 6px; BORDER-BOTTOM: #000 1px solid
}
#seoarchives #issues UL {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; MARGIN: =
8px; PADDING-TOP: 8px
}
#seoarchives #categories {
	MARGIN-TOP: 1em
}
#seoarchives #categories H2 {
	FONT-SIZE: 18px; MARGIN-BOTTOM: 6px
}
#seoarchives #articles {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#seoarchives #articles LI {
	MARGIN-BOTTOM: 1em
}
DIV.blogpromo-feed IMG {
	FLOAT: left; MARGIN: 0px 5px 5px 0px
}
DIV.blogpromo-feed {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
DIV.blogpromo-feed H2 {
	MARGIN-TOP: 0px
}
DIV.blogpromo-posttitle {
	MARGIN-BOTTOM: 4px
}
DIV.blogpromo-morelink {
	CLEAR: both; PADDING-TOP: 4px; TEXT-ALIGN: right
}
DIV.blogdisplay-colleft {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
4px; WIDTH: 48%; PADDING-TOP: 4px
}
DIV.blogdisplay-colright {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
4px; WIDTH: 48%; PADDING-TOP: 4px
}
DIV.blogdisplay-authorbio IMG {
	MARGIN-BOTTOM: 20px; MARGIN-RIGHT: 5px
}
DIV.blogdisplay-prev {
	CLEAR: both
}
DIV.blogdisplay-archive {
	MARGIN-TOP: 8px
}
.blogpromonew-posttitle {
	MARGIN: 0px
}
.content-rotator-genericBox {
	DISPLAY: none; BACKGROUND-COLOR: #fff
}
.content-rotator-genericBox1 {
	DISPLAY: none; BORDER-LEFT-COLOR: #dbdcde; BORDER-BOTTOM-COLOR: =
#dbdcde; BORDER-TOP-STYLE: none; BORDER-TOP-COLOR: #dbdcde; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 250px; =
BACKGROUND-COLOR: white; BORDER-RIGHT-COLOR: #dbdcde; =
BORDER-BOTTOM-STYLE: none
}
.content-rotator-contentbox {
	BACKGROUND: #efefef 0px 0px; FLOAT: left; WIDTH: 75%; HEIGHT: 30px
}
.content-rotator-adcode {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.82em; FONT-WEIGHT: bold; FONT-SIZE: =
0.94em; Z-INDEX: 2; BACKGROUND: #efefef 0px 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0.5em; TOP: 17.25em; HEIGHT: 23px
}
.content-rotator-paginationBox {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FLOAT: =
right; BORDER-LEFT: black 1px solid; WIDTH: 54%; BORDER-BOTTOM: black =
1px solid
}
.content-rotator-titleBox {
	TEXT-TRANSFORM: uppercase; WIDTH: 100.5%; COLOR: white; HEIGHT: 20px; =
BACKGROUND-COLOR: black
}
.content-rotator-title {
	PADDING-LEFT: 3px; FONT-WEIGHT: bold; MARGIN-BOTTOM: -5px; =
PADDING-BOTTOM: 0px; MARGIN-LEFT: 2px; VERTICAL-ALIGN: text-bottom; =
COLOR: white; PADDING-TOP: 4px
}
.content-rotator-boxRightLink {
	FLOAT: left; OVERFLOW: hidden; WIDTH: 180px; HEIGHT: 160px
}
.content-rotator-boxLeftLink {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FLOAT: right; VERTICAL-ALIGN: =
top; WIDTH: 250px; PADDING-TOP: 3px
}
.content-rotator-boxLeftLink P {
	FLOAT: left
}
.content-rotator-nextPage {
=09
}
.content-rotator-nextPage A {
	TEXT-DECORATION: none
}
.content-rotator-nextPage A:visited {
	TEXT-DECORATION: none
}
.content-rotator-prevPage {
	PADDING-LEFT: 5px
}
.content-rotator-prevPage A {
	TEXT-DECORATION: none
}
.content-rotator-prevPage A:visited {
	TEXT-DECORATION: none
}
.content-rotator-totPages {
	PADDING-RIGHT: 0.2em; DISPLAY: none; PADDING-LEFT: 0.35em; Z-INDEX: 2; =
RIGHT: -0.2em; FLOAT: right; PADDING-BOTTOM: 0.35em; COLOR: black; =
MARGIN-RIGHT: 0.25em; PADDING-TOP: 0.2em; TOP: 16.22em; HEIGHT: 2em
}
.content-rotator-boxRightLink IMG {
	FLOAT: right; WIDTH: 180px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; HEIGHT: 150px; BORDER-BOTTOM-STYLE: none
}
.content-rotator-boxRightLink EMBED {
	PADDING-RIGHT: 1em; FLOAT: right; WIDTH: 180px; HEIGHT: 150px
}
.content-rotator-table {
	BACKGROUND: white 0px 0px; MARGIN-BOTTOM: 1px; MARGIN-LEFT: 1px; COLOR: =
white; MARGIN-RIGHT: 1px; HEIGHT: 30px
}
.content-rotator-morelink {
	FLOAT: right; PADDING-BOTTOM: 5px; WIDTH: 100%; TEXT-ALIGN: right
}
.content-rotator-navimg IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: 1.66em; =
BORDER-BOTTOM: 0px; HEIGHT: 25px
}
.content-rotator-boxLinkBlk {
	BACKGROUND: white 0px 0px; MARGIN: 1px; WIDTH: 445px; COLOR: black
}
.content-rotator-innerboxLinkBlk {
	WIDTH: 450px
}
.content-rotator-numpage {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 0.94em; FLOAT: left; =
MARGIN-LEFT: 0.2em; WIDTH: 1.3em; COLOR: #8b8b8b; PADDING-TOP: 5px
}
.content-rotator-outerbox {
	BACKGROUND: white
}
.content-rotator-tr {
	MARGIN: 1px; HEIGHT: 30px
}
.content-rotator-navimg A {
	TEXT-DECORATION: none
}
.content-rotator-navimg A:visited {
	TEXT-DECORATION: none
}
.content-rotator-imagebox {
	WIDTH: 180px; HEIGHT: 180px
}
.content-rotator-content-title {
=09
}
.content-rotator-divbox {
	MARGIN-TOP: 0px; FONT-SIZE: 12px; OVERFLOW: hidden; WIDTH: 99%; =
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; HEIGHT: auto; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left; =
BORDER-BOTTOM-STYLE: none
}
.content-rotator-blockbox {
	Z-INDEX: 2; POSITION: relative; HEIGHT: auto
}
.content-rotator-div {
=09
}
.contentrotator-imghgt {
	HEIGHT: 150px
}
.contentrotator-imgwdth {
	WIDTH: 180px
}
.contentrotator-innerimg {
	PADDING-RIGHT: 10px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
.contentrotator-innerdiv {
	PADDING-LEFT: 5px; Z-INDEX: -1; OVERFLOW: hidden; WIDTH: 100%
}
.content-rotator-formtable {
	TABLE-LAYOUT: fixed; WIDTH: 100%
}
.flash-intro-contentbox {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 14px; PADDING-BOTTOM: =
3px; PADDING-TOP: 3px
}
.flash-intro-skiptext {
=09
}
.flash-intro-flashAd {
=09
}
.ad-display H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #333333; FONT-FAMILY: =
Arial,Helvetica,sans-serif
}
.ad-display A:link {
	COLOR: #0f486d; TEXT-DECORATION: underline
}
.ad-display A:hover {
	COLOR: #bb1d2c; TEXT-DECORATION: underline
}
.ad-display A:visited {
	COLOR: #5b96bc; TEXT-DECORATION: underline
}
.rsspromo {
=09
}
.rsspromo_title {
=09
}
.rsspromo_summary {
=09
}
.rsspormo_spacer {
	CLEAR: left; DISPLAY: block; HEIGHT: 10px
}
.rsspromo_morelink {
	MARGIN-BOTTOM: 1px; TEXT-ALIGN: right
}
.rsspromo_paginate {
=09
}
.featurearticlelist {
	FLOAT: left; WIDTH: 125px; MARGIN-RIGHT: 5px
}
.article-list-summary .summary-item .featuresynopsis P {
	DISPLAY: inline
}
.articletools-template-genericbox {
=09
}
.articletools-template-logo-box {
	FLOAT: left
}
.articletools-template-ad {
	FLOAT: right
}
.articletools-template-ad IMG {
	OVERFLOW: hidden; HEIGHT: 70px
}
.articletools-template-header {
	WIDTH: 100%
}
.articletools-template-logo {
	OVERFLOW: hidden; HEIGHT: 70px
}
.article-display-hr {
	CLEAR: both; PADDING-TOP: 10px
}
.article-display-print {
=09
}
.article-content-wrapper {
=09
}
.article-PageTitle {
	CLEAR: both; PADDING-RIGHT: 2px; MARGIN-TOP: 2px; PADDING-LEFT: 4px; =
MARGIN-BOTTOM: 2px; PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #ffffff
}
.article-PageTitle H1 {
	PADDING-LEFT: 2px; FONT-SIZE: 150%; PADDING-BOTTOM: 2px; MARGIN: 4px =
0px 7px; TEXT-TRANSFORM: none; COLOR: #000000; PADDING-TOP: 4px; =
BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none
}
.article-synopsis {
	FONT-WEIGHT: bold
}
.article-userform {
	PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 4px 0px 7px; =
PADDING-TOP: 4px
}
.whitepaper-display-print {
	CLEAR: both
}
.whitepaper-display-print-hr {
	PADDING-TOP: 10px
}
.whitepaper-display-email {
=09
}
.whitepaper-display-email-hr {
	CLEAR: both; PADDING-TOP: 6px
}
TABLE.gallerylisting {
	WIDTH: 100%
}
TABLE.gallerylisting TD {
	VERTICAL-ALIGN: top
}
TABLE.gallerylisting TD.leftCol {
	WIDTH: 25%
}
TABLE.gallerylisting H2 {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
TABLE.gallerylisting H3 {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
TABLE.gallerylisting H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TABLE.gallerylisting TD.rightCol {
	WIDTH: 75%
}
TABLE.gallerylisting .pageNav {
	TEXT-ALIGN: right
}
TABLE.gallerylisting .pageNav SPAN {
	MARGIN-RIGHT: 2em
}
TABLE.gallerylisting UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.imageOfTheDay .image {
	FLOAT: left
}
.imageOfTheDay .text {
	MARGIN-LEFT: 250px
}
TABLE.gallerylisting .viewLink {
	TEXT-ALIGN: center
}
TABLE.gallerylisting UL.galleries LI.gallery {
	MIN-HEIGHT: 85px; FLOAT: left; MARGIN-BOTTOM: 16px; WIDTH: 33%; =
TEXT-ALIGN: center
}
TABLE.gallerylisting UL.galleries LI.gallery DIV.galleryname {
	MARGIN-BOTTOM: 2px
}
* HTML LI.gallery {
	HEIGHT: 85px
}
TABLE.gallerylisting IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.contentsrcdisplay {
	MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px
}
.contentsrcdispdiv1 {
	PADDING-RIGHT: 5px; DISPLAY: inline
}
.contentsrcdispdiv2 {
	DISPLAY: inline
}
.pwevents {
=09
}
.pweventdiv {
	CLEAR: left; MARGIN-BOTTOM: 10px; OVERFLOW: hidden
}
.pweventinfo {
	FLOAT: left; MARGIN-BOTTOM: 20px; WIDTH: 50%
}
.pweventinfo A {
	WORD-WRAP: break-word
}
* HTML .pweventinfo {
	WORD-BREAK: break-all
}
.pweventlogo {
	FLOAT: left; MARGIN-BOTTOM: 20px; WIDTH: 130px; MARGIN-RIGHT: 5%
}
.pweventlogo IMG {
	WIDTH: 130px
}
.pweventname {
	FONT-WEIGHT: bold; WIDTH: 130px
}
.pweventdates {
=09
}
.pweventlocation {
=09
}
.pweventlocationcon {
=09
}
.pweventlocationlabel {
	PADDING-RIGHT: 5px; FLOAT: left
}
.viewallpwevents {
	FLOAT: right
}
#imagePromo #imageContainer {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto; TEXT-ALIGN: center
}
#imagePromo #title {
	FONT-SIZE: 1.5em; MARGIN: 0px 0px 6px; TEXT-ALIGN: left
}
#imagePromo #caption {
	TEXT-ALIGN: left
}
#promogalleryFooter {
	PADDING-RIGHT: 0px; BORDER-TOP: black 1px dotted; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px; POSITION: relative; HEIGHT: 50px; =
TEXT-ALIGN: center
}
#promoThumbnailsCont {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 40px; PADDING-BOTTOM: 0px; =
OVERFLOW: hidden; WIDTH: 80%; PADDING-TOP: 0px; POSITION: absolute; =
HEIGHT: 40px
}
#promoThumbnails {
	WIDTH: 10000px; HEIGHT: 40px; TEXT-ALIGN: left
}
#promoThumbnails A {
	MARGIN: 0px 6px; WIDTH: 50px; HEIGHT: 36px
}
#promoThumbnails IMG {
	MAX-WIDTH: 48px; VERTICAL-ALIGN: middle; MAX-HEIGHT: 36px
}
#promogalleryFooter .imageButton {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 120%; PADDING-BOTTOM: =
4px; VERTICAL-ALIGN: middle; WIDTH: 36px; CURSOR: pointer; =
BORDER-TOP-STYLE: none; PADDING-TOP: 4px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 10px; HEIGHT: 40px; =
BACKGROUND-COLOR: transparent; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: =
none
}
#promogalleryFooter #previousButton {
	LEFT: 0px
}
#promogalleryFooter #nextButton {
	LEFT: 265px
}
#promogalleryFooter #previousButton:focus {
=09
}
#promogalleryFooter #nextButton:focus {
=09
}
#promoGalleryLink {
	TEXT-ALIGN: right
}
.fercnotice-summary-darkRow {
	PADDING-LEFT: 20px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff; =
BACKGROUND-COLOR: #8ec96b
}
.fercnotice-summary-fercClassCodeRow {
	PADDING-LEFT: 20px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff; =
BACKGROUND-COLOR: #65a63d
}
.fercnotice-summary-fercText {
	FONT-SIZE: 10px
}
.fercnotice-summary-fercDarkRow {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; BACKGROUND-COLOR: =
#8ec96b
}
.fercnotice-summary-outerbox {
	FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
verdana,geneva,arial,sans-serif
}
.fercnotice-summary-titlebox {
	WIDTH: 100%
}
.fercnotice-summary-title {
	FLOAT: left; WIDTH: 70%
}
.fercnotice-summary-license-url {
	FLOAT: right; WIDTH: 30%; TEXT-ALIGN: right
}
.fercnotice-summary-description {
	CLEAR: both; WIDTH: 100%; PADDING-TOP: 5px
}
.fercnotice-summary-projNo-col {
	WIDTH: 50px
}
.fercnotice-summary-projname-col {
	WIDTH: 190px
}
.fercnotice-summary-existing-col {
	WIDTH: 90px
}
.fercnotice-summary-applicant-col {
	WIDTH: 270px
}
.fercnotice-summary-filedate-col {
	WIDTH: 100px
}
.fercnotice-summary-content-table {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: 100%; BORDER-RIGHT-WIDTH: 0px; cellpadding: 5px; =
cellspacing: 0px
}
.fercnotice-summary-download {
	PADDING-LEFT: 20px; PADDING-TOP: 40px
}
.fercnotice-summary-bgeven-color {
	BACKGROUND-COLOR: #eaeaea
}
.fercnotice-summary-bgodd-color {
	BACKGROUND-COLOR: #ffffff
}
.fercnotice-summary-download-btn {
=09
}
.fercnotice-summary-download IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.fercnotice-display-title {
	PADDING-LEFT: 20px; FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.fercnotice-display-outerbox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 8px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.fercnotice-display-projName {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; PADDING-BOTTOM: 5px
}
.fercnotice-display-projNumber {
=09
}
.fercnotice-display-alpha {
=09
}
.fercnotice-display-issue {
=09
}
.fercnotice-display-orderType {
=09
}
.fercnotice-display-projType {
=09
}
.fercnotice-display-classCode {
=09
}
.fercnotice-display-waterway1 {
=09
}
.fercnotice-display-waterway2 {
=09
}
.fercnotice-display-waterway3 {
=09
}
.fercnotice-display-head {
=09
}
.fercnotice-display-megawatt {
=09
}
.fercnotice-display-propMegawatt {
=09
}
.fercnotice-display-megawattHrs {
=09
}
.fercnotice-display-acre {
=09
}
.fercnotice-display-liaisoncompany {
=09
}
.fercnotice-display-liaisonname {
=09
}
.fercnotice-display-liaisonTitle {
=09
}
.fercnotice-display-liaisonAdd {
=09
}
.fercnotice-display-liaisonCity {
=09
}
.fercnotice-display-liaisonState {
=09
}
.fercnotice-display-liaisonZip {
=09
}
.fercnotice-display-liaisonPhNo {
=09
}
.fercnotice-display-liaisonEmail {
=09
}
.fercnotice-display-fileDate {
=09
}
.fercnotice-display-commentDate {
=09
}
.fercnotice-display-orderDate {
=09
}
.fercnotice-display-effDate {
=09
}
.fercnotice-display-constartDate {
=09
}
.fercnotice-display-conFinDate {
=09
}
.fercnotice-display-opDate {
=09
}
.fercnotice-display-expDate {
=09
}
.fercnotice-display-appName1 {
=09
}
.fercnotice-display-appName2 {
=09
}
.fercnotice-display-appName3 {
=09
}
.fercnotice-display-appName4 {
=09
}
.fercnotice-display-appName5 {
=09
}
.fercnotice-display-locCity1 {
=09
}
.fercnotice-display-locCity2 {
=09
}
.fercnotice-display-locCity3 {
=09
}
.fercnotice-display-locCounty1 {
=09
}
.fercnotice-display-locCounty2 {
=09
}
.fercnotice-display-locCounty3 {
=09
}
.fercnotice-display-locState1 {
=09
}
.fercnotice-display-locState2 {
=09
}
.fercnotice-display-locState3 {
=09
}
.fercnotice-display-ownDesc1 {
=09
}
.fercnotice-display-ownDesc2 {
=09
}
.fercnotice-display-ownDesc3 {
=09
}
.fercnotice-display-ownDesc4 {
=09
}
.fercnotice-display-ownDesc5 {
=09
}
.fercnotice-display-projFac1 {
=09
}
.fercnotice-display-projFac2 {
=09
}
.fercnotice-display-projFac3 {
=09
}
.fercnotice-display-notes {
=09
}
.fercnotice-display-content {
=09
}
.fercnotice-display-caption {
	FONT-WEIGHT: bold
}
.fercnotice-promo-title {
=09
}
.fercnotice-promo-outerbox {
=09
}
.fercnotice-promo-description {
	PADDING-LEFT: 5px
}
.fercnotice-promo-projName {
=09
}
.fercnotice-promo-capacity {
=09
}
.fercnotice-promo-location {
	PADDING-BOTTOM: 8px
}
.fercnotice-promo-more {
	PADDING-RIGHT: 5px; TEXT-ALIGN: right
}
.fercnotice-promo-contentbox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.fercnotice-promo-projName-label {
	PADDING-RIGHT: 10px; FONT-WEIGHT: bold
}
.fercnotice-promo-capacity-label {
	PADDING-RIGHT: 10px; FONT-WEIGHT: bold
}
.fercnotice-promo-location-label {
	PADDING-RIGHT: 10px; FONT-WEIGHT: bold
}
.fercnotice-promo-projName-contents {
=09
}
.fercnotice-promo-capacity-contents {
=09
}
.fercnotice-promo-location-contents {
=09
}
.fercnotice-promo-delimiter {
=09
}
.fercnotice-promo-classcode {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.fercnotice-promo-contents {
=09
}
.fercnotice-promo-classcontents {
=09
}
.whitepaper-listing-tdofvendorimg {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; VERTICAL-ALIGN: top; =
TEXT-ALIGN: center
}
.whitepaper-listing .vendor-link IMG {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.vendor-logo-img {
	WIDTH: 120px
}
.whitepaper-listing .whitepaper-display {
	DISPLAY: block; FONT-SIZE: 10pt; MARGIN-BOTTOM: 15px
}
.whitepaper-listing .whitepaper-date {
	FONT-SIZE: 9px
}
TABLE.gsc-search-box {
	DISPLAY: none
}
.gsc-control {
	WIDTH: 100%! important
}
.gsc-cursor-box {
	TEXT-ALIGN: center
}
.current-issue-promo {
=09
}
.current-issue-promo .boxTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 130%; MARGIN-LEFT: 5px
}
.current-issue-promo .magName {
	FONT-WEIGHT: bold; FONT-SIZE: 120%; MARGIN-LEFT: 5px
}
.current-issue-promo .header-box {
	MARGIN-LEFT: 15px
}
.current-issue-promo .footer-box {
	MARGIN-LEFT: 15px
}
.current-issue-promo .image {
	MARGIN-LEFT: 25px
}
.current-issue-promo .volume {
=09
}
.current-issue-promo .issueDate {
=09
}
.current-issue-promo .viewNowLabel {
=09
}
.current-issue-promo .archiveLabel {
=09
}
.current-issue-promo .description {
=09
}
.pluckusercount-details {
=09
}
.pluckusercount-totaluser {
=09
}
.pluckusercount-totaluser-label {
=09
}
.pluckusercount-totaluserct {
	PADDING-LEFT: 20px
}
.pluckusercount-recentuser {
=09
}
.pluckusercount-recentuser-label {
=09
}
.pluckusercount-recentuserct {
	PADDING-LEFT: 20px
}
.pluckusercount-outerbox {
=09
}
.financialstock-promo-td1 {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.financialstock-promo-td2 {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; TEXT-ALIGN: center
}
.financialstock-promo-td3 {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.financialstock-promo-footer {
	FLOAT: right
}
.financialstock-promo-block {
	CLEAR: both
}
.synopsis P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#containerBottomParsys {
	MARGIN: 1px
}
.title A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #333
}
.title A:hover {
	COLOR: #003466
}
.PromoBoxHeadLeft {
	HEIGHT: 25px
}
.PromoBoxHeadright {
	HEIGHT: 25px
}
.PromoBoxHeadRight {
	HEIGHT: 25px
}
.PromoBoxHeadTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 14px; =
WIDTH: 95%; COLOR: #000; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: =
left
}
.genericBoxContent {
	PADDING-RIGHT: 2px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px
}
.pwhidden {
	DISPLAY: none
}
.articledateline {
=09
}
.articlepublicationdate {
=09
}
.articlebyline {
=09
}
.articledatelinelbl {
	PADDING-RIGHT: 3px
}
.articlepublicationdatelbl {
	PADDING-RIGHT: 3px
}
.articlebylinelbl {
	PADDING-RIGHT: 3px
}
.articledatelinecnt {
=09
}
.articlepublicationdatecnt {
=09
}
.articlebylinecnt {
=09
}
.articleauthor {
=09
}
.rssPromoWraper {
=09
}
.article-paging {
	TEXT-ALIGN: center
}
#article-pagecount {
	DISPLAY: none
}
.pluckvideo-gallerylisting {
	CLEAR: both; WIDTH: 100%; PADDING-TOP: 10px
}
.pluckvideo-gallerylisting-thumbnail {
=09
}
.pluckvideo-gallerylisting-thumbnail IMG {
	OVERFLOW: hidden; WIDTH: 60px; HEIGHT: 60px
}
.pluckvideo-gallerylisting-link {
=09
}
.pluckvideo-gallerylisting-desc {
=09
}
.pluckvideo-gallerylisting-tablestruct {
=09
}
.pluckvideo-gallerylisting-tabletr {
	PADDING-TOP: 25px
}
.pluckvideo-gallerylisting-imagetd {
	PADDING-BOTTOM: 2em; VERTICAL-ALIGN: top
}
.pluckvideo-gallerylisting-infotd {
	PADDING-LEFT: 10px; PADDING-BOTTOM: 2em; VERTICAL-ALIGN: top
}
.pluckvideo-gallerylisting-viewlnk {
=09
}
.pluckvideo-upload-form {
=09
}
.pluckvideo-upload-title {
	PADDING-TOP: 5px
}
.pluckvideo-upload-tablestruct {
	PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.pluckvideo-upload-tabletr {
=09
}
.pluckvideo-upload-tabletd {
=09
}
.pluckvideo-upload-newTitle {
=09
}
.pluckvideo-upload-Titletext {
=09
}
.pluckvideo-upload-desclabel {
=09
}
.pluckvideo-upload-desctext {
=09
}
.pluckvideo-gallerylisting-pagetitle {
=09
}
.pluckvideo-gallerylisting-pageDesc {
=09
}
.pluckvideo-currentGallery {
=09
}
.pluckvideo-videolisting-tablestruct {
	WIDTH: 100%
}
.pluckvideo-videolisting-titletr {
=09
}
.pluckvideo-videolisting-videotr {
=09
}
.pluckvideo-videolisting-authortr {
=09
}
.pluckvideo-videolisting-titletd {
	VERTICAL-ALIGN: bottom
}
.pluckvideo-videolisting-videotd {
=09
}
.pluckvideo-videolisting-authortd {
	VERTICAL-ALIGN: top
}
.pluckvideo-videolisting-author {
	OVERFLOW: hidden; WIDTH: 100px
}
.pluckvideo-videolisting-videotitle {
	OVERFLOW: hidden; WIDTH: 150px; MARGIN-RIGHT: 5px; PADDING-TOP: 8px
}
.pluckvideo-videolisting-video {
=09
}
.pluckvideo-videolisting-video IMG {
	OVERFLOW: hidden; WIDTH: 96px; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 60px; =
BORDER-BOTTOM-STYLE: none
}
.pluck-videolisting-details {
=09
}
.pluckvideo-videolisting-pagination {
	PADDING-LEFT: 5px; TEXT-ALIGN: center
}
.pluckvideo-galleries-pagination {
	PADDING-LEFT: 5px; TEXT-ALIGN: center
}
.pluckvideo-videolisting-nextpage {
	PADDING-LEFT: 10px
}
.pluckvideo-videolisting-prevpage {
	PADDING-RIGHT: 10px
}
.pluckvideo-upload-formdiv {
	PADDING-TOP: 15px
}
.pluckvideo-gallerylisting-next {
=09
}
.pluckvideo-video-comment {
=09
}
.pluckvideo-video-pagedesc {
=09
}
.pluckvideo-video-pagetitle {
	PADDING-TOP: 5px
}
.pluck-video-rating {
	FLOAT: right; WIDTH: 60%
}
.pluckvideo-video-title {
	OVERFLOW: hidden; WIDTH: 40%
}
.pluckvideo-video-author {
	OVERFLOW: hidden; WIDTH: 40%
}
.pluckvideo-video-embed {
=09
}
.pluckvideo-video-embed EMBED {
=09
}
.pluckvideo-video-desc {
=09
}
.pluckvideo-discovery-section {
	DISPLAY: none
}
#template #container #rightColumn {
	TEXT-ALIGN: left! important
}
#template #container #rightColumn .ad-display IMG {
	DISPLAY: block; MARGIN: 0px auto
}
EMBED {
	DISPLAY: block; MARGIN: 0px auto
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/optoiq-2/en-us/docroot/style/optoiq2.css

H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
16px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #333333; PADDING-TOP: =
0px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #333333; PADDING-TOP: =
0px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #333333; PADDING-TOP: =
0px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
12px; BACKGROUND: url(../../docroot/Images/optobackfade.jpg) repeat-x =
left top; PADDING-BOTTOM: 0px; COLOR: #333333; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
A:link {
	COLOR: #0f486d; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #5b96bc; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #bb1d2c; TEXT-DECORATION: underline
}
HR {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#template #container {
	BACKGROUND: url(../../docroot/Images/containerBg.jpg) #fff repeat-x =
left top
}
#template #container #rightColumn .ad-display {
	TEXT-ALIGN: center
}
#template #container #rightColumn .ad-display UL {
	TEXT-ALIGN: left
}
#containerTopParsys .breadcrumb {
	PADDING-LEFT: 10px; PADDING-TOP: 10px
}
A IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
#template #header {
=09
}
#template #topHeader {
	BACKGROUND: url(../../docroot/Images/headerBG.jpg) no-repeat center =
bottom; MARGIN-BOTTOM: 0px; _background: =
url(../../docroot/Images/headerBGIE6.png) no-repeat center bottom
}
#template #header #branding {
	MARGIN: 0px; WIDTH: 275px; HEIGHT: 101px; _width: 275px
}
.branding-image {
=09
}
#LBcenter {
	BACKGROUND: #000000
}
#template #lbWrapper {
=09
}
#template #header #utilityBar {
	MARGIN: 20px 0px 0px 15px; HEIGHT: auto! important
}
#utilityWelcomeMessage {
	FONT-WEIGHT: bold; FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 215px
}
#profileLinks {
	FLOAT: left; MARGIN-LEFT: 5px
}
BF1E2E #register-link A {
	COLOR: #bf1e2e
}
#login-link A {
	COLOR: #bf1e2e
}
#profileLinks A:link {
	COLOR: #0f486d
}
#profileLinks A:hover {
	COLOR: #bb1d2c
}
#profileLinks A:visited {
	COLOR: #5b96bc
}
#utility-bar-advsearchdiv {
=09
}
#utility-bar-advsearchdiv A {
	MARGIN-TOP: 1px; FONT-SIZE: 10px; FLOAT: left; MARGIN-LEFT: 10px
}
#subscribe {
	FLOAT: left
}
#utility-bar-searchForm {
	CLEAR: left; FLOAT: left
}
#PWUserAvatar {
	FLOAT: left; WIDTH: 40px; HEIGHT: 40px
}
#PWUserName {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
#login-link {
	MARGIN-RIGHT: 3px
}
#register-link {
	MARGIN-LEFT: 3px
}
#pennwell_user {
	FONT-SIZE: 12px
}
#optoIqScore {
	DISPLAY: block
}
#utility-bar-searchForm INPUT[type=3D'text'] {
	BORDER-RIGHT: #bbbbbb 1px solid; BORDER-TOP: #bbbbbb 1px solid; =
BORDER-LEFT: #bbbbbb 1px solid; WIDTH: 224px; BORDER-BOTTOM: #bbbbbb 1px =
solid; HEIGHT: 18px! important
}
.util-nav {
	FONT-SIZE: 11px; COLOR: #333333
}
#template #header #utilityBar #subscribe {
	DISPLAY: none
}
#template #header #rteArea {
	FLOAT: right; MARGIN: 0px 0px 0px 10px; WIDTH: 410px; TEXT-ALIGN: right
}
* HTML #PWUserAvatar {
	FLOAT: left; WIDTH: 60px; HEIGHT: 40px
}
* HTML #PWUserName {
	FLOAT: none; MARGIN-LEFT: 5px
}
#template #header #navigation {
	MARGIN: 0px; WIDTH: 100%
}
#template #header #navigation A:hover {
	TEXT-DECORATION: underline
}
#template #header #navigation #globalNav {
	BACKGROUND: url(../../docroot/Images/globalNavBG.png) #bf1e2e repeat-x =
left top; PADDING-TOP: 0px; HEIGHT: 30px
}
#template #header #navigation #globalNav UL {
	HEIGHT: 30px
}
#template #header #navigation #globalNav UL LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff! important; =
LINE-HEIGHT: 30px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
#template #header #navigation #globalNav UL LI {
	PADDING-RIGHT: 9px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; _padding: 0px 4px
}
#template #header #navigation #globalNav .global-nav-highlighted {
	BACKGROUND: url(../../docroot/Images/homeNavHover.png) repeat-x left =
top; POSITION: relative; TOP: -2px; HEIGHT: 32px; _height: 30px; _top: =
0px
}
#template #header #navigation #globalNav .global-nav-highlighted A {
	COLOR: #ffffff! important; LINE-HEIGHT: 34px; _line-height: 30px
}
UL#globalNavListRight {
	FLOAT: left! important
}
#globalNavListRight {
	BACKGROUND: url(../../docroot/Images/globalNavBG2.png) repeat-x left =
top
}
#template #header #navigation #globalSubNav {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: #bf1e2e; =
BORDER-BOTTOM-WIDTH: 0px; WIDTH: 100%; BORDER-RIGHT-WIDTH: 0px
}
#template #header #navigation #globalSubNav UL {
	COLOR: #ffffff! important; HEIGHT: auto
}
#template #header #navigation #globalSubNav UL LI A {
	FONT-SIZE: 12px; LINE-HEIGHT: 20px; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
#template #header #navigation #globalSubNav UL LI A:hover {
	COLOR: #ffffff! important
}
#template #header #navigation #globalSubNav .global-nav-highlighted A {
	COLOR: #ffffff! important; TEXT-DECORATION: underline! important
}
#leftNavWrapper {
	POSITION: relative; HEIGHT: 30px
}
UL#globalNavListRight LI.endcap {
	BACKGROUND: =
url(/etc/medialib/platform-7/optoiq2/site-images.Par.1902.Image.0.0.1.png=
) no-repeat right 50%
}
#template #header #navigation #globalSubNav #welcomeMessage {
	FONT-WEIGHT: bold; COLOR: #fff
}
* HTML #template #header #navigation {
	MARGIN-LEFT: 0px
}
.testform-wrapper {
	PADDING-BOTTOM: 10px; OVERFLOW: hidden; HEIGHT: auto
}
.testform-header {
	DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; COLOR: #000; PADDING-TOP: 2px; HEIGHT: 25px; =
TEXT-ALIGN: left
}
.testform-form {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; PADDING-TOP: 0px; HEIGHT: auto; TEXT-ALIGN: =
center
}
.testform-questions {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; HEIGHT: =
auto; TEXT-ALIGN: left
}
.testform-questions UL {
	PADDING-BOTTOM: 5px; LIST-STYLE-TYPE: none
}
.testform-questions UL LI {
	PADDING-BOTTOM: 3px
}
.testform-description {
	MARGIN: 5px
}
.testform-sponsor {
	MARGIN-TOP: 5px
}
.blogpromobox {
	PADDING-BOTTOM: 10px
}
.blogpromo-title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
DIV.blogpromo-morelink {
	PADDING-TOP: 0px
}
.blogpromo-morelink A {
	PADDING-LEFT: 12px
}
.publication-date {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666; WHITE-SPACE: nowrap
}
DIV.blogpromo-feed {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 10px
}
.current-issue-promo {
=09
}
.current-issue-promo .issuebox {
	MARGIN-BOTTOM: 10px; WIDTH: 100%
}
.current-issue-promo .boxTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 130%; MARGIN-LEFT: 5px
}
.current-issue-promo .magName {
	FONT-WEIGHT: bold; FONT-SIZE: 120%; MARGIN-LEFT: 5px
}
.current-issue-promo .volume {
=09
}
.current-issue-promo .issueDate {
=09
}
.current-issue-promo .viewNowLabel {
=09
}
.current-issue-promo .archiveLabel {
=09
}
.current-issue-promo .description {
=09
}
.webcast-detail {
=09
}
.webcast-detail H2 {
	FONT-SIZE: 12px; COLOR: #16387c
}
.webcast-detail-pagetitle {
	FONT-WEIGHT: bolder; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.webcast-detail-news {
	FONT-WEIGHT: normal; FONT-SIZE: 8pt; WIDTH: 100%; COLOR: #333333
}
.webcast-detail-header {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #333333
}
.webcast-detail-titletext {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
A.webcast-detail-titletext {
	TEXT-DECORATION: none
}
A.webcast-detail-titletext:hover {
	TEXT-DECORATION: underline
}
.webcast-promo-box {
	MARGIN-BOTTOM: 10px
}
.webcast-promo-box-separtor {
	CLEAR: both; HEIGHT: 15px
}
.webcast-promo-box-summary-item {
	FLOAT: left; MARGIN-BOTTOM: 0px! important; PADDING-BOTTOM: 10px
}
.webcast-promo-box-heading {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; VERTICAL-ALIGN: text-bottom; COLOR: =
#16387c
}
.webcast-promo-box-heading H2 {
	MARGIN: 0px
}
.webcast-promo-box-morebox {
	TEXT-ALIGN: right
}
.webcast-promo-box-moretext {
	PADDING-LEFT: 5px; FONT-SIZE: 12px; COLOR: #2f5079; TEXT-DECORATION: =
none
}
.webcast-promo-box-title {
	FONT-WEIGHT: bold; COLOR: black
}
.sponsoredBy {
=09
}
.webcast-promo-box-sponsorname {
	FONT-WEIGHT: normal; FLOAT: left; MARGIN-LEFT: 25px
}
.webcast-promo-box-topheadingline HR {
	BORDER-TOP: #9ac0cd 3px solid; HEIGHT: 3px
}
.webcast-promo-box-bottomheadingline HR {
	BORDER-TOP: #9e9e9e 1px solid; HEIGHT: 1px
}
.webcast-speaker {
=09
}
.webcast-speaker-pagetitle {
	FONT-WEIGHT: bolder; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.webcast-speaker-news {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; WIDTH: 100%; COLOR: #333333
}
.webcast-speaker-header {
	FONT-SIZE: 14pt; COLOR: #333333
}
.webcast-summary {
=09
}
.webcast-summary-pagetitle {
	FONT-WEIGHT: bolder; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.webcast-summary-news {
	FONT-WEIGHT: normal; FONT-SIZE: 8pt; WIDTH: 100%; COLOR: #333333
}
.webcast-summary-header {
	FONT-SIZE: 14pt; COLOR: #333333
}
.webcast-summary-title {
	FONT-WEIGHT: bold
}
.whitepaper-promo .whitepaper-promo-box-footer {
	TEXT-ALIGN: right
}
.current-issue-promo {
=09
}
.current-issue-promo .boxTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 130%; MARGIN-LEFT: 5px
}
.current-issue-promo .magName {
	FONT-WEIGHT: bold; FONT-SIZE: 120%; MARGIN-LEFT: 5px
}
.current-issue-promo .header-box {
	MARGIN-TOP: 10px; MARGIN-LEFT: 0px; TEXT-ALIGN: center
}
.current-issue-promo .footer-box {
	MARGIN-LEFT: 0px; TEXT-ALIGN: center
}
.current-issue-promo .image {
	MARGIN: 5px 0px; TEXT-ALIGN: center
}
.current-issue-promo .volume {
=09
}
.current-issue-promo .issueDate {
=09
}
.current-issue-promo .viewNowLabel {
=09
}
.current-issue-promo .archiveLabel {
=09
}
.current-issue-promo .description {
=09
}
.featuredtitle {
	FONT-WEIGHT: bold
}
.synopsis P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.breadcrumb {
	MARGIN-BOTTOM: 10px
}
.pluck-mostcommented SPAN {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff; =
PADDING-TOP: 4px; HEIGHT: 21px
}
#SiteAttributionActivity {
	DISPLAY: none
}
.Summary_Container .Summary_ArticleTitle A {
	FONT-WEIGHT: normal! important
}
.ArticleSummary_SiteAttribution {
	COLOR: #000000! important
}
.pluck-mostcommented H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 0px; =
HEIGHT: 19px
}
.pluck-mostrecommended H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 0px; COLOR: =
#000; PADDING-TOP: 4px; HEIGHT: 19px
}
.pluck-mostrecommended .PromoBoxHeadTitle {
=09
}
#leftColumn #Industry .summary-footer {
	BACKGROUND: #000
}
.summary-item {
	MARGIN-TOP: 10px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px! important
}
.summary-item BR {
	DISPLAY: none
}
.PromoBoxHeadLeft {
	BACKGROUND: url(../../docroot/Images/leftArtHeader.png) no-repeat left =
bottom; HEIGHT: 25px
}
.PromoBoxHeadright {
	BACKGROUND: url(../../docroot/Images/rightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.PromoBoxHeadRight {
	BACKGROUND: url(../../docroot/Images/rightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.PromoBoxHeadTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.PromoBoxHeadTitle H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000
}
.search-summary-title .PromoBoxHeadTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #000; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px
}
.ArtListLeftHead {
	BACKGROUND: url(../../docroot/Images/leftArtHeader.png) no-repeat left =
bottom; HEIGHT: 25px
}
.ArtListRightHead {
	BACKGROUND: url(../../docroot/Images/rightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.ArtListTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.search-summary-title .ArtListTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.webcast-summary-pagetitle {
	MARGIN-BOTTOM: 5px
}
.leftwebcasttitle {
	BACKGROUND: url(../../docroot/Images/leftArtHeader.png) no-repeat left =
bottom; HEIGHT: 25px
}
.rightwebcasttitle {
	BACKGROUND: url(../../docroot/Images/rightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.centerwebcasttitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.header {
	HEIGHT: 25px; TEXT-ALIGN: left
}
.webcast-promo-box-summary-item A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
.webcast-promo-box-summary-item A:hover {
	COLOR: #bb1d2c
}
A.readmorelink:visited {
	COLOR: #5b96bc
}
A.more-link:visited {
	COLOR: #5b96bc
}
A.title {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
A.title:hover {
	COLOR: #bb1d2c
}
.blogpromo-title A {
	TEXT-DECORATION: none
}
.blogpromo-title A:hover {
	TEXT-DECORATION: underline
}
.webcast-promo-box-summary-item A {
	TEXT-DECORATION: none
}
.webcast-promo-box-summary-item A:hover {
	TEXT-DECORATION: underline
}
.blogpromonew-posttitle A {
	TEXT-DECORATION: none
}
.blogpromonew-posttitle A:hover {
	TEXT-DECORATION: underline
}
.title A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d; TEXT-DECORATION: =
none
}
.title A:hover {
	COLOR: #bb1d2c; TEXT-DECORATION: underline
}
.summary-footer A {
	PADDING-LEFT: 12px
}
.search-summary-morebox {
	PADDING-BOTTOM: 10px
}
.more-link {
=09
}
A#search-summary-articletitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
A#search-summary-articletitle:hover {
	COLOR: #bb1d2c
}
#search-summary-pagination P {
	MARGIN: 3px 0px
}
#search-summary-pagination {
	MARGIN-TOP: 5px
}
.search-summary-title {
	MARGIN-BOTTOM: 10px
}
.search-summary-article {
	MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 10px
}
.search-summary-article P {
	MARGIN: 0px
}
.webcast-promo-box-heading {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000; =
HEIGHT: 25px
}
#javaScriptCode {
	MARGIN-BOTTOM: 10px
}
#twitter_div {
	TEXT-ALIGN: left
}
.article-list-summary {
	MARGIN-BOTTOM: 10px
}
.article-list-summary P {
=09
}
.article-list-summary BR {
	DISPLAY: none
}
.upevtlayout BR {
	DISPLAY: none! important
}
#January2009 BR {
	DISPLAY: block! important
}
#February2009 BR {
	DISPLAY: block! important
}
#March2009 BR {
	DISPLAY: block! important
}
#April2009 BR {
	DISPLAY: block! important
}
#May2009 BR {
	DISPLAY: block! important
}
#June2009 BR {
	DISPLAY: block! important
}
#July2009 BR {
	DISPLAY: block! important
}
#August2009 BR {
	DISPLAY: block! important
}
#September2009 BR {
	DISPLAY: block! important
}
#October2009 BR {
	DISPLAY: block! important
}
#November2009 BR {
	DISPLAY: block! important
}
#December2009 BR {
	DISPLAY: block! important
}
.upevtheadertxt {
	FONT-WEIGHT: bold; FONT-SIZE: 14px! important
}
#upevtbodylayout {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important
}
#upevtbodylayout FORM {
	MARGIN-BOTTOM: 5px
}
.upevtsummary {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px -3px; PADDING-TOP: 0px; _padding-top: =
0px
}
.navevthdr {
	TEXT-TRANSFORM: none! important
}
#navevthdrtxt {
	PADDING-LEFT: 0px! important; FONT-SIZE: 14px! important; =
BORDER-BOTTOM-WIDTH: 0px! important; BOTTOM: 0px! important
}
.upevtlayout {
	BORDER-TOP-WIDTH: 0px! important; BORDER-LEFT-WIDTH: 0px! important; =
BORDER-BOTTOM-WIDTH: 0px! important; MARGIN-BOTTOM: 10px; WIDTH: 300px! =
important; BORDER-RIGHT-WIDTH: 0px! important
}
#middleColumn TABLE TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.navevtspacing {
	MARGIN: 0px
}
#navevthdrclr {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #bf1e2e; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.evttitlelink {
	FONT-WEIGHT: bold
}
A.evttitlelink {
	TEXT-DECORATION: none
}
A.evttitlelink:hover {
	TEXT-DECORATION: underline
}
.evtfaxnum {
	DISPLAY: none
}
.evtphonenum {
	DISPLAY: none
}
.evtemail {
	DISPLAY: none
}
.viewallevt A {
	PADDING-LEFT: 12px; MARGIN-BOTTOM: 0px
}
.evtsummary {
	MARGIN-BOTTOM: 10px
}
.eventsummaryitems {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; PADDING-TOP: 10px! important
}
.wirenews-list-summary {
	MARGIN-BOTTOM: 10px
}
.wirenews-block .summary-item {
	BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px
}
#petroPortalBox TABLE {
	BORDER-TOP-WIDTH: 0px! important; BORDER-LEFT-WIDTH: 0px! important; =
BORDER-BOTTOM-WIDTH: 0px! important; BORDER-RIGHT-WIDTH: 0px! important
}
#petroPortalBox TABLE TD {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.pastissuesheader {
	COLOR: #83080f! important
}
.subheader {
	FONT-WEIGHT: bold; COLOR: #83080f
}
.podcast-highlight {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.podcast-highlight-link {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.podcast-highlight-genericBoxContent {
	PADDING-LEFT: 0px
}
#podcastMoreLink {
	WIDTH: 100%; TEXT-ALIGN: right
}
.podcast-highlight-link .podcast-highlight {
	FONT-WEIGHT: bold; FLOAT: left; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.podcast-highlight-link .podcast-highlight A {
	COLOR: #0f486d
}
.podcast-highlight-link .podcast-highlight A:hover {
	COLOR: #bb1d2c
}
.podcast-highlight-genericBox {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: auto; BORDER-RIGHT-WIDTH: 0px
}
.podcast-highlight-genericBox H1 {
	DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: 14px; =
COLOR: #fff; PADDING-TOP: 4px; HEIGHT: 25px
}
.podcast-highlight-genericBox H1 A {
	COLOR: #fff
}
.quick-vote-display-discussionlink {
	FLOAT: none; WIDTH: auto; TEXT-ALIGN: center
}
.quick-vote-display-Title FONT {
	LINE-HEIGHT: 1! important
}
.quick-vote {
=09
}
.quick-vote-genericBox {
	BACKGROUND-COLOR: #fff
}
.quick-vote-genericBoxcontents {
=09
}
.quick-vote-Title {
	FONT-SIZE: 13px; TEXT-TRANSFORM: uppercase; COLOR: white; =
BACKGROUND-COLOR: #e2141c
}
.quick-vote-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-vote-responses {
	FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.quick-vote-resultslink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-archivelink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-discussionlink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-voteresults {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-responses {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-STYLE: italic; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.quick-vote-percentageText {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.quick-voteresults-fraction {
	FLOAT: left; MARGIN: 2px; WIDTH: 75%
}
.quick-vote-display-voteBox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.quick-vote-display-Adpoolbox {
	PADDING-RIGHT: 0px; DISPLAY: none; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.quick-vote-display-votebutton {
	FLOAT: none; MARGIN-BOTTOM: 5px; WIDTH: 90px
}
.quick-vote-display-resultslink {
	FLOAT: none; MARGIN: 0px auto; WIDTH: 90px
}
.quick-vote-display-genericBox {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: auto; BACKGROUND-COLOR: #fff; BORDER-RIGHT-WIDTH: 0px
}
.quick-vote-display-genericBoxcontents {
	BACKGROUND: none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 10px; =
WIDTH: auto
}
.quick-vote-display-Title {
	PADDING-LEFT: 5px; FONT-SIZE: 12px; BACKGROUND: #e4dac0; =
BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 0px; =
TEXT-TRANSFORM: none; COLOR: #000; PADDING-TOP: 5px
}
.quick-vote-display-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-vote-display-responses {
	FONT-SIZE: 11px; PADDING-TOP: 5px; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.quick-vote-display-resultslink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-display-archivelink {
	WIDTH: 100%; TEXT-ALIGN: center
}
.quick-vote-display-archivelink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-display-comment {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: =
center
}
.quick-vote-display-discussionlink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-voteresults {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-responses {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-STYLE: italic; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.quick-vote-percentageText {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: =
right
}
.quick-vote-archivelink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-comment {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: =
center
}
.quick-vote-discussionlink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-display-votebutton INPUT {
	BORDER-TOP-WIDTH: 0px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0px; =
BACKGROUND: #e4dac0; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000; =
BORDER-RIGHT-WIDTH: 0px
}
.quick-vote-summary {
=09
}
.quick-vote-summary-genericBox H1 {
	FONT-SIZE: 13px; COLOR: white; BACKGROUND-COLOR: #e2141c
}
.quick-vote-summary-genericBox {
	BACKGROUND-COLOR: #dac8a9
}
.quick-vote-summary-genericBoxcontents {
	BACKGROUND-COLOR: #dac8a9
}
.quick-vote-summary-genericBoxcontents A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-summary-genericBoxcontents A:hover {
	TEXT-DECORATION: underline
}
.quick-vote-summary-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 14px
}
.quick-vote-summary-responses {
	FONT-SIZE: 14px
}
.user-registration .buttonS2 {
	BORDER-LEFT-COLOR: #ae9c7d; BACKGROUND: #e4dac0; BORDER-BOTTOM-COLOR: =
#000000; COLOR: #000; BORDER-TOP-COLOR: #ae9c7d; BORDER-RIGHT-COLOR: =
#000000
}
.user-registration {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.user-registration H1 {
	DISPLAY: none
}
INPUT#FIRSTNAME {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#TITLE {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#LASTNAME {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#COMPANY_NAME {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#ADDRESS1 {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#ADDRESS2 {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#CITY {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
SELECT#STATE {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#POSTAL_CODE {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
SELECT#COUNTRY_NAME {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#PHONE {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#FAX {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#EMAIL {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#PASSWORD {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
INPUT#CONFIRMPASSWORD {
	BORDER-RIGHT: #9ac0cd 1px solid; BORDER-TOP: #75736e 2px solid; =
BACKGROUND: #fff; BORDER-LEFT: #75736e 2px solid; BORDER-BOTTOM: #9ac0cd =
1px solid
}
#footer HR {
	DISPLAY: none
}
#footer {
	CLEAR: left; BACKGROUND: #fff; MARGIN-LEFT: auto; WIDTH: 992px; COLOR: =
#333333; MARGIN-RIGHT: auto
}
#template #footer #footerNav {
	BACKGROUND: url(../../docroot/Images/footerBG.png) repeat-x center top; =
WIDTH: 100%; TEXT-ALIGN: center
}
#template #footer #footerNav .basic-footer {
	PADDING-TOP: 10px
}
#template #footer #pennLogo {
=09
}
#template #footer #bottomLeaderBoard {
	PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 10px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 10px; =
BORDER-BOTTOM: #cccccc 1px solid; TEXT-ALIGN: center
}
#footer A {
	FONT-WEIGHT: normal
}
#footer UL {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: =
1px; PADDING-TOP: 2px
}
#footer UL LI {
	PADDING-RIGHT: 1px; DISPLAY: inline; PADDING-LEFT: 1px; PADDING-BOTTOM: =
1px; PADDING-TOP: 1px
}
#footer #topics {
	COLOR: #666666
}
#footer .pennwell-link {
	MARGIN-TOP: 27px; DISPLAY: block; FLOAT: left; WIDTH: 110px; =
MARGIN-RIGHT: 5px; HEIGHT: 96px
}
#footer .link-block {
	FLOAT: left; MARGIN: 50px 0px 0px; COLOR: #333333
}
#footer .link-block A {
	FONT-WEIGHT: bold
}
#footer-spacer-1 {
	BACKGROUND: url(/images/header/row1-background.gif) repeat-x left top; =
HEIGHT: 26px
}
#footerall {
	CLEAR: left; BORDER-TOP: #e0e0e0 1px solid; MARGIN: 0px auto 40px; =
WIDTH: 982px
}
* HTML #footerall {
	PADDING-TOP: 0px
}
#footerall .module {
	MARGIN-BOTTOM: 20px
}
#footerall .footercolumn {
	FONT-SIZE: 10px; FLOAT: left; MARGIN-LEFT: 30px; WIDTH: 28%; COLOR: =
#ababab; LINE-HEIGHT: 15px
}
#footerall .footercolumn1 {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 5px 0px auto; COLOR: #ababab; PADDING-TOP: 0px
}
#footerall .footercolumn .header {
	FONT-SIZE: 11px; COLOR: #393939
}
#footerall .footercolumn A {
	FONT-SIZE: 10px; COLOR: #ababab; LINE-HEIGHT: 15px
}
#footerall .footercolumn1 A B {
	COLOR: #999
}
#footerall UL {
	PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none
}
#footerall UL LI UL {
	PADDING-LEFT: 5px; MARGIN-LEFT: 5px
}
#footerall H2 {
	FONT-SIZE: 12px; COLOR: #999
}
#footerall H3 {
	FONT-SIZE: 11px; COLOR: #525252
}
#footerall A {
	FONT-SIZE: 11px; COLOR: #525252
}
#footerall H3.style5 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1px; MARGIN: =
10px auto 0px; COLOR: #999; PADDING-TOP: 1px
}
#footerall H2.style5 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 2px =
auto; PADDING-TOP: 2px
}
#footerall A:hover {
	FONT-WEIGHT: normal; COLOR: #29264b
}
#footerall A {
	FONT-WEIGHT: normal; COLOR: #29264b
}
#footerall UL.footerListNest LI A {
	COLOR: #ababab
}
#footerall UL.footerListNest LI A:hover {
	COLOR: #29264b
}
#template #extendFooter {
	BACKGROUND: #fff; FLOAT: none
}
#block2 {
	MARGIN-TOP: 10px
}
.whitepaper {
	PADDING-BOTTOM: 10px
}
.whitepaper-category {
=09
}
.whitepaper-category-search {
=09
}
.whitepaper-display {
=09
}
.whitepaper-imgtext IMG.vendor-logo {
	WIDTH: 200px
}
.whitepaper-listing .page-title {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.whitepaper-listing .page-intro-text {
	DISPLAY: block; FONT-SIZE: 8pt; MARGIN-BOTTOM: 10px
}
.whitepaper-listing .whitepaper-display {
	DISPLAY: block; FONT-SIZE: 10pt; MARGIN-BOTTOM: 15px
}
.whitepaper-listing .whitepaper-display A {
	FONT-WEIGHT: bold; COLOR: #000; TEXT-DECORATION: underline
}
.whitepaper-listing .whitepaper-display A:hover {
	COLOR: #bb1d2c
}
.whitepaper-listing .featured-whitepapers {
	DISPLAY: block; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 10px; =
BORDER-BOTTOM: #666 1px solid
}
.whitepaper-listing .page-content-type-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #000
}
.featured-whitepapers-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #000
}
.recent-whitepapers-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #000
}
.whitepaper-listing .more-vendors-link {
	MARGIN-TOP: 10px; DISPLAY: block; MARGIN-BOTTOM: 10px; TEXT-ALIGN: =
right
}
.whitepaper-listing .vendor-link IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.whitepaper-listing .vendor-logo {
	FLOAT: left; MARGIN: 10px
}
.whitepaper-listing .vendor-whitepaper-synopsis P {
	MARGIN-TOP: 0px
}
.whitepaper-listing .whitepaper-date {
	FONT-SIZE: 9px
}
.whitepaper-promo {
	MARGIN-BOTTOM: 10px
}
.whitepaper-promo .promo-item .title {
	FONT-WEIGHT: bold
}
.whitepaper-promo .vendor-link {
=09
}
.whitepaper-promo .whitepaper-promo-box-footer {
	TEXT-ALIGN: right
}
.whitepaper-listing .whitepaper-display .whitepaper-synopsis P {
	DISPLAY: inline
}
.whitepaper-listing-image {
	WIDTH: 120px
}
.whitepaper-listing-td-vendorlogoimg {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; VERTICAL-ALIGN: top; WIDTH: =
120px; TEXT-ALIGN: center
}
.whitepaper-listing-tdofvendorimg {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; VERTICAL-ALIGN: top; =
TEXT-ALIGN: center
}
.vendor-logo-img {
	WIDTH: 120px
}
.webcast-summary-pagetitle .centerwebcasttitle {
	WIDTH: 98%
}
.content-rotator-boxRightLink IMG {
	HEIGHT: 150px
}
.content-rotator-morelink {
	WIDTH: 100%; TEXT-ALIGN: right
}
.content-rotator-totPages {
	FONT-FAMILY: arial, Arial, Helvetica, sans-serif
}
.content-rotator-formtable {
	Z-INDEX: 1; POSITION: relative
}
.content-rotator-divbox {
	Z-INDEX: 1; POSITION: relative
}
#ContentRotator_leftcolumn_37419 {
	Z-INDEX: 1; POSITION: relative
}
.submenu .submenu-threecol {
	Z-INDEX: 100
}
.content-rotator-content-title A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.content-rotator-content-title A:hover {
	TEXT-DECORATION: underline
}
.contentrotator-innerdiv {
	PADDING-LEFT: 0px
}
#topnav LI .submenu {
	Z-INDEX: 100
}
UL.tertiary LI {
	WHITE-SPACE: normal! important
}
UL.right.split.tertiary {
	_top: 0px; _margin-left: 0%
}
#tertNavTitle {
	MARGIN-TOP: 0px! important
}
.tertiary-nav-list UL.tertiary LI {
	PADDING-LEFT: 5px! important
}
#containerBottomParsys {
	MARGIN-BOTTOM: 1px
}
#containerTopParsys {
=09
}
#topnav {
	BACKGROUND: url(../../docroot/Images/globalNavBG.png) #383737 repeat-x; =
WIDTH: 993px; HEIGHT: 31px
}
#topnav UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#topnav LI {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 12px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: 30px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: none
}
#topnav LI:hover {
	BACKGROUND: #bf1e2e
}
#topnav LI LI {
	FLOAT: none; LINE-HEIGHT: 20px; LIST-STYLE-TYPE: none
}
#template #header #navigation #topnav LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff
}
#template #header #navigation #topnav .wrapper-col LI A {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; WIDTH: =
100%; COLOR: #000000; PADDING-TOP: 1px
}
#template #header #navigation #topnav .wrapper-col .tertiary LI A {
	FONT-WEIGHT: normal; COLOR: #000000
}
#nav-photonics:hover {
	BACKGROUND: #005baa
}
#nav-machinevision:hover {
	BACKGROUND: #a80e17
}
#nav-lasers:hover {
	BACKGROUND: #2dafbc
}
#nav-biophotonics:hover {
	BACKGROUND: #68904a
}
#topnav LI LI A:hover {
	COLOR: #bf1e2e! important
}
#topnav LI LI LI A:hover {
	COLOR: #bf1e2e! important
}
#topnav LI:hover {
	BACKGROUND: #bf1e2e
}
#topnav LI.sfhover {
	BACKGROUND: #bf1e2e
}
* HTML #topnav LI.sfhover {
	BACKGROUND: #bf1e2e
}
* HTML .sfhover#nav-photonics {
	BACKGROUND: #005baa
}
* HTML .sfhover#nav-machinevision {
	BACKGROUND: #a80e17
}
* HTML .sfhover#nav-lasers {
	BACKGROUND: #2dafbc
}
* HTML .sfhover#nav-biophotonics {
	BACKGROUND: #68904a
}
.OIQhighlighted {
	BACKGROUND: #bf1e2e
}
.LFWhighlighted {
	BACKGROUND: #005baa
}
.VSDhighlighted {
	BACKGROUND: #a80e17
}
.ILShighlighted {
	BACKGROUND: #2dafbc
}
.BIOhighlighted {
	BACKGROUND: #68904a
}
#topnav LI .submenu {
	MARGIN-TOP: 1px; LEFT: -999em; MARGIN-LEFT: -5px; POSITION: absolute
}
#topnav LI .submenu {
	MARGIN-TOP: 23px
}
#topnav LI:hover .submenu {
	LEFT: auto
}
#topnav LI.sfhover .submenu {
	LEFT: auto
}
* HTML #topnav LI.sfhover .submenu {
	LEFT: auto
}
.wrapper-col {
	BORDER-RIGHT: #bf1e2e 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#bf1e2e 1px solid; PADDING-LEFT: 5px; Z-INDEX: 999; BACKGROUND: =
url(../../docroot/Images/inner-grad.png) #fffbc7 repeat-x; =
PADDING-BOTTOM: 5px; BORDER-LEFT: #bf1e2e 1px solid; PADDING-TOP: 5px; =
BORDER-BOTTOM: #bf1e2e 1px solid; POSITION: relative
}
#nav-photonics .wrapper-col {
	BORDER-RIGHT: #005baa 1px solid; BORDER-TOP: #005baa 1px solid; =
BORDER-LEFT: #005baa 1px solid; BORDER-BOTTOM: #005baa 1px solid
}
#nav-machinevision .wrapper-col {
	BORDER-RIGHT: #a80e17 1px solid; BORDER-TOP: #a80e17 1px solid; =
BORDER-LEFT: #a80e17 1px solid; BORDER-BOTTOM: #a80e17 1px solid
}
#nav-lasers .wrapper-col {
	BORDER-RIGHT: #2dafbc 1px solid; BORDER-TOP: #2dafbc 1px solid; =
BORDER-LEFT: #2dafbc 1px solid; BORDER-BOTTOM: #2dafbc 1px solid
}
#nav-biophotonics .wrapper-col {
	BORDER-RIGHT: #68904a 1px solid; BORDER-TOP: #68904a 1px solid; =
BORDER-LEFT: #68904a 1px solid; BORDER-BOTTOM: #68904a 1px solid
}
.submenu .submenu-col {
	MARGIN-TOP: 3px; FLOAT: left! important; WIDTH: 150px! important
}
.submenu .submenu-onecol {
	WIDTH: 150px! important
}
.submenu .submenu-twocol {
	WIDTH: 300px! important
}
.submenu .submenu-threecol {
	WIDTH: 450px! important
}
.submenu .submenu-fourcol {
	WIDTH: 300px! important
}
#topnav LI .submenu .nav-home {
	LEFT: -36px; POSITION: relative
}
#topnav LI .submenu .nav-community1 {
	LEFT: -68px; POSITION: relative
}
#topnav LI .submenu .nav-photonics {
	LEFT: -224px; POSITION: relative
}
#topnav LI .submenu .nav-machinevision {
	LEFT: -208px; POSITION: relative
}
#topnav LI .submenu .nav-lasers {
	LEFT: -147px; POSITION: relative
}
#topnav LI .submenu .nav-biophotonics {
	LEFT: -77px; POSITION: relative
}
#topnav LI:hover .submenu .submenu-col LI {
	FONT-SIZE: 12px; BACKGROUND: url(../../docroot/Images/empty.gif); =
MARGIN: 0px
}
#topnav LI.sfhover .submenu .submenu-col LI {
	FONT-SIZE: 12px; BACKGROUND: url(../../docroot/Images/empty.gif); =
MARGIN: 0px
}
#topnav LI .submenu .submenu-col LI UL.tertiary LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 16px; VERTICAL-ALIGN: top; =
COLOR: #bf1e2e; PADDING-TOP: 0px; LIST-STYLE-TYPE: disc
}
* HTML #topnav LI .submenu .submenu-col LI UL.tertiary LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LIST-STYLE-POSITION: outside; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 16px; VERTICAL-ALIGN: top; =
COLOR: #bf1e2e; PADDING-TOP: 0px; LIST-STYLE-TYPE: disc
}
#topnav LI .submenu .nav-photonics .submenu-col LI UL.tertiary LI {
	COLOR: #005baa! important
}
* HTML #topnav .nav-photonics LI .submenu .submenu-col LI UL.tertiary LI =
{
	COLOR: #005baa! important
}
#topnav LI .submenu .nav-machinevision .submenu-col LI UL.tertiary LI {
	COLOR: #a80e17! important
}
* HTML #topnav .nav-photonics LI .submenu .submenu-col LI UL.tertiary LI =
{
	COLOR: #a80e17! important
}
#topnav LI .submenu .nav-lasers .submenu-col LI UL.tertiary LI {
	COLOR: #2dafbc! important
}
* HTML #topnav .nav-photonics LI .submenu .submenu-col LI UL.tertiary LI =
{
	COLOR: #2dafbc! important
}
#topnav LI .submenu .nav-biophotonics .submenu-col LI UL.tertiary LI {
	COLOR: #68904a! important
}
* HTML #topnav .nav-photonics LI .submenu .submenu-col LI UL.tertiary LI =
{
	COLOR: #68904a! important
}
#topnav .separator {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(../../docroot/Images/globalnavdivider.png) no-repeat; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN-LEFT: 0px; WIDTH: 1px; MARGIN-RIGHT: 0px; =
PADDING-TOP: 0px; HEIGHT: 29px
}
#topnav .padding {
	BORDER-RIGHT: #df0032 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#df0032 0px solid; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: 0px; BORDER-LEFT: #df0032 0px solid; WIDTH: 55px; PADDING-TOP: =
0px; BORDER-BOTTOM: #df0032 0px solid
}
#topnav #nav-biophotonics:hover .submenu {
=09
}
* HTML #topnav .sfhover#nav-biophotonics .submenu {
=09
}
#main-nav-home {
	BACKGROUND: url(../../docroot/Images/homeNavBG.png)
}
#nav-products {
	BACKGROUND: url(../../docroot/Images/globalNavBG2.png)
}
#nav-community {
	BACKGROUND: url(../../docroot/Images/globalNavBG2.png)
}
#nav-jobs {
	BACKGROUND: url(../../docroot/Images/globalNavBG2.png)
}
#nav-advertise {
	BACKGROUND: url(../../docroot/Images/globalNavBG2.png)
}
.shadow {
	PADDING-RIGHT: 12px! important; DISPLAY: block; BACKGROUND: =
url(../../docroot/Images/shadow.png) repeat-x; HEIGHT: 7px! important
}
.shadow.topnav {
	PADDING-RIGHT: 0px! important
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/optoiq-2/en-us/docroot/style/optoiq2BOW.css

#template #header #navigation {
	MARGIN: 0px; WIDTH: 100%
}
#template #header #navigation A:hover {
	TEXT-DECORATION: underline
}
#template #header #navigation #globalNav {
	BACKGROUND: url(../../docroot/Images/globalNavBG.png) #68904a repeat-x =
left top; PADDING-TOP: 0px; HEIGHT: 30px
}
#template #header #navigation #globalNav UL {
	HEIGHT: 30px
}
#template #header #navigation #globalNav UL LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff! important; =
LINE-HEIGHT: 30px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
#template #header #navigation #globalNav UL LI {
	PADDING-RIGHT: 9px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; _padding: 0px 4px
}
#template #header #navigation #globalNav .global-nav-highlighted {
	BACKGROUND: url(../../docroot/Images/bowNavHover.png) repeat-x left =
top; POSITION: relative; TOP: -2px; HEIGHT: 32px; _height: 30px; _top: =
0px
}
#template #header #navigation #globalNav .global-nav-highlighted A {
	COLOR: #ffffff! important; LINE-HEIGHT: 34px; _line-height: 30px
}
UL#globalNavListRight {
	FLOAT: left! important
}
#globalNavListRight {
	BACKGROUND: url(../../docroot/Images/globalNavBG2.png) repeat-x left =
top
}
#template #header #navigation #globalSubNav {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: #68904a; =
BORDER-BOTTOM-WIDTH: 0px; WIDTH: 100%; BORDER-RIGHT-WIDTH: 0px
}
#template #header #navigation #globalSubNav UL {
	COLOR: #ffffff! important; HEIGHT: auto
}
#template #header #navigation #globalSubNav UL LI A {
	FONT-SIZE: 12px; LINE-HEIGHT: 20px; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
#template #header #navigation #globalSubNav UL LI A:hover {
	COLOR: #ffffff! important
}
#template #header #navigation #globalSubNav .global-nav-highlighted A {
	COLOR: #ffffff! important; TEXT-DECORATION: underline! important
}
#leftNavWrapper {
	POSITION: relative; HEIGHT: 30px
}
UL#globalNavListRight LI.endcap {
	BACKGROUND: =
url(/etc/medialib/platform-7/optoiq2/site-images.Par.1902.Image.0.0.1.png=
) no-repeat right 50%
}
#template #header #navigation #globalSubNav #welcomeMessage {
	FONT-WEIGHT: bold; COLOR: #fff
}
* HTML #template #header #navigation {
	MARGIN-LEFT: 0px
}
.blogpromobox {
	PADDING-BOTTOM: 10px
}
.blogpromo-title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
DIV.blogpromo-morelink {
	PADDING-TOP: 0px
}
.blogpromo-morelink A {
	PADDING-LEFT: 12px
}
.publication-date {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666; WHITE-SPACE: nowrap
}
DIV.blogpromo-feed {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 10px
}
.current-issue-promo {
=09
}
.current-issue-promo .issuebox {
	MARGIN-BOTTOM: 10px; WIDTH: 100%
}
.current-issue-promo .boxTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 130%; MARGIN-LEFT: 5px
}
.current-issue-promo .magName {
	FONT-WEIGHT: bold; FONT-SIZE: 120%; MARGIN-LEFT: 5px
}
.current-issue-promo .header-box {
	MARGIN-LEFT: 15px
}
.current-issue-promo .footer-box {
	MARGIN-LEFT: 15px
}
.current-issue-promo .image {
	MARGIN-LEFT: 25px
}
.current-issue-promo .volume {
=09
}
.current-issue-promo .issueDate {
=09
}
.current-issue-promo .viewNowLabel {
=09
}
.current-issue-promo .archiveLabel {
=09
}
.current-issue-promo .description {
=09
}
.webcast-detail {
=09
}
.webcast-detail H2 {
	FONT-SIZE: 12px; COLOR: #16387c
}
.webcast-detail-pagetitle {
	FONT-WEIGHT: bolder; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.webcast-detail-news {
	FONT-WEIGHT: normal; FONT-SIZE: 8pt; WIDTH: 100%; COLOR: #333333
}
.webcast-detail-header {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #333333
}
.webcast-detail-titletext {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.webcast-promo-box {
	MARGIN-BOTTOM: 10px
}
.webcast-promo-box-separtor {
	CLEAR: both; HEIGHT: 15px
}
.webcast-promo-box-summary-item {
	FLOAT: left; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 10px
}
.webcast-promo-box-heading {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; VERTICAL-ALIGN: text-bottom; COLOR: =
#16387c
}
.webcast-promo-box-heading H2 {
	MARGIN: 0px
}
.webcast-promo-box-morebox {
	TEXT-ALIGN: right
}
.webcast-promo-box-moretext {
	PADDING-LEFT: 5px; FONT-SIZE: 12px; COLOR: #2f5079; TEXT-DECORATION: =
none
}
.webcast-promo-box-title {
	FONT-WEIGHT: bold; COLOR: black
}
.sponsoredBy {
=09
}
.webcast-promo-box-sponsorname {
	FONT-WEIGHT: normal; FLOAT: left; MARGIN-LEFT: 25px
}
.webcast-promo-box-topheadingline HR {
	BORDER-TOP: #9ac0cd 3px solid; HEIGHT: 3px
}
.webcast-promo-box-bottomheadingline HR {
	BORDER-TOP: #9e9e9e 1px solid; HEIGHT: 1px
}
.webcast-speaker {
=09
}
.webcast-speaker-pagetitle {
	FONT-WEIGHT: bolder; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.webcast-speaker-news {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; WIDTH: 100%; COLOR: #333333
}
.webcast-speaker-header {
	FONT-SIZE: 14pt; COLOR: #333333
}
.webcast-summary {
=09
}
.webcast-summary-pagetitle {
	FONT-WEIGHT: bolder; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.webcast-summary-news {
	FONT-WEIGHT: normal; FONT-SIZE: 8pt; WIDTH: 100%; COLOR: #333333
}
.webcast-summary-header {
	FONT-SIZE: 14pt; COLOR: #333333
}
.webcast-summary-title {
	FONT-WEIGHT: bold
}
.whitepaper-promo .whitepaper-promo-box-footer {
	TEXT-ALIGN: right
}
.current-issue-promo {
=09
}
.current-issue-promo .boxTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 130%; MARGIN-LEFT: 5px
}
.current-issue-promo .magName {
	FONT-WEIGHT: bold; FONT-SIZE: 120%; MARGIN-LEFT: 5px
}
.current-issue-promo .header-box {
	MARGIN-TOP: 10px; MARGIN-LEFT: 0px; TEXT-ALIGN: center
}
.current-issue-promo .footer-box {
	MARGIN-LEFT: 0px; TEXT-ALIGN: center
}
.current-issue-promo .image {
	MARGIN: 5px 0px; TEXT-ALIGN: center
}
.current-issue-promo .volume {
=09
}
.current-issue-promo .issueDate {
=09
}
.current-issue-promo .viewNowLabel {
=09
}
.current-issue-promo .archiveLabel {
=09
}
.current-issue-promo .description {
=09
}
.featuredtitle {
	FONT-WEIGHT: bold
}
.synopsis P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.breadcrumb {
	MARGIN-BOTTOM: 10px
}
.pluck-mostcommented SPAN {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff; =
PADDING-TOP: 4px; HEIGHT: 21px
}
.pluck-mostcommented H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 0px; =
HEIGHT: 19px
}
.pluck-mostrecommended H1 {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 0px; COLOR: =
#000; PADDING-TOP: 4px; HEIGHT: 19px
}
.pluck-mostrecommended .PromoBoxHeadTitle {
=09
}
#leftColumn #Industry .summary-footer {
	BACKGROUND: #000
}
.summary-item {
	MARGIN-TOP: 10px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 10px
}
.summary-item BR {
	DISPLAY: none
}
.PromoBoxHeadLeft {
	BACKGROUND: url(../../docroot/Images/BOWleftArtHeader.png) no-repeat =
left bottom; HEIGHT: 25px
}
.PromoBoxHeadright {
	BACKGROUND: url(../../docroot/Images/BOWrightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.PromoBoxHeadRight {
	BACKGROUND: url(../../docroot/Images/BOWrightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.PromoBoxHeadTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #68904a; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.PromoBoxHeadTitle H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000
}
.search-summary-title .PromoBoxHeadTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #68904a; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #000; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px
}
.ArtListLeftHead {
	BACKGROUND: url(../../docroot/Images/BOWleftArtHeader.png) no-repeat =
left bottom; HEIGHT: 25px
}
.ArtListRightHead {
	BACKGROUND: url(../../docroot/Images/BOWrightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.ArtListTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #68904a; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.search-summary-title .ArtListTitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #68904a; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.webcast-summary-pagetitle {
	MARGIN-BOTTOM: 5px
}
.leftwebcasttitle {
	BACKGROUND: url(../../docroot/Images/BOWleftArtHeader.png) no-repeat =
left bottom; HEIGHT: 25px
}
.rightwebcasttitle {
	BACKGROUND: url(../../docroot/Images/BOWrightArtHeader.png) no-repeat =
right bottom; HEIGHT: 25px
}
.centerwebcasttitle {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #68904a; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.header {
	HEIGHT: 25px; TEXT-ALIGN: left
}
.webcast-promo-box-summary-item A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
.webcast-promo-box-summary-item A:hover {
	COLOR: #bb1d2c
}
A.readmorelink:visited {
	COLOR: #5b96bc
}
A.more-link:visited {
	COLOR: #5b96bc
}
A.title {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
A.title:hover {
	COLOR: #bb1d2c
}
.title A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
.title A:hover {
	COLOR: #bb1d2c
}
.summary-footer A {
	PADDING-LEFT: 12px
}
.search-summary-morebox {
	PADDING-BOTTOM: 10px
}
.more-link {
=09
}
A#search-summary-articletitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #0f486d
}
A#search-summary-articletitle:hover {
	COLOR: #bb1d2c
}
#search-summary-pagination P {
	MARGIN: 3px 0px
}
#search-summary-pagination {
	MARGIN-TOP: 5px
}
.search-summary-title {
	MARGIN-BOTTOM: 10px
}
.search-summary-article {
	MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 10px
}
.search-summary-article P {
	MARGIN: 0px
}
.webcast-promo-box-heading {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000; =
HEIGHT: 25px
}
#javaScriptCode {
	MARGIN-BOTTOM: 10px
}
#twitter_div {
	TEXT-ALIGN: left
}
.article-list-summary {
	MARGIN-BOTTOM: 10px
}
.article-list-summary P {
=09
}
.article-list-summary BR {
	DISPLAY: none
}
.upevtlayout BR {
	DISPLAY: none! important
}
#January2009 BR {
	DISPLAY: block! important
}
#February2009 BR {
	DISPLAY: block! important
}
#March2009 BR {
	DISPLAY: block! important
}
#April2009 BR {
	DISPLAY: block! important
}
#May2009 BR {
	DISPLAY: block! important
}
#June2009 BR {
	DISPLAY: block! important
}
#July2009 BR {
	DISPLAY: block! important
}
#August2009 BR {
	DISPLAY: block! important
}
#September2009 BR {
	DISPLAY: block! important
}
#October2009 BR {
	DISPLAY: block! important
}
#November2009 BR {
	DISPLAY: block! important
}
#December2009 BR {
	DISPLAY: block! important
}
.upevtheadertxt {
	FONT-WEIGHT: bold; FONT-SIZE: 14px! important
}
#upevtbodylayout {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important
}
#upevtbodylayout FORM {
	MARGIN-BOTTOM: 5px
}
.upevtsummary {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px -3px; PADDING-TOP: 0px; _padding-top: =
0px
}
.navevthdr {
	TEXT-TRANSFORM: none! important
}
#navevthdrtxt {
	PADDING-LEFT: 0px! important; FONT-SIZE: 14px! important; =
BORDER-BOTTOM-WIDTH: 0px! important; BOTTOM: 0px! important
}
.upevtlayout {
	BORDER-TOP-WIDTH: 0px! important; BORDER-LEFT-WIDTH: 0px! important; =
BORDER-BOTTOM-WIDTH: 0px! important; MARGIN-BOTTOM: 10px; WIDTH: 300px! =
important; BORDER-RIGHT-WIDTH: 0px! important
}
#middleColumn TABLE TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.navevtspacing {
	MARGIN: 0px
}
#navevthdrclr {
	DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; =
BACKGROUND: #68904a; MARGIN-LEFT: 5px; WIDTH: 95%; COLOR: #fff; =
LINE-HEIGHT: 17px; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: left
}
.evttitlelink {
	FONT-WEIGHT: bold
}
.evtfaxnum {
	DISPLAY: none
}
.evtphonenum {
	DISPLAY: none
}
.evtemail {
	DISPLAY: none
}
.viewallevt A {
	PADDING-LEFT: 12px; MARGIN-BOTTOM: 0px
}
.evtsummary {
	MARGIN-BOTTOM: 10px
}
.eventsummaryitems {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; PADDING-TOP: 10px! important
}
.wirenews-list-summary {
	MARGIN-BOTTOM: 10px
}
.wirenews-block .summary-item {
	BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px
}
.podcast-highlight {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.podcast-highlight-link {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.podcast-highlight-genericBoxContent {
	PADDING-LEFT: 0px
}
#podcastMoreLink {
	WIDTH: 100%; TEXT-ALIGN: right
}
.podcast-highlight-link .podcast-highlight {
	FONT-WEIGHT: bold; FLOAT: left; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.podcast-highlight-link .podcast-highlight A {
	COLOR: #0f486d
}
.podcast-highlight-link .podcast-highlight A:hover {
	COLOR: #bb1d2c
}
.podcast-highlight-genericBox {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: auto; BORDER-RIGHT-WIDTH: 0px
}
.podcast-highlight-genericBox H1 {
	DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: 14px; =
COLOR: #fff; PADDING-TOP: 4px; HEIGHT: 25px
}
.podcast-highlight-genericBox H1 A {
	COLOR: #fff
}
.quick-vote-display-discussionlink {
	FLOAT: none; WIDTH: auto; TEXT-ALIGN: center
}
.quick-vote-display-Title FONT {
	LINE-HEIGHT: 1! important
}
.quick-vote {
=09
}
.quick-vote-genericBox {
	BACKGROUND-COLOR: #fff
}
.quick-vote-genericBoxcontents {
=09
}
.quick-vote-Title {
	FONT-SIZE: 13px; TEXT-TRANSFORM: uppercase; COLOR: white; =
BACKGROUND-COLOR: #e2141c
}
.quick-vote-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-vote-responses {
	FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.quick-vote-resultslink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-archivelink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-discussionlink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-voteresults {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-responses {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-STYLE: italic; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.quick-vote-percentageText {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.quick-voteresults-fraction {
	FLOAT: left; MARGIN: 2px; WIDTH: 75%
}
.quick-vote-display-voteBox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.quick-vote-display-Adpoolbox {
	PADDING-RIGHT: 0px; DISPLAY: none; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.quick-vote-display-votebutton {
	FLOAT: none; MARGIN-BOTTOM: 5px; WIDTH: 90px
}
.quick-vote-display-resultslink {
	FLOAT: none; MARGIN: 0px auto; WIDTH: 90px
}
.quick-vote-display-genericBox {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; WIDTH: auto; BACKGROUND-COLOR: #fff; BORDER-RIGHT-WIDTH: 0px
}
.quick-vote-display-genericBoxcontents {
	BACKGROUND: none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 10px; =
WIDTH: auto
}
.quick-vote-display-Title {
	PADDING-LEFT: 5px; FONT-SIZE: 12px; BACKGROUND: #e4dac0; =
BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 0px; =
TEXT-TRANSFORM: none; COLOR: #000; PADDING-TOP: 5px
}
.quick-vote-display-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-vote-display-responses {
	FONT-SIZE: 11px; PADDING-TOP: 5px; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.quick-vote-display-resultslink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-display-archivelink {
	WIDTH: 100%; TEXT-ALIGN: center
}
.quick-vote-display-archivelink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-display-comment {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: =
center
}
.quick-vote-display-discussionlink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-voteresults {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 13px
}
.quick-voteresults-responses {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-STYLE: italic; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.quick-vote-percentageText {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: =
right
}
.quick-vote-archivelink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-comment {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: =
center
}
.quick-vote-discussionlink A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-display-votebutton INPUT {
	BORDER-TOP-WIDTH: 0px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0px; =
BACKGROUND: #e4dac0; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000; =
BORDER-RIGHT-WIDTH: 0px
}
.quick-vote-summary {
=09
}
.quick-vote-summary-genericBox H1 {
	FONT-SIZE: 13px; COLOR: white; BACKGROUND-COLOR: #e2141c
}
.quick-vote-summary-genericBox {
	BACKGROUND-COLOR: #dac8a9
}
.quick-vote-summary-genericBoxcontents {
	BACKGROUND-COLOR: #dac8a9
}
.quick-vote-summary-genericBoxcontents A {
	FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.quick-vote-summary-genericBoxcontents A:hover {
	TEXT-DECORATION: underline
}
.quick-vote-summary-questions {
	FONT-WEIGHT: bold; FONT-SIZE: 14px
}
.quick-vote-summary-responses {
	FONT-SIZE: 14px
}
#block2 {
	MARGIN-TOP: 10px
}
.whitepaper {
	PADDING-BOTTOM: 10px
}
.whitepaper-category {
=09
}
.whitepaper-category-search {
=09
}
.whitepaper-display {
=09
}
.whitepaper-imgtext IMG.vendor-logo {
	WIDTH: 200px
}
.whitepaper-listing .page-title {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 16pt; PADDING-BOTTOM: 5px
}
.whitepaper-listing .page-intro-text {
	DISPLAY: block; FONT-SIZE: 8pt; MARGIN-BOTTOM: 10px
}
.whitepaper-listing .whitepaper-display {
	DISPLAY: block; FONT-SIZE: 10pt; MARGIN-BOTTOM: 15px
}
.whitepaper-listing .whitepaper-display A {
	FONT-WEIGHT: bold; COLOR: #000; TEXT-DECORATION: underline
}
.whitepaper-listing .whitepaper-display A:hover {
	COLOR: #bb1d2c
}
.whitepaper-listing .featured-whitepapers {
	DISPLAY: block; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 10px; =
BORDER-BOTTOM: #666 1px solid
}
.whitepaper-listing .page-content-type-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #000
}
.featured-whitepapers-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #000
}
.recent-whitepapers-text {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: =
10px; COLOR: #000
}
.whitepaper-listing .more-vendors-link {
	MARGIN-TOP: 10px; DISPLAY: block; MARGIN-BOTTOM: 10px; TEXT-ALIGN: =
right
}
.whitepaper-listing .vendor-link IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.whitepaper-listing .vendor-logo {
	FLOAT: left; MARGIN: 10px
}
.whitepaper-listing .vendor-whitepaper-synopsis P {
	MARGIN-TOP: 0px
}
.whitepaper-listing .whitepaper-date {
	FONT-SIZE: 9px
}
.whitepaper-promo {
	MARGIN-BOTTOM: 10px
}
.whitepaper-promo .promo-item .title {
	FONT-WEIGHT: bold
}
.whitepaper-promo .vendor-link {
=09
}
.whitepaper-promo .whitepaper-promo-box-footer {
	TEXT-ALIGN: right
}
.whitepaper-listing .whitepaper-display .whitepaper-synopsis P {
	DISPLAY: inline
}
.whitepaper-listing-image {
	WIDTH: 120px
}
.whitepaper-listing-td-vendorlogoimg {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; VERTICAL-ALIGN: top; WIDTH: =
120px; TEXT-ALIGN: center
}
.whitepaper-listing-tdofvendorimg {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; VERTICAL-ALIGN: top; =
TEXT-ALIGN: center
}
.vendor-logo-img {
	WIDTH: 120px
}
.webcast-summary-pagetitle .centerwebcasttitle {
	WIDTH: 98%
}

------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/javascript/prototype.1.6.0.3.js

/*  Prototype JavaScript framework, version 1.6.0.3=0A=
 *  (c) 2005-2008 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
 =
*------------------------------------------------------------------------=
--*/=0A=
=0A=
var Prototype =3D {=0A=
    Version: '1.6.0.3',=0A=
=0A=
    Browser: {=0A=
        IE:     !!(window.attachEvent &&=0A=
                   navigator.userAgent.indexOf('Opera') =3D=3D=3D -1),=0A=
        Opera:  navigator.userAgent.indexOf('Opera') > -1,=0A=
        WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A=
        Gecko:  navigator.userAgent.indexOf('Gecko') > -1 &&=0A=
                navigator.userAgent.indexOf('KHTML') =3D=3D=3D -1,=0A=
        MobileSafari: =
!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A=
    },=0A=
=0A=
    BrowserFeatures: {=0A=
        XPath: !!document.evaluate,=0A=
        SelectorsAPI: !!document.querySelector,=0A=
        ElementExtensions: !!window.HTMLElement,=0A=
        SpecificElementExtensions:=0A=
                document.createElement('div')['__proto__'] &&=0A=
                document.createElement('div')['__proto__'] !=3D=3D=0A=
                document.createElement('form')['__proto__']=0A=
    },=0A=
=0A=
    ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',=0A=
    JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A=
=0A=
    emptyFunction: function() {=0A=
    },=0A=
    K: function(x) {=0A=
        return x=0A=
    }=0A=
};=0A=
=0A=
if (Prototype.Browser.MobileSafari)=0A=
    Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A=
=0A=
=0A=
/* Based on Alex Arnell's inheritance implementation. */=0A=
var Class =3D {=0A=
    create: function() {=0A=
        var parent =3D null, properties =3D $A(arguments);=0A=
        if (Object.isFunction(properties[0]))=0A=
            parent =3D properties.shift();=0A=
=0A=
        function klass() {=0A=
            this.initialize.apply(this, arguments);=0A=
        }=0A=
=0A=
        Object.extend(klass, Class.Methods);=0A=
        klass.superclass =3D parent;=0A=
        klass.subclasses =3D [];=0A=
=0A=
        if (parent) {=0A=
            var subclass =3D function() {=0A=
            };=0A=
            subclass.prototype =3D parent.prototype;=0A=
            klass.prototype =3D new subclass;=0A=
            parent.subclasses.push(klass);=0A=
        }=0A=
=0A=
        for (var i =3D 0; i < properties.length; i++)=0A=
            klass.addMethods(properties[i]);=0A=
=0A=
        if (!klass.prototype.initialize)=0A=
            klass.prototype.initialize =3D Prototype.emptyFunction;=0A=
=0A=
        klass.prototype.constructor =3D klass;=0A=
=0A=
        return klass;=0A=
    }=0A=
};=0A=
=0A=
Class.Methods =3D {=0A=
    addMethods: function(source) {=0A=
        var ancestor =3D this.superclass && this.superclass.prototype;=0A=
        var properties =3D Object.keys(source);=0A=
=0A=
        if (!Object.keys({ toString: true }).length)=0A=
            properties.push("toString", "valueOf");=0A=
=0A=
        for (var i =3D 0, length =3D properties.length; i < length; i++) =
{=0A=
            var property =3D properties[i], value =3D source[property];=0A=
            if (ancestor && Object.isFunction(value) &&=0A=
                value.argumentNames().first() =3D=3D "$super") {=0A=
                var method =3D value;=0A=
                value =3D (function(m) {=0A=
                    return function() {=0A=
                        return ancestor[m].apply(this, arguments)=0A=
                    };=0A=
                })(property).wrap(method);=0A=
=0A=
                value.valueOf =3D method.valueOf.bind(method);=0A=
                value.toString =3D method.toString.bind(method);=0A=
            }=0A=
            this.prototype[property] =3D value;=0A=
        }=0A=
=0A=
        return this;=0A=
    }=0A=
};=0A=
=0A=
var Abstract =3D { };=0A=
=0A=
Object.extend =3D function(destination, source) {=0A=
    for (var property in source)=0A=
        destination[property] =3D source[property];=0A=
    return destination;=0A=
};=0A=
=0A=
Object.extend(Object, {=0A=
    inspect: function(object) {=0A=
        try {=0A=
            if (Object.isUndefined(object)) return 'undefined';=0A=
            if (object =3D=3D=3D null) return 'null';=0A=
            return object.inspect ? object.inspect() : String(object);=0A=
        } catch (e) {=0A=
            if (e instanceof RangeError) return '...';=0A=
            throw e;=0A=
        }=0A=
    },=0A=
=0A=
    toJSON: function(object) {=0A=
        var type =3D typeof object;=0A=
        switch (type) {=0A=
            case 'undefined':=0A=
            case 'function':=0A=
            case 'unknown': return;=0A=
            case 'boolean': return object.toString();=0A=
        }=0A=
=0A=
        if (object =3D=3D=3D null) return 'null';=0A=
        if (object.toJSON) return object.toJSON();=0A=
        if (Object.isElement(object)) return;=0A=
=0A=
        var results =3D [];=0A=
        for (var property in object) {=0A=
            var value =3D Object.toJSON(object[property]);=0A=
            if (!Object.isUndefined(value))=0A=
                results.push(property.toJSON() + ': ' + value);=0A=
        }=0A=
=0A=
        return '{' + results.join(', ') + '}';=0A=
    },=0A=
=0A=
    toQueryString: function(object) {=0A=
        return $H(object).toQueryString();=0A=
    },=0A=
=0A=
    toHTML: function(object) {=0A=
        return object && object.toHTML ? object.toHTML() : =
String.interpret(object);=0A=
    },=0A=
=0A=
    keys: function(object) {=0A=
        var keys =3D [];=0A=
        for (var property in object)=0A=
            keys.push(property);=0A=
        return keys;=0A=
    },=0A=
=0A=
    values: function(object) {=0A=
        var values =3D [];=0A=
        for (var property in object)=0A=
            values.push(object[property]);=0A=
        return values;=0A=
    },=0A=
=0A=
    clone: function(object) {=0A=
        return Object.extend({ }, object);=0A=
    },=0A=
=0A=
    isElement: function(object) {=0A=
        return !!(object && object.nodeType =3D=3D 1);=0A=
    },=0A=
=0A=
    isArray: function(object) {=0A=
        return object !=3D null && typeof object =3D=3D "object" &&=0A=
               'splice' in object && 'join' in object;=0A=
    },=0A=
=0A=
    isHash: function(object) {=0A=
        return object instanceof Hash;=0A=
    },=0A=
=0A=
    isFunction: function(object) {=0A=
        return typeof object =3D=3D "function";=0A=
    },=0A=
=0A=
    isString: function(object) {=0A=
        return typeof object =3D=3D "string";=0A=
    },=0A=
=0A=
    isNumber: function(object) {=0A=
        return typeof object =3D=3D "number";=0A=
    },=0A=
=0A=
    isUndefined: function(object) {=0A=
        return typeof object =3D=3D "undefined";=0A=
    }=0A=
});=0A=
=0A=
Object.extend(Function.prototype, {=0A=
    argumentNames: function() {=0A=
        var names =3D =
this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]=0A=
                .replace(/\s+/g, '').split(',');=0A=
        return names.length =3D=3D 1 && !names[0] ? [] : names;=0A=
    },=0A=
=0A=
    bind: function() {=0A=
        if (arguments.length < 2 && Object.isUndefined(arguments[0])) =
return this;=0A=
        var __method =3D this, args =3D $A(arguments), object =3D =
args.shift();=0A=
        return function() {=0A=
            return __method.apply(object, args.concat($A(arguments)));=0A=
        }=0A=
    },=0A=
=0A=
    bindAsEventListener: function() {=0A=
        var __method =3D this, args =3D $A(arguments), object =3D =
args.shift();=0A=
        return function(event) {=0A=
            return __method.apply(object, [event || =
window.event].concat(args));=0A=
        }=0A=
    },=0A=
=0A=
    curry: function() {=0A=
        if (!arguments.length) return this;=0A=
        var __method =3D this, args =3D $A(arguments);=0A=
        return function() {=0A=
            return __method.apply(this, args.concat($A(arguments)));=0A=
        }=0A=
    },=0A=
=0A=
    delay: function() {=0A=
        var __method =3D this, args =3D $A(arguments), timeout =3D =
args.shift() * 1000;=0A=
        return window.setTimeout(function() {=0A=
            return __method.apply(__method, args);=0A=
        }, timeout);=0A=
    },=0A=
=0A=
    defer: function() {=0A=
        var args =3D [0.01].concat($A(arguments));=0A=
        return this.delay.apply(this, args);=0A=
    },=0A=
=0A=
    wrap: function(wrapper) {=0A=
        var __method =3D this;=0A=
        return function() {=0A=
            return wrapper.apply(this, =
[__method.bind(this)].concat($A(arguments)));=0A=
        }=0A=
    },=0A=
=0A=
    methodize: function() {=0A=
        if (this._methodized) return this._methodized;=0A=
        var __method =3D this;=0A=
        return this._methodized =3D function() {=0A=
            return __method.apply(null, [this].concat($A(arguments)));=0A=
        };=0A=
    }=0A=
});=0A=
=0A=
Date.prototype.toJSON =3D function() {=0A=
    return '"' + this.getUTCFullYear() + '-' +=0A=
           (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A=
           this.getUTCDate().toPaddedString(2) + 'T' +=0A=
           this.getUTCHours().toPaddedString(2) + ':' +=0A=
           this.getUTCMinutes().toPaddedString(2) + ':' +=0A=
           this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A=
};=0A=
=0A=
var Try =3D {=0A=
    these: function() {=0A=
        var returnValue;=0A=
=0A=
        for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
            var lambda =3D arguments[i];=0A=
            try {=0A=
                returnValue =3D lambda();=0A=
                break;=0A=
            } catch (e) {=0A=
            }=0A=
        }=0A=
=0A=
        return returnValue;=0A=
    }=0A=
};=0A=
=0A=
RegExp.prototype.match =3D RegExp.prototype.test;=0A=
=0A=
RegExp.escape =3D function(str) {=0A=
    return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var PeriodicalExecuter =3D Class.create({=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=
        this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
    },=0A=
=0A=
    execute: function() {=0A=
        this.callback(this);=0A=
    },=0A=
=0A=
    stop: function() {=0A=
        if (!this.timer) return;=0A=
        clearInterval(this.timer);=0A=
        this.timer =3D null;=0A=
    },=0A=
=0A=
    onTimerEvent: function() {=0A=
        if (!this.currentlyExecuting) {=0A=
            try {=0A=
                this.currentlyExecuting =3D true;=0A=
                this.execute();=0A=
            } finally {=0A=
                this.currentlyExecuting =3D false;=0A=
            }=0A=
        }=0A=
    }=0A=
});=0A=
Object.extend(String, {=0A=
    interpret: function(value) {=0A=
        return value =3D=3D null ? '' : String(value);=0A=
    },=0A=
    specialChar: {=0A=
        '\b': '\\b',=0A=
        '\t': '\\t',=0A=
        '\n': '\\n',=0A=
        '\f': '\\f',=0A=
        '\r': '\\r',=0A=
        '\\': '\\\\'=0A=
    }=0A=
});=0A=
=0A=
Object.extend(String.prototype, {=0A=
    gsub: function(pattern, replacement) {=0A=
        var result =3D '', source =3D this, match;=0A=
        replacement =3D arguments.callee.prepareReplacement(replacement);=0A=
=0A=
        while (source.length > 0) {=0A=
            if (match =3D source.match(pattern)) {=0A=
                result +=3D source.slice(0, match.index);=0A=
                result +=3D String.interpret(replacement(match));=0A=
                source =3D source.slice(match.index + match[0].length);=0A=
            } else {=0A=
                result +=3D source,source =3D '';=0A=
            }=0A=
        }=0A=
        return result;=0A=
    },=0A=
=0A=
    sub: function(pattern, replacement, count) {=0A=
        replacement =3D this.gsub.prepareReplacement(replacement);=0A=
        count =3D Object.isUndefined(count) ? 1 : count;=0A=
=0A=
        return this.gsub(pattern, function(match) {=0A=
            if (--count < 0) return match[0];=0A=
            return replacement(match);=0A=
        });=0A=
    },=0A=
=0A=
    scan: function(pattern, iterator) {=0A=
        this.gsub(pattern, iterator);=0A=
        return String(this);=0A=
    },=0A=
=0A=
    truncate: function(length, truncation) {=0A=
        length =3D length || 30;=0A=
        truncation =3D Object.isUndefined(truncation) ? '...' : =
truncation;=0A=
        return this.length > length ?=0A=
               this.slice(0, length - truncation.length) + truncation : =
String(this);=0A=
    },=0A=
=0A=
    strip: function() {=0A=
        return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
    },=0A=
=0A=
    stripTags: function() {=0A=
        return this.replace(/<\/?[^>]+>/gi, '');=0A=
    },=0A=
=0A=
    stripScripts: function() {=0A=
        return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), =
'');=0A=
    },=0A=
=0A=
    extractScripts: function() {=0A=
        var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
        var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
        return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
            return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
        });=0A=
    },=0A=
=0A=
    evalScripts: function() {=0A=
        return this.extractScripts().map(function(script) {=0A=
            return eval(script)=0A=
        });=0A=
    },=0A=
=0A=
    escapeHTML: function() {=0A=
        var self =3D arguments.callee;=0A=
        self.text.data =3D this;=0A=
        return self.div.innerHTML;=0A=
    },=0A=
=0A=
    unescapeHTML: function() {=0A=
        var div =3D new Element('div');=0A=
        div.innerHTML =3D this.stripTags();=0A=
        return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A=
                                    $A(div.childNodes).inject('', =
function(memo, node) {=0A=
                                        return memo + node.nodeValue=0A=
                                    }) :=0A=
                                    div.childNodes[0].nodeValue) : '';=0A=
    },=0A=
=0A=
    toQueryParams: function(separator) {=0A=
        var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
        if (!match) return { };=0A=
=0A=
        return match[1].split(separator || '&').inject({ }, =
function(hash, pair) {=0A=
            if ((pair =3D pair.split('=3D'))[0]) {=0A=
                var key =3D decodeURIComponent(pair.shift());=0A=
                var value =3D pair.length > 1 ? pair.join('=3D') : =
pair[0];=0A=
                if (value !=3D undefined) value =3D =
decodeURIComponent(value);=0A=
=0A=
                if (key in hash) {=0A=
                    if (!Object.isArray(hash[key])) hash[key] =3D =
[hash[key]];=0A=
                    hash[key].push(value);=0A=
                }=0A=
                else hash[key] =3D value;=0A=
            }=0A=
            return hash;=0A=
        });=0A=
    },=0A=
=0A=
    toArray: function() {=0A=
        return this.split('');=0A=
    },=0A=
=0A=
    succ: function() {=0A=
        return this.slice(0, this.length - 1) +=0A=
               String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
    },=0A=
=0A=
    times: function(count) {=0A=
        return count < 1 ? '' : new Array(count + 1).join(this);=0A=
    },=0A=
=0A=
    camelize: function() {=0A=
        var parts =3D this.split('-'), len =3D parts.length;=0A=
        if (len =3D=3D 1) return parts[0];=0A=
=0A=
        var camelized =3D this.charAt(0) =3D=3D '-'=0A=
                ? parts[0].charAt(0).toUpperCase() + =
parts[0].substring(1)=0A=
                : parts[0];=0A=
=0A=
        for (var i =3D 1; i < len; i++)=0A=
            camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
        return camelized;=0A=
    },=0A=
=0A=
    capitalize: function() {=0A=
        return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
    },=0A=
=0A=
    underscore: function() {=0A=
        return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/, =
'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/, '#{1}_#{2}').gsub(/-/, =
'_').toLowerCase();=0A=
    },=0A=
=0A=
    dasherize: function() {=0A=
        return this.gsub(/_/, '-');=0A=
    },=0A=
=0A=
    inspect: function(useDoubleQuotes) {=0A=
        var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) =
{=0A=
            var character =3D String.specialChar[match[0]];=0A=
            return character ? character : '\\u00' + =
match[0].charCodeAt().toPaddedString(2, 16);=0A=
        });=0A=
        if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, =
'\\"') + '"';=0A=
        return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
    },=0A=
=0A=
    toJSON: function() {=0A=
        return this.inspect(true);=0A=
    },=0A=
=0A=
    unfilterJSON: function(filter) {=0A=
        return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A=
    },=0A=
=0A=
    isJSON: function() {=0A=
        var str =3D this;=0A=
        if (str.blank()) return false;=0A=
        str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A=
        return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A=
    },=0A=
=0A=
    evalJSON: function(sanitize) {=0A=
        var json =3D this.unfilterJSON();=0A=
        try {=0A=
            if (!sanitize || json.isJSON()) return eval('(' + json + =
')');=0A=
        } catch (e) {=0A=
        }=0A=
        throw new SyntaxError('Badly formed JSON string: ' + =
this.inspect());=0A=
    },=0A=
=0A=
    include: function(pattern) {=0A=
        return this.indexOf(pattern) > -1;=0A=
    },=0A=
=0A=
    startsWith: function(pattern) {=0A=
        return this.indexOf(pattern) =3D=3D=3D 0;=0A=
    },=0A=
=0A=
    endsWith: function(pattern) {=0A=
        var d =3D this.length - pattern.length;=0A=
        return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A=
    },=0A=
=0A=
    empty: function() {=0A=
        return this =3D=3D '';=0A=
    },=0A=
=0A=
    blank: function() {=0A=
        return /^\s*$/.test(this);=0A=
    },=0A=
=0A=
    interpolate: function(object, pattern) {=0A=
        return new Template(this, pattern).evaluate(object);=0A=
    }=0A=
});=0A=
=0A=
if (Prototype.Browser.WebKit || Prototype.Browser.IE) =
Object.extend(String.prototype, {=0A=
    escapeHTML: function() {=0A=
        return this.replace(/&/g, '&amp;').replace(/</g, =
'&lt;').replace(/>/g, '&gt;');=0A=
    },=0A=
    unescapeHTML: function() {=0A=
        return this.stripTags().replace(/&amp;/g, '&').replace(/&lt;/g, =
'<').replace(/&gt;/g, '>');=0A=
    }=0A=
});=0A=
=0A=
String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A=
    if (Object.isFunction(replacement)) return replacement;=0A=
    var template =3D new Template(replacement);=0A=
    return function(match) {=0A=
        return template.evaluate(match)=0A=
    };=0A=
};=0A=
=0A=
String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A=
=0A=
Object.extend(String.prototype.escapeHTML, {=0A=
    div:  document.createElement('div'),=0A=
    text: document.createTextNode('')=0A=
});=0A=
=0A=
String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.t=
ext);=0A=
=0A=
var Template =3D Class.create({=0A=
    initialize: function(template, pattern) {=0A=
        this.template =3D template.toString();=0A=
        this.pattern =3D pattern || Template.Pattern;=0A=
    },=0A=
=0A=
    evaluate: function(object) {=0A=
        if (Object.isFunction(object.toTemplateReplacements))=0A=
            object =3D object.toTemplateReplacements();=0A=
=0A=
        return this.template.gsub(this.pattern, function(match) {=0A=
            if (object =3D=3D null) return '';=0A=
=0A=
            var before =3D match[1] || '';=0A=
            if (before =3D=3D '\\') return match[2];=0A=
=0A=
            var ctx =3D object, expr =3D match[3];=0A=
            var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A=
            match =3D pattern.exec(expr);=0A=
            if (match =3D=3D null) return before;=0A=
=0A=
            while (match !=3D null) {=0A=
                var comp =3D match[1].startsWith('[') ? =
match[2].gsub('\\\\]', ']') : match[1];=0A=
                ctx =3D ctx[comp];=0A=
                if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A=
                expr =3D expr.substring('[' =3D=3D match[3] ? =
match[1].length : match[0].length);=0A=
                match =3D pattern.exec(expr);=0A=
            }=0A=
=0A=
            return before + String.interpret(ctx);=0A=
        });=0A=
    }=0A=
});=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
=0A=
var $break =3D { };=0A=
=0A=
var Enumerable =3D {=0A=
    each: function(iterator, context) {=0A=
        var index =3D 0;=0A=
        try {=0A=
            this._each(function(value) {=0A=
                iterator.call(context, value, index++);=0A=
            });=0A=
        } catch (e) {=0A=
            if (e !=3D $break) throw e;=0A=
        }=0A=
        return this;=0A=
    },=0A=
=0A=
    eachSlice: function(number, iterator, context) {=0A=
        var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
        if (number < 1) return array;=0A=
        while ((index +=3D number) < array.length)=0A=
            slices.push(array.slice(index, index + number));=0A=
        return slices.collect(iterator, context);=0A=
    },=0A=
=0A=
    all: function(iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var result =3D true;=0A=
        this.each(function(value, index) {=0A=
            result =3D result && !!iterator.call(context, value, index);=0A=
            if (!result) throw $break;=0A=
        });=0A=
        return result;=0A=
    },=0A=
=0A=
    any: function(iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var result =3D false;=0A=
        this.each(function(value, index) {=0A=
            if (result =3D !!iterator.call(context, value, index))=0A=
                throw $break;=0A=
        });=0A=
        return result;=0A=
    },=0A=
=0A=
    collect: function(iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var results =3D [];=0A=
        this.each(function(value, index) {=0A=
            results.push(iterator.call(context, value, index));=0A=
        });=0A=
        return results;=0A=
    },=0A=
=0A=
    detect: function(iterator, context) {=0A=
        var result;=0A=
        this.each(function(value, index) {=0A=
            if (iterator.call(context, value, index)) {=0A=
                result =3D value;=0A=
                throw $break;=0A=
            }=0A=
        });=0A=
        return result;=0A=
    },=0A=
=0A=
    findAll: function(iterator, context) {=0A=
        var results =3D [];=0A=
        this.each(function(value, index) {=0A=
            if (iterator.call(context, value, index))=0A=
                results.push(value);=0A=
        });=0A=
        return results;=0A=
    },=0A=
=0A=
    grep: function(filter, iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var results =3D [];=0A=
=0A=
        if (Object.isString(filter))=0A=
            filter =3D new RegExp(filter);=0A=
=0A=
        this.each(function(value, index) {=0A=
            if (filter.match(value))=0A=
                results.push(iterator.call(context, value, index));=0A=
        });=0A=
        return results;=0A=
    },=0A=
=0A=
    include: function(object) {=0A=
        if (Object.isFunction(this.indexOf))=0A=
            if (this.indexOf(object) !=3D -1) return true;=0A=
=0A=
        var found =3D false;=0A=
        this.each(function(value) {=0A=
            if (value =3D=3D object) {=0A=
                found =3D true;=0A=
                throw $break;=0A=
            }=0A=
        });=0A=
        return found;=0A=
    },=0A=
=0A=
    inGroupsOf: function(number, fillWith) {=0A=
        fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A=
        return this.eachSlice(number, function(slice) {=0A=
            while (slice.length < number) slice.push(fillWith);=0A=
            return slice;=0A=
        });=0A=
    },=0A=
=0A=
    inject: function(memo, iterator, context) {=0A=
        this.each(function(value, index) {=0A=
            memo =3D iterator.call(context, memo, value, index);=0A=
        });=0A=
        return memo;=0A=
    },=0A=
=0A=
    invoke: function(method) {=0A=
        var args =3D $A(arguments).slice(1);=0A=
        return this.map(function(value) {=0A=
            return value[method].apply(value, args);=0A=
        });=0A=
    },=0A=
=0A=
    max: function(iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var result;=0A=
        this.each(function(value, index) {=0A=
            value =3D iterator.call(context, value, index);=0A=
            if (result =3D=3D null || value >=3D result)=0A=
                result =3D value;=0A=
        });=0A=
        return result;=0A=
    },=0A=
=0A=
    min: function(iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var result;=0A=
        this.each(function(value, index) {=0A=
            value =3D iterator.call(context, value, index);=0A=
            if (result =3D=3D null || value < result)=0A=
                result =3D value;=0A=
        });=0A=
        return result;=0A=
    },=0A=
=0A=
    partition: function(iterator, context) {=0A=
        iterator =3D iterator || Prototype.K;=0A=
        var trues =3D [], falses =3D [];=0A=
        this.each(function(value, index) {=0A=
            (iterator.call(context, value, index) ?=0A=
             trues : falses).push(value);=0A=
        });=0A=
        return [trues, falses];=0A=
    },=0A=
=0A=
    pluck: function(property) {=0A=
        var results =3D [];=0A=
        this.each(function(value) {=0A=
            results.push(value[property]);=0A=
        });=0A=
        return results;=0A=
    },=0A=
=0A=
    reject: function(iterator, context) {=0A=
        var results =3D [];=0A=
        this.each(function(value, index) {=0A=
            if (!iterator.call(context, value, index))=0A=
                results.push(value);=0A=
        });=0A=
        return results;=0A=
    },=0A=
=0A=
    sortBy: function(iterator, context) {=0A=
        return this.map(function(value, index) {=0A=
            return {=0A=
                value: value,=0A=
                criteria: iterator.call(context, value, index)=0A=
            };=0A=
        }).sort(function(left, right) {=0A=
            var a =3D left.criteria, b =3D right.criteria;=0A=
            return a < b ? -1 : a > b ? 1 : 0;=0A=
        }).pluck('value');=0A=
    },=0A=
=0A=
    toArray: function() {=0A=
        return this.map();=0A=
    },=0A=
=0A=
    zip: function() {=0A=
        var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
        if (Object.isFunction(args.last()))=0A=
            iterator =3D args.pop();=0A=
=0A=
        var collections =3D [this].concat(args).map($A);=0A=
        return this.map(function(value, index) {=0A=
            return iterator(collections.pluck(index));=0A=
        });=0A=
    },=0A=
=0A=
    size: function() {=0A=
        return this.toArray().length;=0A=
    },=0A=
=0A=
    inspect: function() {=0A=
        return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
    }=0A=
};=0A=
=0A=
Object.extend(Enumerable, {=0A=
    map:     Enumerable.collect,=0A=
    find:    Enumerable.detect,=0A=
    select:  Enumerable.findAll,=0A=
    filter:  Enumerable.findAll,=0A=
    member:  Enumerable.include,=0A=
    entries: Enumerable.toArray,=0A=
    every:   Enumerable.all,=0A=
    some:    Enumerable.any=0A=
});=0A=
function $A(iterable) {=0A=
    if (!iterable) return [];=0A=
    if (iterable.toArray) return iterable.toArray();=0A=
    var length =3D iterable.length || 0, results =3D new Array(length);=0A=
    while (length--) results[length] =3D iterable[length];=0A=
    return results;=0A=
}=0A=
=0A=
if (Prototype.Browser.WebKit) {=0A=
    $A =3D function(iterable) {=0A=
        if (!iterable) return [];=0A=
        // In Safari, only use the `toArray` method if it's not a =
NodeList.=0A=
        // A NodeList is a function, has an function `item` property, =
and a numeric=0A=
        // `length` property. Adapted from Google Doctype.=0A=
        if (!(typeof iterable =3D=3D=3D 'function' && typeof =
iterable.length =3D=3D=3D=0A=
                                                'number' && typeof =
iterable.item =3D=3D=3D 'function') && iterable.toArray)=0A=
            return iterable.toArray();=0A=
        var length =3D iterable.length || 0, results =3D new =
Array(length);=0A=
        while (length--) results[length] =3D iterable[length];=0A=
        return results;=0A=
    };=0A=
}=0A=
=0A=
Array.from =3D $A;=0A=
=0A=
Object.extend(Array.prototype, Enumerable);=0A=
=0A=
if (!Array.prototype._reverse) Array.prototype._reverse =3D =
Array.prototype.reverse;=0A=
=0A=
Object.extend(Array.prototype, {=0A=
    _each: function(iterator) {=0A=
        for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
            iterator(this[i]);=0A=
    },=0A=
=0A=
    clear: function() {=0A=
        this.length =3D 0;=0A=
        return this;=0A=
    },=0A=
=0A=
    first: function() {=0A=
        return this[0];=0A=
    },=0A=
=0A=
    last: function() {=0A=
        return this[this.length - 1];=0A=
    },=0A=
=0A=
    compact: function() {=0A=
        return this.select(function(value) {=0A=
            return value !=3D null;=0A=
        });=0A=
    },=0A=
=0A=
    flatten: function() {=0A=
        return this.inject([], function(array, value) {=0A=
            return array.concat(Object.isArray(value) ?=0A=
                                value.flatten() : [value]);=0A=
        });=0A=
    },=0A=
=0A=
    without: function() {=0A=
        var values =3D $A(arguments);=0A=
        return this.select(function(value) {=0A=
            return !values.include(value);=0A=
        });=0A=
    },=0A=
=0A=
    reverse: function(inline) {=0A=
        return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
    },=0A=
=0A=
    reduce: function() {=0A=
        return this.length > 1 ? this : this[0];=0A=
    },=0A=
=0A=
    uniq: function(sorted) {=0A=
        return this.inject([], function(array, value, index) {=0A=
            if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
                array.push(value);=0A=
            return array;=0A=
        });=0A=
    },=0A=
=0A=
    intersect: function(array) {=0A=
        return this.uniq().findAll(function(item) {=0A=
            return array.detect(function(value) {=0A=
                return item =3D=3D=3D value=0A=
            });=0A=
        });=0A=
    },=0A=
=0A=
    clone: function() {=0A=
        return [].concat(this);=0A=
    },=0A=
=0A=
    size: function() {=0A=
        return this.length;=0A=
    },=0A=
=0A=
    inspect: function() {=0A=
        return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
    },=0A=
=0A=
    toJSON: function() {=0A=
        var results =3D [];=0A=
        this.each(function(object) {=0A=
            var value =3D Object.toJSON(object);=0A=
            if (!Object.isUndefined(value)) results.push(value);=0A=
        });=0A=
        return '[' + results.join(', ') + ']';=0A=
    }=0A=
});=0A=
=0A=
// use native browser JS 1.6 implementation if available=0A=
if (Object.isFunction(Array.prototype.forEach))=0A=
    Array.prototype._each =3D Array.prototype.forEach;=0A=
=0A=
if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, =
i) {=0A=
    i || (i =3D 0);=0A=
    var length =3D this.length;=0A=
    if (i < 0) i =3D length + i;=0A=
    for (; i < length; i++)=0A=
        if (this[i] =3D=3D=3D item) return i;=0A=
    return -1;=0A=
};=0A=
=0A=
if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D =
function(item, i) {=0A=
    i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A=
    var n =3D this.slice(0, i).reverse().indexOf(item);=0A=
    return (n < 0) ? n : i - n - 1;=0A=
};=0A=
=0A=
Array.prototype.toArray =3D Array.prototype.clone;=0A=
=0A=
function $w(string) {=0A=
    if (!Object.isString(string)) return [];=0A=
    string =3D string.strip();=0A=
    return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
    Array.prototype.concat =3D function() {=0A=
        var array =3D [];=0A=
        for (var i =3D 0, length =3D this.length; i < length; i++) =
array.push(this[i]);=0A=
        for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
            if (Object.isArray(arguments[i])) {=0A=
                for (var j =3D 0, arrayLength =3D arguments[i].length; j =
< arrayLength; j++)=0A=
                    array.push(arguments[i][j]);=0A=
            } else {=0A=
                array.push(arguments[i]);=0A=
            }=0A=
        }=0A=
        return array;=0A=
    };=0A=
}=0A=
Object.extend(Number.prototype, {=0A=
    toColorPart: function() {=0A=
        return this.toPaddedString(2, 16);=0A=
    },=0A=
=0A=
    succ: function() {=0A=
        return this + 1;=0A=
    },=0A=
=0A=
    times: function(iterator, context) {=0A=
        $R(0, this, true).each(iterator, context);=0A=
        return this;=0A=
    },=0A=
=0A=
    toPaddedString: function(length, radix) {=0A=
        var string =3D this.toString(radix || 10);=0A=
        return '0'.times(length - string.length) + string;=0A=
    },=0A=
=0A=
    toJSON: function() {=0A=
        return isFinite(this) ? this.toString() : 'null';=0A=
    }=0A=
});=0A=
=0A=
$w('abs round ceil floor').each(function(method) {=0A=
    Number.prototype[method] =3D Math[method].methodize();=0A=
});=0A=
function $H(object) {=0A=
    return new Hash(object);=0A=
}=0A=
;=0A=
=0A=
var Hash =3D Class.create(Enumerable, (function() {=0A=
=0A=
    function toQueryPair(key, value) {=0A=
        if (Object.isUndefined(value)) return key;=0A=
        return key + '=3D' + encodeURIComponent(String.interpret(value));=0A=
    }=0A=
=0A=
    return {=0A=
        initialize: function(object) {=0A=
            this._object =3D Object.isHash(object) ? object.toObject() : =
Object.clone(object);=0A=
        },=0A=
=0A=
        _each: function(iterator) {=0A=
            for (var key in this._object) {=0A=
                var value =3D this._object[key], pair =3D [key, value];=0A=
                pair.key =3D key;=0A=
                pair.value =3D value;=0A=
                iterator(pair);=0A=
            }=0A=
        },=0A=
=0A=
        set: function(key, value) {=0A=
            return this._object[key] =3D value;=0A=
        },=0A=
=0A=
        get: function(key) {=0A=
            // simulating poorly supported hasOwnProperty=0A=
            if (this._object[key] !=3D=3D Object.prototype[key])=0A=
                return this._object[key];=0A=
        },=0A=
=0A=
        unset: function(key) {=0A=
            var value =3D this._object[key];=0A=
            delete this._object[key];=0A=
            return value;=0A=
        },=0A=
=0A=
        toObject: function() {=0A=
            return Object.clone(this._object);=0A=
        },=0A=
=0A=
        keys: function() {=0A=
            return this.pluck('key');=0A=
        },=0A=
=0A=
        values: function() {=0A=
            return this.pluck('value');=0A=
        },=0A=
=0A=
        index: function(value) {=0A=
            var match =3D this.detect(function(pair) {=0A=
                return pair.value =3D=3D=3D value;=0A=
            });=0A=
            return match && match.key;=0A=
        },=0A=
=0A=
        merge: function(object) {=0A=
            return this.clone().update(object);=0A=
        },=0A=
=0A=
        update: function(object) {=0A=
            return new Hash(object).inject(this, function(result, pair) {=0A=
                result.set(pair.key, pair.value);=0A=
                return result;=0A=
            });=0A=
        },=0A=
=0A=
        toQueryString: function() {=0A=
            return this.inject([], function(results, pair) {=0A=
                var key =3D encodeURIComponent(pair.key), values =3D =
pair.value;=0A=
=0A=
                if (values && typeof values =3D=3D 'object') {=0A=
                    if (Object.isArray(values))=0A=
                        return =
results.concat(values.map(toQueryPair.curry(key)));=0A=
                } else results.push(toQueryPair(key, values));=0A=
                return results;=0A=
            }).join('&');=0A=
        },=0A=
=0A=
        inspect: function() {=0A=
            return '#<Hash:{' + this.map(function(pair) {=0A=
                return pair.map(Object.inspect).join(': ');=0A=
            }).join(', ') + '}>';=0A=
        },=0A=
=0A=
        toJSON: function() {=0A=
            return Object.toJSON(this.toObject());=0A=
        },=0A=
=0A=
        clone: function() {=0A=
            return new Hash(this);=0A=
        }=0A=
    }=0A=
})());=0A=
=0A=
Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject;=0A=
Hash.from =3D $H;=0A=
var ObjectRange =3D Class.create(Enumerable, {=0A=
    initialize: function(start, end, exclusive) {=0A=
        this.start =3D start;=0A=
        this.end =3D end;=0A=
        this.exclusive =3D exclusive;=0A=
    },=0A=
=0A=
    _each: function(iterator) {=0A=
        var value =3D this.start;=0A=
        while (this.include(value)) {=0A=
            iterator(value);=0A=
            value =3D value.succ();=0A=
        }=0A=
    },=0A=
=0A=
    include: function(value) {=0A=
        if (value < this.start)=0A=
            return false;=0A=
        if (this.exclusive)=0A=
            return value < this.end;=0A=
        return value <=3D this.end;=0A=
    }=0A=
});=0A=
=0A=
var $R =3D function(start, end, exclusive) {=0A=
    return new ObjectRange(start, end, exclusive);=0A=
};=0A=
=0A=
var Ajax =3D {=0A=
    getTransport: function() {=0A=
        return Try.these(=0A=
                function() {=0A=
                    return new XMLHttpRequest()=0A=
                },=0A=
                function() {=0A=
                    return new ActiveXObject('Msxml2.XMLHTTP')=0A=
                },=0A=
                function() {=0A=
                    return new ActiveXObject('Microsoft.XMLHTTP')=0A=
                }=0A=
                ) || false;=0A=
    },=0A=
=0A=
    activeRequestCount: 0=0A=
};=0A=
=0A=
Ajax.Responders =3D {=0A=
    responders: [],=0A=
=0A=
    _each: function(iterator) {=0A=
        this.responders._each(iterator);=0A=
    },=0A=
=0A=
    register: function(responder) {=0A=
        if (!this.include(responder))=0A=
            this.responders.push(responder);=0A=
    },=0A=
=0A=
    unregister: function(responder) {=0A=
        this.responders =3D this.responders.without(responder);=0A=
    },=0A=
=0A=
    dispatch: function(callback, request, transport, json) {=0A=
        this.each(function(responder) {=0A=
            if (Object.isFunction(responder[callback])) {=0A=
                try {=0A=
                    responder[callback].apply(responder, [request, =
transport, json]);=0A=
                } catch (e) {=0A=
                }=0A=
            }=0A=
        });=0A=
    }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
    onCreate:   function() {=0A=
        Ajax.activeRequestCount++=0A=
    },=0A=
    onComplete: function() {=0A=
        Ajax.activeRequestCount--=0A=
    }=0A=
});=0A=
=0A=
Ajax.Base =3D Class.create({=0A=
    initialize: function(options) {=0A=
        this.options =3D {=0A=
            method:       'post',=0A=
            asynchronous: true,=0A=
            contentType:  'application/x-www-form-urlencoded',=0A=
            encoding:     'UTF-8',=0A=
            parameters:   '',=0A=
            evalJSON:     true,=0A=
            evalJS:       true=0A=
        };=0A=
        Object.extend(this.options, options || { });=0A=
=0A=
        this.options.method =3D this.options.method.toLowerCase();=0A=
=0A=
        if (Object.isString(this.options.parameters))=0A=
            this.options.parameters =3D =
this.options.parameters.toQueryParams();=0A=
        else if (Object.isHash(this.options.parameters))=0A=
            this.options.parameters =3D =
this.options.parameters.toObject();=0A=
    }=0A=
});=0A=
=0A=
Ajax.Request =3D Class.create(Ajax.Base, {=0A=
    _complete: false,=0A=
=0A=
    initialize: function($super, url, options) {=0A=
        $super(options);=0A=
        this.transport =3D Ajax.getTransport();=0A=
        this.request(url);=0A=
    },=0A=
=0A=
    request: function(url) {=0A=
        this.url =3D url;=0A=
        this.method =3D this.options.method;=0A=
        var params =3D Object.clone(this.options.parameters);=0A=
=0A=
        if (!['get', 'post'].include(this.method)) {=0A=
            // simulate other verbs over post=0A=
            params['_method'] =3D this.method;=0A=
            this.method =3D 'post';=0A=
        }=0A=
=0A=
        this.parameters =3D params;=0A=
=0A=
        if (params =3D Object.toQueryString(params)) {=0A=
            // when GET, append parameters to URL=0A=
            if (this.method =3D=3D 'get')=0A=
                this.url +=3D (this.url.include('?') ? '&' : '?') + =
params;=0A=
            else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
                params +=3D '&_=3D';=0A=
        }=0A=
=0A=
        try {=0A=
            var response =3D new Ajax.Response(this);=0A=
            if (this.options.onCreate) this.options.onCreate(response);=0A=
            Ajax.Responders.dispatch('onCreate', this, response);=0A=
=0A=
            this.transport.open(this.method.toUpperCase(), this.url,=0A=
                    this.options.asynchronous);=0A=
=0A=
            if (this.options.asynchronous) =
this.respondToReadyState.bind(this).defer(1);=0A=
=0A=
            this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
            this.setRequestHeaders();=0A=
=0A=
            this.body =3D this.method =3D=3D 'post' ? =
(this.options.postBody || params) : null;=0A=
            this.transport.send(this.body);=0A=
=0A=
            /* Force Firefox to handle ready state 4 for synchronous =
requests */=0A=
            if (!this.options.asynchronous && =
this.transport.overrideMimeType)=0A=
                this.onStateChange();=0A=
=0A=
        }=0A=
        catch (e) {=0A=
            this.dispatchException(e);=0A=
        }=0A=
    },=0A=
=0A=
    onStateChange: function() {=0A=
        var readyState =3D this.transport.readyState;=0A=
        if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
            this.respondToReadyState(this.transport.readyState);=0A=
    },=0A=
=0A=
    setRequestHeaders: function() {=0A=
        var headers =3D {=0A=
            'X-Requested-With': 'XMLHttpRequest',=0A=
            'X-Prototype-Version': Prototype.Version,=0A=
            'Accept': 'text/javascript, text/html, application/xml, =
text/xml, */*'=0A=
        };=0A=
=0A=
        if (this.method =3D=3D 'post') {=0A=
            headers['Content-type'] =3D this.options.contentType +=0A=
                                      (this.options.encoding ? '; =
charset=3D' + this.options.encoding : '');=0A=
=0A=
            /* Force "Connection: close" for older Mozilla browsers to =
work=0A=
             * around a bug where XMLHttpRequest sends an incorrect=0A=
             * Content-length header. See Mozilla Bugzilla #246651.=0A=
             */=0A=
            if (this.transport.overrideMimeType &&=0A=
                (navigator.userAgent.match(/Gecko\/(\d{4})/) || =
[0,2005])[1] < 2005)=0A=
                headers['Connection'] =3D 'close';=0A=
        }=0A=
=0A=
        // user-defined headers=0A=
        if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
            var extras =3D this.options.requestHeaders;=0A=
=0A=
            if (Object.isFunction(extras.push))=0A=
                for (var i =3D 0, length =3D extras.length; i < length; =
i +=3D 2)=0A=
                    headers[extras[i]] =3D extras[i + 1];=0A=
            else=0A=
                $H(extras).each(function(pair) {=0A=
                    headers[pair.key] =3D pair.value=0A=
                });=0A=
        }=0A=
=0A=
        for (var name in headers)=0A=
            this.transport.setRequestHeader(name, headers[name]);=0A=
    },=0A=
=0A=
    success: function() {=0A=
        var status =3D this.getStatus();=0A=
        return !status || (status >=3D 200 && status < 300);=0A=
    },=0A=
=0A=
    getStatus: function() {=0A=
        try {=0A=
            return this.transport.status || 0;=0A=
        } catch (e) {=0A=
            return 0=0A=
        }=0A=
    },=0A=
=0A=
    respondToReadyState: function(readyState) {=0A=
        var state =3D Ajax.Request.Events[readyState], response =3D new =
Ajax.Response(this);=0A=
=0A=
        if (state =3D=3D 'Complete') {=0A=
            try {=0A=
                this._complete =3D true;=0A=
                (this.options['on' + response.status]=0A=
                        || this.options['on' + (this.success() ? =
'Success' : 'Failure')]=0A=
                        || Prototype.emptyFunction)(response, =
response.headerJSON);=0A=
            } catch (e) {=0A=
                this.dispatchException(e);=0A=
            }=0A=
=0A=
            var contentType =3D response.getHeader('Content-type');=0A=
            if (this.options.evalJS =3D=3D 'force'=0A=
                    || (this.options.evalJS && this.isSameOrigin() && =
contentType=0A=
                    && =
contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s=
*$/i)))=0A=
                this.evalResponse();=0A=
        }=0A=
=0A=
        try {=0A=
            (this.options['on' + state] || =
Prototype.emptyFunction)(response, response.headerJSON);=0A=
            Ajax.Responders.dispatch('on' + state, this, response, =
response.headerJSON);=0A=
        } catch (e) {=0A=
            this.dispatchException(e);=0A=
        }=0A=
=0A=
        if (state =3D=3D 'Complete') {=0A=
            // avoid memory leak in MSIE: clean up=0A=
            this.transport.onreadystatechange =3D =
Prototype.emptyFunction;=0A=
        }=0A=
    },=0A=
=0A=
    isSameOrigin: function() {=0A=
        var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A=
        return !m || (m[0] =3D=3D =
'#{protocol}//#{domain}#{port}'.interpolate({=0A=
            protocol: location.protocol,=0A=
            domain: document.domain,=0A=
            port: location.port ? ':' + location.port : ''=0A=
        }));=0A=
    },=0A=
=0A=
    getHeader: function(name) {=0A=
        try {=0A=
            return this.transport.getResponseHeader(name) || null;=0A=
        } catch (e) {=0A=
            return null=0A=
        }=0A=
    },=0A=
=0A=
    evalResponse: function() {=0A=
        try {=0A=
            return eval((this.transport.responseText || =
'').unfilterJSON());=0A=
        } catch (e) {=0A=
            this.dispatchException(e);=0A=
        }=0A=
    },=0A=
=0A=
    dispatchException: function(exception) {=0A=
        (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
        Ajax.Responders.dispatch('onException', this, exception);=0A=
    }=0A=
});=0A=
=0A=
Ajax.Request.Events =3D=0A=
['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
Ajax.Response =3D Class.create({=0A=
    initialize: function(request) {=0A=
        this.request =3D request;=0A=
        var transport =3D this.transport =3D request.transport,=0A=
                readyState =3D this.readyState =3D transport.readyState;=0A=
=0A=
        if ((readyState > 2 && !Prototype.Browser.IE) || readyState =
=3D=3D 4) {=0A=
            this.status =3D this.getStatus();=0A=
            this.statusText =3D this.getStatusText();=0A=
            this.responseText =3D =
String.interpret(transport.responseText);=0A=
            this.headerJSON =3D this._getHeaderJSON();=0A=
        }=0A=
=0A=
        if (readyState =3D=3D 4) {=0A=
            var xml =3D transport.responseXML;=0A=
            this.responseXML =3D Object.isUndefined(xml) ? null : xml;=0A=
            this.responseJSON =3D this._getResponseJSON();=0A=
        }=0A=
    },=0A=
=0A=
    status:      0,=0A=
    statusText: '',=0A=
=0A=
    getStatus: Ajax.Request.prototype.getStatus,=0A=
=0A=
    getStatusText: function() {=0A=
        try {=0A=
            return this.transport.statusText || '';=0A=
        } catch (e) {=0A=
            return ''=0A=
        }=0A=
    },=0A=
=0A=
    getHeader: Ajax.Request.prototype.getHeader,=0A=
=0A=
    getAllHeaders: function() {=0A=
        try {=0A=
            return this.getAllResponseHeaders();=0A=
        } catch (e) {=0A=
            return null=0A=
        }=0A=
    },=0A=
=0A=
    getResponseHeader: function(name) {=0A=
        return this.transport.getResponseHeader(name);=0A=
    },=0A=
=0A=
    getAllResponseHeaders: function() {=0A=
        return this.transport.getAllResponseHeaders();=0A=
    },=0A=
=0A=
    _getHeaderJSON: function() {=0A=
        var json =3D this.getHeader('X-JSON');=0A=
        if (!json) return null;=0A=
        json =3D decodeURIComponent(escape(json));=0A=
        try {=0A=
            return json.evalJSON(this.request.options.sanitizeJSON ||=0A=
                                 !this.request.isSameOrigin());=0A=
        } catch (e) {=0A=
            this.request.dispatchException(e);=0A=
        }=0A=
    },=0A=
=0A=
    _getResponseJSON: function() {=0A=
        var options =3D this.request.options;=0A=
        if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A=
                                  !(this.getHeader('Content-type') || =
'').include('application/json')) ||=0A=
            this.responseText.blank())=0A=
            return null;=0A=
        try {=0A=
            return this.responseText.evalJSON(options.sanitizeJSON ||=0A=
                                              =
!this.request.isSameOrigin());=0A=
        } catch (e) {=0A=
            this.request.dispatchException(e);=0A=
        }=0A=
    }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create(Ajax.Request, {=0A=
    initialize: function($super, container, url, options) {=0A=
        this.container =3D {=0A=
            success: (container.success || container),=0A=
            failure: (container.failure || (container.success ? null : =
container))=0A=
        };=0A=
=0A=
        options =3D Object.clone(options);=0A=
        var onComplete =3D options.onComplete;=0A=
        options.onComplete =3D (function(response, json) {=0A=
            this.updateContent(response.responseText);=0A=
            if (Object.isFunction(onComplete)) onComplete(response, =
json);=0A=
        }).bind(this);=0A=
=0A=
        $super(url, options);=0A=
    },=0A=
=0A=
    updateContent: function(responseText) {=0A=
        var receiver =3D this.container[this.success() ? 'success' : =
'failure'],=0A=
                options =3D this.options;=0A=
=0A=
        if (!options.evalScripts) responseText =3D =
responseText.stripScripts();=0A=
=0A=
        if (receiver =3D $(receiver)) {=0A=
            if (options.insertion) {=0A=
                if (Object.isString(options.insertion)) {=0A=
                    var insertion =3D { };=0A=
                    insertion[options.insertion] =3D responseText;=0A=
                    receiver.insert(insertion);=0A=
                }=0A=
                else options.insertion(receiver, responseText);=0A=
            }=0A=
            else receiver.update(responseText);=0A=
        }=0A=
    }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A=
    initialize: function($super, container, url, options) {=0A=
        $super(options);=0A=
        this.onComplete =3D this.options.onComplete;=0A=
=0A=
        this.frequency =3D (this.options.frequency || 2);=0A=
        this.decay =3D (this.options.decay || 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.options.onComplete =3D undefined;=0A=
        clearTimeout(this.timer);=0A=
        (this.onComplete || Prototype.emptyFunction).apply(this, =
arguments);=0A=
    },=0A=
=0A=
    updateComplete: function(response) {=0A=
        if (this.options.decay) {=0A=
            this.decay =3D (response.responseText =3D=3D this.lastText ?=0A=
                          this.decay * this.options.decay : 1);=0A=
=0A=
            this.lastText =3D response.responseText;=0A=
        }=0A=
        this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * =
this.frequency);=0A=
    },=0A=
=0A=
    onTimerEvent: function() {=0A=
        this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
    }=0A=
});=0A=
function $(element) {=0A=
    if (arguments.length > 1) {=0A=
        for (var i =3D 0, elements =3D [], length =3D arguments.length; =
i < length; i++)=0A=
            elements.push($(arguments[i]));=0A=
        return elements;=0A=
    }=0A=
    if (Object.isString(element))=0A=
        element =3D document.getElementById(element);=0A=
    return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
    document._getElementsByXPath =3D function(expression, parentElement) =
{=0A=
        var results =3D [];=0A=
        var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
                null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
        for (var i =3D 0, length =3D query.snapshotLength; i < length; =
i++)=0A=
            results.push(Element.extend(query.snapshotItem(i)));=0A=
        return results;=0A=
    };=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Node) var Node =3D { };=0A=
=0A=
if (!Node.ELEMENT_NODE) {=0A=
    // DOM level 2 ECMAScript Language Binding=0A=
    Object.extend(Node, {=0A=
        ELEMENT_NODE: 1,=0A=
        ATTRIBUTE_NODE: 2,=0A=
        TEXT_NODE: 3,=0A=
        CDATA_SECTION_NODE: 4,=0A=
        ENTITY_REFERENCE_NODE: 5,=0A=
        ENTITY_NODE: 6,=0A=
        PROCESSING_INSTRUCTION_NODE: 7,=0A=
        COMMENT_NODE: 8,=0A=
        DOCUMENT_NODE: 9,=0A=
        DOCUMENT_TYPE_NODE: 10,=0A=
        DOCUMENT_FRAGMENT_NODE: 11,=0A=
        NOTATION_NODE: 12=0A=
    });=0A=
}=0A=
=0A=
(function() {=0A=
    var element =3D this.Element;=0A=
    this.Element =3D function(tagName, attributes) {=0A=
        attributes =3D attributes || { };=0A=
        tagName =3D tagName.toLowerCase();=0A=
        var cache =3D Element.cache;=0A=
        if (Prototype.Browser.IE && attributes.name) {=0A=
            tagName =3D '<' + tagName + ' name=3D"' + attributes.name + =
'">';=0A=
            delete attributes.name;=0A=
            return =
Element.writeAttribute(document.createElement(tagName), attributes);=0A=
        }=0A=
        if (!cache[tagName]) cache[tagName] =3D =
Element.extend(document.createElement(tagName));=0A=
        return Element.writeAttribute(cache[tagName].cloneNode(false), =
attributes);=0A=
    };=0A=
    Object.extend(this.Element, element || { });=0A=
    if (element) this.Element.prototype =3D element.prototype;=0A=
}).call(window);=0A=
=0A=
Element.cache =3D { };=0A=
=0A=
Element.Methods =3D {=0A=
    visible: function(element) {=0A=
        return $(element).style.display !=3D 'none';=0A=
    },=0A=
=0A=
    toggle: function(element) {=0A=
        element =3D $(element);=0A=
        Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
        return element;=0A=
    },=0A=
=0A=
    hide: function(element) {=0A=
        element =3D $(element);=0A=
        element.style.display =3D 'none';=0A=
        return element;=0A=
    },=0A=
=0A=
    show: function(element) {=0A=
        element =3D $(element);=0A=
        element.style.display =3D '';=0A=
        return element;=0A=
    },=0A=
=0A=
    remove: function(element) {=0A=
        element =3D $(element);=0A=
        element.parentNode.removeChild(element);=0A=
        return element;=0A=
    },=0A=
=0A=
    update: function(element, content) {=0A=
        element =3D $(element);=0A=
        if (content && content.toElement) content =3D =
content.toElement();=0A=
        if (Object.isElement(content)) return =
element.update().insert(content);=0A=
        content =3D Object.toHTML(content);=0A=
        element.innerHTML =3D content.stripScripts();=0A=
        content.evalScripts.bind(content).defer();=0A=
        return element;=0A=
    },=0A=
=0A=
    replace: function(element, content) {=0A=
        element =3D $(element);=0A=
        if (content && content.toElement) content =3D =
content.toElement();=0A=
        else if (!Object.isElement(content)) {=0A=
            content =3D Object.toHTML(content);=0A=
            var range =3D element.ownerDocument.createRange();=0A=
            range.selectNode(element);=0A=
            content.evalScripts.bind(content).defer();=0A=
            content =3D =
range.createContextualFragment(content.stripScripts());=0A=
        }=0A=
        element.parentNode.replaceChild(content, element);=0A=
        return element;=0A=
    },=0A=
=0A=
    insert: function(element, insertions) {=0A=
        element =3D $(element);=0A=
=0A=
        if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A=
            Object.isElement(insertions) || (insertions && =
(insertions.toElement || insertions.toHTML)))=0A=
            insertions =3D {bottom:insertions};=0A=
=0A=
        var content, insert, tagName, childNodes;=0A=
=0A=
        for (var position in insertions) {=0A=
            content =3D insertions[position];=0A=
            position =3D position.toLowerCase();=0A=
            insert =3D Element._insertionTranslations[position];=0A=
=0A=
            if (content && content.toElement) content =3D =
content.toElement();=0A=
            if (Object.isElement(content)) {=0A=
                insert(element, content);=0A=
                continue;=0A=
            }=0A=
=0A=
            content =3D Object.toHTML(content);=0A=
=0A=
            tagName =3D ((position =3D=3D 'before' || position =3D=3D =
'after')=0A=
                    ? element.parentNode : =
element).tagName.toUpperCase();=0A=
=0A=
            childNodes =3D =
Element._getContentFromAnonymousElement(tagName, content.stripScripts());=0A=
=0A=
            if (position =3D=3D 'top' || position =3D=3D 'after') =
childNodes.reverse();=0A=
            childNodes.each(insert.curry(element));=0A=
=0A=
            content.evalScripts.bind(content).defer();=0A=
        }=0A=
=0A=
        return element;=0A=
    },=0A=
=0A=
    wrap: function(element, wrapper, attributes) {=0A=
        element =3D $(element);=0A=
        if (Object.isElement(wrapper))=0A=
            $(wrapper).writeAttribute(attributes || { });=0A=
        else if (Object.isString(wrapper)) wrapper =3D new =
Element(wrapper, attributes);=0A=
        else wrapper =3D new Element('div', wrapper);=0A=
        if (element.parentNode)=0A=
            element.parentNode.replaceChild(wrapper, element);=0A=
        wrapper.appendChild(element);=0A=
        return wrapper;=0A=
    },=0A=
=0A=
    inspect: function(element) {=0A=
        element =3D $(element);=0A=
        var result =3D '<' + element.tagName.toLowerCase();=0A=
        $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
            var property =3D pair.first(), attribute =3D pair.last();=0A=
            var value =3D (element[property] || '').toString();=0A=
            if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
        });=0A=
        return result + '>';=0A=
    },=0A=
=0A=
    recursivelyCollect: function(element, property) {=0A=
        element =3D $(element);=0A=
        var elements =3D [];=0A=
        while (element =3D element[property])=0A=
            if (element.nodeType =3D=3D 1)=0A=
                elements.push(Element.extend(element));=0A=
        return elements;=0A=
    },=0A=
=0A=
    ancestors: function(element) {=0A=
        return $(element).recursivelyCollect('parentNode');=0A=
    },=0A=
=0A=
    descendants: function(element) {=0A=
        return $(element).select("*");=0A=
    },=0A=
=0A=
    firstDescendant: function(element) {=0A=
        element =3D $(element).firstChild;=0A=
        while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
        return $(element);=0A=
    },=0A=
=0A=
    immediateDescendants: function(element) {=0A=
        if (!(element =3D $(element).firstChild)) return [];=0A=
        while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
        if (element) return [element].concat($(element).nextSiblings());=0A=
        return [];=0A=
    },=0A=
=0A=
    previousSiblings: function(element) {=0A=
        return $(element).recursivelyCollect('previousSibling');=0A=
    },=0A=
=0A=
    nextSiblings: function(element) {=0A=
        return $(element).recursivelyCollect('nextSibling');=0A=
    },=0A=
=0A=
    siblings: function(element) {=0A=
        element =3D $(element);=0A=
        return =
element.previousSiblings().reverse().concat(element.nextSiblings());=0A=
    },=0A=
=0A=
    match: function(element, selector) {=0A=
        if (Object.isString(selector))=0A=
            selector =3D new Selector(selector);=0A=
        return selector.match($(element));=0A=
    },=0A=
=0A=
    up: function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
        var ancestors =3D element.ancestors();=0A=
        return Object.isNumber(expression) ? ancestors[expression] :=0A=
               Selector.findElement(ancestors, expression, index);=0A=
    },=0A=
=0A=
    down: function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
        return Object.isNumber(expression) ? =
element.descendants()[expression] :=0A=
               Element.select(element, expression)[index || 0];=0A=
    },=0A=
=0A=
    previous: function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));=0A=
        var previousSiblings =3D element.previousSiblings();=0A=
        return Object.isNumber(expression) ? =
previousSiblings[expression] :=0A=
               Selector.findElement(previousSiblings, expression, index);=0A=
    },=0A=
=0A=
    next: function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));=0A=
        var nextSiblings =3D element.nextSiblings();=0A=
        return Object.isNumber(expression) ? nextSiblings[expression] :=0A=
               Selector.findElement(nextSiblings, expression, index);=0A=
    },=0A=
=0A=
    select: function() {=0A=
        var args =3D $A(arguments), element =3D $(args.shift());=0A=
        return Selector.findChildElements(element, args);=0A=
    },=0A=
=0A=
    adjacent: function() {=0A=
        var args =3D $A(arguments), element =3D $(args.shift());=0A=
        return Selector.findChildElements(element.parentNode, =
args).without(element);=0A=
    },=0A=
=0A=
    identify: function(element) {=0A=
        element =3D $(element);=0A=
        var id =3D element.readAttribute('id'), self =3D =
arguments.callee;=0A=
        if (id) return id;=0A=
        do {=0A=
            id =3D 'anonymous_element_' + self.counter++=0A=
        } while ($(id));=0A=
        element.writeAttribute('id', id);=0A=
        return id;=0A=
    },=0A=
=0A=
    readAttribute: function(element, name) {=0A=
        element =3D $(element);=0A=
        if (Prototype.Browser.IE) {=0A=
            var t =3D Element._attributeTranslations.read;=0A=
            if (t.values[name]) return t.values[name](element, name);=0A=
            if (t.names[name]) name =3D t.names[name];=0A=
            if (name.include(':')) {=0A=
                return (!element.attributes || =
!element.attributes[name]) ? null :=0A=
                       element.attributes[name].value;=0A=
            }=0A=
        }=0A=
        return element.getAttribute(name);=0A=
    },=0A=
=0A=
    writeAttribute: function(element, name, value) {=0A=
        element =3D $(element);=0A=
        var attributes =3D { }, t =3D =
Element._attributeTranslations.write;=0A=
=0A=
        if (typeof name =3D=3D 'object') attributes =3D name;=0A=
        else attributes[name] =3D Object.isUndefined(value) ? true : =
value;=0A=
=0A=
        for (var attr in attributes) {=0A=
            name =3D t.names[attr] || attr;=0A=
            value =3D attributes[attr];=0A=
            if (t.values[attr]) name =3D t.values[attr](element, value);=0A=
            if (value =3D=3D=3D false || value =3D=3D=3D null)=0A=
                element.removeAttribute(name);=0A=
            else if (value =3D=3D=3D true)=0A=
                element.setAttribute(name, name);=0A=
            else element.setAttribute(name, value);=0A=
        }=0A=
        return element;=0A=
    },=0A=
=0A=
    getHeight: function(element) {=0A=
        return $(element).getDimensions().height;=0A=
    },=0A=
=0A=
    getWidth: function(element) {=0A=
        return $(element).getDimensions().width;=0A=
    },=0A=
=0A=
    classNames: function(element) {=0A=
        return new Element.ClassNames(element);=0A=
    },=0A=
=0A=
    hasClassName: function(element, className) {=0A=
        if (!(element =3D $(element))) return;=0A=
        var elementClassName =3D element.className;=0A=
        return (elementClassName.length > 0 && (elementClassName =3D=3D =
className ||=0A=
                                                new RegExp("(^|\\s)" + =
className + "(\\s|$)").test(elementClassName)));=0A=
    },=0A=
=0A=
    addClassName: function(element, className) {=0A=
        if (!(element =3D $(element))) return;=0A=
        if (!element.hasClassName(className))=0A=
            element.className +=3D (element.className ? ' ' : '') + =
className;=0A=
        return element;=0A=
    },=0A=
=0A=
    removeClassName: function(element, className) {=0A=
        if (!(element =3D $(element))) return;=0A=
        element.className =3D element.className.replace(=0A=
                new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' =
').strip();=0A=
        return element;=0A=
    },=0A=
=0A=
    toggleClassName: function(element, className) {=0A=
        if (!(element =3D $(element))) return;=0A=
        return element[element.hasClassName(className) ?=0A=
                       'removeClassName' : 'addClassName'](className);=0A=
    },=0A=
=0A=
    // removes whitespace-only text node children=0A=
    cleanWhitespace: function(element) {=0A=
        element =3D $(element);=0A=
        var node =3D element.firstChild;=0A=
        while (node) {=0A=
            var nextNode =3D node.nextSibling;=0A=
            if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
                element.removeChild(node);=0A=
            node =3D nextNode;=0A=
        }=0A=
        return element;=0A=
    },=0A=
=0A=
    empty: function(element) {=0A=
        return $(element).innerHTML.blank();=0A=
    },=0A=
=0A=
    descendantOf: function(element, ancestor) {=0A=
        element =3D $(element),ancestor =3D $(ancestor);=0A=
=0A=
        if (element.compareDocumentPosition)=0A=
            return (element.compareDocumentPosition(ancestor) & 8) =
=3D=3D=3D 8;=0A=
=0A=
        if (ancestor.contains)=0A=
            return ancestor.contains(element) && ancestor !=3D=3D =
element;=0A=
=0A=
        while (element =3D element.parentNode)=0A=
            if (element =3D=3D ancestor) return true;=0A=
=0A=
        return false;=0A=
    },=0A=
=0A=
    scrollTo: function(element) {=0A=
        element =3D $(element);=0A=
        var pos =3D element.cumulativeOffset();=0A=
        window.scrollTo(pos[0], pos[1]);=0A=
        return element;=0A=
    },=0A=
=0A=
    getStyle: function(element, style) {=0A=
        element =3D $(element);=0A=
        style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
        var value =3D element.style[style];=0A=
        if (!value || value =3D=3D 'auto') {=0A=
            var css =3D document.defaultView.getComputedStyle(element, =
null);=0A=
            value =3D css ? css[style] : null;=0A=
        }=0A=
        if (style =3D=3D 'opacity') return value ? parseFloat(value) : =
1.0;=0A=
        return value =3D=3D 'auto' ? null : value;=0A=
    },=0A=
=0A=
    getOpacity: function(element) {=0A=
        return $(element).getStyle('opacity');=0A=
    },=0A=
=0A=
    setStyle: function(element, styles) {=0A=
        element =3D $(element);=0A=
        var elementStyle =3D element.style, match;=0A=
        if (Object.isString(styles)) {=0A=
            element.style.cssText +=3D ';' + styles;=0A=
            return styles.include('opacity') ?=0A=
                   =
element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;=0A=
        }=0A=
        for (var property in styles)=0A=
            if (property =3D=3D 'opacity') =
element.setOpacity(styles[property]);=0A=
            else=0A=
                elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
                             =
(Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : =
'styleFloat') :=0A=
                             property] =3D styles[property];=0A=
=0A=
        return element;=0A=
    },=0A=
=0A=
    setOpacity: function(element, value) {=0A=
        element =3D $(element);=0A=
        element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') =
? '' :=0A=
                                (value < 0.00001) ? 0 : value;=0A=
        return element;=0A=
    },=0A=
=0A=
    getDimensions: function(element) {=0A=
        element =3D $(element);=0A=
        var display =3D element.getStyle('display');=0A=
        if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
            return {width: element.offsetWidth, height: =
element.offsetHeight};=0A=
=0A=
        // All *Width and *Height properties give 0 on elements with =
display none,=0A=
        // so enable the element temporarily=0A=
        var els =3D element.style;=0A=
        var originalVisibility =3D els.visibility;=0A=
        var originalPosition =3D els.position;=0A=
        var originalDisplay =3D els.display;=0A=
        els.visibility =3D 'hidden';=0A=
        els.position =3D 'absolute';=0A=
        els.display =3D 'block';=0A=
        var originalWidth =3D element.clientWidth;=0A=
        var originalHeight =3D element.clientHeight;=0A=
        els.display =3D originalDisplay;=0A=
        els.position =3D originalPosition;=0A=
        els.visibility =3D originalVisibility;=0A=
        return {width: originalWidth, height: originalHeight};=0A=
    },=0A=
=0A=
    makePositioned: function(element) {=0A=
        element =3D $(element);=0A=
        var pos =3D Element.getStyle(element, 'position');=0A=
        if (pos =3D=3D 'static' || !pos) {=0A=
            element._madePositioned =3D true;=0A=
            element.style.position =3D 'relative';=0A=
            // Opera returns the offset relative to the positioning =
context, when an=0A=
            // element is position relative but top and left have not =
been defined=0A=
            if (Prototype.Browser.Opera) {=0A=
                element.style.top =3D 0;=0A=
                element.style.left =3D 0;=0A=
            }=0A=
        }=0A=
        return element;=0A=
    },=0A=
=0A=
    undoPositioned: function(element) {=0A=
        element =3D $(element);=0A=
        if (element._madePositioned) {=0A=
            element._madePositioned =3D undefined;=0A=
            element.style.position =3D=0A=
            element.style.top =3D=0A=
            element.style.left =3D=0A=
            element.style.bottom =3D=0A=
            element.style.right =3D '';=0A=
        }=0A=
        return element;=0A=
    },=0A=
=0A=
    makeClipping: function(element) {=0A=
        element =3D $(element);=0A=
        if (element._overflow) return element;=0A=
        element._overflow =3D Element.getStyle(element, 'overflow') || =
'auto';=0A=
        if (element._overflow !=3D=3D 'hidden')=0A=
            element.style.overflow =3D 'hidden';=0A=
        return element;=0A=
    },=0A=
=0A=
    undoClipping: function(element) {=0A=
        element =3D $(element);=0A=
        if (!element._overflow) return element;=0A=
        element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' =
: element._overflow;=0A=
        element._overflow =3D null;=0A=
        return element;=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 Element._returnOffset(valueL, valueT);=0A=
    },=0A=
=0A=
    positionedOffset: 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=
            if (element) {=0A=
                if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A=
                var p =3D Element.getStyle(element, 'position');=0A=
                if (p !=3D=3D 'static') break;=0A=
            }=0A=
        } while (element);=0A=
        return Element._returnOffset(valueL, valueT);=0A=
    },=0A=
=0A=
    absolutize: function(element) {=0A=
        element =3D $(element);=0A=
        if (element.getStyle('position') =3D=3D 'absolute') return =
element;=0A=
        // Position.prepare(); // To be done manually by Scripty when it =
needs it.=0A=
=0A=
        var offsets =3D element.positionedOffset();=0A=
        var top =3D offsets[1];=0A=
        var left =3D offsets[0];=0A=
        var width =3D element.clientWidth;=0A=
        var height =3D element.clientHeight;=0A=
=0A=
        element._originalLeft =3D left - parseFloat(element.style.left =
|| 0);=0A=
        element._originalTop =3D top - parseFloat(element.style.top || =
0);=0A=
        element._originalWidth =3D element.style.width;=0A=
        element._originalHeight =3D element.style.height;=0A=
=0A=
        element.style.position =3D 'absolute';=0A=
        element.style.top =3D top + 'px';=0A=
        element.style.left =3D left + 'px';=0A=
        element.style.width =3D width + 'px';=0A=
        element.style.height =3D height + 'px';=0A=
        return element;=0A=
    },=0A=
=0A=
    relativize: function(element) {=0A=
        element =3D $(element);=0A=
        if (element.getStyle('position') =3D=3D 'relative') return =
element;=0A=
        // Position.prepare(); // To be done manually by Scripty when it =
needs it.=0A=
=0A=
        element.style.position =3D 'relative';=0A=
        var top =3D parseFloat(element.style.top || 0) - =
(element._originalTop || 0);=0A=
        var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
        element.style.top =3D top + 'px';=0A=
        element.style.left =3D left + 'px';=0A=
        element.style.height =3D element._originalHeight;=0A=
        element.style.width =3D element._originalWidth;=0A=
        return element;=0A=
    },=0A=
=0A=
    cumulativeScrollOffset: 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 Element._returnOffset(valueL, valueT);=0A=
    },=0A=
=0A=
    getOffsetParent: function(element) {=0A=
        if (element.offsetParent) return $(element.offsetParent);=0A=
        if (element =3D=3D document.body) return $(element);=0A=
=0A=
        while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
            if (Element.getStyle(element, 'position') !=3D 'static')=0A=
                return $(element);=0A=
=0A=
        return $(document.body);=0A=
    },=0A=
=0A=
    viewportOffset: function(forElement) {=0A=
        var valueT =3D 0, valueL =3D 0;=0A=
=0A=
        var element =3D forElement;=0A=
        do {=0A=
            valueT +=3D element.offsetTop || 0;=0A=
            valueL +=3D element.offsetLeft || 0;=0A=
=0A=
            // Safari fix=0A=
            if (element.offsetParent =3D=3D document.body &&=0A=
                Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
        } while (element =3D element.offsetParent);=0A=
=0A=
        element =3D forElement;=0A=
        do {=0A=
            if (!Prototype.Browser.Opera || (element.tagName && =
(element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A=
                valueT -=3D element.scrollTop || 0;=0A=
                valueL -=3D element.scrollLeft || 0;=0A=
            }=0A=
        } while (element =3D element.parentNode);=0A=
=0A=
        return Element._returnOffset(valueL, valueT);=0A=
    },=0A=
=0A=
    clonePosition: function(element, source) {=0A=
        var options =3D Object.extend({=0A=
            setLeft:    true,=0A=
            setTop:     true,=0A=
            setWidth:   true,=0A=
            setHeight:  true,=0A=
            offsetTop:  0,=0A=
            offsetLeft: 0=0A=
        }, arguments[2] || { });=0A=
=0A=
        // find page position of source=0A=
        source =3D $(source);=0A=
        var p =3D source.viewportOffset();=0A=
=0A=
        // find coordinate system to use=0A=
        element =3D $(element);=0A=
        var delta =3D [0, 0];=0A=
        var parent =3D null;=0A=
        // delta [0,0] will do fine with position: fixed elements,=0A=
        // position:absolute needs offsetParent deltas=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A=
            parent =3D element.getOffsetParent();=0A=
            delta =3D parent.viewportOffset();=0A=
        }=0A=
=0A=
        // correct by body offsets (fixes Safari)=0A=
        if (parent =3D=3D document.body) {=0A=
            delta[0] -=3D document.body.offsetLeft;=0A=
            delta[1] -=3D document.body.offsetTop;=0A=
        }=0A=
=0A=
        // set position=0A=
        if (options.setLeft)   element.style.left =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
        if (options.setTop)    element.style.top =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
        if (options.setWidth)  element.style.width =3D =
source.offsetWidth + 'px';=0A=
        if (options.setHeight) element.style.height =3D =
source.offsetHeight + 'px';=0A=
        return element;=0A=
    }=0A=
};=0A=
=0A=
Element.Methods.identify.counter =3D 1;=0A=
=0A=
Object.extend(Element.Methods, {=0A=
    getElementsBySelector: Element.Methods.select,=0A=
    childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
Element._attributeTranslations =3D {=0A=
    write: {=0A=
        names: {=0A=
            className: 'class',=0A=
            htmlFor:   'for'=0A=
        },=0A=
        values: { }=0A=
    }=0A=
};=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
    Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A=
            function(proceed, element, style) {=0A=
                switch (style) {=0A=
                    case 'left': case 'top': case 'right': case 'bottom':=0A=
                    if (proceed(element, 'position') =3D=3D=3D 'static') =
return null;=0A=
                    case 'height': case 'width':=0A=
                // returns '0px' for hidden elements; we want it to =
return null=0A=
                    if (!Element.visible(element)) return null;=0A=
=0A=
                // returns the border-box dimensions rather than the =
content-box=0A=
                // dimensions, so we subtract padding and borders from =
the value=0A=
                    var dim =3D parseInt(proceed(element, style), 10);=0A=
=0A=
                    if (dim !=3D=3D element['offset' + =
style.capitalize()])=0A=
                        return dim + 'px';=0A=
=0A=
                    var properties;=0A=
                    if (style =3D=3D=3D 'height') {=0A=
                        properties =3D ['border-top-width', =
'padding-top',=0A=
                            'padding-bottom', 'border-bottom-width'];=0A=
                    }=0A=
                    else {=0A=
                        properties =3D ['border-left-width', =
'padding-left',=0A=
                            'padding-right', 'border-right-width'];=0A=
                    }=0A=
                    return properties.inject(dim, function(memo, =
property) {=0A=
                        var val =3D proceed(element, property);=0A=
                        return val =3D=3D=3D null ? memo : memo - =
parseInt(val, 10);=0A=
                    }) + 'px';=0A=
                    default: return proceed(element, style);=0A=
                }=0A=
            }=0A=
            );=0A=
=0A=
    Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A=
            function(proceed, element, attribute) {=0A=
                if (attribute =3D=3D=3D 'title') return element.title;=0A=
                return proceed(element, attribute);=0A=
            }=0A=
            );=0A=
}=0A=
=0A=
else if (Prototype.Browser.IE) {=0A=
    // IE doesn't report offsets correctly for static elements, so we =
change them=0A=
    // to "relative" to get the values, then change them back.=0A=
    Element.Methods.getOffsetParent =3D =
Element.Methods.getOffsetParent.wrap(=0A=
            function(proceed, element) {=0A=
                element =3D $(element);=0A=
                // IE throws an error if element is not in document=0A=
                try {=0A=
                    element.offsetParent=0A=
                }=0A=
                catch(e) {=0A=
                    return $(document.body)=0A=
                }=0A=
                var position =3D element.getStyle('position');=0A=
                if (position !=3D=3D 'static') return proceed(element);=0A=
                element.setStyle({ position: 'relative' });=0A=
                var value =3D proceed(element);=0A=
                element.setStyle({ position: position });=0A=
                return value;=0A=
            }=0A=
            );=0A=
=0A=
    $w('positionedOffset viewportOffset').each(function(method) {=0A=
        Element.Methods[method] =3D Element.Methods[method].wrap(=0A=
                function(proceed, element) {=0A=
                    element =3D $(element);=0A=
                    try {=0A=
                        element.offsetParent=0A=
                    }=0A=
                    catch(e) {=0A=
                        return Element._returnOffset(0, 0)=0A=
                    }=0A=
                    var position =3D element.getStyle('position');=0A=
                    if (position !=3D=3D 'static') return =
proceed(element);=0A=
                    // Trigger hasLayout on the offset parent so that =
IE6 reports=0A=
                    // accurate offsetTop and offsetLeft values for =
position: fixed.=0A=
                    var offsetParent =3D element.getOffsetParent();=0A=
                    if (offsetParent && =
offsetParent.getStyle('position') =3D=3D=3D 'fixed')=0A=
                        offsetParent.setStyle({ zoom: 1 });=0A=
                    element.setStyle({ position: 'relative' });=0A=
                    var value =3D proceed(element);=0A=
                    element.setStyle({ position: position });=0A=
                    return value;=0A=
                }=0A=
                );=0A=
    });=0A=
=0A=
    Element.Methods.cumulativeOffset =3D =
Element.Methods.cumulativeOffset.wrap(=0A=
            function(proceed, element) {=0A=
                try {=0A=
                    element.offsetParent=0A=
                }=0A=
                catch(e) {=0A=
                    return Element._returnOffset(0, 0)=0A=
                }=0A=
                return proceed(element);=0A=
            }=0A=
            );=0A=
=0A=
    Element.Methods.getStyle =3D function(element, style) {=0A=
        element =3D $(element);=0A=
        style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
        var value =3D element.style[style];=0A=
        if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
        if (style =3D=3D 'opacity') {=0A=
            if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
                if (value[1]) return parseFloat(value[1]) / 100;=0A=
            return 1.0;=0A=
        }=0A=
=0A=
        if (value =3D=3D 'auto') {=0A=
            if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
                return element['offset' + style.capitalize()] + 'px';=0A=
            return null;=0A=
        }=0A=
        return value;=0A=
    };=0A=
=0A=
    Element.Methods.setOpacity =3D function(element, value) {=0A=
        function stripAlpha(filter) {=0A=
            return filter.replace(/alpha\([^\)]*\)/gi, '');=0A=
        }=0A=
        element =3D $(element);=0A=
        var currentStyle =3D element.currentStyle;=0A=
        if ((currentStyle && !currentStyle.hasLayout) ||=0A=
            (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A=
            element.style.zoom =3D 1;=0A=
=0A=
        var filter =3D element.getStyle('filter'), style =3D =
element.style;=0A=
        if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
            (filter =3D stripAlpha(filter)) ?=0A=
            style.filter =3D filter : style.removeAttribute('filter');=0A=
            return element;=0A=
        } else if (value < 0.00001) value =3D 0;=0A=
        style.filter =3D stripAlpha(filter) +=0A=
                       'alpha(opacity=3D' + (value * 100) + ')';=0A=
        return element;=0A=
    };=0A=
=0A=
    Element._attributeTranslations =3D {=0A=
        read: {=0A=
            names: {=0A=
                'class': 'className',=0A=
                'for':   'htmlFor'=0A=
            },=0A=
            values: {=0A=
                _getAttr: function(element, attribute) {=0A=
                    return element.getAttribute(attribute, 2);=0A=
                },=0A=
                _getAttrNode: function(element, attribute) {=0A=
                    var node =3D element.getAttributeNode(attribute);=0A=
                    return node ? node.value : "";=0A=
                },=0A=
                _getEv: function(element, attribute) {=0A=
                    attribute =3D element.getAttribute(attribute);=0A=
                    return attribute ? attribute.toString().slice(23, =
-2) : null;=0A=
                },=0A=
                _flag: function(element, attribute) {=0A=
                    return $(element).hasAttribute(attribute) ? =
attribute : null;=0A=
                },=0A=
                style: function(element) {=0A=
                    return element.style.cssText.toLowerCase();=0A=
                },=0A=
                title: function(element) {=0A=
                    return element.title;=0A=
                }=0A=
            }=0A=
        }=0A=
    };=0A=
=0A=
    Element._attributeTranslations.write =3D {=0A=
        names: Object.extend({=0A=
            cellpadding: 'cellPadding',=0A=
            cellspacing: 'cellSpacing'=0A=
        }, Element._attributeTranslations.read.names),=0A=
        values: {=0A=
            checked: function(element, value) {=0A=
                element.checked =3D !!value;=0A=
            },=0A=
=0A=
            style: function(element, value) {=0A=
                element.style.cssText =3D value ? value : '';=0A=
            }=0A=
        }=0A=
    };=0A=
=0A=
    Element._attributeTranslations.has =3D {};=0A=
=0A=
    $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A=
       'encType maxLength readOnly longDesc =
frameBorder').each(function(attr) {=0A=
        Element._attributeTranslations.write.names[attr.toLowerCase()] =
=3D attr;=0A=
        Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A=
    });=0A=
=0A=
    (function(v) {=0A=
        Object.extend(v, {=0A=
            href:        v._getAttr,=0A=
            src:         v._getAttr,=0A=
            type:        v._getAttr,=0A=
            action:      v._getAttrNode,=0A=
            disabled:    v._flag,=0A=
            checked:     v._flag,=0A=
            readonly:    v._flag,=0A=
            multiple:    v._flag,=0A=
            onload:      v._getEv,=0A=
            onunload:    v._getEv,=0A=
            onclick:     v._getEv,=0A=
            ondblclick:  v._getEv,=0A=
            onmousedown: v._getEv,=0A=
            onmouseup:   v._getEv,=0A=
            onmouseover: v._getEv,=0A=
            onmousemove: v._getEv,=0A=
            onmouseout:  v._getEv,=0A=
            onfocus:     v._getEv,=0A=
            onblur:      v._getEv,=0A=
            onkeypress:  v._getEv,=0A=
            onkeydown:   v._getEv,=0A=
            onkeyup:     v._getEv,=0A=
            onsubmit:    v._getEv,=0A=
            onreset:     v._getEv,=0A=
            onselect:    v._getEv,=0A=
            onchange:    v._getEv=0A=
        });=0A=
    })(Element._attributeTranslations.read.values);=0A=
}=0A=
=0A=
else if (Prototype.Browser.Gecko && =
/rv:1\.8\.0/.test(navigator.userAgent)) {=0A=
    Element.Methods.setOpacity =3D function(element, value) {=0A=
        element =3D $(element);=0A=
        element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
                                (value =3D=3D=3D '') ? '' : (value < =
0.00001) ? 0 : value;=0A=
        return element;=0A=
    };=0A=
}=0A=
=0A=
else if (Prototype.Browser.WebKit) {=0A=
    Element.Methods.setOpacity =3D function(element, value) {=0A=
        element =3D $(element);=0A=
        element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') =
? '' :=0A=
                                (value < 0.00001) ? 0 : value;=0A=
=0A=
        if (value =3D=3D 1)=0A=
            if (element.tagName.toUpperCase() =3D=3D 'IMG' && =
element.width) {=0A=
                element.width++;=0A=
                element.width--;=0A=
            } else try {=0A=
                var n =3D document.createTextNode(' ');=0A=
                element.appendChild(n);=0A=
                element.removeChild(n);=0A=
            } catch (e) {=0A=
            }=0A=
=0A=
        return element;=0A=
    };=0A=
=0A=
    // Safari returns margins on body which is incorrect if the child is =
absolutely=0A=
    // positioned.  For performance reasons, redefine =
Element#cumulativeOffset for=0A=
    // KHTML/WebKit only.=0A=
    Element.Methods.cumulativeOffset =3D 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=
            if (element.offsetParent =3D=3D document.body)=0A=
                if (Element.getStyle(element, 'position') =3D=3D =
'absolute') break;=0A=
=0A=
            element =3D element.offsetParent;=0A=
        } while (element);=0A=
=0A=
        return Element._returnOffset(valueL, valueT);=0A=
    };=0A=
}=0A=
=0A=
if (Prototype.Browser.IE || Prototype.Browser.Opera) {=0A=
    // IE and Opera are missing .innerHTML support for TABLE-related and =
SELECT elements=0A=
    Element.Methods.update =3D function(element, content) {=0A=
        element =3D $(element);=0A=
=0A=
        if (content && content.toElement) content =3D =
content.toElement();=0A=
        if (Object.isElement(content)) return =
element.update().insert(content);=0A=
=0A=
        content =3D Object.toHTML(content);=0A=
        var tagName =3D element.tagName.toUpperCase();=0A=
=0A=
        if (tagName in Element._insertionTranslations.tags) {=0A=
            $A(element.childNodes).each(function(node) {=0A=
                element.removeChild(node)=0A=
            });=0A=
            Element._getContentFromAnonymousElement(tagName, =
content.stripScripts())=0A=
                    .each(function(node) {=0A=
                element.appendChild(node)=0A=
            });=0A=
        }=0A=
        else element.innerHTML =3D content.stripScripts();=0A=
=0A=
        content.evalScripts.bind(content).defer();=0A=
        return element;=0A=
    };=0A=
}=0A=
=0A=
if ('outerHTML' in document.createElement('div')) {=0A=
    Element.Methods.replace =3D function(element, content) {=0A=
        element =3D $(element);=0A=
=0A=
        if (content && content.toElement) content =3D =
content.toElement();=0A=
        if (Object.isElement(content)) {=0A=
            element.parentNode.replaceChild(content, element);=0A=
            return element;=0A=
        }=0A=
=0A=
        content =3D Object.toHTML(content);=0A=
        var parent =3D element.parentNode, tagName =3D =
parent.tagName.toUpperCase();=0A=
=0A=
        if (Element._insertionTranslations.tags[tagName]) {=0A=
            var nextSibling =3D element.next();=0A=
            var fragments =3D =
Element._getContentFromAnonymousElement(tagName, content.stripScripts());=0A=
            parent.removeChild(element);=0A=
            if (nextSibling)=0A=
                fragments.each(function(node) {=0A=
                    parent.insertBefore(node, nextSibling)=0A=
                });=0A=
            else=0A=
                fragments.each(function(node) {=0A=
                    parent.appendChild(node)=0A=
                });=0A=
        }=0A=
        else element.outerHTML =3D content.stripScripts();=0A=
=0A=
        content.evalScripts.bind(content).defer();=0A=
        return element;=0A=
    };=0A=
}=0A=
=0A=
Element._returnOffset =3D function(l, t) {=0A=
    var result =3D [l, t];=0A=
    result.left =3D l;=0A=
    result.top =3D t;=0A=
    return result;=0A=
};=0A=
=0A=
Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A=
    var div =3D new Element('div'), t =3D =
Element._insertionTranslations.tags[tagName];=0A=
    if (t) {=0A=
        div.innerHTML =3D t[0] + html + t[1];=0A=
        t[2].times(function() {=0A=
            div =3D div.firstChild=0A=
        });=0A=
    } else div.innerHTML =3D html;=0A=
    return $A(div.childNodes);=0A=
};=0A=
=0A=
Element._insertionTranslations =3D {=0A=
    before: function(element, node) {=0A=
        element.parentNode.insertBefore(node, element);=0A=
    },=0A=
    top: function(element, node) {=0A=
        element.insertBefore(node, element.firstChild);=0A=
    },=0A=
    bottom: function(element, node) {=0A=
        element.appendChild(node);=0A=
    },=0A=
    after: function(element, node) {=0A=
        element.parentNode.insertBefore(node, element.nextSibling);=0A=
    },=0A=
    tags: {=0A=
        TABLE:  ['<table>',                '</table>',                   =
1],=0A=
        TBODY:  ['<table><tbody>',         '</tbody></table>',           =
2],=0A=
        TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      =
3],=0A=
        TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', =
4],=0A=
        SELECT: ['<select>',               '</select>',                  =
1]=0A=
    }=0A=
};=0A=
=0A=
(function() {=0A=
    Object.extend(this.tags, {=0A=
        THEAD: this.tags.TBODY,=0A=
        TFOOT: this.tags.TBODY,=0A=
        TH:    this.tags.TD=0A=
    });=0A=
}).call(Element._insertionTranslations);=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
    hasAttribute: function(element, attribute) {=0A=
        attribute =3D Element._attributeTranslations.has[attribute] || =
attribute;=0A=
        var node =3D $(element).getAttributeNode(attribute);=0A=
        return !!(node && node.specified);=0A=
    }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D { };=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
if (!Prototype.BrowserFeatures.ElementExtensions &&=0A=
    document.createElement('div')['__proto__']) {=0A=
    window.HTMLElement =3D { };=0A=
    window.HTMLElement.prototype =3D =
document.createElement('div')['__proto__'];=0A=
    Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
}=0A=
=0A=
Element.extend =3D (function() {=0A=
    if (Prototype.BrowserFeatures.SpecificElementExtensions)=0A=
        return Prototype.K;=0A=
=0A=
    var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A=
=0A=
    var extend =3D Object.extend(function(element) {=0A=
        if (!element || element._extendedByPrototype ||=0A=
            element.nodeType !=3D 1 || element =3D=3D window) return =
element;=0A=
=0A=
        var methods =3D Object.clone(Methods),=0A=
                tagName =3D element.tagName.toUpperCase(), property, =
value;=0A=
=0A=
        // extend methods for specific tags=0A=
        if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A=
=0A=
        for (property in methods) {=0A=
            value =3D methods[property];=0A=
            if (Object.isFunction(value) && !(property in element))=0A=
                element[property] =3D value.methodize();=0A=
        }=0A=
=0A=
        element._extendedByPrototype =3D Prototype.emptyFunction;=0A=
        return element;=0A=
=0A=
    }, {=0A=
        refresh: function() {=0A=
            // extend methods for all tags (Safari doesn't need this)=0A=
            if (!Prototype.BrowserFeatures.ElementExtensions) {=0A=
                Object.extend(Methods, Element.Methods);=0A=
                Object.extend(Methods, Element.Methods.Simulated);=0A=
            }=0A=
        }=0A=
    });=0A=
=0A=
    extend.refresh();=0A=
    return extend;=0A=
})();=0A=
=0A=
Element.hasAttribute =3D function(element, attribute) {=0A=
    if (element.hasAttribute) return element.hasAttribute(attribute);=0A=
    return Element.Methods.Simulated.hasAttribute(element, attribute);=0A=
};=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
    var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
    if (!methods) {=0A=
        Object.extend(Form, Form.Methods);=0A=
        Object.extend(Form.Element, Form.Element.Methods);=0A=
        Object.extend(Element.Methods.ByTag, {=0A=
            "FORM":     Object.clone(Form.Methods),=0A=
            "INPUT":    Object.clone(Form.Element.Methods),=0A=
            "SELECT":   Object.clone(Form.Element.Methods),=0A=
            "TEXTAREA": Object.clone(Form.Element.Methods)=0A=
        });=0A=
    }=0A=
=0A=
    if (arguments.length =3D=3D 2) {=0A=
        var tagName =3D methods;=0A=
        methods =3D arguments[1];=0A=
    }=0A=
=0A=
    if (!tagName) Object.extend(Element.Methods, methods || { });=0A=
    else {=0A=
        if (Object.isArray(tagName)) tagName.each(extend);=0A=
        else extend(tagName);=0A=
    }=0A=
=0A=
    function extend(tagName) {=0A=
        tagName =3D tagName.toUpperCase();=0A=
        if (!Element.Methods.ByTag[tagName])=0A=
            Element.Methods.ByTag[tagName] =3D { };=0A=
        Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
    }=0A=
=0A=
    function copy(methods, destination, onlyIfAbsent) {=0A=
        onlyIfAbsent =3D onlyIfAbsent || false;=0A=
        for (var property in methods) {=0A=
            var value =3D methods[property];=0A=
            if (!Object.isFunction(value)) continue;=0A=
            if (!onlyIfAbsent || !(property in destination))=0A=
                destination[property] =3D value.methodize();=0A=
        }=0A=
    }=0A=
=0A=
    function findDOMClass(tagName) {=0A=
        var klass;=0A=
        var trans =3D {=0A=
            "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": =
"Paragraph",=0A=
            "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
            "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
            "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": =
"Quote",=0A=
            "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
                "TableCaption", "COL": "TableCol", "COLGROUP": =
"TableCol", "THEAD":=0A=
                "TableSection", "TFOOT": "TableSection", "TBODY": =
"TableSection", "TR":=0A=
                "TableRow", "TH": "TableCell", "TD": "TableCell", =
"FRAMESET":=0A=
                "FrameSet", "IFRAME": "IFrame"=0A=
        };=0A=
        if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + =
'Element';=0A=
        if (window[klass]) return window[klass];=0A=
        klass =3D 'HTML' + tagName + 'Element';=0A=
        if (window[klass]) return window[klass];=0A=
        klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
        if (window[klass]) return window[klass];=0A=
=0A=
        window[klass] =3D { };=0A=
        window[klass].prototype =3D =
document.createElement(tagName)['__proto__'];=0A=
        return window[klass];=0A=
    }=0A=
=0A=
    if (F.ElementExtensions) {=0A=
        copy(Element.Methods, HTMLElement.prototype);=0A=
        copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A=
    }=0A=
=0A=
    if (F.SpecificElementExtensions) {=0A=
        for (var tag in Element.Methods.ByTag) {=0A=
            var klass =3D findDOMClass(tag);=0A=
            if (Object.isUndefined(klass)) continue;=0A=
            copy(T[tag], klass.prototype);=0A=
        }=0A=
    }=0A=
=0A=
    Object.extend(Element, Element.Methods);=0A=
    delete Element.ByTag;=0A=
=0A=
    if (Element.extend.refresh) Element.extend.refresh();=0A=
    Element.cache =3D { };=0A=
};=0A=
=0A=
document.viewport =3D {=0A=
    getDimensions: function() {=0A=
        var dimensions =3D { }, B =3D Prototype.Browser;=0A=
        $w('width height').each(function(d) {=0A=
            var D =3D d.capitalize();=0A=
            if (B.WebKit && !document.evaluate) {=0A=
                // Safari <3.0 needs self.innerWidth/Height=0A=
                dimensions[d] =3D self['inner' + D];=0A=
            } else if (B.Opera && parseFloat(window.opera.version()) < =
9.5) {=0A=
                // Opera <9.5 needs document.body.clientWidth/Height=0A=
                dimensions[d] =3D document.body['client' + D]=0A=
            } else {=0A=
                dimensions[d] =3D document.documentElement['client' + D];=0A=
            }=0A=
        });=0A=
        return dimensions;=0A=
    },=0A=
=0A=
    getWidth: function() {=0A=
        return this.getDimensions().width;=0A=
    },=0A=
=0A=
    getHeight: function() {=0A=
        return this.getDimensions().height;=0A=
    },=0A=
=0A=
    getScrollOffsets: function() {=0A=
        return Element._returnOffset(=0A=
                window.pageXOffset || =
document.documentElement.scrollLeft || document.body.scrollLeft,=0A=
                window.pageYOffset || document.documentElement.scrollTop =
|| document.body.scrollTop);=0A=
    }=0A=
};=0A=
/* Portions of the Selector class are derived from Jack Slocum's =
DomQuery,=0A=
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style=0A=
 * license.  Please see http://www.yui-ext.com/ for more information. */=0A=
=0A=
var Selector =3D Class.create({=0A=
    initialize: function(expression) {=0A=
        this.expression =3D expression.strip();=0A=
=0A=
        if (this.shouldUseSelectorsAPI()) {=0A=
            this.mode =3D 'selectorsAPI';=0A=
        } else if (this.shouldUseXPath()) {=0A=
            this.mode =3D 'xpath';=0A=
            this.compileXPathMatcher();=0A=
        } else {=0A=
            this.mode =3D "normal";=0A=
            this.compileMatcher();=0A=
        }=0A=
=0A=
    },=0A=
=0A=
    shouldUseXPath: function() {=0A=
        if (!Prototype.BrowserFeatures.XPath) return false;=0A=
=0A=
        var e =3D this.expression;=0A=
=0A=
        // Safari 3 chokes on :*-of-type and :empty=0A=
        if (Prototype.Browser.WebKit &&=0A=
            (e.include("-of-type") || e.include(":empty")))=0A=
            return false;=0A=
=0A=
        // XPath can't do namespaced attributes, nor can it read=0A=
        // the "checked" property from DOM nodes=0A=
        if ((/(\[[\w-]*?:|:checked)/).test(e))=0A=
            return false;=0A=
=0A=
        return true;=0A=
    },=0A=
=0A=
    shouldUseSelectorsAPI: function() {=0A=
        if (!Prototype.BrowserFeatures.SelectorsAPI) return false;=0A=
=0A=
        if (!Selector._div) Selector._div =3D new Element('div');=0A=
=0A=
        // Make sure the browser treats the selector as valid. Test on an=0A=
        // isolated element to minimize cost of this check.=0A=
        try {=0A=
            Selector._div.querySelector(this.expression);=0A=
        } catch(e) {=0A=
            return false;=0A=
        }=0A=
=0A=
        return true;=0A=
    },=0A=
=0A=
    compileMatcher: function() {=0A=
        var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,=0A=
                c =3D Selector.criteria, le, p, m;=0A=
=0A=
        if (Selector._cache[e]) {=0A=
            this.matcher =3D Selector._cache[e];=0A=
            return;=0A=
        }=0A=
=0A=
        this.matcher =3D ["this.matcher =3D function(root) {",=0A=
            "var r =3D root, h =3D Selector.handlers, c =3D false, n;"];=0A=
=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
            le =3D e;=0A=
            for (var i in ps) {=0A=
                p =3D ps[i];=0A=
                if (m =3D e.match(p)) {=0A=
                    this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :=0A=
                                      new Template(c[i]).evaluate(m));=0A=
                    e =3D e.replace(m[0], '');=0A=
                    break;=0A=
                }=0A=
            }=0A=
        }=0A=
=0A=
        this.matcher.push("return h.unique(n);\n}");=0A=
        eval(this.matcher.join('\n'));=0A=
        Selector._cache[this.expression] =3D this.matcher;=0A=
    },=0A=
=0A=
    compileXPathMatcher: function() {=0A=
        var e =3D this.expression, ps =3D Selector.patterns,=0A=
                x =3D Selector.xpath, le, m;=0A=
=0A=
        if (Selector._cache[e]) {=0A=
            this.xpath =3D Selector._cache[e];=0A=
            return;=0A=
        }=0A=
=0A=
        this.matcher =3D ['.//*'];=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
            le =3D e;=0A=
            for (var i in ps) {=0A=
                if (m =3D e.match(ps[i])) {=0A=
                    this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :=0A=
                                      new Template(x[i]).evaluate(m));=0A=
                    e =3D e.replace(m[0], '');=0A=
                    break;=0A=
                }=0A=
            }=0A=
        }=0A=
=0A=
        this.xpath =3D this.matcher.join('');=0A=
        Selector._cache[this.expression] =3D this.xpath;=0A=
    },=0A=
=0A=
    findElements: function(root) {=0A=
        root =3D root || document;=0A=
        var e =3D this.expression, results;=0A=
=0A=
        switch (this.mode) {=0A=
            case 'selectorsAPI':=0A=
            // querySelectorAll queries document-wide, then filters to =
descendants=0A=
            // of the context element. That's not what we want.=0A=
            // Add an explicit context to the selector if necessary.=0A=
                if (root !=3D=3D document) {=0A=
                    var oldId =3D root.id, id =3D $(root).identify();=0A=
                    e =3D "#" + id + " " + e;=0A=
                }=0A=
=0A=
                results =3D =
$A(root.querySelectorAll(e)).map(Element.extend);=0A=
                root.id =3D oldId;=0A=
=0A=
                return results;=0A=
            case 'xpath':=0A=
                return document._getElementsByXPath(this.xpath, root);=0A=
            default:=0A=
                return this.matcher(root);=0A=
        }=0A=
    },=0A=
=0A=
    match: function(element) {=0A=
        this.tokens =3D [];=0A=
=0A=
        var e =3D this.expression, ps =3D Selector.patterns, as =3D =
Selector.assertions;=0A=
        var le, p, m;=0A=
=0A=
        while (e && le !=3D=3D e && (/\S/).test(e)) {=0A=
            le =3D e;=0A=
            for (var i in ps) {=0A=
                p =3D ps[i];=0A=
                if (m =3D e.match(p)) {=0A=
                    // use the Selector.assertions methods unless the =
selector=0A=
                    // is too complex.=0A=
                    if (as[i]) {=0A=
                        this.tokens.push([i, Object.clone(m)]);=0A=
                        e =3D e.replace(m[0], '');=0A=
                    } else {=0A=
                        // reluctantly do a document-wide search=0A=
                        // and look for a match in the array=0A=
                        return =
this.findElements(document).include(element);=0A=
                    }=0A=
                }=0A=
            }=0A=
        }=0A=
=0A=
        var match =3D true, name, matches;=0A=
        for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A=
            name =3D token[0],matches =3D token[1];=0A=
            if (!Selector.assertions[name](element, matches)) {=0A=
                match =3D false;=0A=
                break;=0A=
            }=0A=
        }=0A=
=0A=
        return match;=0A=
    },=0A=
=0A=
    toString: function() {=0A=
        return this.expression;=0A=
    },=0A=
=0A=
    inspect: function() {=0A=
        return "#<Selector:" + this.expression.inspect() + ">";=0A=
    }=0A=
});=0A=
=0A=
Object.extend(Selector, {=0A=
    _cache: { },=0A=
=0A=
    xpath: {=0A=
        descendant:   "//*",=0A=
        child:        "/*",=0A=
        adjacent:     "/following-sibling::*[1]",=0A=
        laterSibling: '/following-sibling::*',=0A=
        tagName:      function(m) {=0A=
            if (m[1] =3D=3D '*') return '';=0A=
            return "[local-name()=3D'" + m[1].toLowerCase() +=0A=
                   "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A=
        },=0A=
        className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A=
        id:           "[@id=3D'#{1}']",=0A=
        attrPresence: function(m) {=0A=
            m[1] =3D m[1].toLowerCase();=0A=
            return new Template("[@#{1}]").evaluate(m);=0A=
        },=0A=
        attr: function(m) {=0A=
            m[1] =3D m[1].toLowerCase();=0A=
            m[3] =3D m[5] || m[6];=0A=
            return new =
Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A=
        },=0A=
        pseudo: function(m) {=0A=
            var h =3D Selector.xpath.pseudos[m[1]];=0A=
            if (!h) return '';=0A=
            if (Object.isFunction(h)) return h(m);=0A=
            return new =
Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A=
        },=0A=
        operators: {=0A=
            '=3D':  "[@#{1}=3D'#{3}']",=0A=
            '!=3D': "[@#{1}!=3D'#{3}']",=0A=
            '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A=
            '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",=0A=
            '*=3D': "[contains(@#{1}, '#{3}')]",=0A=
            '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A=
            '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A=
        },=0A=
        pseudos: {=0A=
            'first-child': '[not(preceding-sibling::*)]',=0A=
            'last-child':  '[not(following-sibling::*)]',=0A=
            'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',=0A=
            'empty':       "[count(*) =3D 0 and (count(text()) =3D 0)]",=0A=
            'checked':     "[@checked]",=0A=
            'disabled':    "[(@disabled) and (@type!=3D'hidden')]",=0A=
            'enabled':     "[not(@disabled) and (@type!=3D'hidden')]",=0A=
            'not': function(m) {=0A=
                var e =3D m[6], p =3D Selector.patterns,=0A=
                        x =3D Selector.xpath, le, v;=0A=
=0A=
                var exclusion =3D [];=0A=
                while (e && le !=3D e && (/\S/).test(e)) {=0A=
                    le =3D e;=0A=
                    for (var i in p) {=0A=
                        if (m =3D e.match(p[i])) {=0A=
                            v =3D Object.isFunction(x[i]) ? x[i](m) : =
new Template(x[i]).evaluate(m);=0A=
                            exclusion.push("(" + v.substring(1, v.length =
- 1) + ")");=0A=
                            e =3D e.replace(m[0], '');=0A=
                            break;=0A=
                        }=0A=
                    }=0A=
                }=0A=
                return "[not(" + exclusion.join(" and ") + ")]";=0A=
            },=0A=
            'nth-child':      function(m) {=0A=
                return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A=
            },=0A=
            'nth-last-child': function(m) {=0A=
                return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A=
            },=0A=
            'nth-of-type':    function(m) {=0A=
                return Selector.xpath.pseudos.nth("position() ", m);=0A=
            },=0A=
            'nth-last-of-type': function(m) {=0A=
                return Selector.xpath.pseudos.nth("(last() + 1 - =
position()) ", m);=0A=
            },=0A=
            'first-of-type':  function(m) {=0A=
                m[6] =3D "1";=0A=
                return Selector.xpath.pseudos['nth-of-type'](m);=0A=
            },=0A=
            'last-of-type':   function(m) {=0A=
                m[6] =3D "1";=0A=
                return Selector.xpath.pseudos['nth-last-of-type'](m);=0A=
            },=0A=
            'only-of-type':   function(m) {=0A=
                var p =3D Selector.xpath.pseudos;=0A=
                return p['first-of-type'](m) + p['last-of-type'](m);=0A=
            },=0A=
            nth: function(fragment, m) {=0A=
                var mm, formula =3D m[6], predicate;=0A=
                if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
                if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
                if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A=
                    return '[' + fragment + "=3D " + mm[1] + ']';=0A=
                if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { =
// an+b=0A=
                    if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A=
                    var a =3D mm[1] ? Number(mm[1]) : 1;=0A=
                    var b =3D mm[2] ? Number(mm[2]) : 0;=0A=
                    predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D =
0) and " +=0A=
                                "((#{fragment} - #{b}) div #{a} >=3D =
0)]";=0A=
                    return new Template(predicate).evaluate({=0A=
                        fragment: fragment, a: a, b: b });=0A=
                }=0A=
            }=0A=
        }=0A=
    },=0A=
=0A=
    criteria: {=0A=
        tagName:      'n =3D h.tagName(n, r, "#{1}", c);      c =3D =
false;',=0A=
        className:    'n =3D h.className(n, r, "#{1}", c);    c =3D =
false;',=0A=
        id:           'n =3D h.id(n, r, "#{1}", c);           c =3D =
false;',=0A=
        attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D =
false;',=0A=
        attr: function(m) {=0A=
            m[3] =3D (m[5] || m[6]);=0A=
            return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", =
"#{2}", c); c =3D false;').evaluate(m);=0A=
        },=0A=
        pseudo: function(m) {=0A=
            if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A=
            return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, =
c); c =3D false;').evaluate(m);=0A=
        },=0A=
        descendant:   'c =3D "descendant";',=0A=
        child:        'c =3D "child";',=0A=
        adjacent:     'c =3D "adjacent";',=0A=
        laterSibling: 'c =3D "laterSibling";'=0A=
    },=0A=
=0A=
    patterns: {=0A=
        // combinators must be listed first=0A=
        // (and descendant needs to be last combinator)=0A=
        laterSibling: /^\s*~\s*/,=0A=
        child:        /^\s*>\s*/,=0A=
        adjacent:     /^\s*\+\s*/,=0A=
        descendant:   /^\s/,=0A=
=0A=
        // selectors follow=0A=
        tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,=0A=
        id:           /^#([\w\-\*]+)(\b|$)/,=0A=
        className:    /^\.([\w\-\*]+)(\b|$)/,=0A=
        pseudo:=0A=
                =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/,=0A=
        attrPresence: /^\[((?:[\w]+:)?[\w]+)\]/,=0A=
        attr:         =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^=
\]]*?)))?\]/=0A=
    },=0A=
=0A=
    // for Selector.match and Element#match=0A=
    assertions: {=0A=
        tagName: function(element, matches) {=0A=
            return matches[1].toUpperCase() =3D=3D =
element.tagName.toUpperCase();=0A=
        },=0A=
=0A=
        className: function(element, matches) {=0A=
            return Element.hasClassName(element, matches[1]);=0A=
        },=0A=
=0A=
        id: function(element, matches) {=0A=
            return element.id =3D=3D=3D matches[1];=0A=
        },=0A=
=0A=
        attrPresence: function(element, matches) {=0A=
            return Element.hasAttribute(element, matches[1]);=0A=
        },=0A=
=0A=
        attr: function(element, matches) {=0A=
            var nodeValue =3D Element.readAttribute(element, matches[1]);=0A=
            return nodeValue && =
Selector.operators[matches[2]](nodeValue, matches[5] || matches[6]);=0A=
        }=0A=
    },=0A=
=0A=
    handlers: {=0A=
        // UTILITY FUNCTIONS=0A=
        // joins two collections=0A=
        concat: function(a, b) {=0A=
            for (var i =3D 0, node; node =3D b[i]; i++)=0A=
                a.push(node);=0A=
            return a;=0A=
        },=0A=
=0A=
        // marks an array of nodes for counting=0A=
        mark: function(nodes) {=0A=
            var _true =3D Prototype.emptyFunction;=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                node._countedByPrototype =3D _true;=0A=
            return nodes;=0A=
        },=0A=
=0A=
        unmark: function(nodes) {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                node._countedByPrototype =3D undefined;=0A=
            return nodes;=0A=
        },=0A=
=0A=
        // mark each child node with its position (for nth calls)=0A=
        // "ofType" flag indicates whether we're indexing for nth-of-type=0A=
        // rather than nth-child=0A=
        index: function(parentNode, reverse, ofType) {=0A=
            parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A=
            if (reverse) {=0A=
                for (var nodes =3D parentNode.childNodes, i =3D =
nodes.length - 1, j =3D 1; i >=3D 0; i--) {=0A=
                    var node =3D nodes[i];=0A=
                    if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
                }=0A=
            } else {=0A=
                for (var i =3D 0, j =3D 1, nodes =3D =
parentNode.childNodes; node =3D nodes[i]; i++)=0A=
                    if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
            }=0A=
        },=0A=
=0A=
        // filters out duplicates and extends all nodes=0A=
        unique: function(nodes) {=0A=
            if (nodes.length =3D=3D 0) return nodes;=0A=
            var results =3D [], n;=0A=
            for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A=
                if (!(n =3D nodes[i])._countedByPrototype) {=0A=
                    n._countedByPrototype =3D Prototype.emptyFunction;=0A=
                    results.push(Element.extend(n));=0A=
                }=0A=
            return Selector.handlers.unmark(results);=0A=
        },=0A=
=0A=
        // COMBINATOR FUNCTIONS=0A=
        descendant: function(nodes) {=0A=
            var h =3D Selector.handlers;=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                h.concat(results, node.getElementsByTagName('*'));=0A=
            return results;=0A=
        },=0A=
=0A=
        child: function(nodes) {=0A=
            var h =3D Selector.handlers;=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++) {=0A=
                for (var j =3D 0, child; child =3D node.childNodes[j]; =
j++)=0A=
                    if (child.nodeType =3D=3D 1 && child.tagName !=3D =
'!') results.push(child);=0A=
            }=0A=
            return results;=0A=
        },=0A=
=0A=
        adjacent: function(nodes) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++) {=0A=
                var next =3D this.nextElementSibling(node);=0A=
                if (next) results.push(next);=0A=
            }=0A=
            return results;=0A=
        },=0A=
=0A=
        laterSibling: function(nodes) {=0A=
            var h =3D Selector.handlers;=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                h.concat(results, Element.nextSiblings(node));=0A=
            return results;=0A=
        },=0A=
=0A=
        nextElementSibling: function(node) {=0A=
            while (node =3D node.nextSibling)=0A=
                if (node.nodeType =3D=3D 1) return node;=0A=
            return null;=0A=
        },=0A=
=0A=
        previousElementSibling: function(node) {=0A=
            while (node =3D node.previousSibling)=0A=
                if (node.nodeType =3D=3D 1) return node;=0A=
            return null;=0A=
        },=0A=
=0A=
        // TOKEN FUNCTIONS=0A=
        tagName: function(nodes, root, tagName, combinator) {=0A=
            var uTagName =3D tagName.toUpperCase();=0A=
            var results =3D [], h =3D Selector.handlers;=0A=
            if (nodes) {=0A=
                if (combinator) {=0A=
                    // fastlane for ordinary descendant combinators=0A=
                    if (combinator =3D=3D "descendant") {=0A=
                        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                            h.concat(results, =
node.getElementsByTagName(tagName));=0A=
                        return results;=0A=
                    } else nodes =3D this[combinator](nodes);=0A=
                    if (tagName =3D=3D "*") return nodes;=0A=
                }=0A=
                for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                    if (node.tagName.toUpperCase() =3D=3D=3D uTagName) =
results.push(node);=0A=
                return results;=0A=
            } else return root.getElementsByTagName(tagName);=0A=
        },=0A=
=0A=
        id: function(nodes, root, id, combinator) {=0A=
            var targetNode =3D $(id), h =3D Selector.handlers;=0A=
            if (!targetNode) return [];=0A=
            if (!nodes && root =3D=3D document) return [targetNode];=0A=
            if (nodes) {=0A=
                if (combinator) {=0A=
                    if (combinator =3D=3D 'child') {=0A=
                        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                            if (targetNode.parentNode =3D=3D node) =
return [targetNode];=0A=
                    } else if (combinator =3D=3D 'descendant') {=0A=
                        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                            if (Element.descendantOf(targetNode, node)) =
return [targetNode];=0A=
                    } else if (combinator =3D=3D 'adjacent') {=0A=
                        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                            if =
(Selector.handlers.previousElementSibling(targetNode) =3D=3D node)=0A=
                                return [targetNode];=0A=
                    } else nodes =3D h[combinator](nodes);=0A=
                }=0A=
                for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                    if (node =3D=3D targetNode) return [targetNode];=0A=
                return [];=0A=
            }=0A=
            return (targetNode && Element.descendantOf(targetNode, =
root)) ? [targetNode] : [];=0A=
        },=0A=
=0A=
        className: function(nodes, root, className, combinator) {=0A=
            if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
            return Selector.handlers.byClassName(nodes, root, className);=0A=
        },=0A=
=0A=
        byClassName: function(nodes, root, className) {=0A=
            if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A=
            var needle =3D ' ' + className + ' ';=0A=
            for (var i =3D 0, results =3D [], node, nodeClassName; node =
=3D nodes[i]; i++) {=0A=
                nodeClassName =3D node.className;=0A=
                if (nodeClassName.length =3D=3D 0) continue;=0A=
                if (nodeClassName =3D=3D className || (' ' + =
nodeClassName + ' ').include(needle))=0A=
                    results.push(node);=0A=
            }=0A=
            return results;=0A=
        },=0A=
=0A=
        attrPresence: function(nodes, root, attr, combinator) {=0A=
            if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
            if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
            var results =3D [];=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                if (Element.hasAttribute(node, attr)) results.push(node);=0A=
            return results;=0A=
        },=0A=
=0A=
        attr: function(nodes, root, attr, value, operator, combinator) {=0A=
            if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
            if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
            var handler =3D Selector.operators[operator], results =3D [];=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
                var nodeValue =3D Element.readAttribute(node, attr);=0A=
                if (nodeValue =3D=3D=3D null) continue;=0A=
                if (handler(nodeValue, value)) results.push(node);=0A=
            }=0A=
            return results;=0A=
        },=0A=
=0A=
        pseudo: function(nodes, name, value, root, combinator) {=0A=
            if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
            if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
            return Selector.pseudos[name](nodes, value, root);=0A=
        }=0A=
    },=0A=
=0A=
    pseudos: {=0A=
        'first-child': function(nodes, value, root) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++) {=0A=
                if (Selector.handlers.previousElementSibling(node)) =
continue;=0A=
                results.push(node);=0A=
            }=0A=
            return results;=0A=
        },=0A=
        'last-child': function(nodes, value, root) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++) {=0A=
                if (Selector.handlers.nextElementSibling(node)) continue;=0A=
                results.push(node);=0A=
            }=0A=
            return results;=0A=
        },=0A=
        'only-child': function(nodes, value, root) {=0A=
            var h =3D Selector.handlers;=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))=0A=
                    results.push(node);=0A=
            return results;=0A=
        },=0A=
        'nth-child':        function(nodes, formula, root) {=0A=
            return Selector.pseudos.nth(nodes, formula, root);=0A=
        },=0A=
        'nth-last-child':   function(nodes, formula, root) {=0A=
            return Selector.pseudos.nth(nodes, formula, root, true);=0A=
        },=0A=
        'nth-of-type':      function(nodes, formula, root) {=0A=
            return Selector.pseudos.nth(nodes, formula, root, false, =
true);=0A=
        },=0A=
        'nth-last-of-type': function(nodes, formula, root) {=0A=
            return Selector.pseudos.nth(nodes, formula, root, true, =
true);=0A=
        },=0A=
        'first-of-type':    function(nodes, formula, root) {=0A=
            return Selector.pseudos.nth(nodes, "1", root, false, true);=0A=
        },=0A=
        'last-of-type':     function(nodes, formula, root) {=0A=
            return Selector.pseudos.nth(nodes, "1", root, true, true);=0A=
        },=0A=
        'only-of-type':     function(nodes, formula, root) {=0A=
            var p =3D Selector.pseudos;=0A=
            return p['last-of-type'](p['first-of-type'](nodes, formula, =
root), formula, root);=0A=
        },=0A=
=0A=
        // handles the an+b logic=0A=
        getIndices: function(a, b, total) {=0A=
            if (a =3D=3D 0) return b > 0 ? [b] : [];=0A=
            return $R(1, total).inject([], function(memo, i) {=0A=
                if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) =
memo.push(i);=0A=
                return memo;=0A=
            });=0A=
        },=0A=
=0A=
        // handles nth(-last)-child, nth(-last)-of-type, and =
(first|last)-of-type=0A=
        nth: function(nodes, formula, root, reverse, ofType) {=0A=
            if (nodes.length =3D=3D 0) return [];=0A=
            if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
            if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
            var h =3D Selector.handlers, results =3D [], indexed =3D [], =
m;=0A=
            h.mark(nodes);=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
                if (!node.parentNode._countedByPrototype) {=0A=
                    h.index(node.parentNode, reverse, ofType);=0A=
                    indexed.push(node.parentNode);=0A=
                }=0A=
            }=0A=
            if (formula.match(/^\d+$/)) { // just a number=0A=
                formula =3D Number(formula);=0A=
                for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                    if (node.nodeIndex =3D=3D formula) =
results.push(node);=0A=
            } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) =
{ // an+b=0A=
                if (m[1] =3D=3D "-") m[1] =3D -1;=0A=
                var a =3D m[1] ? Number(m[1]) : 1;=0A=
                var b =3D m[2] ? Number(m[2]) : 0;=0A=
                var indices =3D Selector.pseudos.getIndices(a, b, =
nodes.length);=0A=
                for (var i =3D 0, node, l =3D indices.length; node =3D =
nodes[i]; i++) {=0A=
                    for (var j =3D 0; j < l; j++)=0A=
                        if (node.nodeIndex =3D=3D indices[j]) =
results.push(node);=0A=
                }=0A=
            }=0A=
            h.unmark(nodes);=0A=
            h.unmark(indexed);=0A=
            return results;=0A=
        },=0A=
=0A=
        'empty': function(nodes, value, root) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++) {=0A=
                // IE treats comments as element nodes=0A=
                if (node.tagName =3D=3D '!' || node.firstChild) continue;=0A=
                results.push(node);=0A=
            }=0A=
            return results;=0A=
        },=0A=
=0A=
        'not': function(nodes, selector, root) {=0A=
            var h =3D Selector.handlers, selectorType, m;=0A=
            var exclusions =3D new Selector(selector).findElements(root);=0A=
            h.mark(exclusions);=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                if (!node._countedByPrototype) results.push(node);=0A=
            h.unmark(exclusions);=0A=
            return results;=0A=
        },=0A=
=0A=
        'enabled': function(nodes, value, root) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                if (!node.disabled && (!node.type || node.type !=3D=3D =
'hidden'))=0A=
                    results.push(node);=0A=
            return results;=0A=
        },=0A=
=0A=
        'disabled': function(nodes, value, root) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                if (node.disabled) results.push(node);=0A=
            return results;=0A=
        },=0A=
=0A=
        'checked': function(nodes, value, root) {=0A=
            for (var i =3D 0, results =3D [], node; node =3D nodes[i]; =
i++)=0A=
                if (node.checked) results.push(node);=0A=
            return results;=0A=
        }=0A=
    },=0A=
=0A=
    operators: {=0A=
        '=3D':  function(nv, v) {=0A=
            return nv =3D=3D v;=0A=
        },=0A=
        '!=3D': function(nv, v) {=0A=
            return nv !=3D v;=0A=
        },=0A=
        '^=3D': function(nv, v) {=0A=
            return nv =3D=3D v || nv && nv.startsWith(v);=0A=
        },=0A=
        '$=3D': function(nv, v) {=0A=
            return nv =3D=3D v || nv && nv.endsWith(v);=0A=
        },=0A=
        '*=3D': function(nv, v) {=0A=
            return nv =3D=3D v || nv && nv.include(v);=0A=
        },=0A=
        '$=3D': function(nv, v) {=0A=
            return nv.endsWith(v);=0A=
        },=0A=
        '*=3D': function(nv, v) {=0A=
            return nv.include(v);=0A=
        },=0A=
        '~=3D': function(nv, v) {=0A=
            return (' ' + nv + ' ').include(' ' + v + ' ');=0A=
        },=0A=
        '|=3D': function(nv, v) {=0A=
            return ('-' + (nv || "").toUpperCase() +=0A=
                    '-').include('-' + (v || "").toUpperCase() + '-');=0A=
        }=0A=
    },=0A=
=0A=
    split: function(expression) {=0A=
        var expressions =3D [];=0A=
        expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, =
function(m) {=0A=
            expressions.push(m[1].strip());=0A=
        });=0A=
        return expressions;=0A=
    },=0A=
=0A=
    matchElements: function(elements, expression) {=0A=
        var matches =3D $$(expression), h =3D Selector.handlers;=0A=
        h.mark(matches);=0A=
        for (var i =3D 0, results =3D [], element; element =3D =
elements[i]; i++)=0A=
            if (element._countedByPrototype) results.push(element);=0A=
        h.unmark(matches);=0A=
        return results;=0A=
    },=0A=
=0A=
    findElement: function(elements, expression, index) {=0A=
        if (Object.isNumber(expression)) {=0A=
            index =3D expression;=0A=
            expression =3D false;=0A=
        }=0A=
        return Selector.matchElements(elements, expression || '*')[index =
|| 0];=0A=
    },=0A=
=0A=
    findChildElements: function(element, expressions) {=0A=
        expressions =3D Selector.split(expressions.join(','));=0A=
        var results =3D [], h =3D Selector.handlers;=0A=
        for (var i =3D 0, l =3D expressions.length, selector; i < l; =
i++) {=0A=
            selector =3D new Selector(expressions[i].strip());=0A=
            h.concat(results, selector.findElements(element));=0A=
        }=0A=
        return (l > 1) ? h.unique(results) : results;=0A=
    }=0A=
});=0A=
=0A=
if (Prototype.Browser.IE) {=0A=
    Object.extend(Selector.handlers, {=0A=
        // IE returns comment nodes on getElementsByTagName("*").=0A=
        // Filter them out.=0A=
        concat: function(a, b) {=0A=
            for (var i =3D 0, node; node =3D b[i]; i++)=0A=
                if (node.tagName !=3D=3D "!") a.push(node);=0A=
            return a;=0A=
        },=0A=
=0A=
        // IE improperly serializes _countedByPrototype in =
(inner|outer)HTML.=0A=
        unmark: function(nodes) {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
                node.removeAttribute('_countedByPrototype');=0A=
            return nodes;=0A=
        }=0A=
    });=0A=
}=0A=
=0A=
function $$() {=0A=
    return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
var Form =3D {=0A=
    reset: function(form) {=0A=
        $(form).reset();=0A=
        return form;=0A=
    },=0A=
=0A=
    serializeElements: function(elements, options) {=0A=
        if (typeof options !=3D 'object') options =3D { hash: !!options =
};=0A=
        else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A=
        var key, value, submitted =3D false, submit =3D options.submit;=0A=
=0A=
        var data =3D elements.inject({ }, function(result, element) {=0A=
            if (!element.disabled && element.name) {=0A=
                key =3D element.name;=0A=
                value =3D $(element).getValue();=0A=
                if (value !=3D null && element.type !=3D 'file' && =
(element.type !=3D 'submit' || (!submitted &&=0A=
                                                                         =
                    submit !=3D=3D false && (!submit || key =3D=3D =
submit) && (submitted =3D true)))) {=0A=
                    if (key in result) {=0A=
                        // a key is already present; construct an array =
of values=0A=
                        if (!Object.isArray(result[key])) result[key] =
=3D [result[key]];=0A=
                        result[key].push(value);=0A=
                    }=0A=
                    else result[key] =3D value;=0A=
                }=0A=
            }=0A=
            return result;=0A=
        });=0A=
=0A=
        return options.hash ? data : Object.toQueryString(data);=0A=
    }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
    serialize: function(form, options) {=0A=
        return Form.serializeElements(Form.getElements(form), options);=0A=
    },=0A=
=0A=
    getElements: function(form) {=0A=
        return $A($(form).getElementsByTagName('*')).inject([],=0A=
                function(elements, child) {=0A=
                    if =
(Form.Element.Serializers[child.tagName.toLowerCase()])=0A=
                        elements.push(Element.extend(child));=0A=
                    return elements;=0A=
                }=0A=
                );=0A=
    },=0A=
=0A=
    getInputs: function(form, typeName, name) {=0A=
        form =3D $(form);=0A=
        var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
        if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
        for (var i =3D 0, matchingInputs =3D [], length =3D =
inputs.length; i < length; i++) {=0A=
            var input =3D inputs[i];=0A=
            if ((typeName && input.type !=3D typeName) || (name && =
input.name !=3D name))=0A=
                continue;=0A=
            matchingInputs.push(Element.extend(input));=0A=
        }=0A=
=0A=
        return matchingInputs;=0A=
    },=0A=
=0A=
    disable: function(form) {=0A=
        form =3D $(form);=0A=
        Form.getElements(form).invoke('disable');=0A=
        return form;=0A=
    },=0A=
=0A=
    enable: function(form) {=0A=
        form =3D $(form);=0A=
        Form.getElements(form).invoke('enable');=0A=
        return form;=0A=
    },=0A=
=0A=
    findFirstElement: function(form) {=0A=
        var elements =3D $(form).getElements().findAll(function(element) =
{=0A=
            return 'hidden' !=3D element.type && !element.disabled;=0A=
        });=0A=
        var firstByIndex =3D elements.findAll(function(element) {=0A=
            return element.hasAttribute('tabIndex') && element.tabIndex =
>=3D 0;=0A=
        }).sortBy(function(element) {=0A=
            return element.tabIndex=0A=
        }).first();=0A=
=0A=
        return firstByIndex ? firstByIndex : =
elements.find(function(element) {=0A=
            return ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());=0A=
        });=0A=
    },=0A=
=0A=
    focusFirstElement: function(form) {=0A=
        form =3D $(form);=0A=
        form.findFirstElement().activate();=0A=
        return form;=0A=
    },=0A=
=0A=
    request: function(form, options) {=0A=
        form =3D $(form),options =3D Object.clone(options || { });=0A=
=0A=
        var params =3D options.parameters, action =3D =
form.readAttribute('action') || '';=0A=
        if (action.blank()) action =3D window.location.href;=0A=
        options.parameters =3D form.serialize(true);=0A=
=0A=
        if (params) {=0A=
            if (Object.isString(params)) params =3D =
params.toQueryParams();=0A=
            Object.extend(options.parameters, params);=0A=
        }=0A=
=0A=
        if (form.hasAttribute('method') && !options.method)=0A=
            options.method =3D form.method;=0A=
=0A=
        return new Ajax.Request(action, options);=0A=
    }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element =3D {=0A=
    focus: function(element) {=0A=
        $(element).focus();=0A=
        return element;=0A=
    },=0A=
=0A=
    select: function(element) {=0A=
        $(element).select();=0A=
        return element;=0A=
    }=0A=
};=0A=
=0A=
Form.Element.Methods =3D {=0A=
    serialize: function(element) {=0A=
        element =3D $(element);=0A=
        if (!element.disabled && element.name) {=0A=
            var value =3D element.getValue();=0A=
            if (value !=3D undefined) {=0A=
                var pair =3D { };=0A=
                pair[element.name] =3D value;=0A=
                return Object.toQueryString(pair);=0A=
            }=0A=
        }=0A=
        return '';=0A=
    },=0A=
=0A=
    getValue: function(element) {=0A=
        element =3D $(element);=0A=
        var method =3D element.tagName.toLowerCase();=0A=
        return Form.Element.Serializers[method](element);=0A=
    },=0A=
=0A=
    setValue: function(element, value) {=0A=
        element =3D $(element);=0A=
        var method =3D element.tagName.toLowerCase();=0A=
        Form.Element.Serializers[method](element, value);=0A=
        return element;=0A=
    },=0A=
=0A=
    clear: function(element) {=0A=
        $(element).value =3D '';=0A=
        return element;=0A=
    },=0A=
=0A=
    present: function(element) {=0A=
        return $(element).value !=3D '';=0A=
    },=0A=
=0A=
    activate: function(element) {=0A=
        element =3D $(element);=0A=
        try {=0A=
            element.focus();=0A=
            if (element.select && (element.tagName.toLowerCase() !=3D =
'input' ||=0A=
                                   !['button', 'reset', =
'submit'].include(element.type)))=0A=
                element.select();=0A=
        } catch (e) {=0A=
        }=0A=
        return element;=0A=
    },=0A=
=0A=
    disable: function(element) {=0A=
        element =3D $(element);=0A=
        element.disabled =3D true;=0A=
        return element;=0A=
    },=0A=
=0A=
    enable: function(element) {=0A=
        element =3D $(element);=0A=
        element.disabled =3D false;=0A=
        return element;=0A=
    }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
    input: function(element, value) {=0A=
        switch (element.type.toLowerCase()) {=0A=
            case 'checkbox':=0A=
            case 'radio':=0A=
                return Form.Element.Serializers.inputSelector(element, =
value);=0A=
            default:=0A=
                return Form.Element.Serializers.textarea(element, value);=0A=
        }=0A=
    },=0A=
=0A=
    inputSelector: function(element, value) {=0A=
        if (Object.isUndefined(value)) return element.checked ? =
element.value : null;=0A=
        else element.checked =3D !!value;=0A=
    },=0A=
=0A=
    textarea: function(element, value) {=0A=
        if (Object.isUndefined(value)) return element.value;=0A=
        else element.value =3D value;=0A=
    },=0A=
=0A=
    select: function(element, value) {=0A=
        if (Object.isUndefined(value))=0A=
            return this[element.type =3D=3D 'select-one' ?=0A=
                        'selectOne' : 'selectMany'](element);=0A=
        else {=0A=
            var opt, currentValue, single =3D !Object.isArray(value);=0A=
            for (var i =3D 0, length =3D element.length; i < length; =
i++) {=0A=
                opt =3D element.options[i];=0A=
                currentValue =3D this.optionValue(opt);=0A=
                if (single) {=0A=
                    if (currentValue =3D=3D value) {=0A=
                        opt.selected =3D true;=0A=
                        return;=0A=
                    }=0A=
                }=0A=
                else opt.selected =3D value.include(currentValue);=0A=
            }=0A=
        }=0A=
    },=0A=
=0A=
    selectOne: function(element) {=0A=
        var index =3D element.selectedIndex;=0A=
        return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
    },=0A=
=0A=
    selectMany: function(element) {=0A=
        var values, length =3D element.length;=0A=
        if (!length) return null;=0A=
=0A=
        for (var i =3D 0, values =3D []; i < length; i++) {=0A=
            var opt =3D element.options[i];=0A=
            if (opt.selected) values.push(this.optionValue(opt));=0A=
        }=0A=
        return values;=0A=
    },=0A=
=0A=
    optionValue: function(opt) {=0A=
        // extend element because hasAttribute may not be native=0A=
        return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
    }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A=
    initialize: function($super, element, frequency, callback) {=0A=
        $super(callback, frequency);=0A=
        this.element =3D $(element);=0A=
        this.lastValue =3D this.getValue();=0A=
    },=0A=
=0A=
    execute: function() {=0A=
        var value =3D this.getValue();=0A=
        if (Object.isString(this.lastValue) && Object.isString(value) ?=0A=
            this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value)) {=0A=
            this.callback(this.element, value);=0A=
            this.lastValue =3D value;=0A=
        }=0A=
    }=0A=
});=0A=
=0A=
Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
    getValue: function() {=0A=
        return Form.Element.getValue(this.element);=0A=
    }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
    getValue: function() {=0A=
        return Form.serialize(this.element);=0A=
    }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D Class.create({=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=
        Form.getElements(this.element).each(this.registerCallback, this);=0A=
    },=0A=
=0A=
    registerCallback: function(element) {=0A=
        if (element.type) {=0A=
            switch (element.type.toLowerCase()) {=0A=
                case 'checkbox':=0A=
                case 'radio':=0A=
                    Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
                    break;=0A=
                default:=0A=
                    Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
                    break;=0A=
            }=0A=
        }=0A=
    }=0A=
});=0A=
=0A=
Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
    getValue: function() {=0A=
        return Form.Element.getValue(this.element);=0A=
    }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
    getValue: function() {=0A=
        return Form.serialize(this.element);=0A=
    }=0A=
});=0A=
if (!window.Event) var Event =3D { };=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=
    KEY_HOME:     36,=0A=
    KEY_END:      35,=0A=
    KEY_PAGEUP:   33,=0A=
    KEY_PAGEDOWN: 34,=0A=
    KEY_INSERT:   45,=0A=
=0A=
    cache: { },=0A=
=0A=
    relatedTarget: function(event) {=0A=
        var element;=0A=
        switch (event.type) {=0A=
            case 'mouseover': element =3D event.fromElement; break;=0A=
            case 'mouseout':  element =3D event.toElement;   break;=0A=
            default: return null;=0A=
        }=0A=
        return Element.extend(element);=0A=
    }=0A=
});=0A=
=0A=
Event.Methods =3D (function() {=0A=
    var isButton;=0A=
=0A=
    if (Prototype.Browser.IE) {=0A=
        var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A=
        isButton =3D function(event, code) {=0A=
            return event.button =3D=3D buttonMap[code];=0A=
        };=0A=
=0A=
    } else if (Prototype.Browser.WebKit) {=0A=
        isButton =3D function(event, code) {=0A=
            switch (code) {=0A=
                case 0: return event.which =3D=3D 1 && !event.metaKey;=0A=
                case 1: return event.which =3D=3D 1 && event.metaKey;=0A=
                default: return false;=0A=
            }=0A=
        };=0A=
=0A=
    } else {=0A=
        isButton =3D function(event, code) {=0A=
            return event.which ? (event.which =3D=3D=3D code + 1) : =
(event.button =3D=3D=3D code);=0A=
        };=0A=
    }=0A=
=0A=
    return {=0A=
        isLeftClick:   function(event) {=0A=
            return isButton(event, 0)=0A=
        },=0A=
        isMiddleClick: function(event) {=0A=
            return isButton(event, 1)=0A=
        },=0A=
        isRightClick:  function(event) {=0A=
            return isButton(event, 2)=0A=
        },=0A=
=0A=
        element: function(event) {=0A=
            event =3D Event.extend(event);=0A=
=0A=
            var node =3D event.target,=0A=
                    type =3D event.type,=0A=
                    currentTarget =3D event.currentTarget;=0A=
=0A=
            if (currentTarget && currentTarget.tagName) {=0A=
                // Firefox screws up the "click" event when moving =
between radio buttons=0A=
                // via arrow keys. It also screws up the "load" and =
"error" events on images,=0A=
                // reporting the document as the target instead of the =
original image.=0A=
                if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A=
                    (type =3D=3D=3D 'click' && =
currentTarget.tagName.toLowerCase() =3D=3D=3D 'input'=0A=
                            && currentTarget.type =3D=3D=3D 'radio'))=0A=
                    node =3D currentTarget;=0A=
            }=0A=
            if (node.nodeType =3D=3D Node.TEXT_NODE) node =3D =
node.parentNode;=0A=
            return Element.extend(node);=0A=
        },=0A=
=0A=
        findElement: function(event, expression) {=0A=
            var element =3D Event.element(event);=0A=
            if (!expression) return element;=0A=
            var elements =3D [element].concat(element.ancestors());=0A=
            return Selector.findElement(elements, expression, 0);=0A=
        },=0A=
=0A=
        pointer: function(event) {=0A=
            var docElement =3D document.documentElement,=0A=
                    body =3D document.body || { scrollLeft: 0, =
scrollTop: 0 };=0A=
            return {=0A=
                x: event.pageX || (event.clientX +=0A=
                                   (docElement.scrollLeft || =
body.scrollLeft) -=0A=
                                   (docElement.clientLeft || 0)),=0A=
                y: event.pageY || (event.clientY +=0A=
                                   (docElement.scrollTop || =
body.scrollTop) -=0A=
                                   (docElement.clientTop || 0))=0A=
            };=0A=
        },=0A=
=0A=
        pointerX: function(event) {=0A=
            return Event.pointer(event).x=0A=
        },=0A=
        pointerY: function(event) {=0A=
            return Event.pointer(event).y=0A=
        },=0A=
=0A=
        stop: function(event) {=0A=
            Event.extend(event);=0A=
            event.preventDefault();=0A=
            event.stopPropagation();=0A=
            event.stopped =3D true;=0A=
        }=0A=
    };=0A=
})();=0A=
=0A=
Event.extend =3D (function() {=0A=
    var methods =3D Object.keys(Event.Methods).inject({ }, function(m, =
name) {=0A=
        m[name] =3D Event.Methods[name].methodize();=0A=
        return m;=0A=
    });=0A=
=0A=
    if (Prototype.Browser.IE) {=0A=
        Object.extend(methods, {=0A=
            stopPropagation: function() {=0A=
                this.cancelBubble =3D true=0A=
            },=0A=
            preventDefault:  function() {=0A=
                this.returnValue =3D false=0A=
            },=0A=
            inspect: function() {=0A=
                return "[object Event]"=0A=
            }=0A=
        });=0A=
=0A=
        return function(event) {=0A=
            if (!event) return false;=0A=
            if (event._extendedByPrototype) return event;=0A=
=0A=
            event._extendedByPrototype =3D Prototype.emptyFunction;=0A=
            var pointer =3D Event.pointer(event);=0A=
            Object.extend(event, {=0A=
                target: event.srcElement,=0A=
                relatedTarget: Event.relatedTarget(event),=0A=
                pageX:  pointer.x,=0A=
                pageY:  pointer.y=0A=
            });=0A=
            return Object.extend(event, methods);=0A=
        };=0A=
=0A=
    } else {=0A=
        Event.prototype =3D Event.prototype || =
document.createEvent("HTMLEvents")['__proto__'];=0A=
        Object.extend(Event.prototype, methods);=0A=
        return Prototype.K;=0A=
    }=0A=
})();=0A=
=0A=
Object.extend(Event, (function() {=0A=
    var cache =3D Event.cache;=0A=
=0A=
    function getEventID(element) {=0A=
//        if (element !=3D null) {=0A=
            if (element._prototypeEventID) return =
element._prototypeEventID[0];=0A=
            arguments.callee.id =3D arguments.callee.id || 1;=0A=
            return element._prototypeEventID =3D [++arguments.callee.id];=0A=
//        }=0A=
//        return null;=0A=
    }=0A=
=0A=
    function getDOMEventName(eventName) {=0A=
        if (eventName && eventName.include(':')) return "dataavailable";=0A=
        return eventName;=0A=
    }=0A=
=0A=
    function getCacheForID(id) {=0A=
        return cache[id] =3D cache[id] || { };=0A=
    }=0A=
=0A=
    function getWrappersForEventName(id, eventName) {=0A=
        var c =3D getCacheForID(id);=0A=
        return c[eventName] =3D c[eventName] || [];=0A=
    }=0A=
=0A=
    function createWrapper(element, eventName, handler) {=0A=
        var id =3D getEventID(element);=0A=
        var c =3D getWrappersForEventName(id, eventName);=0A=
        if (c.pluck("handler").include(handler)) return false;=0A=
=0A=
        var wrapper =3D function(event) {=0A=
            if (!Event || !Event.extend ||=0A=
                (event.eventName && event.eventName !=3D eventName))=0A=
                return false;=0A=
=0A=
            Event.extend(event);=0A=
            handler.call(element, event);=0A=
        };=0A=
=0A=
        wrapper.handler =3D handler;=0A=
        c.push(wrapper);=0A=
        return wrapper;=0A=
    }=0A=
=0A=
    function findWrapper(id, eventName, handler) {=0A=
        var c =3D getWrappersForEventName(id, eventName);=0A=
        return c.find(function(wrapper) {=0A=
            return wrapper.handler =3D=3D handler=0A=
        });=0A=
    }=0A=
=0A=
    function destroyWrapper(id, eventName, handler) {=0A=
        var c =3D getCacheForID(id);=0A=
        if (!c[eventName]) return false;=0A=
        c[eventName] =3D c[eventName].without(findWrapper(id, eventName, =
handler));=0A=
    }=0A=
=0A=
    function destroyCache() {=0A=
        for (var id in cache)=0A=
            for (var eventName in cache[id])=0A=
                cache[id][eventName] =3D null;=0A=
    }=0A=
=0A=
=0A=
    // Internet Explorer needs to remove event handlers on page unload=0A=
    // in order to avoid memory leaks.=0A=
    if (window.attachEvent) {=0A=
        window.attachEvent("onunload", destroyCache);=0A=
    }=0A=
=0A=
    // Safari has a dummy event handler on page unload so that it won't=0A=
    // use its bfcache. Safari <=3D 3.1 has an issue with restoring the =
"document"=0A=
    // object when page is returned to via the back button using its =
bfcache.=0A=
    if (Prototype.Browser.WebKit) {=0A=
        window.addEventListener('unload', Prototype.emptyFunction, =
false);=0A=
    }=0A=
=0A=
    return {=0A=
        observe: function(element, eventName, handler) {=0A=
            element =3D $(element);=0A=
            var name =3D getDOMEventName(eventName);=0A=
=0A=
            var wrapper =3D createWrapper(element, eventName, handler);=0A=
            if (!wrapper) return element;=0A=
=0A=
            if (element.addEventListener) {=0A=
                element.addEventListener(name, wrapper, false);=0A=
            } else {=0A=
                element.attachEvent("on" + name, wrapper);=0A=
            }=0A=
=0A=
            return element;=0A=
        },=0A=
=0A=
        stopObserving: function(element, eventName, handler) {=0A=
            element =3D $(element);=0A=
            var id =3D getEventID(element), name =3D =
getDOMEventName(eventName);=0A=
=0A=
            if (!handler && eventName) {=0A=
                getWrappersForEventName(id, =
eventName).each(function(wrapper) {=0A=
                    element.stopObserving(eventName, wrapper.handler);=0A=
                });=0A=
                return element;=0A=
=0A=
            } else if (!eventName) {=0A=
                Object.keys(getCacheForID(id)).each(function(eventName) {=0A=
                    element.stopObserving(eventName);=0A=
                });=0A=
                return element;=0A=
            }=0A=
=0A=
            var wrapper =3D findWrapper(id, eventName, handler);=0A=
            if (!wrapper) return element;=0A=
=0A=
            if (element.removeEventListener) {=0A=
                element.removeEventListener(name, wrapper, false);=0A=
            } else {=0A=
                element.detachEvent("on" + name, wrapper);=0A=
            }=0A=
=0A=
            destroyWrapper(id, eventName, handler);=0A=
=0A=
            return element;=0A=
        },=0A=
=0A=
        fire: function(element, eventName, memo) {=0A=
            element =3D $(element);=0A=
            if (element =3D=3D document && document.createEvent && =
!element.dispatchEvent)=0A=
                element =3D document.documentElement;=0A=
=0A=
            var event;=0A=
            if (document.createEvent) {=0A=
                event =3D document.createEvent("HTMLEvents");=0A=
                event.initEvent("dataavailable", true, true);=0A=
            } else {=0A=
                event =3D document.createEventObject();=0A=
                event.eventType =3D "ondataavailable";=0A=
            }=0A=
=0A=
            event.eventName =3D eventName;=0A=
            event.memo =3D memo || { };=0A=
=0A=
            if (document.createEvent) {=0A=
                element.dispatchEvent(event);=0A=
            } else {=0A=
                element.fireEvent(event.eventType, event);=0A=
            }=0A=
=0A=
            return Event.extend(event);=0A=
        }=0A=
    };=0A=
})());=0A=
=0A=
Object.extend(Event, Event.Methods);=0A=
=0A=
Element.addMethods({=0A=
    fire:          Event.fire,=0A=
    observe:       Event.observe,=0A=
    stopObserving: Event.stopObserving=0A=
});=0A=
=0A=
Object.extend(document, {=0A=
    fire:          Element.Methods.fire.methodize(),=0A=
    observe:       Element.Methods.observe.methodize(),=0A=
    stopObserving: Element.Methods.stopObserving.methodize(),=0A=
    loaded:        false=0A=
});=0A=
=0A=
(function() {=0A=
    /* Support for the DOMContentLoaded event is based on work by Dan =
Webb,=0A=
     Matthias Miller, Dean Edwards and John Resig. */=0A=
=0A=
    var timer;=0A=
=0A=
    function fireContentLoadedEvent() {=0A=
        if (document.loaded) return;=0A=
        if (timer) window.clearInterval(timer);=0A=
        document.fire("dom:loaded");=0A=
        document.loaded =3D true;=0A=
    }=0A=
=0A=
    if (document.addEventListener) {=0A=
        if (Prototype.Browser.WebKit) {=0A=
            timer =3D window.setInterval(function() {=0A=
                if (/loaded|complete/.test(document.readyState))=0A=
                    fireContentLoadedEvent();=0A=
            }, 0);=0A=
=0A=
            Event.observe(window, "load", fireContentLoadedEvent);=0A=
=0A=
        } else {=0A=
            document.addEventListener("DOMContentLoaded",=0A=
                    fireContentLoadedEvent, false);=0A=
        }=0A=
=0A=
    } else {=0A=
        document.write("<script id=3D__onDOMContentLoaded defer =
src=3D//:><\/script>");=0A=
        $("__onDOMContentLoaded").onreadystatechange =3D function() {=0A=
            if (this.readyState =3D=3D "complete") {=0A=
                this.onreadystatechange =3D null;=0A=
                fireContentLoadedEvent();=0A=
            }=0A=
        };=0A=
    }=0A=
})();=0A=
/*------------------------------- DEPRECATED =
-------------------------------*/=0A=
=0A=
Hash.toQueryString =3D Object.toQueryString;=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
Element.Methods.childOf =3D Element.Methods.descendantOf;=0A=
=0A=
var Insertion =3D {=0A=
    Before: function(element, content) {=0A=
        return Element.insert(element, {before:content});=0A=
    },=0A=
=0A=
    Top: function(element, content) {=0A=
        return Element.insert(element, {top:content});=0A=
    },=0A=
=0A=
    Bottom: function(element, content) {=0A=
        return Element.insert(element, {bottom:content});=0A=
    },=0A=
=0A=
    After: function(element, content) {=0A=
        return Element.insert(element, {after:content});=0A=
    }=0A=
};=0A=
=0A=
var $continue =3D new Error('"throw $continue" is deprecated, use =
"return" instead');=0A=
=0A=
// This should be moved to script.aculo.us; notice the deprecated methods=0A=
// further below, that map to the newer Element methods.=0A=
var Position =3D {=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=
    // 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 Element.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 Element.cumulativeScrollOffset(element);=0A=
=0A=
        this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
        this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
        this.offset =3D Element.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=
    // Deprecation layer -- use newer Element methods now (1.5.2).=0A=
=0A=
    cumulativeOffset: Element.Methods.cumulativeOffset,=0A=
=0A=
    positionedOffset: Element.Methods.positionedOffset,=0A=
=0A=
    absolutize: function(element) {=0A=
        Position.prepare();=0A=
        return Element.absolutize(element);=0A=
    },=0A=
=0A=
    relativize: function(element) {=0A=
        Position.prepare();=0A=
        return Element.relativize(element);=0A=
    },=0A=
=0A=
    realOffset: Element.Methods.cumulativeScrollOffset,=0A=
=0A=
    offsetParent: Element.Methods.getOffsetParent,=0A=
=0A=
    page: Element.Methods.viewportOffset,=0A=
=0A=
    clone: function(source, target, options) {=0A=
        options =3D options || { };=0A=
        return Element.clonePosition(target, source, options);=0A=
    }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!document.getElementsByClassName) document.getElementsByClassName =
=3D function(instanceMethods) {=0A=
    function iter(name) {=0A=
        return name.blank() ? null : "[contains(concat(' ', @class, ' =
'), ' " + name + " ')]";=0A=
    }=0A=
=0A=
    instanceMethods.getElementsByClassName =3D =
Prototype.BrowserFeatures.XPath ?=0A=
                                             function(element, =
className) {=0A=
                                                 className =3D =
className.toString().strip();=0A=
                                                 var cond =3D =
/\s/.test(className) ? $w(className).map(iter).join('') : =
iter(className);=0A=
                                                 return cond ? =
document._getElementsByXPath('.//*' + cond, element) : [];=0A=
                                             } : function(element, =
className) {=0A=
        className =3D className.toString().strip();=0A=
        var elements =3D [], classNames =3D (/\s/.test(className) ? =
$w(className) : null);=0A=
        if (!classNames && !className) return elements;=0A=
=0A=
        var nodes =3D $(element).getElementsByTagName('*');=0A=
        className =3D ' ' + className + ' ';=0A=
=0A=
        for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A=
            if (child.className && (cn =3D ' ' + child.className + ' ') =
&& (cn.include(className) ||=0A=
                                                                         =
 (classNames && classNames.all(function(name) {=0A=
                                                                         =
     return !name.toString().blank() && cn.include(' ' + name + ' ');=0A=
                                                                         =
 }))))=0A=
                elements.push(Element.extend(child));=0A=
        }=0A=
        return elements;=0A=
    };=0A=
=0A=
    return function(className, parentElement) {=0A=
        return $(parentElement || =
document.body).getElementsByClassName(className);=0A=
    };=0A=
}(Element.Methods);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
    initialize: function(element) {=0A=
        this.element =3D $(element);=0A=
    },=0A=
=0A=
    _each: function(iterator) {=0A=
        this.element.className.split(/\s+/).select(function(name) {=0A=
            return name.length > 0;=0A=
        })._each(iterator);=0A=
    },=0A=
=0A=
    set: function(className) {=0A=
        this.element.className =3D className;=0A=
    },=0A=
=0A=
    add: function(classNameToAdd) {=0A=
        if (this.include(classNameToAdd)) return;=0A=
        this.set($A(this).concat(classNameToAdd).join(' '));=0A=
    },=0A=
=0A=
    remove: function(classNameToRemove) {=0A=
        if (!this.include(classNameToRemove)) return;=0A=
        this.set($A(this).without(classNameToRemove).join(' '));=0A=
    },=0A=
=0A=
    toString: function() {=0A=
        return $A(this).join(' ');=0A=
    }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.addMethods();
------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.optoiq.com/javascript/scriptaculous.js?load=effects

// script.aculo.us scriptaculous.js v1.8.1, Thu Jan 03 22:07:12 -0500 =
2008=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
// =0A=
// Permission is hereby granted, free of charge, to any person obtaining=0A=
// a copy of this software and associated documentation files (the=0A=
// "Software"), to deal in the Software without restriction, including=0A=
// without limitation the rights to use, copy, modify, merge, publish,=0A=
// distribute, sublicense, and/or sell copies of the Software, and to=0A=
// permit persons to whom the Software is furnished to do so, subject to=0A=
// the following conditions:=0A=
// =0A=
// The above copyright notice and this permission notice shall be=0A=
// included in all copies or substantial portions of the Software.=0A=
//=0A=
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A=
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A=
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A=
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A=
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A=
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A=
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A=
//=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
var Scriptaculous =3D {=0A=
  Version: '1.8.1',=0A=
  require: function(libraryName) {=0A=
    // inserting via DOM fails in Safari 2.0, so brute force approach=0A=
    document.write('<script type=3D"text/javascript" =
src=3D"'+libraryName+'"><\/script>');=0A=
  },=0A=
  REQUIRED_PROTOTYPE: '1.6.0',=0A=
  load: function() {=0A=
    function convertVersionString(versionString){=0A=
      var r =3D versionString.split('.');=0A=
      return parseInt(r[0])*100000 + parseInt(r[1])*1000 + =
parseInt(r[2]);=0A=
    }=0A=
 =0A=
    if((typeof Prototype=3D=3D'undefined') || =0A=
       (typeof Element =3D=3D 'undefined') || =0A=
       (typeof Element.Methods=3D=3D'undefined') ||=0A=
       (convertVersionString(Prototype.Version) < =0A=
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))=0A=
       throw("script.aculo.us requires the Prototype JavaScript =
framework >=3D " +=0A=
        Scriptaculous.REQUIRED_PROTOTYPE);=0A=
    =0A=
    $A(document.getElementsByTagName("script")).findAll( function(s) {=0A=
      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))=0A=
    }).each( function(s) {=0A=
      var path =3D s.src.replace(/scriptaculous\.js(\?.*)?$/,'');=0A=
      var includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A=
      (includes ? includes[1] : =
'builder,effects,dragdrop,controls,slider,sound').split(',').each(=0A=
       function(include) { Scriptaculous.require(path+include+'.js') });=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
Scriptaculous.load();
------=_NextPart_000_008E_01CAB2EF.8E64A990
Content-Type: application/octet
