<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Game Central</title>
	<atom:link href="http://game-central.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://game-central.org</link>
	<description>A new home for PC gamers</description>
	<lastBuildDate>Mon, 08 Feb 2010 01:41:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GCP &#8211; Episode 76</title>
		<link>http://game-central.org/2010/podcasts/gcp-episode-76/</link>
		<comments>http://game-central.org/2010/podcasts/gcp-episode-76/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 01:41:14 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=8194</guid>
		<description><![CDATA[On this week's GCP, we discuss space vaginas.]]></description>
			<content:encoded><![CDATA[<p>On this week&#8217;s GCP, we discuss: <em>Arcanum</em> on <a href="http://www.gog.com/en/frontpage/pp/d02560dd9d7db4467627745bd6701e809ffca6e3">GOG</a>, space vaginas, the <em>Aliens vs. Predator</em> demo, <em>Mass Effect 2</em> impressions, <em>BioShock 2</em> hopes and <em>Bad Company 2</em>. We take a look at DLC in PC gaming; does it help or hinder? Finally, &#8220;Truthiness or Falsity.&#8221;</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_76.mp3" rel="shadowbox[post-8194];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_76.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/podcasts/gcp-episode-76/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_76.mp3" length="37415706" type="audio/mpeg" />
		</item>
		<item>
		<title>Abolish the Good &amp; Evil Meter</title>
		<link>http://game-central.org/2010/editorials/abolish-the-good-evil-meter/</link>
		<comments>http://game-central.org/2010/editorials/abolish-the-good-evil-meter/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 16:23:56 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Havoc]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=8165</guid>
		<description><![CDATA[Shouldn’t a given action speak for itself?]]></description>
			<content:encoded><![CDATA[<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 10px; float: right;"><a href="http://images.game-central.org/editorials/goodevil/goodevil1.jpg" rel="shadowbox[post-8165];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goodevil/goodevil1.jpg" alt="Phrases" width="275" height="250" /></a><br />
<strong>If passing atrocious gas is considered evil, then you can<br />
call Shepard &#8220;El Diablo Grande.&#8221;</strong></div>
<p>Paragon or Renegade, Jedi or Sith, Angel or Demon… are great PC titles truly so morally polarizing? The ongoing trend seems to suggest so. For a while, I never questioned this dynamic. Seemed natural. You blast kindly old ladies in the abdomens with quadruple-barreled napalm-missile guns, you get a slight nudge in the ol&#8217; evil dial. Makes sense. At first, at least.</p>
<p>But shouldn’t a given action speak for itself? Why do we need a right &amp; wrong thermostat in our inventory to affirm our in-game activities and dispositions? Good and evil meters are an artificially imposed visual teddy bear &#8211; something to comfortably latch onto to verify a set of imposed assumptions. Utilizing such a rigidly judgmental barometer is fatally formulaic. As the protagonist (or possibly, antagonist), I want to do what<em> I</em> think is right or wrong, not what the <em>developer</em> thinks is right or wrong. There&#8217;s no need for a concrete confirmation of either option. And know what? Gamers are smarter than that, and we could prove it, if only allowed a benefit of the doubt.</p>
<p>Rescue the chick in the tower, or let her burn. Insult the bartender&#8217;s heritage, or give him a verbal pat on the back. Nuke-a-blast a peaceful town, or arrest the man in black &#8211; all with on-screen discernible tallies of &#8220;You barkin&#8217; up the bad guy tree par&#8217;ner!&#8221; or, &#8221; You playin&#8217; an encore of some good guy jazz, son!&#8221; Is everlasting redundancy in ethical execution really the best a game can do? Far too often, we choose a path (The Dark Side of the Force, for example) and our choices become a narrative and pictorial version of iambic pentameter: droning and numbing all along the way. And for the most part, we&#8217;re comfortable with this (and occasionally praising).</p>
<p>Until a thunderclap wakes us from our catatonic slumbers. The explosion of awareness jolted me earlier today, while I re-watched the <em>Battlestar Galactica</em> mini-series. Lee Adama warns the President that a Cylon attack is imminent on the remaining fleet. Problem is, only two thirds of the ships can escape to safety via an FTL jump (which is really just <em>BSG</em>-speak for: &#8220;Get the crap out of there really really quickly.&#8221;). The other spacecraft don’t have the engineering guts required for the jump process, and there&#8217;s no time to ferry the passengers to the ships that do. President Roslin has to make a hasty decision. She elects to leave the others behind to save the rest. She chooses safety over risk.</p>
<p>So, for sake of argument, let&#8217;s say that this exact same situation presents itself to us in <em>Mass Effect 7: Shepard&#8217;s Bad Back</em>. Precisely where would Roslin&#8217;s course of action fall under the inflexible Paragon / Renegade scale? Is leaving behind a third of the fleet in fear of complete annihilation an evil act? Or is noble? Is it *gasp* something<em> in-between</em>? As a viewer to <em>Battlestar Galactica</em>, it&#8217;s up to <em>you</em> to decide. And that&#8217;s the way it should be. It&#8217;s time PC games took a hint.</p>
<p>See, the best villains and heroes are the ones that identify themselves with the audience, or in the vehicle of PC gaming, the operators. And what&#8217;s a tangible and identifiable human feature? It&#8217;s blurring the lines between a typical societal assumption of right and wrong; it&#8217;s permitting the individual beholder to exercise their own conclusions based off their own perceptions. It&#8217;s freeing the players&#8217; minds to conclude for themselves that which is ethically objectionable or behaviorally appropriate.</p>
<p>Indeed, the most rewarding moral choices are the ones that border on inconclusive. And here and there, we&#8217;ve seen some notable attempted deviations from the binary blueprint. <a href="http://game-central.org/2010/reviews/divinity-ii-ego-draconis-review/"><em>Divinity II</em></a> contained a sprinkling of hope early on, but utilized the bad choice / good choice selections far too frequently thereafter to really shine.</p>
<p>Hey devs? We&#8217;re grownups now. We&#8217;re big boys and girls. We don’t need  training wheels for selective conduct causality. Let us judge for ourselves which courses of action merit which moral labels. Keep making your awesome games, yes; but let&#8217;s allow the deeds to unfold without the plastic good and evil gauges, &#8216;kay? Movies don’t have them, books don&#8217;t have them, and neither should games. Here&#8217;s to hoping this becomes an axiom.</p>
<p>But yeah, all that being said, if you consider dancing on defenseless monkeys&#8217; faces with soccer cleats as a moral gray area, please seek professional help.﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/abolish-the-good-evil-meter/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>TF2 Updates: In Flagrante Delicto</title>
		<link>http://game-central.org/2010/editorials/tf2-updates-in-flagrante-delicto/</link>
		<comments>http://game-central.org/2010/editorials/tf2-updates-in-flagrante-delicto/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 02:20:20 +0000</pubDate>
		<dc:creator>Shaun R.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7846</guid>
		<description><![CDATA[TF2 class updates: Yay or nay?]]></description>
			<content:encoded><![CDATA[<h3><strong><span style="color: #000000;">*Editor&#8217;s Note. (Or, &#8220;<em>TF2 Updates: In Flagrante Delicto</em>, V1.1 Article Patch.&#8221;)</span></strong></h3>
<p><span style="color: #000000;">We goofed! As many have already pointed out, there are a few areas in the article that were reported incorrectly. See below for the updated info, and thanks for the feedback! Mostly, we blame the economy. And boats.</span></p>
<ul>
<li><span style="color: #000000;">Blutsauger contains the same rate of fire as the standard needle-gun.</span></li>
<li><span style="color: #000000;">Natascha contains the same cyclic rate of fire as the standard mini-gun.</span></li>
<li><span style="color: #000000;">Natascha contains the same amount of ammo as the standard mini-gun.</span></li>
<li><span style="color: #000000;">The Razorback no longer slows the Sniper&#8217;s movement speed.</span></li>
<li><span style="color: #000000;">Buff Banner, when activated, last for 10 total seconds, not 14.</span></li>
<li><span style="color: #000000;">Axtinguisher hits result in half the normal damage of the standard Pyro axe if an opponent isn&#8217;t on fire.</span></li>
</ul>
<p>An interesting thing happened to me this past month. For over a year I&#8217;ve been in Valve’s corner promoting their use of class updates to keep <em>Team Fortress 2</em> (<em>TF2</em>) fresh. I commended them for their dedication to the community and a now older game. Despite a barrage of <a href="http://game-central.org/2009/editorials/team-fortress-2-unlocks-a-modest-proposal/">jokes and stabs at the new armaments</a>, I yelled at my online colleagues for criticizing Valve on giving us more, <em>free</em> content, regardless of balance issues. But now my trust is shaken.</p>
<p>The most recent Demoman/Soldier update has caused me to question Valve’s method of upgrading my beloved game. They violated the main mechanic of <em>TF2</em> quite severely, instilling feelings of both anger and sadness. Long considered my favorite multiplayer game due to its rich balance of class-based combat, unique art style, and more character than a Jim Carrey movie, I&#8217;ve noticed a waning interest in the shooter. The class updates were designed to fix this for gamers like me, offering new equipment, maps, and game types to keep things new and compelling. It is now painfully obvious where Valve, still my favorite game developer, has failed.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/flagrante/ho-1.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-1.jpg" alt="TF2" width="530" height="380" /></a><br />
<strong>In a multiplayer game so heavily weighted towards teamwork, no single class should be a one-man army.</strong></div>
<p>The progressive class updates should all have followed a succinct set a rules to help maintain the overall balance and integrity of the game. It should have looked something like this:</p>
<p style="padding-left: 30px;">1) The equipment should not be upgraded in effectiveness, rather the gear should offer an alternate method of playing the class.<br />
2) The equipment should be based exclusively on the designated role the class was designed for (Demoman for explosives, Sniper for long-range support, etc.).<br />
3) The equipment should not alter the specific role of the class.<br />
4) The equipment should not be designed to inhibit a specific class or group of classes.<br />
5) There should always be noticeable disadvantages and advantages to using any select item  when compared to the other options available.</p>
<p>These hypothetical rules should be in place to strengthen the consistency of the game’s delicate balance that gamers initially fell in love with. Valve did a great job maintaining the overall balance between classes, but looking back, some serious errors were made that slowly but surely degraded the quality of the game. How exactly has the new equipment violated these rules? Let&#8217;s take a look at each defined class and explore the respective overarching effects of their corresponding armaments.</p>
<p><strong>Note</strong>: All equipment discussed reflects the current effects granted as of the most recent patch.</p>
<h2><strong>Medic</strong></h2>
<p>Support class designed to boost the combat-effectiveness of teammates through buffed health and continuous HP flow.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) The Blutsauger</strong> – Alternate primary weapon that trades the Medic’s passive HP regeneration for HP-Leach attack. Results in a slower fire rate.<br />
<strong>2) The Kritzkrieg</strong> – Alternate healing gun that grants 100% critical hits to target ally when fully charged and activated (omits invulnerability); faster charge-up to reach potential deployment.<br />
<strong>3) The Ubersaw</strong> – Alternate melee weapon that grants 25% ubercharge upon hitting an enemy. Slower attack speed.</p>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: The Medic update offers players an alternate way to tackle their class without changing the overall role. Players must still support their teammates to be effective, but are rewarded for efficient use of alternate weaponry, though at a greater risk to themselves. The Blutsauger trades damage for self-sustaining aid, and the Kritzkrieg offers a perfect alternative style of play. The Ubersaw is a little more troublesome, as its reduced attack rate does not hamper the overall improvements of the weapon, thus you would be hard-pressed finding a Medic who does <em>not </em>use the Ubersaw over the original Bonesaw. A more severe penalty should be present when choosing the former.</p>
<h2><strong>Pyro</strong></h2>
<p>Flexible class designed for close-quarters crowd control and hit-and-run tactics. Most effective when ambushing and patrolling set areas.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) The Backburner</strong> – Alternate primary weapon that deals critical hits when attacking from behind. Equipping it results in the loss of (new) air-blast ability.<br />
<strong>2) Flare Gun </strong> – Alternate secondary weapon that offers a mid to long range attack; appropriately, it lights enemies on fire.<br />
<strong>3) The Axtinguisher </strong> – Alternate melee weapon that grants critical hits when successful contact is made to immolated enemies.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/flagrante/ho-2.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-2.jpg" alt="TF2" width="293" height="319" /></a><br />
<strong>This baby is perfect for snuffing out<br />
the lives of burning enemies.</strong></div>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: In theory this update is flawless, offering ambushing Pyros a weapon that made them more effective at their style of play while lowering their effectiveness when attacking head-on. The flare gun is a perfect counter for Snipers and other long-range enemies, but because of its difficulty in use, it rewards only those willing to practice. The Axtinguisher and the newly added air-blast are the icing on the cake, increasing the Pyro&#8217;s supremacy as a close-quarters class. Unfortunately, the Backburner received rather negative criticism due to hit-box glitchiness similar to the Spy’s backstab, and the stigma that only &#8220;<a href="http://game-central.org/2010/editorials/pc-gaming-phrases-that-need-to-go-away-forever/">n00bs</a>&#8221; use it. Still, the update offers players numerous styles of play without overpowering the class, and limiting his (or her?) overall effectiveness to up-close-and-personal combat. While not technically an alternate, the addition of the air-blast function completes the default flamethrower, making it one of the most versatile weapons in the game.</p>
<h2><strong>Heavy</strong></h2>
<p>Bullet-sponge tank class designed to lay down suppressive covering fire; buys teammates time while absorbing heavy damage, conserving your comrade&#8217;s hit points for both attacking and defending of key areas.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) Natascha</strong> – Alternate primary weapon that reduces damage dealt, but slows enemies upon projectile contact.<br />
<strong>2) The Sandvich</strong> – Support tool that replaces secondary weapon. Heals 100% of hit points over a period of time. It&#8217;s damn noisy to eat, and it leaves the Heavy immobile while consuming. Can be dropped and picked up by other players for a 50% health gain.<br />
<strong>3) The KGB</strong> – Alternate melee weapon that grants five seconds of criticals upon enemy death. Slower attack rate.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/flagrante/ho-3.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-3.jpg" alt="TF2" width="304" height="285" /></a><br />
<strong>Not since <em>Wolfenstein 3D</em> has nutrition<br />
been so important in gaming.</strong></div>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: This update marks the decline of Valve’s efforts. Natascha, in theory, is a good alternative to the faster, more potent Sasha, but it&#8217;s crippled by the severe reduction in damage per second and most importantly, the lack of an increase in total ammo. To be truly effective, Natascha should fire at the same cyclic rate as Sasha, if not faster. And, since it requires more bullets to kill an enemy, Natascha <em>needs</em> the total ammo increase. The Sandvich is far more effective now than it used to be, however it&#8217;s still a terribly ineffective alternate item to a class that should be utilized in the heat of battle instead of running out of the fray to replenish his own vitals. An example of a more successful  replacement would be a set of body armor that increases HP while lowering run speed. The KGB is another example of a good idea gone awry, as the Heavy has already lost the majority of his critical boost by the time he switches to and revs up his mini-gun. However, since Heavies rarely use their melee attack whatsoever, it remains a decent option.</p>
<h2><strong>Scout</strong></h2>
<p>Offensive class designed for speed and hit and run tactics at a distance;  serves as an irritating distraction for the enemy to support the progress of his team.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) The Force-A-Nature</strong> – Alternate primary weapon that reduces the number of shots per clip, increases damage, and reduces effectiveness at mid to long range; knocks enemies backwards on successful hits (also launches the Scout backwards if fired while in the air).<br />
<strong>2) Bonk!</strong> – Replaces secondary weapon. When chugged, it grants invulnerability for a short period of time, followed by a period of reduced speed immediately after.<br />
<strong>3) The Sandman</strong> – Alternate melee weapon that launches a baseball, stunning enemies on successful hits; potential stun times are based on the distance the ball travels. The Sandman reduces the user&#8217;s total hit points by 15.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/flagrante/ho-4.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-4.jpg" alt="TF2" width="310" height="251" /></a><br />
<strong>If only the product was as enjoyable as advertised.</strong></div>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: The Scout update marks the beginning of Valve’s attempts to improve the effectiveness of a class at the expense of its established role. The Force-A-Nature is actually a great alternate, offering players the ability to punch through an enemy line but forcing them to make their shots count, and also giving them an extra jump when used properly. The Bonk! energy drink comes out with a passing score as well, as it gives Scouts the ability to further support their teammates by distracting enemies, and players are forced to use the drink carefully as the ending effects leave you vulnerable. The Sandman is what ultimately ruined this update, and ultimately began the unraveling of overall balance among classes. While it has since been patched to be less powerful, the Sandman, besides frustrating enemies, does little to promote the given role of the Scout class (invading enemy territory and bothering enemies). A more useful and less troublesome alternate weapon could have been traps that the Scout drops (with a limited number) that slows enemies who pass over them.</p>
<h2><strong>Sniper</strong></h2>
<p>Long-range support class designed to eliminate priority threats to the team; uses scare tactics to intimidate enemies from entering into key areas.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) The Huntsman</strong> – Alternate primary weapon that trades long range precision for medium range effectiveness.<br />
<strong>2) Jarate</strong> – Replaces secondary weapon with a throwable jar of urine; causes enemies under its effects to take additional damage when hit (mini-criticals). Reveals cloaked Spies and puts out burning teammates.<br />
<strong>3) The Razorback</strong> – Replaces secondary weapon for a shield that covers the back of the user; blocks a single attempted backstab by an enemy Spy. User has reduced run speed while the Razorback is equipped.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/flagrante/ho-5.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-5.jpg" alt="TF2" width="300" height="225" /></a><br />
<strong>A wooden shield that only blocks knives?<br />
Actually that sounds about right&#8230;</strong></div>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: All things considered, the Sniper update is one of the best. The Huntsman offers Snipers who&#8217;re tired of sitting yards away from the frontlines the ability to be effective at a medium range, while maintaining the key element that embodies the Sniper: precision-based potential damage. Some argue that the Huntsman requires little skill, however, only the most effective players will top the leader board while using it. The Jarate jar, while criticized for its profane origins (it’s a jar of urine), is actually a brilliant addition for the Sniper. It allows him to further support his team in an alternate method to killing enemies; it helps teammates deal additional damage, it reveals enemy Spies and even douses the flames of charred compatriot. The Razorback is also a fine addition with the exception of a single dynamic: it&#8217;s designed with the sole purpose of countering one specific class (the Spy). It&#8217;s tempting to let this one slide, as the Razorback indirectly forces Spies into the open instead of attacking as far from behind as possible (where Snipers tend to be located), however, the fact remains that the item serves no other purpose. No spies on the map? Yeah, it&#8217;s useless. I&#8217;d be more satisfied if the shield actually blocked bullets and absorbed explosive damage, eventually breaking when a certain amount of damage is accrued.</p>
<h2><strong>Spy</strong></h2>
<p>Stealth class designed to infiltrate enemy territory, survey enemy positions, and neutralize enemy Engineer equipment and take out strong enemy forces.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) The Ambassador</strong> – Alternate primary weapon that offers pin-point accuracy on first shot; capable of critical headshots, followed by a period of reduced handling (cooldown). It employs a slightly reduced fire rate.<br />
<strong>2) The Dead Ringer</strong> &#8211; Alternate cloaking device that, when activated, cloaks the user immediately upon taking damage, leaving a decoy body behind to fool opponents into believing you&#8217;re dead.<br />
<strong>3) The Cloak and Dagger</strong> – Alternate cloaking device that only loses power (a necessary element required to remain invisible) when the user is moving.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/flagrante/ho-6.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-6.jpg" alt="TF2" /></a><br />
<strong>The Ambassador isn&#8217;t just about looks!<br />
It&#8217;s got great personality too.</strong></div>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: Like that of the Pyro, the Spy&#8217;s new arsenal is as close to flawless as an update can get. In conjunction with the back-stab, the Ambassador offers players a lucrative alternative means of attack via the headshot, which deals massive damage at the cost of reduced accuracy following the initial blast. This promotes shooting from less compromising positions &#8211; maintaining the Spy&#8217;s overall ineffectiveness when attacking head-on. Valve smartly chose to focus the other two pieces of equipment on the Spy’s methods of cloaking himself, each offering a different style of play. The Dead Ringer allows Spies to feign their own death, giving them a chance to slip behind their enemy, convinced of their demise, with more than enough time to position himself for a backstab. This is a ploy that promotes the creativity of the user, who may choose to activate the device before entering the battle, or after receiving some damage to further enhance the effect. The Cloak and Dagger allows for deeper penetration of enemy territory, permitting Spies to camp key chokepoints while simultaneously lowering the learning curve for newcomers. It greatly reduces the mobility of the user, however, as each step saps precious cloaking energy.</p>
<h2><strong>Soldier</strong></h2>
<p>Offensive blitz class designed for aggressive and mobile front-line combat; deals and absorbs heavy damage.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) The Direct Hit</strong> – Alternate primary weapon that fires a faster rocket projectile; removes more of target adversary&#8217;s health upon contact, but with greatly reduced splash damage. Deals mini-crits when tagging enemies in the air.<br />
<strong>2) The Buff Banner</strong> &#8211; Replaces secondary weapon with a horn that charges up as the player damages opponents. When fully charged, the horn can be sounded to grant nearby teammates 14 seconds of mini-crits.<br />
<strong>3) The Equalizer </strong> – Alternate melee weapon that scales movement speed and damage based off the user&#8217;s hit points, at an inversely proportional rate, i.e., the less health the soldier has, the more devastating his mobility and swings.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/flagrante/ho-7.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-7.jpg" alt="TF2" /></a><br />
<strong>Brilliant weapon? Or overpowered insta-kill<br />
for 1/3 of the classes?</strong></div>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: Overall, the Soldier update proves successful. However, it suffers from offering items that are almost <em>too</em> effective. The Direct Hit is theoretically a great alternate, rewarding highly accurate soldiers with increased damage, but like the Scout’s Force-A-Nature, forcing them to make their shots count. The problem with the Direct Hit is twofold. One, at certain ranges the difference in skill required to hit a target is greatly reduced. A Soldier using the Direct Hit at close-mid range won&#8217;t have too much difficulty hitting his target. He&#8217;ll also have little worry of injuring himself, since there&#8217;s a negligible area of explosive effect.  And at any range, the weapon is an absolute nightmare for Heavies. The mini-criticals are also questionable considering the weapon is already far more powerful than the default rocket launcher. Inappropriately, even moderately skilled Soldiers are scary when equipped with the Direct Hit,  as it carries the destructive potential to instantly kill four of the the nine classes  with a single blast (Scout, Sniper, Engineer and Spy). To balance this weapon the firing rate as well as the damage should be greatly reduced, further emphasizing the need for precision. I’d also remove the mini-criticals when shooting opponents from the the air, but Soldier’s everywhere will argue against me to their last dying breath. The Buff Banner is an interesting addition that gives Soldiers a more team-oriented purpose, and due to the player’s need to constantly inflict pain, using the item is well balanced. The Equalizer is another weapon that questionably allows the player a huge advantage at close range when he&#8217;s low on health. The problem is it offers no real disadvantage for usage over the default shovel. But Valve seems comfortable with this idea for all their updated melee weapons. Overall, the Soldier’s assault role remains intact, and with a few minor tweaks the update could shine.</p>
<h2><strong>Demoman</strong></h2>
<p>Defensive class designed to inflict enormous amounts of suffering, most effectively used in tighter quarters where he can dish out splash damage and set up explosive traps. Very talented at destroying enemy Engineer&#8217;s structures.</p>
<p><strong>Updated Gear</strong></p>
<p style="padding-left: 30px;"><strong>1) Scottish Resistance</strong> – Alternate sticky-bomb weapon that allows for the placement of additional explosive charges that can be detonated in groups; sticky-bombs are assigned a longer arming time as a disadvantage.<br />
<strong>2) The Chargin’ Targe</strong> &#8211; Replaces the sticky-bomb launcher with a shield that grants resistance to explosions and fire; bestows an ability to charge forward at light-speed, dealing gargantuan damage upon contact with enemies. When coupled with the Eyelander, grants criticals upon charging.<br />
<strong>3) The Eyelander</strong> – Alternate melee weapon that initially reduces the users max hit points; deals criticals when coupled with the Chargin’ Targe (upon charging); increases health and damage dealt with each progressive kill (has a cap limit).</p>
<p><span style="text-decoration: underline;"><strong>Verdict</strong></span>: The bane of the class updates, the Demoman&#8217;s attempted refurbishing is painfully implemented. By itself, the Scottish Resistance is a great alternate to the default sticky-bomb launcher, allowing players to choose to take a more defensive role and lay more traps. Players are forced to face the bombs in order to detonate them, making camping much more difficult. The Chargin’ Targe, however, is horribly designed, and when combined with the Eyelander, absolutely mutilates the Demoman’s general role on the team. Neither weapon has anything to do with demolitions, short of granting the player fire and explosive damage resistance. The Chargin&#8217; Targe and Eyelander instead morph the Demo into a close-quarters combat class, a role prior reserved for the Pyro. Neither weapon satisfies a need that the Demo class  lacked. In fact, the updated equipment eliminates any specific role for the class while the items are equipped. Worse, the pairing of the weapons creates a close-quarters class that is arguably <em>more</em> effective than the Pyro. A number of preferred alternates can be thought of, for example a satchel of tossed grenades that encompass a slow rate of fire and delayed detonation time, but enjoy massive splash damage. This hypothetical weapon would be useful for displacing enemies holding an area or control point.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/flagrante/ho-8.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-8.jpg" alt="TF2" /></a><br />
<strong>Last time I checked, demolitions involve explosions, not dragon slaying equipment.</strong></div>
<h2>Conclusion</h2>
<p>At this point in time, the Engineer is the only remaining class that hasn&#8217;t been officially updated, and one wonders what direction Valve will take when developing his new equipment. Valve has started an unfortunate trend of designing items around the fictional narrative of the characters themselves, instead of focusing on the role the classes play on the team. For the most part, each class has received updates that have been balanced (through field-testing and minor ongoing tweaks) quite well. But sadly, it only takes a few unbalanced items to ruin the once-perfect flow of the game. Each update has rendered the Heavy even more useless than before, and his now ancient updated equipment fails to help him serve the role he was designed for in the first place.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/flagrante/ho-9.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-9.jpg" alt="TF2" width="478" height="269" /></a></div>
<p>What lies in store for the game after the final class update is released? Obviously, the addition of aesthetic items like hats, the new crafting system, and the recently announced community-made custom items (approved first by Valve to be placed in the random drop system) are all welcome additions. Ironically, the feature I most crave from is a &#8220;vanilla mode&#8221; that would remove all class updates and revert the game back to its perfectly balanced glory days before the Spy defiled the purity of the Scout’s mother, and Saxton Hale had yet to reveal his manliness to the world. Unfortunately, a vanilla mode has not been announced, nor do I think Valve is seriously considering offering a game mode that negates the years of hard work they&#8217;ve put into their updates.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/flagrante/ho-10.jpg" rel="shadowbox[post-7846];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/flagrante/ho-10.jpg" alt="TF2" width="545" height="232" /></a><br />
<strong>Think Valve&#8217;s hats are goofy? Wait until the inclusion of community-made items.</strong></div>
<p>While a lot of this is wishful thinking, I nonetheless ask that Valve reconsider some of the updates, and in fact <em>replace</em> or greatly modify a number of the items now available in the game.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/tf2-updates-in-flagrante-delicto/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Divinity II &#8211; Ego Draconis Review</title>
		<link>http://game-central.org/2010/reviews/divinity-ii-ego-draconis-review/</link>
		<comments>http://game-central.org/2010/reviews/divinity-ii-ego-draconis-review/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 14:39:29 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=8033</guid>
		<description><![CDATA[You'll actually feel and see the weight of your decisions.]]></description>
			<content:encoded><![CDATA[<p><em>Divinity II &#8211; Ego Draconis</em> is a case study in the inherent merits and pitfalls of a cross-genre PC gaming mash-up. Part action RPG, part arcade aerial shooter, part Shakespearean dramatic epic, it&#8217;s an intriguing ride.</p>
<p>The game&#8217;s narrative threads are sewn together a generation after the original <em>Divine Divinity</em>. Lucian, the Divine one, got himself stabbed to death by a once loyal Dragon Knight some time ago. Since then, Damian—the Divine One&#8217;s evil son—has once again reared his bald, shiny head after decades of silence, bent on committing dastardly fiendish deeds  to the unprepared lands of Aleroth. Your journey begins as a newly minted Dragon Slayer, whose sole purpose is nothing less than total draconic genocide. Unfortunately, along the way to extermination glory, your soft tapioca rookie mind gets a tad ahead of itself, and you&#8217;re semi-possessed by the last remaining dragon spirit, instantly turning you into the once sworn enemy. This turns out favorable though, as Damian&#8217;s doom apparently rests in the power of your hardened talons and scaly flesh.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div21.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div21.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>Cool house, no doubt. But doesn&#8217;t the custom molding kill the resell value?</strong></div>
<p>While the transformation from Dragon Slayer to Dragon Knight occurs at the very onset of your quest, you can&#8217;t actually turn <em>into</em> a dragon until roughly 50% of the way through the campaign. That&#8217;s actually <em>good</em> news. See, what <em>Divinity II</em> does fabulously well are the feet-on-the-ground action-RPG morsels, not the flying. Larian Studios smashed the ball out of the skin with 2002&#8217;s <a href="http://game-central.org/2010/reviews/retro-review-divine-divinity/"><em>Divine Divinity</em></a>, and despite <em>Divinity II&#8217;s</em> switch from the old-fashioned top-down isometric perspective into the newfangled third-person <em>Max Payne</em>-like gameplay, much of Larian&#8217;s expertise and inspiration carries over nicely. All prior annoying quibbles like item encumbrance and repairing belongings are gone. There&#8217;s still an overall inventory storage limit, but you can increase this base value through skill points, and identical items stack rather than counting against your overall restriction, i.e. 40 healing flasks take up a single slot.</p>
<p>Combat is fast-paced and diverse, and you&#8217;re often encouraged to utilize the handy &#8216;battle-pause&#8217; feature to flesh out target priorities, chug potion buffs, and strategize deadly chains of spells and special attacks. You can even bash goblin skulls in real time (like I did) and set up rules for automatically activating the battle-pause, such as when your health falls below 15% (or any desired derivative thereof). And evasion is no longer just a passive background die roll. Like the <em>The Elder Scrolls IV: Oblivion</em>, jumping, rolling, seeking cover behind obstructions, and outright erratic movement all add to the success and failures of physical and magical contact, adding juicy immersion to the numerous encounters. Nothing&#8217;s more rewarding (and exhilarating) than successfully rolling out of the path of a lethal fireball, hiding behind a tree, downing an precious elixir, and then braining your aggressor when they foolishly poke their head around to pursue. To aid in your perilous struggles, you&#8217;ll eventually collect and craft a tailor-made summoned minion, which you&#8217;ll use regularly. You can maximize your pet&#8217;s various aptitudes by hot-swapping severed arms, legs, torsos, and heads in a comically decadent version of Mr. Potato Head. All of this makes up for a hearty and downright tasty RPG combat stew.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div22.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div22.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>Just another day at the homicidal volcanic beaches.</strong></div>
<p>From the first uttered words, <em>Divinity II</em>&#8217;s honed and perfected British voice acting will blow you away. These guys mean business. This is audio-book quality content we&#8217;re talking here, easily trumping all other paltry examples in the medium (<em>Batman</em> who<em>?</em>). <em>Divinity II</em> feels like a Broadway version of a tabletop Dungeons &amp; Dragons gathering. A background narrator accentuates otherwise mediocre actions like leafing through an ancient tome, while the hollow words of your sarcastic melded dragon spirit responds to outcomes and blunders with precision wit. The hero takes a refreshing hybrid role of silence and oratory responses, typically emoting and grumbling everywhere except the dialogue trees. It looks like the character animators were a bit overindulgent in their efforts though; NPCs dance around like Cap&#8217;n Jack Sparrow on a powerful does of wacky weed while they chat with you.</p>
<p>Quests are plentiful, and most are varied enough to keep things interesting. There&#8217;s often a plethora of rewards offered upon mission completions—like surplus experience, gear, or gold—but in a clever move, you&#8217;re only allowed to choose one or two of the presented items. Do you go for that mound of excess XP, but watch that powerful two-handed magical sword evaporate in the process? Or vice-versa? Fantastic role playing is driven by the gears of opportunity and personal choice, and <em>Divinity II</em> offers a substantial plethora of both of them. There&#8217;s still an annoying handful of &#8220;make this guy dead, I give you money and junk&#8221; tasks, but they&#8217;re overshadowed by the brilliance that radiates through their lofty peers. An early example <strong>(*Minor Spoilers*)</strong> involves how you choose to deal with a group of rowdy knights roughing up the denizens of a local tavern. Do you rat them out to their commanding officer? Or gain their favor and cover for them when the sergeant comes charging in, demanding an explanation for their atrocious behavior? Or do you instead <em>join </em>them in their jovial abuse of the bar-going regulars? Each choice bears strikingly different consequences and rewards.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div23.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div23.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>&#8220;Sorry guys, but my schedule&#8217;s just totally booked today.&#8221;</strong></div>
<p>Often, you&#8217;ll actually feel and see the weight of your decisions. In my case, I ratted those belligerent drunken fools out big time, and as punishment, they got tasked with killing a 20-foot tall murderous mountain troll for their foul exploits. No matter right? They had it coming. I mean, surely I&#8217;ll never <em>see</em> them again. Wrong. After about an hour of otherwise pleasurable countryside exploration, I stumbled across a familiar set of faces and watched as the troll smashed their sternums in with a tree trunk, killing every damn last one of them despite my attempts to intervene. For a moment, I felt a heavy guilt unparalleled in all my PC gaming years. That folks, is brilliant. <strong>(*End Spoilers.*)</strong></p>
<p>One of <em>Divinity II</em>&#8217;s biggest sells circles around the highly-advertised XP-as-currency mind-reading distinction. And in an honest surprise, it delivers. Initially skeptical, I wondered how a developer could ever convincingly justify spending precious XP in favor of supplemental information (losing XP is commonly a terrifying penalty, not a form of player encouragement). But Larian&#8217;s crafty. Instead of reducing or removing your experience points, spending them instead adds to a deficit pool that must be emptied before advancing your normal accrual. It&#8217;s a minor yet crucial device that makes the still-risky wager a mouthwatering one. And like any authentic gamble, some mind reads pay off huge &#8211; such as revealing bonus quest options or even granting extra stats or skill points, while others are hilariously terrible and sobering &#8211; such as a crusty mariner pondering, &#8220;That cannonball with the bathing twins motif will cost a fortune, but I must have it!&#8221; Only give-away is if a mind-read&#8217;s cost teeters on the cliffs of astronomical, you can bet your lucky pajamas it&#8217;ll be a keeper. Typically, the low-expenditure mind-reads are the useless ones.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div24.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div24.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>Wonder what his shoe size is&#8230;</strong></div>
<p>Magnitude-wise, <em>Divinity II</em>&#8217;s a monster. Expect to entrench a solid 50 hours or more in your endeavors to defeat Damian and his horde. In an awesome nod to the ardent fans of the series, there&#8217;s a liberal peppering of references to characters from <em>Divine Divinity</em> &#8211; like the remnants of a once massive evil tree, a fearful-of-existential-pondering skeleton, and a narcissistic wishing well. There are even a few outright zingers to <em>Divinity II&#8217;s</em> RPG gaming competition, such as an alternate quest with the option to engage in passionate love to an erotic treasure chest, where the ultimate payoff depends upon your answers to a sequence of nonsensical memory games (after which she begs you to &#8216;penetrate&#8217; her fruitful &#8216;depths&#8217;). Classic.</p>
<p>And then, at long last, you finally gain the ability to spread your leathery wings and soar as a no-crap bad-ass fire-snorting dragon. But wait, you&#8217;re massive imposing form is artificially contained to a narrow and finite set of canyon walls and an invisible ceiling? You can’t meta-morph into the dragon just anywhere? The bad guys on the ground just jarringly vanish when your teeth grow long, yellow, and pointy? What the hell? I&#8217;m a damned <em>dragon</em>! I want to fly thousands of feet above the tundra, I wanna roast those land-locked peons and their sharpened sticks like hot dogs over a bonfire! What I <em>don&#8217;t</em> want to do is circle around and blast duplicative stationary ground structures in localized and messily cluttered areas, and get my ass kicked doing it.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div26.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div26.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>Spread your wings and fly&#8230; directly into the side of a mountain.</strong></div>
<p>However, if the claustrophobic cliffs and undeviating canyons prove overly jail-like for your fine-tuned dragon sensibilities (and they will), you can always visit the four optional flying fortresses as a method of environmental delineation. But sadly, these aren’t much better than the alternative. These auxiliary levels remove the side-to-side physical barriers so constantly prevalent back in the ordinary world, but they instead rely on monotonous, repetitive, and outright dull skirmishes with heaps of cloned ballistas, lightning-throwing parapets, and over-powered enemy wyverns. Your first foray into a flying fortress, unless you&#8217;re level 30 or higher, will likely result in complete disaster.</p>
<p>There&#8217;s a spattering of attempts here and there to include assignments that the dragon and human form must tackle equally for success, but they feel artificial and cumbersome. Most dual-form quests revolve around throwing a switch or two as a biped, and then traveling over dangerous caverns to your eventual human destination as your green-plated larger counterpart, popping dispose-a-enemies in-between for good measure.  This is hardly intuitive. Honestly, in the end, you&#8217;ll wish the developers just abandoned the whole dragon-shifting dynamic altogether and stuck with what they&#8217;re good at. Oh and Larian? Jumping puzzles in a contemporary RPG are positively maddening. It worked in <em>Zelda II: The Adventure of Link</em>. It doesn&#8217;t work here. We&#8217;ve evolved since then. Let&#8217;s not go backwards shall we?</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div25.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div25.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>It&#8217;s just like having a real-life pet! Only this one&#8217;s undead and eviscerates people.</strong></div>
<p>Hey speaking of maddening, hope you like dying! &#8216;Cause yeah, you&#8217;re gonna die like crazy. On &#8220;normal&#8221; difficulty, this game is unapologetically brutal. Specialization is of the utmost importance while planning out your character&#8217;s upgrade paths. In the positive veins of the first <em>Divinity</em> title, you&#8217;re never locked into one narrow route of augmentation; you&#8217;re free to cross train into any of the presented disciplines. But be wary: unless you stick to a tight cluster of focused skills, inflating the potency of each with progressive sets of earned skill points, you&#8217;ll play yourself into an almost unbeatable challenge. No hand-holding in this game ladies and gentlemen, you&#8217;re on your own when it comes to player-character development.</p>
<p>And yet, despite even the most perfectly tuned of avatars, there are areas in your adventure that will prove borderline impossible regardless (even on &#8220;easy&#8221; difficulty), mainly the end-boss, and a particularly enraging section where you&#8217;re commanded to defend the wizard Zandalor from swarms upon swarms of adversaries while he mutters a timed spell to seal a set of demonic gates. If he gets mildly scratched or slightly bumped even <em>once</em>, he starts the spell all over, rewinding the 1-minute countdown to the very beginning. He did this approximately 38 times before I somehow managed to beat it. <em>Not</em> fun.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div27.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div27.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>Just like Olympian Michael Phelps, our hero swims to victory by strapping two gigantic war hammers onto his back.</strong></div>
<p>To stave off death 100% of the time, you&#8217;re awarded a battle tower as soon as your draconic alter-ego physically manifests. From the massive monolithic structure—which you can visit any time via the press of a single key—you can store your collected loot, improve your death-dealing equipment through use of specialized trainers, create oh-so-crucial potions, play some more in-depth Frankenstein experiments with your pet, and send runners out to gather required raw materials and ingredients for helpful enchantments and potions.</p>
<p>It&#8217;s too bad there isn’t a battle tower trainer that specifically excels at wiping out programming bugs, because if there was, the poor sod would have his hands constantly dirty. As mentioned in Game Central&#8217;s <a href="http://game-central.org/2009/editorials/top-5-pc-games-ruined-by-bugs/">Top 5 Buggiest Games</a> article, Larian Studios, for whatever reason, seems cursed by malicious digital insects. While I never lost a save file or suffered any main quest-halting anomalies, the retail release version of <em>Divinity II</em> is nevertheless plagued by infestation. Just a few unfortunate notables encountered: having to re-bind my left strafe key every time I started the game (it&#8217;d inexplicably tie-in to the attack assignment upon every exit); infinite load screen loops, curable only through alt-tabbing and ending the process (disastrous if you don’t quick-save often); an inability to exit the game to Windows using the main menu; and a minor irritation where after an auto-save the protagonist continues to run forward even without any player interaction. Before you even <em>consider</em> playing, <a href="http://www.larian.com/forums/ubbthreads.php?ubb=showflat&amp;Number=401473&amp;nt=3&amp;fpart=1">patch it up</a> to the latest version ASAP.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/div2/div28.jpg" rel="shadowbox[post-8033];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/div2/div28.jpg" alt="Divinity2" width="576" height="360" /></a><br />
<strong>When dragons burp, small forests get lit on fire.</strong></div>
<p>After it all boils down, <em>Divinity II &#8211; Ego Draconis</em> serves as a serviceable romp in the fantasy wilds. But like a cracked pair of aged work boots, it lacks some serious spit and polish. If only Larian approached the dragon gimmick in an alternate manner, this could have been one helluva title. As stands, it just doesn’t carry the girth of a <em>Mass Effect</em> or a <em>Dragon Age</em>. Only action-RPG devotees and recognizers of consummate voice actors need apply.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/reviews/divinity-ii-ego-draconis-review/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PC Gaming Phrases that Need to Go Away Forever</title>
		<link>http://game-central.org/2010/editorials/pc-gaming-phrases-that-need-to-go-away-forever/</link>
		<comments>http://game-central.org/2010/editorials/pc-gaming-phrases-that-need-to-go-away-forever/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:00:56 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Havoc]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7944</guid>
		<description><![CDATA[I never get Pwned on my Epic Fails.]]></description>
			<content:encoded><![CDATA[<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 10px; float: right;"><a href="http://images.game-central.org/editorials/phrases/phrases1.jpg" rel="shadowbox[post-7944];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/phrases/phrases1.jpg" alt="Phrases" width="275" height="227" /></a><br />
<strong>PC gaming terms showing up on corporate mugs?<br />
Time to abandon.</strong></div>
<p>It’s our sad and bitter nature to abuse and neglect that which was once hallowed or unique. PC gaming expressions are, by far, no exception. What was once priceless and witty becomes strip-mined, overindulged, and mass produced to nausea. PC gamers often become the belching consuming industries to the forests of phraseology. But it’s never too late for reclamation and atonement. Let us learn from our past and prevent extended proliferation of that which used to be hilarious and/or clever, but is now terrible! Together, through tutelage, we’ll make a better PC gaming world. But in the honor of literary semi-succinctness, let’s keep the analysis and education to the top four contemporary atrocities. And here they are.</p>
<div style="font-size: 16px;"><strong>&#8220;Epic Fail&#8221;</strong></div>
<p>There was a time where this was a sharp and impressive term, and when aptly activated, devastating to the unfortunate recipient. No longer. I now positively hate this maxim.  If ‘Epic Fail’ were a living breathing entity, I’d gladly place upon its fleshy tender head a baseball bat of hefty swinging.  No vile gaming pop-culture utterance has become more clichéd  and utterly expended than the Epic Fail. Worse yet, the Epic Fail’s vile subversive influences have leaked and entrenched itself into the standard world’s day-to-day vernacular. It’s become totally fine and proper to head into the local Ace Hardware store only to stumble across a couple of grandmas accidentally dropping a hammer onto a sack of light bulbs and hearing one of them say, “Oh my goodness! Epic Fail Gladys!”</p>
<p>For crap’s sakes fellow gamers, is this where the hands on the clock have come to rest? I’m imploring you all— say <em>any</em>thing except these godforsaken stale words when a notable foul-up occurs. Make filthy love to a thesaurus or something; anything to prevent further use. I mean yeah, I realize that neglecting to include dedicated server support in <em>Modern Warfare 2</em> was a bad, bad move. But why can’t we call it a monumental catastrophe, or perhaps a gargantuan error, or even a debacle of biblical proportions?  Oh and its grating antonym “Great Success” needs to go the hell away also.  Repeat after me brethren, “There is no Epic Fail, only Zuel.”</p>
<div style="font-size: 16px;"><strong>&#8220;Owned&#8221;</strong></div>
<p>This adage was never funny, nor was it ever particularly compelling—two very good reasons to retire the phrase outright. And don’t even get me started on the nonsensical “Pwned.” Furthermore, it’s  <em>past</em> tense people!! I’ll capitulate that upon first irritable glance, it looks okay in all-chat after the scoreboard reads 105 &#8211; 0. But consider it in the actual context of the delivery. You <em>used</em> to own something and/or someone, indicating you don’t own it/them anymore. Ohhh sick burn!</p>
<p>Not sinking in? Okay here, maybe the below conversation between Joe and Bill will prove more palpable.</p>
<blockquote><p>“Wow Bill. I totally <em>owned</em> that hot rod.”</p>
<p>“Really, you did?”</p>
<p>“Yep. Owned it <em>big</em> time.”</p>
<p>“Yeah? That’s cool. But, uh… what happened?”</p>
<p>“Well, I quit my part-time job at McDonald’s as a burger jockey and applied for welfare so I could sleep in everyday until 3pm, but then I couldn’t make the payments anymore, and the bank repossessed it. So I don’t own it anymore. But I <em>used</em> to own it! Yeah that was great, but not as great as the concept of still owning it.”</p>
<p>“Bummer.”</p></blockquote>
<div style="font-size: 16px;"><strong>&#8220;Noob/Newb&#8221;</strong></div>
<p>How is this dinosaur of diction still walking the earth? Gamers have hunted this damned term to extinction, and yet again and again this poor specimen of a creature finds a way to survive, and even mutate.  This defies logic, and more frustratingly, sanity. Can we as the PC gaming community truly be so creatively shallow? Have we not concocted <em>any</em>thing to take its place after 278 years of online usage? Multitudes of 4chan memes, buckets of technological IRC advances, Ventrilo, and still the “Noob” placeholder thrives? Pathetic. The absolute travesty is that some folks still find this phrase comical and appropriate in application, all the while severely lacking any tangible qualities of social and societal existence themselves.</p>
<p><strong>Example:</strong> “hahaa hey SuX0r90, checck out this dummie who sliyghtly mistimed tha rocketjump. Hes such a NOOB!!1!1 Lol Uur such a noob.”</p>
<p>Ho hoooo you got me good you bastard! Man that stings. Well, the Noob part doesn’t hurt, but rather the “I’m a 23 year-old legacy unemployed North American native, I don’t understand the English language, and ‘Noob’ is the ultimate fresh online insult because I’m verifiably brain-damaged, and humanity is officially un-savable” dynamic.  Yeah. <em>That</em> part stings.</p>
<div style="font-size: 16px;"><strong>&#8220;GL HF&#8221;</strong></div>
<p>It takes a big man to admit to his mistakes, which is probably why I never admit to my mistakes (Oh I’m sorry, probably why I never get Pwned on my Epic Fails). But under the GL HF category, I shall make an allowance: in my <em>Team Fortress 2</em> days of yore, I typed out these five cursed characters with astonishing regularity. Why? Because I’m boring and unimaginative, and I find it entirely too difficult and exhausting to extend my famished fingers across the vast, vast frontier of my keyboard and <em>spell out the goddamn words</em>. Is it so much to ask? Apparently, yes. Yes it is. Because this stupid stump of a non-coherent sentence permeates the PC gaming multiplayer wilds like ants over sugared-honey.</p>
<p>Stop it! Look, it’s pretty spectacular you want me to Gather Linen and Handle Figurines, but can’t you grant me the kind favor of articulating just a bit? See, when you type out a GL HF that quick and hit enter? It tells me you really don’t wish me “good luck and have fun.” It tells me you consider the paltry abbreviation an annoying yet mandatory task, and rather than extend the letters into actual words, you’d just as soon spend those extra gained 17 seconds scratching your testicles instead. You might as well just send me a picture of a middle finger. No more GL HF! Just <em>tell</em> me good luck, or have fun, or when you’re feeling truly bold: both. It’s not hard. Got it? <em>No</em>? Newb.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/pc-gaming-phrases-that-need-to-go-away-forever/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 75</title>
		<link>http://game-central.org/2010/podcasts/gcp-episode-75/</link>
		<comments>http://game-central.org/2010/podcasts/gcp-episode-75/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 00:13:00 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=8029</guid>
		<description><![CDATA[Game Central Podcast? More like Dragon Age Podcast!]]></description>
			<content:encoded><![CDATA[<p>Game Central Podcast? More like <em>Dragon Age</em> Podcast! We discuss the factors that make <em>Dragon Age</em> one of the best role-playing games we&#8217;ve played in years. Also &#8220;Truthiness and Falsity.&#8221;</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_75.mp3" rel="shadowbox[post-8029];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_75.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/podcasts/gcp-episode-75/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_75.mp3" length="35196307" type="audio/mpeg" />
		</item>
		<item>
		<title>Shattered Horizon Review</title>
		<link>http://game-central.org/2010/reviews/shattered-horizon-review/</link>
		<comments>http://game-central.org/2010/reviews/shattered-horizon-review/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 14:29:39 +0000</pubDate>
		<dc:creator>Andrew F.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7901</guid>
		<description><![CDATA[The visuals can be truly breathtaking.]]></description>
			<content:encoded><![CDATA[<p>“Verticality” is a term often used in marketing to describe what has become the first-person shooter Holy Grail.  Game designers work countless hours developing new ways to make FPS players think about the game world as a three-dimensional space where threats can come from above and below.  Unfortunately, many of these methods end up feeling contrived, and very few FPS games truly succeed at the concept.  From first-time game developers Futuremark, <em>Shattered Horizon</em> is a multiplayer first-person shooter where verticality doesn’t matter, because no direction is up.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/shattered/sh-1.jpg" rel="shadowbox[post-7901];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/shattered/sh-1.jpg" alt="Shattered Horizon" width="545" height="340" /></a><br />
<strong>With all this moon-rock, I’m sure you’d make a killing on eBay.</strong></div>
<p>Combat in <em>Shattered Horizon</em> consists of three variations on deathmatch where players use jetpacks to navigate gravity-free environments.  This unique idea greatly increases the possible situations one might encounter, as moving in three dimensions allows relatively small maps to feel much larger.  Although it feels like a generic FPS at first, players will soon realize that the key to winning at <em>Shattered Horizon</em> is attacking enemies from directions they don&#8217;t expect.  By holding the right mouse button, you&#8217;re given the ability to rotate your perspective, meaning that you&#8217;re often fighting lopsided enemies, making the classic “aim a little bit up for a headshot” tactics non-applicable.  There&#8217;s a lot of hidden depth to this game that skilled players will undoubtedly master.</p>
<p>Encounters end up feeling more like dogfights that one would find in a flight simulator, as speed, momentum, and facing are key.  For instance, flanking around the edge of the map and attacking your enemies from behind might allow you to perform a “tankshot,” a precise attack that causes your foe’s jetpack to explode, causing an instant kill. While the action unfolds in space, your battlefield isn&#8217;t infinite; boundaries involve millions of microscopic asteroids that, if contacted, will puncture your suit and quickly kill you.  While it seems gimmicky, this mechanic creates natural borders for each of the four maps, and reinforces the feeling of open space.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/shattered/sh-2.jpg" rel="shadowbox[post-7901];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/shattered/sh-2.jpg" alt="Shattered Horizon" width="545" height="340" /></a><br />
<strong>While not exactly original, the nifty death-cam means that you will always know who killed you.</strong></div>
<p><em>Shattered Horizon</em> gives you the choice of playing as a member of either the International Space Agency or The Moon Mining Corporation, two sides fighting over supplies in a not-too-distant future where a devastating explosion has destroyed half of the moon.  While the fiction feels fairly fleshed-out, it serves little more purpose than to give you something to read on the many loading screens, as both factions are palette-swapped astronauts with assault rifles.</p>
<p>I mention the assault rifle because it is literally the only firearm to be found in <em>Shattered Horizon</em>.  While the lack of weapon selection was initially puzzling, I soon discovered that there&#8217;s actually some sense behind it.  For instance, the assault rifle is rugged, and can perform the functions that would require several different guns in any other game.  At a distance, the assault rifle&#8217;s integrated scope gives it the accuracy of a sniper, providing you fire in short bursts.  If you find yourself face-to-face with an enemy, the assault rifle can switch to a quick rate-of-fire (like a submachine gun), allowing you to  empty a magazine in no time flat.  You&#8217;re also armed with an under-barrel grenade launcher, handy for sending ice grenades to block an enemy&#8217;s line of sight, electromagnetic pulse grenades that disable enemy equipment, and explosive charges that do old-fashioned splash damage.  As a result, <em>Shattered Horizon</em> lacks the rock-paper-scissors mechanics found in most FPS games, meaning that you&#8217;ll never feel as though you lost a firefight because you were carrying the wrong equipment.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/shattered/sh-3.jpg" rel="shadowbox[post-7901];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/shattered/sh-3.jpg" alt="Shattered Horizon" width="545" height="340" /></a><br />
<strong>Ice grenades are basically the smoke grenades you’ll find in any other team-based FPS, except here you can launch them great distances.</strong></div>
<p>It&#8217;s obvious that Futuremark is a company that creates benchmarking software, as the visuals of <em>Shattered Horizon</em> can be truly breathtaking.  Many of the “next-gen” graphical techniques are in full effect here, such as motion blur and dynamic lighting, and the engine really succeeds at rendering the surfaces of grey moon rock and metallic space stations. Considering it&#8217;s a budget game, it&#8217;s surprising how many of the multiplayer maps feature large set-piece battles.  Fighting around the wreckage of a destroyed International Space Station can be awe-inspiring, and the realistic visuals certainly heighten the experience.  Unfortunately, the game requires a DirectX 10 graphics card and at least Windows Vista to play it, so if you’re still running your trusty 7800GT, you’re out of luck. <em>Shattered Horizon</em> definitely aims for high-spec computers, as I was able to completely maximize the graphical settings on a PC running two GTX 275 cards in SLI mode.  Even then the framerate would fluctuate, especially in matches with high player counts.  Given the developer’s lineage, it&#8217;s surprising that the game doesn&#8217;t include any kind of benchmarking tool, save an in-game frame rate counter.</p>
<p>In addition to the shiny graphics, <em>Shattered Horizon</em> has solid sound design.  While the retort of your assault rifle is fairly generic, the abundance of echo and reverb means that the sound is quite muffled. Actually, almost all of the sounds effects in <em>Shattered Horizon</em> are incredibly subtle, greatly adding to the atmosphere (no pun intended).  The only sound effects you&#8217;ll ever hear clearly are those directly related to your combat situation, such as bullets whizzing by your face and nearby explosions. The silence is refreshing, especially when games such as <em>Call of Duty</em> attempt to push as much ambient noise through your speakers as possible.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/shattered/sh-4.jpg" rel="shadowbox[post-7901];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/shattered/sh-4.jpg" alt="Shattered Horizon" width="545" height="340" /></a><br />
<strong>For a budget game, there&#8217;s no denying it looks good.</strong></div>
<p>Unfortunately, the chief concern in recommending <em>Shattered Horizon</em> is the quantity of content.  While there&#8217;s a nice selection of maps and modes of play, the majority of them feel generic.  However, because the majority of battles don’t take place directly within maps, but rather in the space around maps, it becomes easier to overlook this flaw.  As a truly unique FPS experience with a budget price and triple-A production values, it&#8217;s difficult to not get your money’s worth with <em>Shattered Horizon</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/reviews/shattered-horizon-review/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>My Favorite Freeware: January 2010</title>
		<link>http://game-central.org/2010/editorials/my-favorite-freeware-january-2010/</link>
		<comments>http://game-central.org/2010/editorials/my-favorite-freeware-january-2010/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:59:09 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Keenan]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7839</guid>
		<description><![CDATA[This month's list of my freeware favorites.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve entered another year. Obviously, the most important thing about this is getting more free PC games! Here&#8217;s this month&#8217;s list of my freeware favorites.</p>
<hr />
<div style="font-size: 18px;"><strong><em>Grand Theft Auto 2</em></strong></p>
<div style="font-size: 14px;"><a href="http://www.rockstargames.com/classics/?id=3" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/freeware/gta2-0.jpg" rel="shadowbox[post-7839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/gta2-0.jpg" alt="Grand Theft Auto" width="150" height="150" /></a></div>
<p>Kill frenzy! <em>GTA2</em> is my favorite game in the <em>Grand Theft Auto</em> franchise, mainly because of the crazy, over-the-top violence and the totally ridiculous world and its inhabitants. To me, the game feels like a huge joke and doesn&#8217;t take itself seriously by any means. It&#8217;s just&#8230; damn enjoyable. As the player, you travel around the game&#8217;s three main locations doing various jobs as a mercenary for three rival gangs. Jobs include a wide variety of objectives, ranging from wacky (capturing people to turn into hot dogs), to more &#8220;traditional&#8221; (drive people into the nearest water source and drown them alive). Fun!</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/gta2-1.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/gta2-1-thumb.jpg" alt="GTA2" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/gta2-2.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/gta2-2-thumb.jpg" alt="GTA2" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/gta2-3.png" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/gta2-3-thumb.jpg" alt="GTA2" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<hr />
<div style="font-size: 18px;"><strong><em>Fedora Spade</em></strong></p>
<div style="font-size: 14px;"><a href="http://studioeres.com/games/fedora" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/freeware/fs-0.jpg" rel="shadowbox[post-7839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/fs-0-thumb.jpg" alt="Fedora Spade" /></a></div>
<p><em>Shadowgate</em> meets <em>Tex Murphy</em> in Paul Eres&#8217;s <em>Fedora Spade</em> series. An adventure game similar to one on a console of the past, <em>Fedora Spade</em> takes a simplistic route for playability and design. But that doesn&#8217;t mean it&#8217;s bad &#8211; rather, it&#8217;s one of my favorite indie excursions of the last several years. In four separate episodes, you play as homicide detective Fedora Spade solving cases. The game&#8217;s nature makes it emphatic upon story and plot, so if that&#8217;s your thing, be sure to check it out.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/fs-1.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/fs-1-thumb.jpg" alt="GTA2" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/fs-2.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/fs-2-thumb.jpg" alt="Fedora Spade" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/fs-3.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/fs-3-thumb.jpg" alt="Fedora Spade" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<hr />
<div style="font-size: 18px;"><strong><em>I Wanna Be The Guy</em></strong></p>
<div style="font-size: 14px;"><a href="http://kayin.pyoko.org/iwbtg/index.php" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/freeware/iwbtg-0.jpg" rel="shadowbox[post-7839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/iwbtg-0-thumb.jpg" alt="IWBTG" /></a></div>
<p>Okay. So. This game is <a href="http://game-central.org/2010/editorials/i-like-it-hard/">hard</a>. Like, really hard. The kind of hard that classifies itself as &#8220;the hardest game you ever played&#8221; hard. I did <em>not</em> know this going into the game for the first time. I heard it was a challenging game, but not along the lines that I initially envisioned. <em>I Wanna Be the Guy</em> prides itself on its over-the-top difficulty, and even goes so far as to kill you within the first ten seconds of the game. It&#8217;s a platformer that takes inspiration from numerous sources of the 8-bit era and provides an experience of incredible frustration and masochism on the highest level. If you&#8217;re looking for a tough game, look no further.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/iwbtg-1.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/iwbtg-1-thumb.jpg" alt="IWBTG" width="178" height="132" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/iwbtg-2.png" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/iwbtg-2-thumb.jpg" alt="IWBTG" width="180" height="135" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 1px; margin-bottom: 5px; margin-left: 1px; margin-right: 1px;"><a href="http://images.game-central.org/editorials/freeware/iwbtg-3.jpg" rel="shadowbox[post-7839];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/iwbtg-3-thumb.jpg" alt="IWBTG" width="180" height="135" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<p><span id="leoHighlights_iframe_modal_span_container"></p>
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></p>
<div id="leo_iFrame_close" style="position: absolute; top: 10px; left: 360px; width: 20px; height: 20px;"></div>
<p></a></div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
]]&gt;</script></span></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/my-favorite-freeware-january-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dark Void Demo Impressions</title>
		<link>http://game-central.org/2010/editorials/dark-void-demo-impressions/</link>
		<comments>http://game-central.org/2010/editorials/dark-void-demo-impressions/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 20:23:58 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Editorials]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7852</guid>
		<description><![CDATA[The Watchers stand no chance in their sluggish flying saucers.]]></description>
			<content:encoded><![CDATA[<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/void/void-1.jpg" rel="shadowbox[post-7852];player=img;"><img id="__mce" style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/void/void-1.jpg" alt="Dark Void" width="334" height="250" /></a><br />
<strong>Nathan Fillion?</strong></div>
<p>Imagine a man who holds the ability of flight at his fingertips.  In his suit, he can soar the skies with the speed of a jet, yet maintain the flexibility of an agile athlete. The pinnacle of a harmony between man and machine, he is both a fighter and his own most powerful weapon.  He is…<em>not</em> Iron Man.</p>
<p>No, William Grey is a simple cargo pilot.  But in Airtight’s latest game, <em>Dark Void</em>, he becomes an aerial hero and your player character through the title’s third-person shooting adventures.  After crashing in the historically mysterious Bermuda Triangle, Grey enters a portal to the Void, an alternate dimension of seemingly benign, beautiful tropics that really host the Watchers, a hostile alien threat to Earth.</p>
<p>The demo for <em>Dark Void</em> sees Grey already in the Void when he first dons his iconic rocketpack.  With the talented Nolan North (<em>Uncharted 2</em>, <em>Assassin’s Creed II</em>) lending his voice work, Grey expresses robust character and charm as he undertakes an exhilarating first flight.  I felt just as exhilarated since I could control the rocketeer with surprising fluidity.  I appreciate just how every one of my mouse motions makes accurate pitch and yaw movements, while at the same time Grey’s aerial action animates realistically and loosely with just as many bobs, weaves, and dangles as I’d imagine a flying body would do.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/void/void-2.jpg" rel="shadowbox[post-7852];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/void/void-2.jpg" alt="Dark Void" width="576" height="324" /></a><br />
<strong>Falling, with style!</strong></div>
<p>That said, however, some aspects of the controls appear more suited towards a controller, as a few “interesting” and ill-conceived default keyboard bindings bring a nice contortionist circus act right to your desk.  Although the more advanced airborne maneuvers demonstrate the cooler and finer points of Grey’s flying, for some reason you have to hold Left Alt along with WASD to perform them.  As much as I enjoy contortionists, I preferred the acrobat that arrived after I rebound the controls, which allowed easy performance of lateral jukes and other aerobatics so Grey could best dogfight against the alien threat.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-right: 8px; float: left;"><a href="http://images.game-central.org/editorials/void/void-3.jpg" rel="shadowbox[post-7852];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/void/void-3.jpg" alt="Dark Void" width="346" height="260" /></a><br />
<strong>Opt to hijack&#8230;</strong></div>
<p>And aerial combat highlights just how much maneuverability you truly have.  Even against a new rocketman like Grey, the Watchers stand no chance in their sluggish flying saucers.  Sure, they may look awesome with their well-designed gyroscopic stabilizers, but you can basically dance around them as you blast &#8216;em out of the sky.  If you’d rather sacrifice flexibility for firepower, you can also try some of the finely animated hijacking: the Watcher will try its hardest to shake you and fry you, but after a few dodges, a removed control panel, and a quick kill, you’ll have your very own flying saucer.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/void/void-4.jpg" rel="shadowbox[post-7852];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/void/void-4.jpg" alt="Dark Void" width="346" height="260" /></a><br />
<strong>&#8230;for a splatter-filled payoff and a free ride.</strong></div>
<p>You won’t have much time to enjoy your new toy since the demo soon takes the fight to the ground.  The third-person cover-based shooting might make combat look like traditional <em>Gears-of-War</em>-fare, but remember Grey still has his jetpack, so he can literally boost combat back into the air.  Whether the enemy has you pinned or they’re just hiding behind an annoying hunk of cover, you can break free of the constrictive 2D plain and line-of-sight: use the brief, yet useful hover ability to launch above the heat and pick off the aliens like ants.  All of the combat options and full use of verticality makes combat fresh and interesting, though it does make Grey somewhat overpowered compared to his landlocked foes.  While I welcome <em>Dark Void</em>’s take on third-person shooting, I hope that the full game will dole out tougher enemies that can counter Grey’s hovering and offer a necessary challenge.</p>
<p>While its combat makes the gameplay highly unique, <em>Dark Void</em> certainly <em>looks</em> familiar; at least with the on-foot action, I could easily mistake it for <em>Mass Effect</em>.  The Unreal Engine 3 renders beautiful and expansive outdoor environments that provide great freedom to soar, but are sparsely detailed.  A lack of in-game anti-aliasing support and the dull indoor structures, meanwhile, mar what’s overall a lush and finely constructed world of the Void.  As far as the demo shows, it doesn’t quite reach the graphical quality of the best-looking UE3 games, such as <em>Batman: Arkham Asylum</em> and <em>Mirror’s Edge</em>, though its art style seems to focus on making the aerial action as eye-catching and dramatic as possible.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/void/void-5.jpg" rel="shadowbox[post-7852];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/void/void-5.jpg" alt="Dark Void" width="576" height="324" /></a><br />
<strong>From cover-based to hover-based.</strong></div>
<p>The demo shows how <em>Dark Void</em> places an innovative new vertical twist on the already thoroughly iterated third-person shooter by applying the classic rocketman fantasy from film that has yet only appeared in relatively few videogames.  It strikes me, especially with its strange and adventure-themed orchestral score, as a title that hearkens back to beloved ‘50s sci-fi and film serials just short of having a bold-typed poster advertising “DEATH DEFYING THRILLS!” and “FLYING SAUCERS!”  Though the demo brings up some valid concerns, including the controls and the difficulty, it ostensibly doesn’t showcase all <em>Dark Void</em> has to offer, such as the so-called “vertical cover system.”  So, I look forward to how all its individual gameplay and narrative aspects weave together into the whole of the final release.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<p><span id="leoHighlights_iframe_modal_span_container"></p>
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></p>
<div id="leo_iFrame_close" style="position: absolute; top: 10px; left: 360px; width: 20px; height: 20px;"></div>
<p></a></div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
]]&gt;</script></span></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/dark-void-demo-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 74</title>
		<link>http://game-central.org/2010/podcasts/gcp-episode-74/</link>
		<comments>http://game-central.org/2010/podcasts/gcp-episode-74/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:36:47 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7844</guid>
		<description><![CDATA[Essential features in PC game ports, the "Rockstar Wives" and the ethical issues behind working in the game industry on the GCP.]]></description>
			<content:encoded><![CDATA[<p>On this week&#8217;s GCP: essential features in PC game ports, the &#8220;Rockstar Wives&#8221; and the ethical issues behind working in the game industry, the games we bought over the holidays, and which game companies we&#8217;d work for.</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_74.mp3" rel="shadowbox[post-7844];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_74.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/podcasts/gcp-episode-74/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_74.mp3" length="33260773" type="audio/mpeg" />
		</item>
		<item>
		<title>VVVVVV Review</title>
		<link>http://game-central.org/2010/reviews/vvvvvv-review/</link>
		<comments>http://game-central.org/2010/reviews/vvvvvv-review/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 14:15:08 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7729</guid>
		<description><![CDATA[VVVVVV makes me proud to be a PC gamer.]]></description>
			<content:encoded><![CDATA[<p>So, <a href="http://game-central.org/2010/editorials/i-like-it-hard/">I like it hard</a>. And <em><a href="http://thelettervsixtim.es/">VVVVVV</a></em> delivers. Developed by independent game guru Terry &#8220;distractionware&#8221; Cavanagh, maker of such titles as <em>Don&#8217;t Look Back</em> and Game Central&#8217;s favorite, <em>Judith</em>,  <em>VVVVVV</em> is a hearken back to gaming past. Featuring a graphical palette reminiscent to gaming of the &#8217;80s, <em>VVVVVV</em> delivers a platforming experience that throws a wrench into the platform game machine, and churns out something that won&#8217;t be forgotten in the indie realm any time soon.</p>
<p>First, let me say: Terry Cavanagh, screw you. Also, thank you. Thank you, thank you, thank you. Games like <em>VVVVVV</em> make me proud to be a PC gamer &#8211; no boundaries or restrictions, no commitments or forced appeasement. Just a title soaked in pure passion for the design. And with that, let us venture forth into the dimension of<em> </em>VVVVVV.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/vvvvvv/vvvvvv-1.jpg" rel="shadowbox[post-7729];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/vvvvvv/vvvvvv-1.jpg" alt="VVVVVV" width="571" height="428" /></a><br />
<strong>If you&#8217;re not quick with your fingers, you will be dying <em>a lot</em>.</strong></div>
<p><em>VVVVVV</em> is a platformer focused on what the genre does best: jumping. But instead of the traditional &#8220;jump-on-the-enemy&#8221; nuance, it instead takes into account the mechanic of altering gravity. For instance, if the player jumps into a ceiling, the character will stay attached to that ceiling until they hit the down button. It&#8217;s a simple, yet incredibly flexible design mechanic that opens up a world of possibilities for the game experience. Controlling the character in the game is as simple it looks: your fingers will stay glued to the arrow keys throughout the journey. But don&#8217;t let the tactile simplicity fool you; <em>VVVVVV</em> is a hard game. The world that Cavanagh created is filled with the most brutal platform tricks you&#8217;ve seen this side of the NES era, and is by no means lenient in its execution. You will die a lot. And I do mean a lot. In my initial play-through, I had over 1,400 deaths in three hours of playtime.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/vvvvvv/vvvvvv-2.jpg" rel="shadowbox[post-7729];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/vvvvvv/vvvvvv-2.jpg" alt="VVVVVV" width="571" height="428" /></a><br />
<strong>The story is a minor presence, but it appropriately complements the gameplay.</strong></div>
<p>Don&#8217;t expect the presentation of the story to be along the same lines as Cavanagh&#8217;s earlier works, the gameplay takes front seat on this ride while the narrative sits in a very worthy shotgun. You play as a ship captain exploring the endless void of space when, all of a sudden, he gets transported with his crew to the strange dimension of VVVVVV. Upon warp, the crew gets scattered around the strange new area and it&#8217;s up to you as captain to rescue them. Around the world are computer terminals that offer small amounts of back-story to the universe, but in the end it doesn&#8217;t really matter. The story&#8217;s good, it works, and that&#8217;s all the game needs of it to succeed.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/vvvvvv/vvvvvv-3.jpg" rel="shadowbox[post-7729];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/vvvvvv/vvvvvv-3.jpg" alt="VVVVVV" width="571" height="428" /></a><br />
<strong>There are eight linear levels, while the rest of the world is open.</strong></div>
<p>VVVVVV consists of a large open world with a handful of linear levels, wherein the shipmates are stranded. This is where you find the large majority of the game&#8217;s platforming puzzles. Puzzles in <em>VVVVVV</em> are the standard insta-death spikes and other various moving obstacles. This is where the independent gaming aura emanates the most. Each section of the linear levels has a clever name (&#8220;I Love You,&#8221; followed by, &#8220;That&#8217;s Why I Have to Kill You.&#8221;), all of which gave me a smirk amidst all of my dying sessions. You won&#8217;t be jumping over aliens or lasers&#8230; but instead, words, letters, and other various oddities. In one level, an object resembling a television shoots out &#8220;LIES,&#8221; which you must avoid to survive. Even independent games can have social commentary, my friends.</p>
<p>The game is heavily reliant on trial-and-error. Most of the time <em>VVVVVV</em> will thrust you into a new level with no previous experience of a similarly designed level. Your initial attempt will most likely end in death. Then, when you try again, you&#8217;ll die a second time. And again and again, until you get it right. But the real beauty about this process is the fact there are no consequences of death. You simply respawn at the last reached checkpoint in a matter of seconds, <em>ala</em> <em><a href="http://game-central.org/2009/reviews/trine-review">Trine</a></em>. There are several sections that switch up the gameplay a bit, including one where you control the movement of two characters at once, and another where you&#8217;re constantly bouncing back and forth vertically, all the while dodging objects.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/vvvvvv/vvvvvv-4.jpg" rel="shadowbox[post-7729];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/vvvvvv/vvvvvv-4.jpg" alt="VVVVVV" width="571" height="428" /></a><br />
<strong>Shiny trinkets put the game on a higher pedestal.</strong></div>
<p>For all the treasure hunters out there, bonus &#8220;shiny trinket&#8221; items are scattered across the realm of VVVVVV. The items aren&#8217;t easily obtainable; they&#8217;re all mainly in their own &#8220;mini-levels,&#8221; which are harder than the other levels. I found this concept to be very well done by the fact that the treasure is completely optional, so it&#8217;s necessarily the player&#8217;s own fault if they get angry at the inevitable constant slew of deaths. In addition are several game modes such as Flip Mode, which vertically turns the world around, and Time Trials, where you race the clock to finish levels in time.</p>
<p>Oh, and the music. Oh the music. The <em>music</em>! This stuff is fabulous. Nowadays, music is mostly overlooked by developers. Not indie developers though! The chiptune soundtrack by Magnus Pålsson is simply superb. The emotion it provokes is one that will keep you in a happy mood for the entirety of the game, all the while tapping your feet to the beat.</p>
<p><em>VVVVVV</em> is a pinnacle example of a game that needs a level editor release. I envision a vibrant community of level makers creating a million &#8220;Veni, Vidi, Vici&#8221;  levels (you&#8217;ll see) over and over. But as it stands, the game is just fine. It&#8217;s the first major independent game of the year, and Terry Cavanagh&#8217;s first journey into paid product territory. <a href="http://thelettervsixtim.es/">Do him a favor and buy <em>VVVVVV</em></a>. While the game&#8217;s rough length is estimated around three hours, the ideas brought forth are wholly interesting and a blast to play with.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/reviews/vvvvvv-review/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>I Like It Hard</title>
		<link>http://game-central.org/2010/editorials/i-like-it-hard/</link>
		<comments>http://game-central.org/2010/editorials/i-like-it-hard/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 15:09:18 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Keenan]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7678</guid>
		<description><![CDATA[I'm glad games kick my ass.]]></description>
			<content:encoded><![CDATA[<p>Treading through icy catacombs, I&#8217;m suddenly ambushed by a force of fanatic cultists. I&#8217;m faced by two mages and four warriors. I&#8217;ve seen this situation before; it calls for a simple roar from my war dog to stun the enemies in their tracks, which opens the door for easy and dirty kills. I quickly pause the battle to plan out the attack. My rogue archer will retreat towards the back wall and launch flame arrows into the enemy while my mage tends to the wounds of the forward attack force, consisting of my melee rogue and the war dog. It&#8217;s set: after the initial stunning, the dog will maul the mages, while the rogue melee  handles the four incapacitated warriors with dual-wielded swordsmanship. After one final inspection of my scheme, it&#8217;s time to begin the bloodshed. I un-pause to let the battle commence.</p>
<p>The dog dashes between the huddled group of warriors. A split second later, one of the enemy mages casts a spell of ice, freezing the dog in its tracks. The warriors quickly make do of the dog, severing it unconscious. This is not going according to plan. Frantically, I assign the rogue archer to take out the spellcasters as quickly as possible &#8211; we can ill afford another freezing. Meanwhile, my lead rogue charges forth into the thick of the warriors, keeping them busy with my mage constantly healing his wounds with magic. While watching the progress of the rogue melee, I gaze towards my archer&#8230; she&#8217;s down. This is <em>not </em>going according to plan.</p>
<p>It&#8217;s been five seconds into the battle and  two of my party are already lost. Drastic times call for drastic measures, so I command my mage to unleash a spell of earth shaking fortitude. This knocks the warriors around some, along with my melee rogue, killing him in the process. This <em>is not</em> going according to plan. Three down, one to go, thinks the enemy. I cast what spells I can in the amount of mana I muster, but to no avail. It takes them a fraction of a second to eliminate my last standing party member. &#8220;Your journey ends&#8221; the game tells me. This did not go according to plan.</p>
<p>I&#8217;m playing <em>Dragon Age: Origins</em>. And this story of <a href="http://game-central.org/2009/editorials/wing-commander-and-the-awesomeness-of-the-epic-fail/">defeat</a> can be told numerous times through my experience of the game, yet I&#8217;m still immensely enjoying it. Usually, for me, I don&#8217;t take too kindly towards repetitive loss, which often ends in words my parents wouldn&#8217;t be proud of screamed from the top of my lungs. But for <em>Dragon Age</em>, I take loss as a sign of progression &#8211; on the whole, I end up fighting each battle at least twice, sometimes increasing to five or six times, before actually winning. This game is <em>hard</em>.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/hard/hard-2.jpg" rel="shadowbox[post-7678];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/hard/hard-2.jpg" alt="Hard" width="553" height="311" /></a><br />
<strong>OH MY GOD I DON&#8217;T EVEN KNOW HOW TO PLAY THIS.</strong></div>
<p>The game reminds me of my gaming &#8220;golden years,&#8221; so to speak: the late-NES/early-Genesis era. Back then, I played <em>all</em> the challenging games of yore; <em>Battletoads</em>, <em>Chakan: The Forever Man</em>, <em>Ghosts&#8217;n'Goblins</em> &#8211; you name it, I played it. And I was damn good. In my elementary school years, all I&#8217;d do was play video games, and games like the previously mentioned trained me through the most brutal means possible. But all that training with difficult platforming games in the early &#8217;90s wasn&#8217;t enough to prepare me for when I became a PC gamer around 1995. PC games of that day were difficult, but in a differing manner than their console brethren. It wasn&#8217;t about the skill of successfully pressing the jump button quick enough to dodge enemy bullets. And even if it <em>was</em> about that, the same process was largely dissimilar compared to what it was on a console. When I first booted up <em>Commander Keen IV: Secret of the Oracle</em>, I expected it to play just like what I was accustomed to. Like <em>Contra</em>. But boy was I wrong. That game wasn&#8217;t about the successful string of jumps, but more about the presentation of the character and atmosphere of the game. This was directly in contrast to console gaming of the time. PC gaming wasn&#8217;t <em>just</em> about the challenge of the fingers, it was a challenge to the mind.</p>
<p>Games like <em>WarCraft II: Tides of Darkness</em> and <em>King&#8217;s Quest VI: Heir Today, Gone Tomorrow</em> blew my mind. Those games and others made it clear to me that PC gaming was something totally different than the &#8220;kids games,&#8221; as I then titled them, on the consoles. PC games were brutal in a clearly superior way to console game difficulty. PC games make players think differently. Taking into account monetary funds in <em>X-COM</em> or bullet trajectory in <em>ArmA II</em> is seemingly much more a game of the mind than knowing how many lives you have left.</p>
<p>With the progression of technology and gameplay mechanics over the years, PC gaming has led the way for new ways to go about difficulty. With <em>Left 4 Dead</em>, the game <em>forces</em> you to work together with other people to succeed. It does it in such a way, that it completely redefined cooperative gameplay as we knew it up to that point. <em>That</em> made the game difficult. Even more recently with indie titles like <em>VVVVVV</em> taking the simple platform game concept and throwing in a hint of gravity manipulation adds to the mix of innovation that PC gaming offers.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/hard/hard-1.jpg" rel="shadowbox[post-7678];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/hard/hard-1.jpg" alt="Hard" width="545" height="274" /></a><br />
<strong><em>That&#8217;s</em> the way I like it. (Uh-huh, uh-huh).</strong></div>
<p>After playing games like <em>Bad Mojo</em>, <em>Rainbow Six</em> and <em>Crime Fighter</em>, it was obvious to me that there was no other platform to experience this difficulty on than one of PC gaming. And to no surprise, most console games I&#8217;ve played since the PlayStation 2-era have been incredibly easy. There was no challenge. There was no charm. I could breeze through games like nobody&#8217;s business and be done with it forever.</p>
<p>So despite the numerous expletives and rage-quits, I&#8217;m very fortunate to be a PC gamer. I&#8217;m glad games kick my ass. Difficulty makes gaming interesting, and only the PC gets it right. I like it hard.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/i-like-it-hard/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 73</title>
		<link>http://game-central.org/2010/podcasts/gcp-episode-73/</link>
		<comments>http://game-central.org/2010/podcasts/gcp-episode-73/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 18:34:52 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7781</guid>
		<description><![CDATA[The GCP returns to podcasting this year with a bang: romance in RPGs.]]></description>
			<content:encoded><![CDATA[<p>The GCP returns to podcasting this year with a bang: romance in RPGs. Also, our most anticipated PC games of 2010, &#8220;Truthiness or Falsity&#8221;, and &#8220;Come Out on PC, Damnit!&#8221;</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_73.mp3" rel="shadowbox[post-7781];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_73.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/podcasts/gcp-episode-73/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_73.mp3" length="32971128" type="audio/mpeg" />
		</item>
		<item>
		<title>Retro Review: Divine Divinity</title>
		<link>http://game-central.org/2010/reviews/retro-review-divine-divinity/</link>
		<comments>http://game-central.org/2010/reviews/retro-review-divine-divinity/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 16:00:52 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7725</guid>
		<description><![CDATA[Divine Divinity remains one of the finest RPGs ever.]]></description>
			<content:encoded><![CDATA[<p>To accentuate the recent release of <em>Divinity</em> <em>2</em>, we thought it&#8217;d be a groovy time to highlight its nomenclatural-redundant predecessor, <em>Divine Divinity</em> (we&#8217;re also going to pretend <em>Beyond</em> <em>Divinity</em> never existed, because really, the world is better this way). To start, it&#8217;s probably good to point out that while playing <em>Divine Divinity</em> is certainly not a required prerequisite to partaking of <em>Divinity</em> 2, it may just provide a better understanding for the roots and narrative of the rightful sequel. And again, just to make it perfectly crystal shiny clear, repeat after me: &#8220;<em>Beyond</em> <em>Divinity</em> was a cruel and painful practical joke. It isn&#8217;t real.&#8221; Got it? Awesome.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/divdiv/div2.jpg" rel="shadowbox[post-7725];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/divdiv/div2.jpg" alt="Divinity" width="576" height="360" /></a><br />
<strong>&#8220;Wife took the whole damn planet in the divorce. All I got left are my bones.&#8221;</strong></div>
<p>As <em>Divine Divinity</em> begins, you&#8217;re offered three title roles: Fighter, Survivor, and Mage, all with female and male variants. Each of the three main choices contains a special move (powered by your stamina meter) that&#8217;s unavailable to the rest. Unfortunately, only the warrior&#8217;s spin-slash is useful; the others are pretty lackluster, and easily replicated through selectable abilities or potions. The difference between the sexes provides alternate starting skills and stats, and best of all: unique and sometimes hilarious—in a good way—voice-actors; the male survivor sounds identical to a young Jack Nicholson, and the female mage is constantly annoyed. This is one of those games you&#8217;ll want to replay simply to hear your new character&#8217;s auditory responses to various contextual nuances. Even better, the plot is peppered with cheeky and humorous twists; something that&#8217;s altogether an unfortunate rarity in RPGs. <em>Divine Divinity</em> never takes itself too seriously.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/divdiv/div1.jpg" rel="shadowbox[post-7725];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/divdiv/div1.jpg" alt="Divinity" width="576" height="360" /></a><br />
<strong>Got a micromanaging fetish? Behold your dream come true. You can open any number of info menus all at once.</strong></div>
<p>Besides being locked into a singular special move, choosing a character type doesn&#8217;t contain you to one  narrow line of skill progression; there are zero imposed class restrictions. Wanna play a club-wielding muscled wizard? A sneaky but physically weak demon-summoning fighter?  Go for it. You&#8217;re free to take your character down any path you choose. All skills are there for the potential taking, whether magical or thuggish. But beware, this amount of freedom can be daunting, and spreading yourself too thin in multiple areas will prove troublesome. It&#8217;s best to stick with two total discipline&#8217;s skill sets, unless you&#8217;re <em>really</em> itching for a serious challenge.</p>
<p>Leveling up grants one (and on rare occasions, two) skill points and five total stat points for your dispersal into the four main attributes: strength— useful for lugging around heavy treasures and bashing stuff; agility— good for shootin&#8217; arrows on target and not getting creamed by cudgels; intelligence— handy for pumping up your magical reserves; and finally: constitution— valued for marathon running and ballooning health points. You&#8217;ll also have the choice to select the charm skill, which, depending on the amount of points invested, will let you attach up to 5 runes into slotted weapons and armor to increase your base numbers. This is a great way to provide added strength to carry more gear if you&#8217;re a skinny Survivor, for example.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/divdiv/div3.jpg" rel="shadowbox[post-7725];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/divdiv/div3.jpg" alt="Divinity" width="576" height="360" /></a><br />
<strong>&#8220;I&#8217;ll take an ale, a cup of mead, and the blood spatter of a savagely butchered vagrant.&#8221;</strong></div>
<p><em>Divine Divinity</em> follows the tried and true method of the top-down point and click perspective. Thanks to the pinnacle of 2D technology when the game first crawled out of its fabricated cocoon, the graphics are colorful and gorgeous, even by today&#8217;s standards. The natural explored environments are varied and provocative, with perhaps the thankfully-limited cave crawls being the exception (it&#8217;s just tough to make rocks and dirt captivating). While the initial gameplay and on-screen HUD might remind more than a little of a certain unknown title called <em>Diablo</em>, the similarities screech to a halt soon after. This is <em>not</em> a frantic <em>Torchlight</em>-esque mouse-abusing click-fest. <em>Divine Divinity</em> does cram boat-loads of bad guys into your monitor all at once, practically begging you to start slamming that mouse clicker like a Cheetah on crystal meth. But unless you&#8217;re blasting  points exclusively into strength and straight-up role-playing as Conan, rushing into a crowd of enemies and going balls-nuts will get you corpsed-up but lickity-split quick. More than likely, you&#8217;ll instead be hitting pause, planning your attacks, chugging precious elixirs, retreating, and calculating strategies in a seamless real-time/frozen-time amalgamation accordingly.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/divdiv/div4.jpg" rel="shadowbox[post-7725];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/divdiv/div4.jpg" alt="Divinity" width="576" height="360" /></a><br />
<strong><em>Divine Divinity</em> did God rays <em>way</em> before <em>Crysis</em>. More or less!</strong></div>
<p>In a decision I wish more RPG devs would emulate, enemies don&#8217;t respawn, and they don&#8217;t get more powerful as you do. Once the baddies are dead, they&#8217;re dead for good, and traveling too far into the vast open world will get you humiliated early on. Because of the no respawn dynamic, your level limit isn&#8217;t arbitrarily capped at a glass ceiling like an MMO. Instead, your max level is determined by the total amount of antagonists and quests left available for mangling and completion, respectively. This is a far more fluid approach to role-playing, and I&#8217;m honestly not sure how the trend ever went out of style.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/divdiv/div5.jpg" rel="shadowbox[post-7725];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/divdiv/div5.jpg" alt="Divinity" width="576" height="360" /></a><br />
<strong>More in-game readable books than your local public library! Mostly because libraries don&#8217;t have in-game readable books.</strong></div>
<p>For those seeking a robust and meaty trek, you&#8217;ll be pleased to hear that <em>Divine Divinity</em> is a damn long game. Expect to garner a solid 50 &#8211; 60 hours if you hit all the side quests and ancillary areas. The bad news? Well, like Game Central referenced <a href="http://game-central.org/2009/editorials/top-5-pc-games-ruined-by-bugs/">here,</a> your 50 &#8211; 60 hours, unfortunately, will not be bug-free. Even after something like fifty billion patches, this title still suffers from some deadly serious code gremlins. Certain quest-based NPCs sometimes fail to appear, one-use non-duplicative keys can open the wrong doors, and a tiny handful of broken skills have all managed to elude the developer&#8217;s bug-smashing hammers even now. Putting a few points into the deadly gift slot and releasing death scorpions renders the game 100% unchallenging; the scorpions just wander around murdering everything they see with ease (sending you buckets of XP in the process). You&#8217;d think that after years of patching and tweaking, this type of behavior would have been rectified.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/divdiv/div7.jpg" rel="shadowbox[post-7725];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/divdiv/div7.jpg" alt="Divinity" width="576" height="360" /></a><br />
<strong>Looks like a pretty safe place to set up camp&#8230;</strong></div>
<p>Regardless, <em>Divine Divinity</em> remains one of the finest RPGs ever constructed. Sure, it doesn&#8217;t do anything substantially different from the basic tenements of the RPG codex, but what it does, it does damn near to icy-cool perfection. If you consider yourself anywhere near an RPG connoisseur, you&#8217;ll be well inclined to give this retro title a spin. Plus, to top it all off, the music is good enough that you&#8217;ll salivate over the possibilities of acquiring the soundtrack. And at a dirt-cheap price of 6 dead Washingtons on <a href="http://www.gog.com/en/gamecard/divine_divinity/pp/d02560dd9d7db4467627745bd6701e809ffca6e3">Good Old Games,</a> you really have no reason not to start playing it right now. Trust us: it&#8217;ll make a perfect companion to your forays into <em>Dragon Age</em> and <em>World of WarCraft</em>. You won&#8217;t be disappointed.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/reviews/retro-review-divine-divinity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ToMI: Rise of the Pirate God Review</title>
		<link>http://game-central.org/2010/reviews/tomi-rise-of-the-pirate-god-review/</link>
		<comments>http://game-central.org/2010/reviews/tomi-rise-of-the-pirate-god-review/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:30:09 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7705</guid>
		<description><![CDATA[I’m starting to think I like Guybrush better dead than alive.]]></description>
			<content:encoded><![CDATA[<p>Here Lies Guybrush Threepwood. Mitey Pirate.</p>
<p>So says the grave of the valiant hero of <em>Monkey Island</em>. And I thought Telltale put the world of their <em>Tales of Monkey Island </em>series in disarray in <a href="http://game-central.org/2009/reviews/tomi-the-trial-and-execution-of-guybrush-threepwood-review/">Chapter 4</a>, but no, Chapter 5 clearly begins even more hopeless. If you’ve followed the series up until now, you’ve witnessed the shocking death of Guybrush at the hands of LeChuck, who returned to his wholly evil, demonized state.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/pirategod/pirategod-1.jpg" rel="shadowbox[post-7705];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/pirategod/pirategod-1.jpg" alt="Rise of the Pirate God" width="576" height="324" /></a><br />
<strong>Heroes die, but that&#8217;ll never stop them.</strong></div>
<p>The opening cutscene for <em>Rise of the Pirate God</em> unfolds with quite an impressive presentation that feels much cooler than the tarot-powered recaps from the Voodoo Lady in previous chapters. Now, the Lady’s cards lay scattered. The camera pans ominously over them as dialogue from the end of the last chapter replays to remind us of our hero’s fall. Finally, the solemn grave of Threepwood appears and punctuates an effective intro that sets a captivating, yet gloomy tone.</p>
<p>But wait, in a truly brilliant use of the point-and-click adventure genre, the game makes you, the player, the agent of hope. Your shock wears off and you realize you’re in control. When Guybrush’s ghostly fist punches through the earth triumphantly, the moment makes a satisfying start for the pirate adventure. Without any hint from the game itself, your action frees Guybrush; such an intro flows  naturally and its significance is thus subtle and easily overlooked, but the way the entire rest of the narrative moves because of your small, yet important initiative still feels gratifying and cool nonetheless.</p>
<p>The fact that we can see through to Guybrush’s bones probably isn’t normal fare for humans, so he’s still very much dead. At least now he can walk around and enjoy the sights of the mesmerizing Crossroads of the underworld. As I said about the last chapter, Telltale’s graphics engine might use low-resolution textures, but it depicts dark, glowing environments quite well. For a place with as much eternal hopelessness as purgatory, Guybrush’s afterlife at least looks pretty.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/pirategod/pirategod-2.jpg" rel="shadowbox[post-7705];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/pirategod/pirategod-2.jpg" alt="Rise of the Pirate God" width="576" height="324" /></a><br />
<strong>Even in death, it&#8217;s always a good time for a threesome.</strong></div>
<p>There&#8217;s no time for forever with Guybrush, however, as he must find a way back to the land of the living to end the havoc of LeChuck. While Telltale doesn’t weave a tale as epic as Alighieri’s <em>The Divine Comedy</em>, Guybrush’s escape from the afterlife is yet a fulfilling story of great puzzles and humorous dialogue.</p>
<p>The Crossroads makes a great setting for puzzles that hearken fondly back to <em>The Secret of Monkey Island</em>’s pirate challenges of sword mastery, thievery, and treasure huntery. I’m starting to think I like Guybrush better dead than alive, for his death means other dead characters, like pirate assassin Morgan LeFlay, can make a welcome return to the story, and it brings Telltale’s highly enjoyable twist on <em>Monkey Island</em>’s insult sword fighting. Chapter 5’s three-way fight makes quite a salient story element: the satisfying challenge comes through as you have Guybrush make proper responses that both insult one opponent and also cheer Morgan up from her post-death depression.</p>
<p>Guybrush’s exploits in The Crossroads eventually brings him back down to Earth in the latter half of the narrative. Story-wise, I find Guybrush’s situation fascinating as he becomes a curiously compelling reflection of his dark nemesis when he ventures out in different undead forms. Even better, his predicament illustrates creative, multi-faceted puzzle design involving both ghost and zombie Guybrush. On the other hand, the tedious switching back and forth between forms marks the one chunk of rotting flesh in the otherwise pristine body of Chapter 5. It felt most tiresome in the Club 41 bar scene where switching between forms to progress in a single puzzle involved long treks between Crossroads areas.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/pirategod/pirategod-3.jpg" rel="shadowbox[post-7705];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/pirategod/pirategod-3.jpg" alt="Rise of the Pirate God" width="576" height="324" /></a><br />
<strong>Guybrush is a zombie and he thinks talking birds are weird?</strong></div>
<p>Inevitably, the experience culminates in a thrilling battle against LeChuck, which marks a fantastic return to form for this <em>Monkey Island</em> title. I mean really, as cool as it is for Telltale to experiment with the series, it can’t be <em>Monkey Island</em> without LeChuck as the main villain. If Chapter 4 marked Telltale’s ability to author a great <em>Monkey Island</em> tale so unlike the others, Chapter 5 shows the developer can apply the same effort using the traditional <em>Monkey Island</em> formula.</p>
<p>Back when the first <em>Tales</em> episode released, I enjoyed the new developers’ take, but I thought they had a long way to go to make the writing and puzzles as humorous and fulfilling as those in some of the greater <em>Monkey Island</em> games. I certainly had my doubts in Chapter 3, but Chapters 2, 4, and 5 show just how well Telltale has done. While <em>Tales of Monkey Island</em> doesn’t surpass the best of the LucasArts <em>Monkey Island</em> games, it rivals them in overall quality and definitely makes a worthwhile entry in the series.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/reviews/tomi-rise-of-the-pirate-god-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retro Review: Command &amp; Conquer: Generals</title>
		<link>http://game-central.org/2010/reviews/retro-review-command-conquer-generals/</link>
		<comments>http://game-central.org/2010/reviews/retro-review-command-conquer-generals/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 16:56:26 +0000</pubDate>
		<dc:creator>Andrew F.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7608</guid>
		<description><![CDATA[Generals proves to be the awkward stepchild.]]></description>
			<content:encoded><![CDATA[<p><em>Command &amp; Conquer: Generals</em> shares a lot in common with <em>Call of Duty: Modern Warfare 2</em>.  While this controversial statement will undoubtedly puzzle many of you, the rationale behind it is sound.  Both games involve a near-future conflict between America, a secretive terrorist organization, and a major eastern superpower.  In these conflicts, both sides use Clancy-esque technology that in our world doesn’t quite exist yet, and both games feature sweet industrial rock guitar solos to get your blood pumping.  The final element that both games share is an incoherent narrative that exists for the sole purpose of creating the most insane combat situations possible.</p>
<p>Generals focuses on a three-way conflict between the USA, China, and the fictitious Global Liberation Army, a faction whose sole purpose is to play the others off of each other.  While a war against this not-quite-Al-Qaeda group of fundamentalists might give the game a “ripped from the headlines” appeal, it only increases the feeling that this is a bad comic book.  For example, the first mission tasks you with invading Baghdad.  While this might have been an interesting and plausible future in February of 2003 when the game was initially released, the fact that the United States actually invaded Iraq later that year makes the mission simply feel weird.  Furthermore, the “You are victorious!” message that ironically appears upon the mission’s completion leaves a sombre aftertaste.   While this unfortunate coincidence could not have been foreseen, it represents the blind patriotism found in all three of <em>Generals</em>’ factions.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/generals/gen-3.jpg" rel="shadowbox[post-7608];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/generals/gen-3.jpg" alt="Generals" width="553" height="415" /></a><br />
<strong>Many of the Global Liberation Army&#8217;s most powerful weapons use Anthrax.  Apparently, it glows florescent green.</strong></div>
<p>While corny missions like these represent the majority of the game’s single-player, there is essentially no overarching story to tie everything together.  Upon completing a mission, you are shown a world map and some text describing your next mission.  While the presentation is very sleek and the voice narration is a nice touch, you are given no context as to why these missions are even happening.  While I understand that operating on a need-to-know basis is part of military life for the lowly grunt, it feels weird considering that the game is about Generals.  The strung-together nature of the three singleplayer campaigns feels especially odd considering the emphasis that previous <em>Command &amp; Conquer</em> (<em>C&amp;C</em>) games put on narrative and charismatic science-fiction characters.</p>
<p>Despite the messy narrative, <em>Generals</em>’ core gameplay is actually quite strong, and multiplayer can be a blast.  The units themselves have a lot of personality, and for the most part, they feel plausible in a near-future setting.  There are several exceptions however, such as the Chinese Overlord Tank that is a not-so-subtle nod to the Mammoth Tank found in the original <em>Command &amp; Conquer</em>.  It can be hilarious to click on a GLA worker, only to have him complain that it is difficult to build structures without shoes.  There are plenty of such Easter eggs to be found, and they do a lot to make your troops feel unique.   Battles themselves feel hectic, and eight-player online skirmishes can contain many memorable RTS moments such as sneak attacks and heroic last stands. Veteran <em>C&amp;C</em> players will find that a new “Generals Points” system makes calling in air support a lot easier, as all your purchased support abilities are nicely lined-up at the side of the screen.  Some of the classic <em>C&amp;C</em> super-weapons also return, such as the nuclear missile and the USA’s Particle Cannon, which essentially acts like the Ion Cannon from <em>C&amp;C</em> of yore, except now you can move the laser beam while it is firing to burn a line through your enemy’s base.  However, veteran <em>C&amp;C</em> players will undoubtedly be confused by the redesigned interface that feels more like something out of <em>StarCraft</em>.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/generals/gen-1.jpg" rel="shadowbox[post-7608];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/generals/gen-1.jpg" alt="Generals" width="553" height="415" /></a><br />
<strong>While it may be shiny, the new user interface feels nothing like <em>Command &amp; Conquer</em>.</strong></div>
<p>With a bit of a cult following, <em>Generals</em> still has a small but dedicated online community, and there are plenty of mods available to spice the game up.  Be forewarned however, that anyone still playing this game online has likely had a long time to practice, so prepare to lose a lot at first.  This might lead to serious frustration, but is more a criticism against how RTS games are designed in general.  Luckily, there are a lot of fan-made strategy guides available online, and hopefully you’ll be able to get up to speed without too much fuss.  However, if you’re having trouble finding a fair fight, there are completely competent bots available for practicing.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/generals/gen-2.jpg" rel="shadowbox[post-7608];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/generals/gen-2.jpg" alt="Generals" width="553" height="415" /></a><br />
<strong>Unless you bring proper anti-aircraft weapons, American helicopters will lay waste to your tanks.</strong></div>
<p>While it was cutting-edge back in 2003, <em>Generals</em>’ presentation is definitely showing its age.  While the music, sound effects, and loading screens are still great, the in-game visuals look muddy.  This might actually be a blessing in disguise for players with lower-end computers, as the game will scale down to the point that it can run on pretty much anything.  However, those of us who like to keep our PCs current will definitely notice how old the graphics look.  To add to the frustration, the game only supports low-resolution monitors, and I had to edit some .INI files just to get widescreen to work.  While such headaches are par for the course when attempting to play older games, it would be negligent not to mention them.</p>
<p>Unfortunately, <em>Generals</em>’ greatest sin was EA’s decision to give it the <em>Command &amp; Conquer</em> branding.  Had it been a standalone product, expectations would have been much more realistic.  Instead of a true successor, <em>Generals</em> proves to be nothing more than <em>Red Alert 2</em>’s awkward stepchild.  The result is a decent game which was simply given boots too big to fill. With the upcoming release of <em>Command &amp; Conquer 4</em>, and the promise to reinvent the <em>C&amp;C</em> gameplay, we&#8217;ll see if &#8220;Generals 2&#8243; is a more proper title than &#8220;Tiberian Twilight.&#8221;</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></a></p>
</div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
// ]]&gt;</script></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<p><span id="leoHighlights_iframe_modal_span_container"></p>
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></p>
<div id="leo_iFrame_close" style="position: absolute; top: 10px; left: 360px; width: 20px; height: 20px;"></div>
<p></a></div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
]]&gt;</script></span></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/reviews/retro-review-command-conquer-generals/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Perfect Game</title>
		<link>http://game-central.org/2010/editorials/the-perfect-game/</link>
		<comments>http://game-central.org/2010/editorials/the-perfect-game/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 20:58:10 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Havoc]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7580</guid>
		<description><![CDATA[Be more brilliant.]]></description>
			<content:encoded><![CDATA[<p>So naturally, whenever I end up bashing/criticizing/defecating upon a game, or even sometimes, defending a certain game that others manically despise, the typical question surfaces: “Oh yeah? So what would <em>your</em> ideal game be, Mr. Stabs-the-Heart-of-Devs-a-Lot?” Okay, so that question typically never surfaces, but know what? It should dammit. Because the one thing this PC gaming world needs is <em>more</em> jarringly slanted opinionated dissertations. Lucky for you, you’re gonna get one. It’s like Christmas all over again! Only without the hassle of all that physical unwrapping! And with adverbs! So here goes: an unpretentious proposal for my utopian PC title. Game developers? <em>Pay</em> <em>close, focused</em> <em>attention</em>. I’m about to rock. Your. World.</p>
<p>To start, I desire a game that absolutely refuses all forms of peripheral manipulation besides a standard mouse and keyboard. Something totally inflexible to alternative methods of internal direction. I want a game that’s built and fabricated exclusively around a singular native control device. Better yet, I want every single button on the keyboard to do something, even Pause Break and the asterisk on the number pad. Like <em>ArmA II</em> and the <em>MechWarrior</em> series, only I want the keys easily and instantaneously bound to my own assignments should the need arise, without ever having to access a main menu. I also request the option to bind all feasible actions to a single keystroke. Somehow. See? This is a pretty respectable request. Isn’t it? Okay let’s dig deeper now.</p>
<p>I want, no <em>demand</em> flat-out brilliant lifelike graphics, but I want them stylized and beautiful and gritty. With the option to go from first person to top-down overhead seamlessly. All at once. I want a <em>Crysis-Borderlands-World of WarCraft-Monkey Island</em> blend of fantastic super killer awesomeness. Oh and I also want all of that to run silky buttery smooth on single 8800 GTS. Also, while we’re there, I decree a need for a minimalistic yet insanely complex on-screen GUI. It needs to display all the important vitals and stats, but at the same time, it needs to be integrated into the context of the game’s continuity without ever appearing gimmicky. It needs to be exactly like <em>Far Cry 2</em> only different, presenting as much info-related minutia as <em>Civilization IV</em>. “How in the hell do we <em>that</em>,” you say? Doesn’t matter how. Not my problem. Make it work. Pour Dr. Pepper onto the code or something. Be more brilliant.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/perfectgame/perfectgame.jpg" rel="shadowbox[post-7580];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/perfectgame/perfectgame.jpg" alt="perfect game" width="260" height="300" /></a><br />
<strong>Red Alert contains non-interactive cut scenes.<br />
Therefore, it is a terrible game.</strong></div>
<p>For gameplay, the perfect title must be an RPG/FPS/Brawler/Turn-Based/Real-Time/Adventure hybrid, and by golly it’d <em>better</em> incorporate all those styles without a hitch. It’ll be like a combination of <em>Command &amp; Conquer: Renegade</em> and <em>Savage</em> and <em>Street Fighter IV</em>, only good. Clive Barker, Tom Clancy, Chet Faliszek, and Tim Schafer will pen the plot. And of course, it’ll need top-notch voice acting to accommodate the rest of its aforementioned impeccable attributes. Nothing less than Mark Hamill, Patrick Stewart, and Joe Kucan will suffice. Actually, know what? Screw all that. This game obligates nothing less than the entire cast of <em>Lost</em> and <em>Battlestar Galactica</em>. In conjunction with all of the above, the perfect game is mandated to be totally glitch and bug-free (this will no doubt necessitate 17 crazy in-depth beta tests, but these tests need to be finished a week ago so the game can come out tomorrow).</p>
<p>Oh and back to the story: it abso-freaking-lutely <em>must</em> be 100% interactive at all possible times, even when it’s technically impossible or seemingly retarded to do so in the first place. Because we all know: if we can’t manipulate the on-screen narrative as it progressively unfolds, the game cannot be considered perfect. Common sense here people. It’s your job as game creators to see through all my ostensibly abstract genius suggestions and manipulate them into rock-solid concrete realities.</p>
<p>Or, on second thought, maybe we could preemptively attack mass stupidity and just agree that certain games can be perfect on their own, even if they don’t necessarily fill the needs of every single opinion on the planet. Oh hi, <em>Machinarium</em>!</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<p><span id="leoHighlights_iframe_modal_span_container"></p>
<div id="leoHighlights_iframe_modal_div_container" style="border: 1px solid black; position: absolute; visibility: hidden; display: none; width: 394px; height: 40px; z-index: 32768; background-color: white;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();">
<div id="leo_iFrame_closebar" style="position: absolute; top: 0px; left: 0px; width: 394px; height: 40px; z-index: 32768; background-image: url(chrome://shim/content/highlightsFilter-3/header.gif);"><a href="javascript: leoHighlightsIFrameClose();"></p>
<div id="leo_iFrame_close" style="position: absolute; top: 10px; left: 360px; width: 20px; height: 20px;"></div>
<p></a></div>
</div>
<p><script type="text/javascript">// <![CDATA[
   createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20false%3B%0Avar%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_MAX_HIGHLIGHTS%20%3D%20200%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_ID%20%3D%20%22leoHighlights_iframe%22%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_DIV_ID%20%3D%20%22leoHighlights_iframe_modal_div_container%22%3B%0Avar%20LEO_HIGHLIGHTS_SHOW_DELAY_MS%20%3D%20300%3B%0Avar%20LEO_HIGHLIGHTS_HIDE_DELAY_MS%20%3D%20750%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%20%3D%20%22transparent%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%20%3D%20%20%20%22rgb%28245%2C245%2C0%29%20none%20repeat%20scroll%200%25%200%25%22%3B%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%7B%0A%20%20%20%20%20%20alert%28%22EXCEPTION%3A%20%22+location+%22%3A%20%22+e+%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Cn%5Ct%22+e.name+%22%5Cn%5Ct%22+%28e.number%260xFFFF%29+%22%5Cn%5Ct%22+e.description%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.width+%22%2C%22+this.height+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22+this.x+%22%2C%22+this.y+%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C236%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28394%2C512%29%3B%0Avar%20LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%20%3D%2040%3B%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width%2C%0A%09%09%09LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width%2C%0A%09%09LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20+%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22+callName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22+name+%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22leoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsEvent%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20elem%3Ddocument.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28document.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddocument.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddocument.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20+%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20+%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count++%3B%0A%20%20%20%7D%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20+%20iFrameDim.width%20%3E%20scrolledPos.x%20+%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20+%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.Width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20+%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20+%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x+iFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width+20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20if%20%28LEO_HIGHLIGHTS_DEBUG_POS%26%26LEO_HIGHLIGHTS_DEBUG%29%20%7B%0A%20%20%20%20%20%20%20%20%20alert%28%22%20Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20+iFrame.id+%22%20-%20%22+anchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20+%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cncenter/visible%20%20%20%20%22%20+%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28absolute%29%20%22%20+%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20+%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20+%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20+%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20+%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20+%20position%29%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20+%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20+%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3D%22711-36858-13496-14%22%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22+rover+%22/4?%26mpre%3D%22+encodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09var%20url%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url%27%29%29%3B%0A%0A%20%20%20%09this.iFrame.src%3Durl%3B%0A%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%09this.show%3Dfunction%28%29%20%7Bthis.updatePos%28%29%3B%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%20this.updatePos%28%29%3B%7D%20%20%20%09%09%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_HOVER_SIZE%3B%0A%20%20%09%09var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09var%20url%3DiFrame.src%3B%0A%20%20%09%09var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%09%09if%28idx%3E%3D0%29%0A%20%20%09%09%09url%3Durl.substring%280%2Cidx%29%3B%0A%09%09url+%3D%28%22%26size%3D%22+size%29%3B%0A%09%09if%28clickId%29%0A%09%09%09url+%3D%28%22%26clickId%3D%22+clickId%29%3B%0A%09%09%0A%20%20%09%09iFrame.src%3Durl%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%09%09if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%09%09%09_leoHighlightsPrevElem.hover%3Dfalse%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrame%2CiFrameSize%29%3B%0A%20%20%09%09_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22+anchorId+%22%5C%27%2C%5C%27%22+size+%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%09%09leoHighlightsEvent%28%22clicked%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%09%09leoHighlightsEvent%28%22hovered%22%29%3B%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi++%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22+i%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20sub%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsEvent%28key%2C%20sub%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2C%20key%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22sub%22%2C%20sub%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId+%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A");
]]&gt;</script></span></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2010/editorials/the-perfect-game/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Operation Flashpoint: Dragon Rising Review</title>
		<link>http://game-central.org/2009/reviews/operation-flashpoint-dragon-rising-review/</link>
		<comments>http://game-central.org/2009/reviews/operation-flashpoint-dragon-rising-review/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 03:04:00 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6125</guid>
		<description><![CDATA[The main menu is one of the highlights of Dragon Rising.]]></description>
			<content:encoded><![CDATA[<p>It should be no surprise to regular Game Central readers that I&#8217;m a fan of the <em>Operation Flashpoint</em> and <em>ArmA</em> military simulation series. I recently nominated the latter&#8217;s second title as one of my <a href="http://game-central.org/2009/editorials/game-of-the-year-editors-picks/">games of the year</a>, and in my <a href="http://game-central.org/2009/vidcasts/top-ten-games-of-all-time/">top ten PC games video</a>, I placed the former in the third position, losing only to my favorite game of all time, <em>Crusader: No Remorse</em> and the endless praise-magnet <em>Deus Ex</em>. In the video, I noted the game&#8217;s replayability through the endless waves of missions developed by the game&#8217;s fan community and the game&#8217;s emphasis on sheer realism; it was brutal. The one-shot-and-you&#8217;re-dead kind of brutal. Layering that in with the dynamics of squad management, vehicle piloting, and bullet mechanics, the game was truly innovative for its time.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/reviews/ofp2/ofp2arma2.jpg" rel="shadowbox[post-6125];player=img;"><img style="margin-bottom: 5px;" src="http://images.game-central.org/reviews/ofp2/ofp2arma2.jpg" alt="OFP2" width="324" height="211" /></a></div>
<p>Fast-forward to 2007; a rift of my beloved series forms from a split between the game&#8217;s developer Bohemia Interactive, and the publisher, Codemasters. Bohemia went on to create the spiritual successor to the original game, <em>ArmA</em> and later <em>ArmA II</em>, while Codemasters developed the sequel-in-name-only, <em>Operation Flashpoint: Dragon Rising</em>. <em>Dragon Rising</em> promised to live on with the grittiness of the original game whilst <em>ArmA II</em> promised the same. In the years since <em>ArmA II</em>&#8217;s and <em>Dragon Rising</em>&#8217;s announcement, an affiliation revolution occurred, <em>ala</em> <em>Quake III Arena</em> and <em>Unreal Tournament</em> in 1999, with multitudes of fans siding with whom they believed to be the winner in the armed conflict of gaming greatness.</p>
<p>My friends, I have returned from the war-torn battlefronts, seeing both sides of the fight, and it is evidently clear who the loser is. But let us not discuss what the loser could&#8217;ve been, but instead &#8211; what <em>Operation Flashpoint: Dragon Rising really</em> is:  a tactical first-person-shooter, focusing mainly on infantry combat. In the single-player campaign&#8217;s eleven missions, the player leads a four-man team through a series of typical military operations: stealing top secret documents, ambushing truck convoys, and just plain ol&#8217; killing people. The reason for doing these is explained in the game&#8217;s surprisingly good introduction movie &#8211; a remote island named Skira is having ownership problems between China and Russia, and in pure military style, China occupies the island in the name of their alleged proprietorship. Russia calls upon the United States of America to help them overtake the Chinese and live happily ever after. That may sound all fine and dandy, but the progression of the plot  is largely ignored, so don&#8217;t expect any form of story whatsoever &#8211; the gameplay is the forefront here. That&#8217;s a good thing though, isn&#8217;t it?</p>
<p>No. It isn&#8217;t.</p>
<p>Normally I might say so, but in this case, it just absolutely isn&#8217;t. <em>Dragon Rising</em> is one of the most disappointing games I&#8217;ve played all year, both as a sequel, and as a standalone game. It pains me to say it, but from the distinct lack of PC polish to the gameplay mechanics, this game is just plain bad. The name of one of my favorite titles of all time has been tainted by the wrongdoings of Codemasters. Let us venture forth to examine these issues.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/ofp2/ofp-5.jpg" rel="shadowbox[post-6125];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/ofp2/ofp-5.jpg" alt="OFP2" width="560" height="315" /></a><br />
<strong>Sadly and hilariously, the main menu is one of the highlights of <em>Dragon Rising</em>.</strong></div>
<p>Let&#8217;s start with the obvious beast: gameplay. <em>Dragon Rising</em> is the typical first-person shooter with a little bit of realism paint brushed on, but not too thick. Probably one layer. At the beginning of each assignment, you get a briefing from the disembodied voice from headquarters to inform you of the day&#8217;s mission and what to do. You head to the laid-out waypoint, wherein you&#8217;ll most likely encounter a small patrol of Chinese soldiers to eliminate. Going through these waypoints you&#8217;ll eventually get to the primary objective at hand. Sounds normal, doesn&#8217;t it? The problem lies within the specifics of the execution. Control-wise, the game is decent &#8211; if you&#8217;ve handled an FPS before, you&#8217;ll more than likely be able to jump in and learn to play within the first five minutes (if you last that long). However, from the perspective of a designer, there are better ways to achieve what is attempted.</p>
<p>The flaw in focus centers around the game&#8217;s radial access menu, in which you control your squad to perform actions. This, hands down, kills the game&#8217;s fun factor by a substantial margin. When accessing it, amidst the bullets flying around you, there is no way to move the character. Unless players completely memorize the many levels of action options available to them and utilize it in under two seconds, it will be a huge problem. Equipping weapons is a similarly tedious task; you stop in your tracks to access a menu. These points may be nitpicking, but, as stated, these specifics are huge factors in determining whether someone will enjoy the game or not. As for the shooting mechanics, it&#8217;s just okay. Aim, shoot, reload. You also can look down the gun&#8217;s iron sights, which I found myself doing most of the game. Your inventory allows up to two primary weapons and a secondary weapon, with an assortment of other random trinkets, such as binoculars and hand grenades. You can also pick up the weapons off the soldiers you kill.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/ofp2/ofp-4.jpg" rel="shadowbox[post-6125];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/ofp2/ofp-4.jpg" alt="OFP2" width="560" height="315" /></a><br />
<strong>This thing is the bane of my <em>Dragon Rising</em> existence.</strong></div>
<p>The game attempts to focus on squad-based combat, but fails to achieve this goal in the worst way possible. In all honesty, your companions are completely useless. Sure, they get the occasional kill here and there, but the mechanics of everything else about them is just badly executed. At least they had <em>some</em> inspiration from the original! Telling your troops to suppress a turret bunker may sound like a useful option in completing a mission, but in all honesty, there&#8217;s really no reason for it. In nearly every case of considering these maneuvers (suppressing fire, flank left, troop formation, etc.), you won&#8217;t even have to. The only thing you have to worry about is not getting yourself killed, since your squad respawns to life after death. That&#8217;s right. <em>They come back from the dead</em>. Just head yourself onto the next checkpoint, and bam: Jimmy&#8217;s back.</p>
<p>Oh yeah, checkpoints. <em>Dragon Rising</em> takes full advantage of these bad boys. Though I&#8217;ve been save system agnostic my entire PC gaming life, checkpoints are my least admired of all options. I had a <em>little</em> bit of trouble with one mission where I had to replay through the same checkpoint about twenty-five times. I won&#8217;t ding it on this fact, since it was the playing on my part, but just pointing it out to wary checkpoint save-haters.</p>
<p>In addition to your zombie squad and optional Chinese weaponry, you&#8217;ll be able to call in airstrikes and mortar support. They&#8217;re used mainly for specific cases of ambushes and eliminating armor throughout the game&#8217;s campaign. I found airstrikes to be almost essential when faced with tanks, &#8217;cause those things will decimate you and your squad in seconds. You&#8217;ll also have to face off against helicopters, which, like the tanks, will totally obliterate you if you don&#8217;t act immediately. You won&#8217;t need any special air support to take out the choppers, though. Just unload ten bullets from your M4 into the fuselage and it&#8217;ll go down. Your map of the island isn&#8217;t too useful, since most of what you need to know is already laid out for you in the UI anyway. But the occasional use of guiding airstrikes makes the map essential. Other than that, you won&#8217;t be needing it at all.</p>
<p>And that&#8217;s really the extent of the gameplay. Realism, my ass.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/ofp2/ofp-3.jpg" rel="shadowbox[post-6125];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/ofp2/ofp-3.jpg" alt="OFP2" width="560" height="315" /></a><br />
<strong>There&#8217;s the occasional stealth mission. It&#8217;ll end in ballistics.</strong></div>
<p>Graphically, <em>Dragon Rising</em> is very impressive. The distant and vibrant landscapes over the 280 square kilometer island make for a beautiful game. It&#8217;s rather unfortunate you don&#8217;t get to visit the entire island. Since the campaign is relatively short, you only get to experience a handful of random locations; if only the game was more open so you could experience all the world design had to offer.</p>
<p>As for sound, it is largely forgettable. Realistic military jargon comes through the radio as bullets whiz by your head, but is again plagued by the robotic radio voices of the original game, albeit <em>less</em> robotic. The soundtrack sounds like filler.</p>
<p>Despite these criticisms, there was one part of the game where I actually had fun, which was in multiplayer co-op. I had the pleasure to play through several of the campaign&#8217;s missions with Jonas Wæver, Chief Creative Officer of Off Topic Productions (the creators of <em>The Nameless Mod</em> for <em>Deus Ex</em>). And boy did we have a blast. We trolled through a handful of missions, winning and struggling together, calling out enemies, completing the mission objectives and such. This was honestly the only experience I&#8217;d had with the game where I could justify some money&#8217;s worth of enjoyment. It&#8217;s as if I&#8217;d forgotten everything that was wrong with the game and had to bear with it. A game shouldn&#8217;t force you to do that to enjoy the experience.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/ofp2/ofp2-1.jpg" rel="shadowbox[post-6125];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/ofp2/ofp2-1.jpg" alt="OFP2" width="560" height="315" /></a><br />
<strong>It sucks you don&#8217;t get to see scenes like this often in the game.</strong></div>
<p>All in all, <em>Operation Flashpoint: Dragon Rising</em> is a disappointing experience. Unless you plan on playing only cooperative multiplayer, I don&#8217;t see this being a fun excursion for any PC gamer. It&#8217;s obvious Codemasters developed the game with the console crowd in mind, while the PC version was an afterthought. If you&#8217;re looking for a realistic tactical shooter, look no further than <em>Dragon Rising</em>&#8217;s competition, <em>ArmA II</em>.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/operation-flashpoint-dragon-rising-review/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Retro Review: X-COM: UFO Defense</title>
		<link>http://game-central.org/2009/reviews/retro-review-x-com-ufo-defense/</link>
		<comments>http://game-central.org/2009/reviews/retro-review-x-com-ufo-defense/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 20:51:31 +0000</pubDate>
		<dc:creator>James E.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7455</guid>
		<description><![CDATA[Develop smart tactics because this game is brutally hard.]]></description>
			<content:encoded><![CDATA[<p><em>X-COM: UFO Defense </em>(or <em>X-COM: Enemy Unknown</em> for our European readers) is not a game, it is an interactive survival guide to prepare you for the inevitable: alien invasion. You&#8217;re put in charge of the Extraterrestrial Combat Unit, or X-COM for short, created by the nations of the world. Your mission is to kill the alien freaks at every opportunity and repel the invasion for the various countries that are funding your operation.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/reviews/xcom/xcom-1.png" rel="shadowbox[post-7455];player=img;"><img style="margin-bottom: 5px;" src="http://images.game-central.org/reviews/xcom/xcom-1-thumb.png" alt="X-COM" /></a><br />
<strong>It&#8217;s all about space coverage,<br />
and realizing China will defect no matter what.</strong></div>
<p>If you should fail to defend a country, they will decrease funding or might even defect to the aliens. In order to protect them and effectively manage the incoming threat, you’ll have to build a number of bases strategically placed around the world. Build all your bases in America and the rest of the countries will likely yank precious monies as you’ll be unable to retaliate in a timely manner to the various flying saucers and terror ships that cross through their skies.</p>
<p>To protect the air and wipe out the alien invasion you’ll need to manage an intricate base system where you’ll construct such facilities as hangers, living quarters, radar systems, general stores, and more. There’s a lot of resource and personnel management going on at this level, and an inability to think ahead can result in time lost as you wait for essential materials to arrive. It’s infuriating to deploy your troops into a fight only to find them waving empty guns in front of some slithery aliens.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-right: 8px; float: left;"><a href="http://images.game-central.org/reviews/xcom/xcom-2.png" rel="shadowbox[post-7455];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/xcom/xcom-2-thumb.png" alt="X-COM" /></a><br />
<strong>Reaction time is a factor, so pay attention.</strong></div>
<p>Once you’ve got your soldiers geared up and ready to go, you’ll need a crash site. The aliens like flying around in their sexy, purple spacecrafts, and landing for only minutes to kidnap some innocent humans or scout out a country. Occasionally, you&#8217;ll catch a landed craft, but more often than not you&#8217;ll need to shoot that sucker out of the clouds. You can send your interceptors in guns blazing or make them approach with a little more trepidation, as you keep the enemy craft just barely inside firing range.</p>
<p>When you’ve brought one of the saucers down and have a pretty little crash site, it’s time to send in your squad of soldiers. As soon as you fly these brave boys and girls onto the field of battle, you’ll skillfully managing them in a careful game of turn-based combat. Each soldier has a number of individual statistics (firing accuracy, strength, time units, etc.), and you must exercise each soldier’s abilities in order to make an effective squad.</p>
<p>And this is where <em>UFO Defense</em> becomes an astoundingly complex game. Tactics in taking on these aliens are paramount. Say there’s an alien just inside a building, but the second you open the door, he fires a lethal burst into your troops. No problem. You see that feeble wooden wall, the kind of wall that defies the wills of many a video game character? Not you. That flimsy wooden wall has served its usefulness. It’s all that stands between you and the alien scum. So what do you do? Shoot through that pathetic excuse for a barrier to kill that sucker.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/reviews/xcom/xcom-4.png" rel="shadowbox[post-7455];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/xcom/xcom-4-thumb.png" alt="X-COM" /></a><br />
<strong>Who needs doors when you have the sky?</strong></div>
<p>So you can shoot a wall, big deal. Actually it is. This is one of the few games where just about everything I thought I could do, I actually <em>could</em> do. I could have one of my men toss his gun to another that ran out of ammo, use high explosives to blast openings in alien ship hulls, or crouch one soldier so another soldier can shoot over him.  It’s one of the rare games where I make my own rules instead of following the rules set by the game, where I approach a situation in unconventional and exciting ways. In fact, just writing about this now makes me realize I could turn a soldier into a suicide bomber by having him set a timer for an explosive and sending him running into a room full of xenophobes. It’s that ability to improvise and create exciting, on-the-fly tactics that makes <em>UFO Defense</em> a deep game experience.</p>
<p>And you’ll need to develop smart tactics because this game is brutally hard. This makes sense; if the aliens were smart enough to get here, then they&#8217;re going to have superior technology. A lot of the game is a struggle for survival. The save feature will be invaluable, even for the most veteran of players, as you will need to reload over and over again. So how do you level the playing field?</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-right: 8px; float: left;"><a href="http://images.game-central.org/reviews/xcom/xcom-3.png" rel="shadowbox[post-7455];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/xcom/xcom-3-thumb.png" alt="X-COM" /></a><br />
<strong>These odds hardly seem fair.</strong></div>
<p>Sun Tzu once said “know thy enemy,” and since the original title of the game is <em>UFO: Enemy Unknown</em> that’s relevant advice. After you survive an alien encounter, you’ll gut out the alien ship for everything valuable and haul it back to your base. You can hire a team of scientists to study these items so you can use the enemy’s weapons against them. And once you’ve figured out the tech, you can hire some engineers to manufacture a plethora of alien weaponry.</p>
<p>If you’ve lasted long enough to start gaining such tech and find the juicy surprise one research option gives you, the tables begin to turn. Combine the human spirit with crazy alien technology and you’re ready to become a mean green killing machine. Even then you’ll face some tough foes. I was still losing troops and gear even in the last moments of my play-through. It’s a tough, yet satisfying experience.</p>
<p><em>UFO Defense</em> is an excellent blend of challenging gameplay, complex turn-based combat, and solid simulation. More importantly, it has enough depth and freedom so players can play how they want. It’s one of those exceptional games where your imagination truly is the limit. <em>X-COM: UFO Defense</em> hits a gaming sweet spot by both enabling the player to be creative and challenging the player with difficult foes.  For that reason alone, it’s a title every PC gamer up for a challenge should check out.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/retro-review-x-com-ufo-defense/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>First Look: Post Script</title>
		<link>http://game-central.org/2009/editorials/first-look-post-script/</link>
		<comments>http://game-central.org/2009/editorials/first-look-post-script/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 22:16:47 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7293</guid>
		<description><![CDATA[Post Script flies in the face of convention.]]></description>
			<content:encoded><![CDATA[<p>Sometimes a game just needs get a big “fuck you” out of the way.  No matter how pretentious some may think of the message, it has to be said.  Some developers favor the safety of sequels&#8217; established ideas over the risk of originality.  They pile on the guns and space marines instead of complex, sympathetic characters.  They settle for gameplay of senseless violence rather than a meaningful interdependence of narrative and interaction.  Although the indie-developed, Source Engine mod sends those developers a message that comes off a bit strong, I think <em><a href="http://resolution-magazine.co.uk/postscript/">Post Script</a></em> does the game scene some justice when it throws them the middle finger.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/postscript/postscript-1.jpg" rel="shadowbox[post-7293];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/postscript/postscript-1.jpg" alt="Post Script" width="346" height="260" /></a><br />
<strong>I&#8217;m not crazy! The voices tell me so!</strong></div>
<p>True, I am reading into the narrator’s initial message beyond its explicit intention in the narrative.  After all, the narrator speaks to you, or rather, the character you control.  Akin to the narrator of <em><a href="http://game-central.org/2009/reviews/dear-esther-review">Dear Esther</a></em>, another Source-based indie title and one of <em>Post Script</em>’s main influences, the narrator guides you throughout the experience and provides commentary that complements your exploration of various salient environments.  Also, you’ll hear the voices of several narrators through <em>Post Script</em>, as a different character will guide you in each of its five episodes.</p>
<p>Despite the influences of its predecessor, <em>Post Script</em> experiments with game narrative form far more than <em>Dear Esther</em>.  While <em>Dear Esther</em>, for one, is hardly a “game,” and rather something like an exploratory narrative, <em>Post Script</em> fluidly incorporates light puzzle and game elements into its experience.  The narrator guides often comment on your puzzle-solving actions; each unique personalities will set a tone for the exploration and gameplay experience in ostensibly different, dynamic ways from episode to episode.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-right: 8px; float: left;"><a href="http://images.game-central.org/editorials/postscript/postscript-2.jpg" rel="shadowbox[post-7293];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/postscript/postscript-2.jpg" alt="Post Script" width="346" height="260" /></a><br />
<strong>Her text is pink, what harm could she possibly do?</strong></div>
<p>Perhaps the most experimental aspect of <em>Post Script</em> comes from the nature of the narration itself, which works on multiple levels and even looks visually enticing.  On one level, the well-written dialogue of the characters pop-up on-screen, and either speak to you or banter with each other, like disturbing, yet amusing voices in your head. While text doesn’t quite convey the same essence as voice acting, it makes way for the creativity of the player’s imagination, which may suit some of <em>Post Script</em>&#8217;s very abstract notions better than any voice actor could.</p>
<p>Their pop-up words, in turn, complement the second level of narration, which comes through your exploration and puzzle-solving.  The world of <em>Post Script</em> will feel desolate and lonely as you make your way through.  At least the voices in your head will keep you company, though that offers little comfort.  While I enjoyed the ways the characters’ text describe the world and reminisce of lives long gone, I also thought the narrative style seemed quite jarring and altogether disorienting.  I appreciate the interpretive levels of the pop-up text and the ways they apply to various details in the world, but I simply could not concentrate on moving about the levels and on reading the text at the same time.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/postscript/postscript-3.jpg" rel="shadowbox[post-7293];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/postscript/postscript-3.jpg" alt="Post Script" width="346" height="260" /></a><br />
<strong>Beautiful areas reflect a well-disciplined Source Engine modder.</strong></div>
<p>The text works very similarly to that in the upcoming <em>Splinter Cell: Conviction</em> game, which projects both narrative text and video onto the environments themselves, as if Sam Fisher sees them there with his mind’s eye.  Both <em>Post Script</em>’s and <em>Splinter Cell</em>’s narrative styles look intriguing, but I just feel <em>Splinter Cell</em>’s text-projection integrates much more fluidly with the game-world in ways that don’t detract from the experience.</p>
<p><em>Post Script</em>’s experimental style takes some getting used to; nevertheless, its risk-taking with form reaches beyond more mainstream games, even including the upcoming <em>Splinter Cell</em>, as it aims for an artistic, character-driven aesthetic reminiscent of literary works rather than the flair of action-heavy blockbusters.  Only indie games not motivated by profit, for the most part, can do this, and on some level, they must do this in order to gain attention.  Like its own blunt first message, <em>Post Script</em> flies in the face of convention and seeks only to fulfill its artistic purposes.  I’m sure I’ll get used to its style eventually; I want to, at least, because I very much hope to peer into the minds of more peculiar characters as each episode releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/first-look-post-script/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Community Game of the Year 2009</title>
		<link>http://game-central.org/2009/editorials/community-game-of-the-year-2009/</link>
		<comments>http://game-central.org/2009/editorials/community-game-of-the-year-2009/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 22:55:29 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Editorials]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7398</guid>
		<description><![CDATA[This article was written by the community about the most noteworthy games of the year.]]></description>
			<content:encoded><![CDATA[<p>Beyond the “official” game of the year that we determined on the <a href="http://game-central.org/2009/podcasts/gcp-episode-72/">podcast</a>, Game Central’s community also gets a voice.  Over the past weeks, Game Central’s readership and forum-goers submitted their nomination for the accolade of &#8220;game of the year.&#8221; So without further ado, this article as follows was written by the community about the most noteworthy games of the year.</p>
<div style="font-size: 16px;"><strong>The Community Game of the Year: <em>ArmA II</em></strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 2px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/gotyarma2.jpg" rel="shadowbox[post-7398];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/gotyarma2.jpg" alt="goty" width="311" height="194" /></a></div>
<p>Authentic weaponry?  Enemy forces that can outsmart you? Palpable sense of your own mortality?  <em>ArmA II</em> delivers the modern battlefield to your PC – minus the combat rations.  I can give you lots of reasons why <em>ArmA II</em> gets my vote for PC Game of the Year, but I&#8217;ve got a mission waiting so I&#8217;ll keep it simple.</p>
<p>Unwavering Dedication to Detail:  BI Studio set out to create a modern combat simulator and they really pulled out all the stops in pursuit of their goal.  Everything vital to modern operations was researched and modeled.  Weapons behave accurately and the tactics are real.  You can almost taste the cordite as you dive into the dirt to avoid the bullets snapping overhead.</p>
<p>Unmatched Co-op and Multi-player Capabilities:  Whether you are playing Force vs. AI or Force vs. Force, no other game offers the opportunity to work as a team better than <em>ArmA II</em>.  The in-game VOIP and Tactical Menu enable players to easily execute complex maneuvers.</p>
<p>Mod-ability: Included in the game&#8217;s purchase price are the original developer tools.  Amateur developers ensure that there is a constant supply of new content being produced that ranges from uniforms to complete force conversions.</p>
<p>So if you think you can handle it, I&#8217;ll see you on the battlefield.</p>
<p style="text-align: right;">&#8211;contributed by C. Fransky</p>
<p><strong>Runner-Up: <em>Batman: Arkham Asylum</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/community/community-1.jpg" rel="shadowbox[post-7398];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/community/community-1.jpg" alt="Community GotY" width="355" height="200" /></a></div>
<p><em>Batman: Arkham Asylum</em> is everything a good game should be.  The controls are smooth and intuitive, the gameplay is intriguing and varied, and the graphics are gorgeously stylized. Yet above all, the game is pure, unadulterated fun.  It is the most fun I&#8217;ve had in a third-person game since the original <em>Max Payne</em>, one of my personal all-time favorites. <em> Arkham Asylum </em>focuses on the strengths of the third-person genre: it takes the core mechanics of a third-person beat-’em-up, combines them with a handful of <em>Splinter Cell</em>-esque stealth and detective elements, and adds a dash of innovative gadgets to the mix. Pair them with the backing of over sixty years of <em>Batman</em> mythos, and you have yourself a recipe for a truly kickass title.</p>
<p>Of course, every game has its flaws.  After completing the storyline and finding all the hidden Riddler items, there is nothing left to do in the game. The voice acting, while being reasonably above the industry standard, is still nothing to write home about.  And combat degrades into simple button-mashing at any difficulty other than “Hard.” However, if you can look past these few (minor) pitfalls, you will find yourself with a truly fun and engrossing title that will give both the <em>Batman</em> veteran and average-Joe gamer hours of fun, satisfying, Joker-smashing entertainment.</p>
<p style="text-align: right;">&#8211;contributed by Tom &#8220;Frost&#8221; Conroy</p>
<p><strong>Runner-Up: <em>Braid</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/community/community-2.jpg" rel="shadowbox[post-7398];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/community/community-2.jpg" alt="Community GotY" width="355" height="200" /></a></div>
<p>The idea of being able to reverse time in <em>Braid</em> isn’t just a gameplay trick but also informs the narrative. The game’s protagonist, Tim, is someone who has this overwhelming feeling of regret and wishes he could go back and do things differently. The idea of using the game as a place to explore a character’s regret, correct mistakes, and reminisce on where it all went wrong is something we rarely see in games.</p>
<p>I hesitate to call the game an emotional experience because I never actually got emotional over the game, but I thought it was an effective exploration of an emotion. This is something we don’t see happen much in games and, while I think it can be done with a little more skill and grace and a little less of an air of pretentiousness, <em>Braid</em> is a game that made me think about the potential. And there’s also some clever platforming puzzles in there somewhere. It may not be the of the highest quality but it’s the one that challenged me the most, both in terms of solving puzzles and rethinking what games could be.</p>
<p style="text-align: right;">&#8211;contributed by J. Ewing</p>
<p><strong>Runner-Up: <em>Dragon Age: Origins</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/community/community-3.jpg" rel="shadowbox[post-7398];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/community/community-3.jpg" alt="Community GotY" width="175" height="175" /></a></div>
<p>I have not had this much fun in a Bioware game since <em>NeverWinter Nights</em>. I prefer the traditional RPG Fantasy of big giant swords and mages in skimpy outfits, and <em>Dragon Age: Origins</em> has brought me back into the Bioware bandwagon. I loved the interaction Bioware has placed into the game: your companions will talk to each other, comment about the environment around you, and, once you increase enough favor with them, some will even start questioning you. You feel like your character actually has a history in the game and the people around you will even comment on your “Origins” depending on how you frame it.</p>
<p>You could be the guy who’s glad to escape from home, the one who’s homesick, or even the one who hates being in the forced position of Grey Warden. The companions, like in other Bioware games, also have their own backstory that you can explore and help them solve. Some will only activate when you gain enough favor points with the characters, while others you get through talking with them; specific items given to the characters, meanwhile, open up cinematics and dialogue options for you to interact with the companions. My only wish for the game is that it would have more puzzles/riddles than fighting.</p>
<p style="text-align: right;">&#8211;contributed by Mike Quach</p>
<p style="text-align: justify;"><strong>Other Nominations from the Community</strong>: <em>Burnout Paradise</em>; <em>Empire: Total War</em>; <em>Judith</em>; <em>Left 4 Dead 2</em>; <em>Machinarium</em></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/community-game-of-the-year-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 72</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-72/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-72/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 22:06:48 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7513</guid>
		<description><![CDATA[We name the PC game of the year on this final GCP of 2009!]]></description>
			<content:encoded><![CDATA[<p>We name the PC game of the year on this final Game Central Podcast of 2009!</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_72.mp3" rel="shadowbox[post-7513];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_72.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-72/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_72.mp3" length="61722540" type="audio/mpeg" />
		</item>
		<item>
		<title>Game of the Year: Editor&#8217;s Picks</title>
		<link>http://game-central.org/2009/editorials/game-of-the-year-editors-picks/</link>
		<comments>http://game-central.org/2009/editorials/game-of-the-year-editors-picks/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 19:48:52 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7282</guid>
		<description><![CDATA[The editor's picks for 2009's games of the year.]]></description>
			<content:encoded><![CDATA[<div style="font-size: 16px;"><strong>Chris</strong></div>
<p><strong>1. <em>Machinarium</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/machinariumgoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/machinariumgoty.jpg" alt="goty" width="312" height="191" /></a></div>
<p>For listeners of the Game Central podcast, this pick should come as little surprise. <em>Machinarium</em> takes everything we love about the PC and exemplifies the real power of the platform: creativity and ingenuity. This is truly the adventure game for everybody, even rookies like me. In fact, as I neared the game&#8217;s ending, I didn&#8217;t even care what genre <em>Machinarium</em> technically fell under. All that mattered was how much the game impacted me emotionally and mentally.</p>
<p>From the opening screen, the hand-drawn animated and static visuals captivate like no other.  You could spend hours gazing exclusively at each new scene, studying the backgrounds and staring into their gorgeous industrialized intricacies, and it would not be time wasted. And sure, it&#8217;s 2D, but when a 2D game trounces every other 3D game out there in the illustrative department, does it really matter? Not in my book.</p>
<p>With so many other &#8220;PC&#8221; titles falling prey to the consoles and their decidedly limited modes of presentation and malleability, our platform is rapidly losing its direction. But games like <em>Machinarium</em> help the PC retain its true identity. This game singlehandedly highlights the PC&#8217;s authenticity as an entity wholly separate from the land of the PS3 and the Xbox 360. For this nuance alone, <em>Machinarium</em> deserves the golden trophy.</p>
<p><strong>2. <em>Batman: Arkham Asylum</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/batmangoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/batmangoty.jpg" alt="goty" width="312" height="195" /></a></div>
<p>Any time a PC game causes me to suddenly become compelled to engorge myself on its base narrative influences and underpinnings, it has to be special. Within days of firing up <em>Arkham Asylum</em>, I was so intrigued by the plot and characters, I immediately ordered 2 Batman graphic novels as well as <em>Batman Begins</em> on Blu-ray. Lemme tell ya folks, this behavior ain’t typical.</p>
<p>And from the wide lens of game design and development, <em>Arkham Asylum</em> is quite simply a masterpiece. Rather than creating a gigantic open world such as <em>Far Cry 2</em> or <em>GTA IV</em>, Rocksteady chose to contain the free-form nature of the game into a tightly claustrophobic interwoven environment. You can still adventure around and discover secrets, but there&#8217;s never a lull in the action, and roaming from one area to another never takes more than a few minutes.</p>
<p>Plus, <em>Arkham Asylum</em> finally legitimizes gaming voice-acting as serious business. Mark Hamill puts forth an Oscar-worthy performance as the Joker, and every supporting cast member (with perhaps the exception of the armed guards) retains similar professional deliveries. For once, it&#8217;s obvious that big-time talented actors truly love what they&#8217;re doing for a game. When was the last time <em>that </em>happened? Probably never.</p>
<p><strong>3. <em>Torchlight</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/torchlightgoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/torchlightgoty.jpg" alt="goty" width="312" height="195" /></a></div>
<p><em>Torchlight</em> is the epitome of value. Releasing for a paltry 20 green-backs, Runic Games crafted an action-RPG worthy of the highest praises normally associated with only the big boys. Once you begin your trek into the catacombs and realize just how insanely entertaining and charming <em>Torchlight</em> actually is, you&#8217;ll feel like you acquired the game at a steal.</p>
<p>Runic took all the annoying parts of usual RPGs and threw them flat on their backs. Running out of potions? Drop a town teleport scroll, walk through it, purchase some gear, walk back, and you&#8217;re right where you left off before. Bam. Easy. This is one of those games that&#8217;ll have you asking, &#8220;Why didn&#8217;t they think of this before??&#8221;</p>
<p>And to top it all off, <em>Torchlight</em>&#8217;s soundtrack is phenomenal. In an era of gaming where musical scores seem a tacked-on afterthought, this game gives <em>that </em>notion the proverbial middle finger. The sound effects are equally noteworthy, and every spell&#8217;s explosion or shattered skeleton&#8217;s echoes accentuates the supporting melodies.  If for some reason you haven&#8217;t yet taken the <em>Torchlight</em> dive, do yourself a favor and grab it. Your ears will thank you, and your PC gaming spirit will be renewed.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/chrisgoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/chrisgoty.jpg" alt="goty" /></a></div>
<p><strong>Honorable Mentions:</strong><br />
<strong><em>Braid</em></strong><br />
<strong><em>Plants vs. Zombies</em></strong></p>
<p><strong>Shame of the Year: <em>Darkest of Days</em></strong></p>
<p>It&#8217;s not often that you&#8217;ll gladly choose broken bones over gaming, but <em>Darkest of Days</em> manages to do just that. This game is so unbelievably terrible, so ridiculously painful to play, you&#8217;ll wonder if maybe it would have been better to just spend 40 bucks on a buddy of yours to come by and dislocate your kneecaps with a crowbar. Because at least that way, you can take comfort in knowing that the pain inflicted was intentionally self-imposed. For the love of everything sacred, if someone even offers to pay <em>you</em> for this travesty of a title, punch them in the pancreas and report them to the authorities; your sanity might very well depend on it. Don&#8217;t say I didn&#8217;t warn you: <em>Darkest of Days</em> is the <em>Insultiest of Insults</em>.</p>
<hr />
<div style="font-size: 16px;"><strong>Keenan</strong></div>
<p><strong>1. <em>Machinarium</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/machinarium2goty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/machinarium2goty.jpg" alt="goty" width="301" height="188" /></a></div>
<p>What can I say? <a href="http://game-central.org/2009/reviews/machinarium-review/">A lot, apparently</a>. <a href="http://game-central.org/2009/editorials/machinarium-game-of-the-year/">Chris can too</a>. It&#8217;s funny thinking back when I first heard of <em>Machinarium</em>; my initial impressions pertained to something along the lines of &#8220;Oh, cool graphics.&#8221; While indeed that is true, I had no idea it would impact me as much as it did when I reviewed it. There is so much charm and pure-blooded love oozing from this game, I can&#8217;t help but give it the acclaim it deserves. Amanita obviously had an unbelievable amount of passion while creating this masterpiece. In all honesty, I haven&#8217;t seen many PC games in recent years where the developer had that much care for the end result &#8211; it seems to me that that affection died out when developing games became more of a business than a passion. Nevertheless, <em>Machinarium</em> shines as a pinnacle example of what PC gaming is all about, and totally deserves the accolade of game of the year.</p>
<p><strong>2. <em>ArmA 2</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/gotyarma2.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/gotyarma2.jpg" alt="goty" width="311" height="194" /></a></div>
<p>I had an endless debate with myself about whether or not to place <em>ArmA 2</em> as my number one choice. The innovation that both <em>ArmA 2</em> and <em>Machinarium</em> placed on the pedestal makes it one of the hardest gaming decisions for me in a long, long time. It&#8217;s like Mohammed Ali fighting Mohammed Ali: two forces to be reckoned with, neither of which have any desire to go down soon.</p>
<p><em>ArmA 2</em> provides an experience like no other. Following in the footsteps of its predecessors <em>ArmA</em> and <em>Operation Flashpoint</em>, <em>ArmA 2</em> is a modern military simulator that is ambitious as it is realistic (and as ridiculous.) The game&#8217;s world is the biggest sandbox in PC gaming and grants you to revisit your childhood of being a soldier, instead this time, being the most brutal and in-your-face presentation of those childhood memories. The game does not hold your hand by any means &#8211; be expected to die at <em>least</em> once a mission, and having a hard time even learning how to control the game. It surprises me when people get turned off by this, especially when it&#8217;s from self-proclaimed hardcore PC gamers. The reason? <em>This is the most PC PC game made in the last ten years</em>. Games like <em>ArmA 2</em> perfectly define the PC&#8217;s strengths and build off them to a point where I can&#8217;t possibly see why someone can dislike it. Sure, the controls may not be the most user-friendly or your performance may be lackluster, but <em>ArmA 2</em> raises the bar so high to what PC games can achieve that I can&#8217;t see developers <em>not</em> looking towards it for inspiration in the future.</p>
<p><strong>3. <em>Opera Omnia</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/operaomniagoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/operaomniagoty.jpg" alt="goty" width="280" height="207" /></a></div>
<p>Who says we should be limited to only retail releases from big publishers when naming the games of the year? When we get down to it, it&#8217;s the game&#8217;s quality that counts. <em>Opera Omnia</em> turned the puzzle game genre on its head and delivered an incredibly unique gameplay mechanic of reverse logic which earns it the third spot on my list. While the production is rudimentary, it gave me one of the most atmospheric experiences I&#8217;ve had since <em>STALKER</em> &#8211; which, for a free game, is more than enough to trump the big dogs of this year&#8217;s releases.</p>
<p><strong>Honorable Mentions:</strong><br />
<strong><em>Dawn of Discovery</em></strong><br />
<strong><em>Torchlight</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/goty-sexykeenan.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/goty-sexykeenan.jpg" alt="goty" width="276" height="207" /></a></div>
<p><strong>Underwhelming Underdog: <em>East India Company</em></strong></p>
<p>I&#8217;m always excited to see debut games of newly formed PC game developers. This was the case when I first heard of Nitro Games&#8217; real-time strategy economy title <em>East India Company</em>. The game&#8217;s historical premise of leading a company to financial success through transporting goods, forming alliances, and battling other nations across the Atlantic and Indian Ocean surprisingly captured my interest. However, as pointed out in <a href="http://game-central.org/2009/reviews/east-india-company-review">my review</a>, the game was plagued with generic&#8230; genericness. Or in scientific terms: &#8220;DoomThreeitis.&#8221; It introduced all what the game had to offer in the first few minutes of playing, with nothing particularly unique to the game. To make matters worse, the actual gameplay itself just got tedious. To Nitro&#8217;s credit, they did attempt to resuscitate the life out of the game with a director&#8217;s cut edition and the <em>Privateer</em> &amp; <em>Pirate Bay</em> expansion packs, but it was just a lost cause. I really hope they pull through with another game and blows this stale seafaring simulator out of the water.</p>
<hr />
<div style="font-size: 16px;"><strong>Samy</strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/reviews/arkham/arkham-2.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-2.jpg" alt="goty" width="277" height="173" /></a></div>
<p><strong>1. <em>Batman: Arkham Asylum</em></strong></p>
<p>No other video game this year facilitates the complete experience of the player quite like <em>Batman: Arkham Asylum</em> does.  The game came as quite a surprise to me, as I could never expect a licensed franchise, especially one as thoroughly explored as the <em>Batman</em> universe, to achieve any sophisticated level of gaming greatness.  Despite the plethora of well-defined content, the developers of Rocksteady provide a reading of the <em>Batman</em> mythos so meticulously crafted that their resulting game conveys an astonishingly whole of comic references and well-paced adventures on Arkham Island.</p>
<p>No other game, too, can match the way <em>Arkham Asylum</em> truly unifies you, as the player, with the player character, the Dark Knight himself.  <em>Batman</em>’s power, skills, high tech gadgetry rest at your finger tips, and you’ll watch in awe at the flexible animations that depict the character.  Fantastic voice acting from Kevin Conroy and Mark Hamill commands the characters of Batman and Joker respectively.  Sequences caused by Scarecrow’s hallucinogens, moreover, let you control Batman as he delves into his deepest motivation and experiences his most tragic day in interactive ways that reflect a true mastery of the video game medium.  <em>Batman: Arkham Asylum</em> absolutely captivated me this year.</p>
<p><strong>2. <em>Braid</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/braidgoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/braidgoty.jpg" alt="goty" width="295" height="166" /></a></div>
<p><em>Braid</em> reflects a unity, an artistry, and a vision rarely seen in video games.  Its 2D platforming gameplay hearkens back to its retro game roots, yet it parodies and innovates on those influences to create an original, pure experience in its own right.  Sure, its creator, Jonathan Blow, has enough grandiose pretentiousness as an auteur to humble even James Cameron; however, <em>Braid</em> stands apart as a sincere entity that successfully finds harmony between gameplay, narrative, and art in ways few other games have.</p>
<p>As such, <em>Braid</em> achieves far more than titles, such as <a href="http://game-central.org/2009/editorials/the-sins-of-machinarium/"><em>Machinarium</em></a>, that only illustrate their whimsical game narrative experiences through an old-fashioned, awkward separation between elements of story and gameplay.  The fact that you, the player, never lose control over Tim, the protagonist, throughout the adventure allows you to progress at your own pace, which contributes further towards a more satisfying experience.  Solving <em>Braid</em>’s time-bending puzzles felt particularly satisfying, especially since they grew progressively more 4th-dimensionally complex, yet ingeniously simple to execute.  From its expressive painted worlds, to its emotional use of music, to Tim’s desperate control of time and paradox, <em>Braid</em> not only pulls together its elements, it also marks an important point in the literary growth of game narrative.</p>
<p><strong>3. <em>Mirror’s Edge</em></strong></p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/mirrorsedgegoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/mirrorsedgegoty.jpg" alt="goty" width="281" height="162" /></a></div>
<p>Who knew companies like EA and DICE could actually give new IPs and, heaven forbid, innovation a chance?  Putting their long-standing money-making franchise, <em>Battlefield</em>, on the backburner, DICE developed <em>Mirror’s Edge</em>, a unique, surreal game about heart-pumping free running action.  The developer successfully recreated the adrenaline-fueled sensation from the first-person perspective of Faith, an agile runner.  Every leap between rooftops, every fast-paced chase from the dystopian world’s ever-present police, and every dizzying glance into the heights just beyond the edge captured the beauty, grace, and style of free running.</p>
<p>And DICE couldn’t give us a better environment to express a mastery of running than a jaw-dropping cityscape filled with multiple paths through skyscrapers, well-designed interiors, and even the exciting romp atop speeding trains.  Like <em>Batman</em>, the game makes incredible use of Unreal Engine 3 towards a stunning white-washed aesthetic filled with bright pops of solid color.  The major black mark that tarnishes the beautiful aesthetic comes in Faith’s clumsy weapons handing, though her melee skills do provide a fluid, yet challenging approach to combat.  <em>Mirror’s Edge</em> is also quite short, but for its brief narrative, it renders a cohesive experience worthy of recognition.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float: right;"><a href="http://images.game-central.org/editorials/goty/samygoty.jpg" rel="shadowbox[post-7282];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/goty/samygoty.jpg" alt="goty" width="200" height="210" /></a></div>
<p><strong>Honorable Mentions:<br />
<em>Left 4 Dead 2</em><br />
<em>Plants vs. Zombies</em></strong></p>
<p><strong>Dishonorably Discharged: <em>Call of Duty: Modern Warfare 2</em></strong></p>
<p>No game, not even the travesty that was <em>Darkest of Days</em>, could disappoint me, as a PC gamer, more than <em>Modern Warfare 2</em>.  Granted, I must admit that I have not played the game, but I am well aware of its inexcusable lack of standard PC features.  Several elements are noticeably absent, including some that the game’s predecessor correctly implemented, such as dedicated servers, mod support, and advanced actions like leaning.  Combine those issues with the fact that the game requires Steam, and you’ll realize the developers effectively consolidated and “console-ized” the experience.</p>
<p>Unless I’m wrong, and these fundamental problems aren’t really so bad, I will stand by my initial opinion that <em>Modern Warfare 2</em>, as well as its developer, has wronged us PC gamers, and it clearly doesn’t deserve consideration for Game of the Year.  Please Infinity Ward, do the PC right next time and at least meet some basic PC game standards.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/game-of-the-year-editors-picks/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Retro Review: Sacrifice</title>
		<link>http://game-central.org/2009/reviews/retro-review-sacrifice/</link>
		<comments>http://game-central.org/2009/reviews/retro-review-sacrifice/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 21:30:58 +0000</pubDate>
		<dc:creator>James E.</dc:creator>
				<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7146</guid>
		<description><![CDATA[Sacrifice makes up for a lack of depth with a unique blend of two genres.]]></description>
			<content:encoded><![CDATA[<p>In an RTS game, you play the role of a god who looks down from above &#8211; you’re a disembodied force that floats across the fields of battle, looks at the vast expanses, and plans attacks on a large scale. Each unit is a piece in your chess game, a pawn in your master plan.</p>
<p>Shiny Entertainment&#8217;s <em>Sacrifice</em> makes <em>you</em> one of the chess pieces. That piece is an emperor named Eldred who summoned Marduk, a demon, to deal with his political opponents. But Marduk becomes uncontrollable and destroys Eldred’s world. Eldred flees to another world that is split between five squabbling gods. A prophecy of a traitor in their midst, plus the arrival of Eldred, creates a power struggle. As all the bickering, battling, and political maneuvering occurs, a new evil emerges into the fray. An evil the gods send you to deal with.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/sacrifice/sacrifice-1.jpg" rel="shadowbox[post-7146];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/sacrifice/sacrifice-1.jpg" alt="Sacrifice" width="576" height="432" /></a><br />
<strong>Choose wisely, as only one god can bless you with Bovine Intervention.</strong></div>
<p>In between missions, you witness the debates and arguments that rage between the gods in their temples. While the narrative is a dark and somber high fantasy, the game never takes itself too seriously. The dynamic personalities of the gods make for some depth as their conversations give glimpses into motivations and philosophies as well as creating some ambiguities over which gods are evil and which are good. The storytelling isn’t magnificent, but it’s enough to make you want to know what exactly it is you&#8217;re doing in any given task.</p>
<p>For the first few missions, you can hop back and forth between gods, and conceivably help two enemies fight each other, but eventually a side must be chosen. Each god has a nine-mission-long unique campaign that will shape the ending of the narrative.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/sacrifice/sacrifice-2.jpg" rel="shadowbox[post-7146];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/sacrifice/sacrifice-2.jpg" alt="Sacrifice" width="576" height="432" /></a><br />
<strong>This is actually one of the bigger armies in the game.</strong></div>
<p>If you wanted to over-classify <em>Sacrifice</em>, you could say troop management is the RTS half and spell casting is the RPG half. In some ways, they are simpler versions of each genre. The tech trees that practically define RTS games are nonexistent in <em>Sacrifice</em>, as are the large-scale battles. Likewise, the RPG elements aren’t all that complex. There are almost no visible numbers in the game &#8211; not even hit-points. And you aren’t able to level up your skills or read up on the specific effects of each spell.</p>
<p><em>Sacrifice</em> makes up for its lack of depth with a blend of two genres that’s so unique, the line between the two is nearly imperceptible. Take for instance one of pillar of the RTS: resource gathering. In <em>Sacrifice&#8217;s</em> case, to create a unit, you must collect souls from enemy creatures you’ve killed. Doing this requires casting a spell to convert them to your pool of souls, making resource gathering more akin to the kill/loot cycle that a plethorta of RPGs utilize.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/sacrifice/sacrifice-3.jpg" rel="shadowbox[post-7146];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/sacrifice/sacrifice-3.jpg" alt="Sacrifice" width="576" height="432" /></a><br />
<strong>Even though the battles are smaller, that doesn&#8217;t stop the maps from being epic.</strong></div>
<p>Another RTS/RPG hybrid trait found in <em>Sacrifice</em>: troop management. While you can form groups, create formations, and manage movement much like any other real time strategy game, the fact that your troops walk along with you makes them feel more like RPG companions than an RTS army. And then there&#8217;s base building; before making structures to capture souls or restore your mana, you’re required to find predetermined spots and cast a spell to conjure up the framework. In this way, just about every action you take in the RTS has a taste of RPG; at times, distinguishing between the two is near impossible.</p>
<p>Speaking of the near impossible, as the game progresses, you take on seemingly insurmountable odds. <em>Sacrifice</em> has no qualms about absolutely slaughtering you. One mission I played gave me one unit, two souls, and a sizable enemy force located half a minute away. It took me an hour just to perfect a scenario where I could survive the first two minutes. It&#8217;s in these missions that you&#8217;re vying for every inch of ground that makes the game shine. You&#8217;ll have to use on-the-fly troop management and know when and where to use your spells in order to simply survive, let alone win.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/sacrifice/sacrifice-4.jpg" rel="shadowbox[post-7146];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/sacrifice/sacrifice-4.jpg" alt="Sacrifice" width="576" height="432" /></a><br />
<strong>Collecting souls is a grossly awesome task.</strong></div>
<p>The idea of blending RTS and RPG has been in the minds of a lot of modern game developers. With the rebirth of <em>Defense of the Ancients</em> clones and the increase in micromanaged, focused RTS games, this trend is on the rise. The problem is that these games seem to create two distinct mechanics inherently separate from each genre. These developers could learn a lot from <em>Sacrifice</em>. Its creative, albeit simplified, mash-up of the two gaming categories creates an exceptional and fun experience that any fan of either genre should be able to enjoy.</p>
<p>Buy <em>Sacrifice</em> from <a href="http://www.gog.com/en/gamecard/sacrifice/pp/d02560dd9d7db4467627745bd6701e809ffca6e3">Good Old Games for $5.99</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/retro-review-sacrifice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 71</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-71/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-71/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 17:59:38 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7277</guid>
		<description><![CDATA[The calm before the storm on this week's GCP.]]></description>
			<content:encoded><![CDATA[<p>The calm before the storm on this week&#8217;s Game Central Podcast: the games we&#8217;ve been playing, the news of the world, &#8220;Truthiness or Falsity,&#8221; and &#8220;Come Out on PC, Damnit!&#8221;</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_71.mp3" rel="shadowbox[post-7277];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_71.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-71/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_71.mp3" length="31674409" type="audio/mpeg" />
		</item>
		<item>
		<title>I&#8217;m in Love with a Strict Machine</title>
		<link>http://game-central.org/2009/editorials/im-in-love-with-a-strict-machine/</link>
		<comments>http://game-central.org/2009/editorials/im-in-love-with-a-strict-machine/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:00:30 +0000</pubDate>
		<dc:creator>Cameron G.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7143</guid>
		<description><![CDATA[Put it this way: GAMING AIN'T BEIGE.]]></description>
			<content:encoded><![CDATA[<p><em>In between hand-cranking his computer and refilling the oil lamp in the monocculuminescence chamber, Cameron Goble reviews his beloved classic PC games at <a href="http://www.longtailgamer.com">LongTailGamer.com</a>.</em></p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/strict/strict-1.jpg" rel="shadowbox[post-7143];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/strict/strict-1.jpg" alt="Strict" width="300" height="302" /></a><br />
<strong>RED HOT GAMING RIG OF THE FUTURE (center),<br />
accompanied by Clarance (left, accounting)<br />
and Alice (right, Capricorn).</strong></div>
<p>One of my favorite gaming memories is of playing <em>Wing Commander</em> with my friend Jeremy. Now, I&#8217;m not fixated on <em>Wing Commander</em>, <a href="http://game-central.org/2009/editorials/wing-commander-and-the-awesomeness-of-the-epic-fail/">despite recent evidence</a>. It&#8217;s the game that stands out from my formative gaming years, though. Jeremy and I built a cooperative camaraderie as we played.  It was easier to fly a mission with two pairs of hands manning all the game&#8217;s controls, spread between the joystick and keyboard as they were. With Jeremy as my wingman, and with me as his, we reached new heights in dogfighting performance.</p>
<p>PC gaming always involved a sense of performance: getting the most out of the hardware you&#8217;ve got. As a DOS game, <em>Wing Commander</em> pushed the technical limitations of the day&#8217;s computers, and the onus was on the gamer to step up. PC gamers had to either learn to streamline their rigs or just settle for less. Jeremy had a real facility for it: he always got the joystick hand graphic to come up, which demanded extra memory, even after burning precious kilobytes on loading his mouse drivers.</p>
<p>The requirement of technical tweakery made the PC an unlikely participant in the dawning age of popular video gaming. It was a such a clunky, uninspired thing, the PC of yesteryear.  Put it this way: GAMING AIN&#8217;T BEIGE.</p>
<p>Other computers of the age were much friendlier to video gamers. The Commodore series had better graphics and sound right out of the box.  And systems like the NES, Sega Genesis, and Saturn were arcade-emulating juggernauts!  Plug in to your TV and enjoy. Easy! Fun! Familiar!</p>
<p>Gaming on the PC, on the other hand, was practically an act of masochism.  Forget the cost of specialized components like &#8220;monitors&#8221; and the <a href="http://direcafe.ning.com/profiles/blogs/709453:BlogPost:38307">dim, Carcosian landscape</a> of an alien DOS prompt.  You *had* to get mired down in fancy technical stuff for it to do anything remotely game-like.  Example: high-end PC video that could show more than FOUR COLORS AT A TIME didn&#8217;t hit the mass market until around 1982.  And even then, setting them up felt a lot like brain surgery: crack the case, perform precise work, and never touch anything inside &#8230; even if you knew what it was connected to.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-right:8px; float:left;"><a href="http://images.game-central.org/editorials/strict/strict-2.jpg" rel="shadowbox[post-7143];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/strict/strict-2.jpg" alt="Strict" /></a><br />
<strong>&#8220;The missing circuit&#8217;s in your head, Whorfin.<br />
Or it&#8217;s conflicting with COM3, IRQ4.&#8221;</strong></div>
<p>(And can you believe we used to have to plug our joysticks into the back of the sound card?  The SOUND CARD.  And sound cards didn&#8217;t even COME with joysticks.  You had to buy sound cards and joysticks separately.  Madness, I tell you.)</p>
<p>I&#8217;ve worked in IT for most of my adult life, and I can honestly say that I owe my living to my love of PC video games.  Without those trials, I would not have the know-how to deal with PCs that suddenly spit out cryptic error messages, emit strange smells, or simply go &#8216;click&#8217; and then die.  Instead, PCs to me would be incomprehensible blinky monoliths: not tools to be exploited, but intemperate, fickle saboteurs to be endured at best and avoided at need.  Much as how my user base sees them, in fact.</p>
<p>PC gaming has it over consoles through the gift of truly marketable IT skills.  It comes at a cost, though: working with the technology professionally isn&#8217;t as fun as when I was just an enthusiast.  (After all, I don&#8217;t get to play games once I get a borked computer up and running.)  And I resist sitting in front of the computer when I get home from work these days.  My gaming hobby is less accessible to me now.</p>
<p>Yet, one of the things I&#8217;m grateful for as a gamer these days is that I don&#8217;t <em>have</em> to be a hardcore computer geek to get the most out of my games anymore.  PC systems have pioneered and adopted approaches to everyone&#8217;s &#8220;no-brainer&#8221; benefit.  From USB ports that enabled interchangeable game controllers, to standardized development platforms, to abstracted libraries like DirectX that liberate PC gamers from DOS driver hell into a more modest Windows driver heck &#8212;  I love the results.  Even on PCs, games are easy to set up and play.  At last!</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/strict/strict-3.jpg" rel="shadowbox[post-7143];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/strict/strict-3.jpg" alt="Strict" width="288" height="384" /></a><br />
<strong>If I&#8217;d spent my youth knitting instead of tweaking TSRs<br />
in DOS, I&#8217;d be the God Emperor of Etsy by now.</strong></div>
<p>Maybe it&#8217;s no surprise that PC gaming takes its cues from consoles now, ports and all.  You kids frankly have it easy, what with your X-Wiis and Playtendo 420s.  Your &#8220;turn it on and it goes.&#8221;  Your &#8220;I never have care about what driver version I have.&#8221;  Your &#8220;tell me again about how you had to calibrate your joystick every time you turned on the computer, grandpa.&#8221;  Yeah.  I can see how consoles have it over PCs.  Maybe.  A little.</p>
<p>Still, when the siren song of a new generation of beeps and boops calls to me sweetly from inside the PC case, I&#8217;m strangely drawn to get elbow-deep in the hardware again for the tricked-out gaming rewards.  Consoles purposefully mute this sweet melody; to those of us who have heard it, console aficionados game in stoic, lifeless silence.  Meanwhile, the music carries me.</p>
<p>My stripe of PC gaming was &#8212; and still can be &#8212; about understanding the entire system to bring out the best in it.  I take pride in that understanding.  It satisfies me beyond simply playing the game.  Jeremy and I bonded our friendship over it, after all.</p>
<p>That, and a mutual homicidal attitude toward giant cats in space ships.  It&#8217;s good video gaming no matter how you slice it.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/im-in-love-with-a-strict-machine/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Borderlands Review</title>
		<link>http://game-central.org/2009/reviews/borderlands-review/</link>
		<comments>http://game-central.org/2009/reviews/borderlands-review/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 19:00:15 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7206</guid>
		<description><![CDATA[It’s all about lightning fast upgrades and constant new gear.]]></description>
			<content:encoded><![CDATA[<p><em>Borderlands</em> is so close to Game of the Year, it can practically taste the yellow ribbon dangling in front of its exhausted dust-coated lips. If only it&#8217;d partaken of perhaps one more Redbull, maybe churned out a few more reps on the elliptical in the off season, it probably would have qualified. But instead, <em>Borderlands</em> stumbles, trips on its own shoelaces, and breaks its legs just seconds before the finish line. You can&#8217;t help but feel a little twang of sorrow zip through your heart as you watch it roll over on its back, stare into the clouds, and wonder what might have been. <em>Borderlands</em> is the Winter Olympic games&#8217; Jamaican bobsledding team: in the end it loses, but it was a fun ride down.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands4.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands4.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong><em>Borderlands</em> takes what would normally be forgettable vanilla objects and makes them pop and titillate with artistic vibrancy.</strong></div>
<p>The real misfortune? All <em>Borderlands</em> needed was a little PC developer tender love and care to get over that final hump. Because from the very <em>second</em> you fire it up, you&#8217;ll begin to see the console handicaps rear their fugly faces. Case in point: the beginning advertisements aren&#8217;t skippable unless you hack the directory&#8217;s .cfg file. And then, when the main menu eventually fills your screen, you&#8217;re treated with the ever-lovely &#8220;press <strong>enter</strong> to begin.&#8221; Are you, like, uh &#8211; <em>kidding</em> me Gearbox? See how there&#8217;s a little horizontally interactive device sitting comfortably underneath your hand that&#8217;s connected to the back of your PC? See how under your input it glides that little arrow all over your LCD? That neat contraption (called a &#8220;mouse,&#8221; by the way) works in game menus also. You could at least, you know, try and elicit <em>some</em> semblance of PC design effort.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands12.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands12.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>One of the best parts of the game is where you accidentally stumble into <em>The Elder Scrolls IV: Oblivion.</em></strong></div>
<p>And while the opening cinematic is agreeably awesome the first go-around, you can&#8217;t escape out of it on subsequent visits. Ever. No .cfg tweaking here, it&#8217;s perma-watch or quit the game. And once the action gets rolling, the console-influenced missteps only grow like weeds, such as the atrociously mismanaged inventory system, and the cumbersome and awkward &#8220;hold respectively bound keyboard button for 2 seconds to view the world map.&#8221;  (Would it have killed them to enable an option for an always-on mini travel HUD? Work with me here people.)  Even more infuriating than the appalling interface, driving vehicles in <em>Borderlands</em> is nothing short of justifiable developer canings. Again, Gearbox: see that mouse? The one right next to the keyboard, begging for some type of in-game control catharsis? It usually lets us <em>look around</em> while moving forward. But not here. In this case, jumping in a dune-buggy and moving the mouse left steers your car directly into the side of a canyon wall. Strafe keys don&#8217;t do jack. Also, traveling 2 mph and lightly nudging any enemy will gib them instantaneously, but 17 rockets propelled from your vehicle cannon will still leave &#8216;em kicking. So either your rockets are filled with cotton candy and pixie dust instead of gunpowder, or your car&#8217;s outer frame is coated in hot lava and mixed with nitroglycerin. Either way: lame.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands23.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands23.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>Roland&#8217;s automated turret goes head-to-head against Rosie O&#8217;Donnell.</strong></div>
<p>Vehicular manipulation failures and consolitis aside, there&#8217;s lots of chewy goodness to be reaped from the game&#8217;s rich chocolaty innards. For maximum enjoyment, it&#8217;s best to think of <em>Borderlands</em> as an FPS-MMO. You pick from four possible characters &#8211; Roland, Lilith, Brick, and Mordecai. Each represents a typical RPG/FPS class: soldier (jack-of-all-trades), sniper (long-range), assassin (stealth), and tank (melee). The gunplay is pure fantasy (some antagonists absorb bullets like nerds absorb <em>Lost</em> episodes) and most baddies will respawn after 15 minutes or so have elapsed, regardless if you&#8217;re around or not. You&#8217;ll gain experience and level-up from fulfilling supplemental alternative quests, blasting mutated midget enemies, and propelling the main storyline. Each progressive earned level brings a handful of upgrade paths and overall potential improvements, but for the most part you&#8217;ll just end up pumping points into 6 or so sections of expertise, as many of the high-level traits can&#8217;t be reached without over-inflating lower areas of singular development first.</p>
<p>As the aforementioned side quests go, prepare to be underwhelmed. Most romps into the stark alien wilderness include such imaginatively innovative tasks as &#8220;Collect these five weapon parts,&#8221; or &#8220;Savagely murder this dude/monster/sparkly inanimate machine-driven object and come back for monies and stuffs.&#8221;  The most interesting quest thread revolves around collecting voice journals of an insane female scientist, who eventually becomes a main plot contributor. Other than that, you&#8217;re either a FedEx courier, or Jesse James. Pretty much nothing in-between. And on the main storyline nuance, don&#8217;t expect some sort of digital Hemmingway here. While the branches of the contextual narrative are somewhat enticing to start, they only wilt and shrivel as time advances, and ultimately culminate into one of the outright worst gaming endings ever. Luckily, the plot isn&#8217;t necessary to enjoy the game, but it would have been nice to see the fledgling chronicle successfully actualized.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands25.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands25.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>Another rift in the space-time continuum allows you access to <em>Bioshock&#8217;s</em> weapon and ammo-dispensing vending machines.</strong></div>
<p>During the tour of your bullet-dispensing, department of defense budget-crushing foray into the gi-normous desert world of Pandora (still waiting on the James Cameron lawsuit over <em>that</em> planet name), you&#8217;ll begin to appreciate just how well-crafted the incidental item procurement system and impromptu combat really are. For one, all loot drops are randomized, just like the recent <em>Torchlight</em> or the classic <em>Diablo</em> series. And similar to Mr. Hugh Hefner, you&#8217;re anything but married to your equipment. In fact, you&#8217;ll go through guns and grenade mods like a bowling ball through a wet Kleenex. It&#8217;s all about lightning fast upgrades, constant new gear, and fresh untarnished acid-bursting shield generators. You are, by the very sense of the definition, a filthy gun-slut.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands22.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands22.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>It&#8217;s like the New Jersey shore, only less polluted!</strong></div>
<p>But of course, every self-respecting wise guy needs a mistress to break the &#8220;tedious&#8221; norm, and in this case, the sultry harlot sashays into the scene in the form of your character&#8217;s special ability, such as Roland&#8217;s automated sentry gun (which you&#8217;ll instinctively want to hide behind and beat with wrench to heal, but can&#8217;t).  All unique abilities are limited to a few seconds of activation, but recharge semi-quickly post-expenditure. Use &#8216;em often for best chance of survival. Another cool little facet: when you shuffle your mortal coil, you&#8217;ll get an opportunity to kill any on-screen foe before eventually bleeding out. Upon doing so, you&#8217;re given a second wind, and brought back to life. This adds some truly memorable and tense moments into what would normally be a standard FPS quit and reload.</p>
<p>Armament-wise, the marketing hype actually came through; guns are what <em>Borderlands</em> does best. Each new unadulterated piece a mechanized killin&#8217; looks, feels, and operates differently than its counter-brands and models. Some rocket launchers fire triple spreads of corrosive high-yield tips, while others lob singular slow-moving tubes of pure explosive power. Some shotguns set hapless victims on fire, while others expend six chaotic shots with a single press of the trigger.  Rates of fire, raised critical hit chances, reload speeds, accuracy, recoil effectiveness, ammo capacities: all of these stack on top of potential elemental damages for some seriously captivating destructive violence.  Of course, every now and then you&#8217;ll stumble over that ultra-rare perfect weapon that&#8217;ll never leave you satchel, but these instances are appropriately limited.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands21.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands21.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>If you&#8217;ve got a sharp eye, you can sometimes catch comical props stashed around the wastes.</strong></div>
<p>In a somewhat surprise, the voice acting in <em>Borderlands</em> is outright phenomenal. While your interactions with NPCs are strangely limited, the conversations and encounters you<em> do</em> have end up savory, eagerly anticipated, and often hilarious. Pandora&#8217;s Claptraps (little roughshod R2D2-esque mobile droids with passive-aggressive abused personalities) are especially memorable in this department. If the Academy gave Oscars for acting in games, <em>Borderlands</em> would pull a <em>Lord of the Rings</em> clean sweep. Never have I been so gleefully entertained by such perfected dialogue scripting, actor performance execution, and voice-direction.  <em>ARMA II</em>? Go stand in the corner. <em>Borderlands</em>? Here&#8217;s some pie.</p>
<p>On second thought, gimme that pie back you little punk. I just looked over your multiplayer homework, and you&#8217;re now grounded for 17 years. Congrats. Seriously Gearbox? A <em>mandatory</em> GameSpy ID for multiplayer access? What the <em>hell</em>? Oh and I hope you know how to configure and apply port forwarding, because if not, you won&#8217;t be hosting any multiplayer games anytime soon. <em>Borderlands</em> even managed to defeat ex-Maximum PC editor David Murphy&#8217;s attempts here; no easy task, believe you me. After 40 solid minutes of troubleshooting, swearing, and arm flailing, we<em> did </em>manage to get a game going, but I really have no idea how. Unless you buy this game through Steam or use <a href="http://www.gameranger.com">GameRanger</a>, prepare yourself for a good ol&#8217; fashioned screaming fest. And there are no mic options or voice-chat volume controls without a patch. Out of the box, you just talk and hopefully the other players will hear you. Most often they won&#8217;t. Terrible. Just&#8230; terrible.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands19.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands19.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>Rescuing vertically-challenged Claptraps from certain doom grants extra inventory space upgrades. It also grants visual robotic porno moves! (Seriously.)</strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands18.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands18.jpg" alt="B-Lands" width="576" height="360" /></a></div>
<p>Graphically, <em>Borderlands</em> is a 10-foot tall powerhouse baddass temple of raw fantastic&#8230; ness.  This is the single area where the PC version truly shines apart in direct comparison to its consolized clones. If you&#8217;re sporting a quad core and a GTX 280 or better, you can crank the settings to the proverbial ceiling and jam the resolution to 1920&#215;1200 with little to no hiccups. And boy howdy: this is one <em>purty</em> game fellas and gals. The cel-shaded environments and ultra-stylized renderings got me killed more than once as I suddenly stopped shooting and juking altogether, instead remaining stationary and transfixed over some new artistic oddity. Pretty impressive feat, especially in the wake of ocular monsters like <em>Crysis</em>.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/borderlands/borderlands2.jpg" rel="shadowbox[post-7206];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/borderlands/borderlands2.jpg" alt="B-Lands" width="576" height="360" /></a><br />
<strong>Wandering beyond the established map parameters gets you perforated by sensor cannons. Beats invisible walls, but not by much.</strong></div>
<p>So all in all, Gearbox concocted a pretty damn sweet title, but they just seem pissed that they had to create a PC version. With even a paltry ounce or two of PC spit and polish, it could have been a shoe-in for this year&#8217;s highest critical awards, sprinting through the end of the race rather than running out of gas at the last second. Truly, a monumental missed opportunity. Nevertheless, <em>Borderlands</em> remains one of the must-play PC games of 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/borderlands-review/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Avatar: The Game Impressions</title>
		<link>http://game-central.org/2009/editorials/avatar-the-game-impressions/</link>
		<comments>http://game-central.org/2009/editorials/avatar-the-game-impressions/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 16:14:35 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7171</guid>
		<description><![CDATA[Take what’s beautiful, put a few bullets in it]]></description>
			<content:encoded><![CDATA[<p>Whether or not James Cameron will wow us with his new <em>Avatar</em> film when it releases on the 18th, Ubisoft eagerly primes to bank on the film’s tremendous hype with their release of <em>Avatar: The Game</em>.  As we wait for the satisfying success or utter disappointment of Cameron’s epic, the game’s demo gives us a free, yet brief glimpse at what we can expect from <em>Avatar</em>’s lush alien world of Pandora.</p>
<p>Starting you at the controls behind the twin rotors of the Samson transport gunship, the demo sets the tone for all of your invasive exploration to come.  Briefly, you can gaze in awe at the sight of Pandora’s iconic (and scientifically impossible) floating rock structures amidst a serene cloudy sky before you must blast them all to smithereens with a lethal mix of bullets, explosions, and hellfire.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/avatar/avatar-1.jpg" rel="shadowbox[post-7171];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/avatar/avatar-1.jpg" alt="Avatar: The Game" width="576" height="360" /></a><br />
<strong>Only the bravest warrior would defeat fierce beasts from the safety of a  protective bubble.</strong></div>
<p>Known as nothing more than a “grunt” for the human RDA faction, you’re tasked with clearing a path through the lush jungle for a massive invasion force.  And if you’ve wanted nothing more than to blindly follow a mighty, progressive regime, crush that dastardly evil known and feared under the unspeakable name of “the environment,” and fight as the highly unique “space marine” character type, then the RDA grunt is your perfect avatar.</p>
<p>In all seriousness, the game does initially look fun to play, but then ten seconds later you realize that you basically can fly your Samson like a bird in a glass cage.  You’ll have no other choice but to land on the jungle floor, where you’ll then take the grunt through <em>Avatar</em>’s main third-person shooting adventures.  Unsurprisingly, the brimming, colorful alien foliage and environments just don’t seem so captivating when your only mode of interaction with them requires attack.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/avatar/avatar-2.jpg" rel="shadowbox[post-7171];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/avatar/avatar-2.jpg" alt="Avatar: The Game" width="576" height="360" /></a><br />
<strong>Some areas certainly look stunning.</strong></div>
<p>Undoubtedly, <em>Avatar</em>’s Dunia graphics engine—the same engine that powered <em>Far Cry 2</em>—renders gorgeous Pandoran environments with a highly dense population of exotic ferns, trees, and lively creatures.  <em>Avatar</em> utilizes DirectX 10, which doesn’t add any visual improvements, but, much like for <em>Far Cry 2</em>, does at least boost rendering performance by about 10 to 15 percent more frames-per-second.  All the colors and details will dazzle you as you take them all at once, especially the luminous glows of the darker, more wooded areas; however, each of the individual objects appear glaringly low-res and poorly detailed when observed closely.  While the world, as a whole, nearly spans that of <em>Far Cry 2</em>’s expansive African landscapes, it carves disappointingly linear, narrow paths with only a few divergent forks that would provide any form of satisfying exploration.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/avatar/avatar-3.jpg" rel="shadowbox[post-7171];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/avatar/avatar-3.jpg" alt="Avatar: The Game" width="576" height="360" /></a><br />
<strong>Play <span style="text-decoration: line-through;"><em>Far Cry 2</em></span> <em>Avatar</em> and drive <span style="text-decoration: line-through;">African</span> alien dune buggies.</strong></div>
<p>But “satisfying exploration” and “environmental appreciation” are all hippie, liberal pieces of crap anyway.  When you’re the all-important grunt, you just take what’s beautiful, put a few bullets in it, and then watch the experience points fly out.  Yes, when you upgrade your weapons and armor using the RPG elements, you surely represent the hand of progress, civilization, and humanity itself.</p>
<p>Ok, so the game probably won’t work as a metaphor for the arrogance of civilization and the nobility of the savage as well as film will attempt to convey.  And the RPG elements run just as deep.  Destroying countless specimens of rare wildlife racked up hundreds of experience points, but they really amount to very iterative, insignificant stat improvements and little more than palette swaps on the bland, rectangular weapons.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/avatar/avatar-4.jpg" rel="shadowbox[post-7171];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/avatar/avatar-4.jpg" alt="Avatar: The Game" width="576" height="360" /></a><br />
<strong>Playing as the Na&#8217;vi would look much cooler.</strong></div>
<p>Because the combat hardly rewards your grunt’s painstaking deforestation efforts, you have no real motivation to follow through on orders or take part in the shooting gameplay.  For most of the demo at least, you can just grab an RDA dune buggy and drive past most of the action.  Even in the climactic battle between the RDA and the fierce alien Na’vi tribe, you simply spectate the fight around you; joining the fray might bring you some thrills, but the Na’vi rarely fight you back and often continue attacking other random human troops.</p>
<p>The demo doesn’t showcase it, but the full game apparently does let you control the Na’vi Avatars, as the title would suggest.  If I were to pick up the game, I would likely enjoy the Na’vi aspect far more than the kill-everything-beautiful human side.  Judging from the demo, I think <em>Avatar: The Game</em> will only appeal to me if I like the film, and I’d therefore want to further explore the potentially fascinating alien world.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/avatar-the-game-impressions/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 70</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-70/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-70/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 18:25:57 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7163</guid>
		<description><![CDATA[We interview Lewis Denby, creator of the experimental HL2 mod, <a href="http://postscriptmod.wordpress.com/">Post Script</a>.]]></description>
			<content:encoded><![CDATA[<p>We interview Lewis Denby, creator of the experimental <em>Half-Life 2</em> mod, <a href="http://resolution-magazine.co.uk/postscript/">Post Script</a>. We discuss the production of the game, and explore the world of the non-game game genre. Lewis sticks around afterwards for our long-promised discussion: should game franchises end after their prime?</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_70.mp3" rel="shadowbox[post-7163];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_70.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-70/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_70.mp3" length="29584195" type="audio/mpeg" />
		</item>
		<item>
		<title>Hatin&#8217; on Hate</title>
		<link>http://game-central.org/2009/editorials/hatin-on-hate/</link>
		<comments>http://game-central.org/2009/editorials/hatin-on-hate/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 16:28:58 +0000</pubDate>
		<dc:creator>Jeff M.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7124</guid>
		<description><![CDATA[Hate. It’s time to stop the madness.]]></description>
			<content:encoded><![CDATA[<p>You know what gamers love?  Hate.  We hate &#8220;n00bs&#8221;.  We hate &#8220;fanboiz&#8221;.  We hate people who type “first!1!” in the comments section.  We hate whatever gaming system we don’t own.  We hate when developers take too long to release a sequel, while hating the same developer for releasing a sequel too soon.  And we absolutely revel in hating on the very <em>raison d&#8217;être</em> of our hobby, games.  Hatey hatey hate-hate.</p>
<p>Hate.</p>
<p>It’s time to stop the madness.</p>
<p>It’s not that there aren’t plenty of things to dislike about some games.  In a world where movie franchises are used like scaffolding in place of solid game design and titles purporting to be “X-treme” are more common than they deserve to be, one need not look long to find good examples of bad decisions.  With so much to legitimately dislike in gaming, it’s easy to see why some folks may jump the gun in heaping hate on the undeserving.</p>
<p><span style="text-decoration: underline;"><strong>You Got Your Real Thyme In My Turn Baste!</strong></span></p>
<p>Sometimes, a gameplay feature isn’t necessarily bad – it’s just <em>different</em>.  And if that difference falls afoul of our own rules of preference, we might react with… the “H” word.  Because we’re only human (at the moment), gamers tend to incorporate their preferences into their identities, where they become entrenched and difficult to displace.  Bob doesn’t simply prefer RTS games; an “RTS Gamer” is <em>who he is</em>.  He has decided that turn-based strategy is just not his bag.  It’s an innate efficiency mechanism that can simplify decision-making but has an unfortunate side-effect: we sometimes decide to dislike something before giving it a fair shake.</p>
<p>There are also cases where a particular feature is poorly implemented, or simply implemented in such a way that doesn’t appeal to some – say, a fast-paced RTS game that doesn’t allow order-giving while the game is paused.  Let’s call this purely-hypothetical game “<em>Order &amp; Overcome</em>”, or <em>O&amp;O</em> for short.  Now, some people prefer games like<em> O&amp;O.</em> It’s fast and hectic and forces players to make quick decisions.   Someone coming from a turn-based strategy background, however, who enjoys a more deliberative game might be turned off by their <em>O&amp;O</em> experience.  So much so, in fact, that they may decide they <em>hate</em> real-time strategy games–<em>all</em> of them&#8211;as a result.  This poor sap could very well go through life without ever playing <em>Company of Heroes</em> or <em>Rise of Nations</em> and yet have the audacity to put “Here Lies Bubba &#8211; PC Gamer” on his tombstone.  Are you beginning to see, dear reader, the absurdity–nay, the <em>injustice</em>&#8211;that blind gamer hate can wreak upon our world?</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/hate/hate-1.jpg" rel="shadowbox[post-7124];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/hate/hate-1.jpg" alt="Hate" /></a></div>
<p><span style="text-decoration: underline;"><strong>An Ignorable Hate</strong></span></p>
<p>Speaking (or typing, as it were) of absurdity brings us to our next category of unfounded hate: stuff you can ignore.  “Stop right there, o corpulent word-masher,” you say.  “Wasting hate on things you can pretend not to exist– that just doesn’t make any sense!”  An astute observation, shrewd one, but who’s writing the article here? Imagine what you would say to a console-only gamer who criticized PC games for their ability to save anywhere, claiming that it makes games too easy.  I know what <em>I’d</em> say: “If you don’t <em>want</em> to save the game, you don’t <em>have</em> to save the game.  It’s just an <em>option</em>.  Now please stop digging through my garbage.”  And you know what?  I’d be right.</p>
<p>It’s surprising just how often people will pull the big “H” lever on something based on a perfectly ignorable feature.  So the game you’re playing supports 64x AA and resolutions of up to 7680&#215;4320, which is beyond the capability of your current video card?  <em>Ignore that option</em>.  Playing a save anywhere-enabled game that also offers players a checkpoint-like device, like some kind of ‘vital chamber’, that chaps your hide?  Treat it like you would any other bit of uninteresting scenery and walk on by.  Think fast-traveling in sandbox games is for wusses?  Be anti-Nike and <em>just don’t do it</em>.  They are called “options” for a reason.</p>
<p>Consider for a moment the importance of this “Options” concept to PC gaming and its place with respect to consoles: hardware options, key mapping options, save-game options, controller options.  The sheer variety of titles available to the PC gamer means what?  More options.  Does that mean that all of the awful PC titles out there are a mark against PCs (read: a valid reason to hate)?  No!  Why?  Because you don’t have to play them!  So please, folks, no more hating things that you can simply ignore.  Gosh, I wish they would make a sequel to <em>Master of Orion 2</em>…</p>
<p><span style="text-decoration: underline;"><strong>Great.   Expectations.</strong></span></p>
<p>Expectations can be a double-edged, you know, edgy-thingie.  They can motivate us to better performance when they are held of us by others.  They can add excitement to our lives when we know something good is on the way&#8211; be it Christmas, a vacation, or a new pizza-flavored version of, well, anything.  On the other hand, when unfulfilled they can result in disappointment and worse, depending on whom the expector might be.</p>
<p>So who’s to blame when a game, whether in whole or part, falls short?  That depends, of course, on how reasonable the expectations were.  A game developer that promises, in a 137-point-font advertisement, to “make Hugh his bitch,” has made his own bed (or pwn bed, as it were), and might find him or herself on the receiving end of some serious nerd-rage.  Or mockery, but I repeat myself.  This type of expectation, the kind that is externally-generated, is what we gamers refer to as “hype”.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/hate/hate-2.jpg" rel="shadowbox[post-7124];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/hate/hate-2.jpg" alt="Hate" /></a></div>
<p>It’s reasonable to expect a certain amount of hype.  Publishers have to market their games, after all; no proud papa shows off pictures of his <em>ugly</em> new baby (“…and he stinks, too!”).  So it’s no surprise that we see advertisements and press releases making claims of “mind-blowing graphics” and “innovative gameplay” (<strong>BREAKING NEWS:</strong> Game developer claims “people are gonna like this game”…film at eleven).  And people like to talk about what people are talking about.  Hype begets hype.  If you are a seasoned gamer and you fall for some run-of-the-mill, “this-game-will-knock-your-socks-off!” marketing, well, let’s not say that it’s your fault; let’s just say that the fault lies with someone who is not someone else.  <em>Caveat gamer</em>.</p>
<p>Then there’s this other kind of expectation, the kind we create ourselves.  You <em>expect</em> Mr. Legendary Developer’s newest game to have elements A, B, and C in them and you expect them to work a certain way because that’s how they worked in the first 6 games of his that made you such a fan.  You expect to be able to enter and find interaction in any building in Big-Ass City, the setting of the latest gritty, urban-themed open-world game because that’s just how cities are.  You expect your first-person shooters to have health packs because that’s just how first-person shooters are supposed to work.</p>
<p>Minimizing your expectations may sound absurd, but you probably do it all the time.  When you go to a movie, especially those of the fantastical variety, you don’t expect 100% realism.  If you did, you’d be sorely disappointed just about every time.  You suspend your disbelief so that you can enjoy the movie.  Suspending your expectations is akin to that.  I don’t <em>expect</em> a vehicle to be able to travel at light speed (thanks a lot, Mr. Einstein!), but I don’t roll my eyes when the Millennium Falcon does exactly that.</p>
<p>Playing a game with a clean slate–zero expectations–should be the ideal.  It’s practically impossible, sure, but it’s well worth striving for.  You’re more likely to be thrilled by the good parts.  You’re less likely to prejudice yourself against some aspect of the game that you might have otherwise enjoyed.  You’ll enjoy the game for what it is rather than hate it for what it <em>isn’t</em>.</p>
<p><span style="text-decoration: underline;"><strong>I Hate Conclusions</strong></span></p>
<p>So what difference does a little more hate make?  You’ve already got more games than you can play in a normal, human (for now) lifetime.  Who cares if you throw a few more games onto the “Hate It” pile?<br />
You <em>should</em> care. Ask yourself, dear reader, why you are here.  Not “here” in an existential sense, nor “here” on this, the third rock from old Sol&#8230; but here, in the wide and wonderful virtual multiverse of PC gaming.  Why do you spend your time, money and effort practicing this particular hobby?  Sure, if you’re a games journalist, it’s clearly because of the chicks and the <em>cashola</em>.  But if you’re like most of us, it’s for the same reason you called that number you found scrawled on a bathroom wall: “For a good time.” And yet, having a hair trigger on your hate gun can be a big-time impediment to achieving that most worthy goal.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/hatin-on-hate/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>My Favorite Freeware: December 2009</title>
		<link>http://game-central.org/2009/editorials/my-favorite-freeware-december-2009/</link>
		<comments>http://game-central.org/2009/editorials/my-favorite-freeware-december-2009/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 18:04:28 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Keenan]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7078</guid>
		<description><![CDATA[Lucky for us PC gamers, we have a whole library of games that we can never completely peruse. I'm here today to point out some of my favorite games in the "Free" category in our beloved PC gaming library.]]></description>
			<content:encoded><![CDATA[<p>Whoo, it&#8217;s December! The time of snowy whiteness and many, many games to buy. If you failed to catch any of the deals offered from retailers on Black Friday, or are just strapped for cash, don&#8217;t fret: there&#8217;s plenty of free games for you to play this holiday season. Have a stab at the following freebies.</p>
<hr />
<div style="font-size:18px;"><strong><em>God of Thunder</em></strong></p>
<div style="font-size:14px;"><a href="http://www.adeptsoftware.com/got/" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/freeware/got-0.jpg" rel="shadowbox[post-7078];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/got-0.jpg" alt="God of Thunder" width="230" height="144" /></a></div>
<p>In this DOS platform puzzler, you play as Thor, the god of thunder himself, and try to rid the world of the most villainous Norse mythology evil do-ers. You achieve this by going through the vibrant 2D graphical world killing baddies and solving puzzles. There&#8217;s plenty of characters to interact with too, with a large emphasis on strange humor (like Relg&#8217;s TV &amp; Bridge Repair to fix a bridge and &#8220;McElroys&#8221; to get plenty of fat foods.) All three parts of the game have been released for free; they aren&#8217;t too long or complicated if you&#8217;re really into it, though I still get stuck on that damn puzzle with the snakes and boulders after fifteen years of playing. Though it may be nostalgia, I still highly enjoy this game after all these years. If you&#8217;ve never heard of <em>God of Thunder</em>, check it out for a wacky adventure of puzzle-y fun.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/got-1.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/got-1-thumb.jpg" alt="God of Thunder" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/got-2.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/got-2-thumb.jpg" alt="God of Thunder" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/got-3.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/got-3-thumb.jpg" alt="God of Thunder" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<hr />
<div style="font-size:18px;"><strong><em>Opera Omnia</em></strong></p>
<div style="font-size:14px;"><a href="http://www.increpare.com/2009/02/opera-omnia/">Download</a></div>
</div>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/freeware/oo-0.jpg" rel="shadowbox[post-7078];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/oo-0.jpg" alt="Opera Omnia" width="210" height="174" /></a></div>
<p>I had never heard of this game until GC&#8217;s Andrew Holliday <a href="http://game-central.org/2009/reviews/opera-omnia-review/">reviewed it</a>, and boy am I glad he did. In all honesty, I feel that <em>Opera Omnia</em> is the best puzzle game I&#8217;ve ever played. The mechanic of reverse thinking is something you don&#8217;t see too often in puzzle games. As Andrew points out, &#8220;To be able to deduce the solution of each puzzle the game presents, the player must turn the way they think about time on its head.&#8221; The game isn&#8217;t focused on <em>just</em> the puzzles like what you&#8217;d expect in <em>The Incredible Machine</em> or <em>Lemmings</em>, instead it has a strong emphasis on storytelling. It ain&#8217;t just some filler story either; I found myself trying to solve the puzzles as fast as possible just so I could see the next part of the story. The minimalist graphics give the game such a unique identity and atmosphere I&#8217;ve yet to achieve anywhere else. I highly, highly recommend this game.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/oo-1.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/oo-1-thumb.jpg" alt="Opera Omnia" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/oo-2.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/oo-2-thumb.jpg" alt="Opera Omnia" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/oo-3.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/oo-3-thumb.jpg" alt="Opera Omnia" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<hr />
<div style="font-size:18px;"><strong><em>Beneath a Steel Sky</em></strong></p>
<div style="font-size:14px;"><a href="http://www.gog.com/en/gamecard/beneath_a_steel_sky/pp/d02560dd9d7db4467627745bd6701e809ffca6e3" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/freeware/bass-0.jpg" rel="shadowbox[post-7078];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/bass-0.jpg" alt="BASS" width="170" height="194" /></a></div>
<p>This game is experiencing a Renaissance, starting with the free release on <a href="http://www.gog.com/en/gamecard/beneath_a_steel_sky/pp/d02560dd9d7db4467627745bd6701e809ffca6e3">GOG.com</a>, and continuing with the re-vamped remastering for the iPhone, and the rumored sequel coming in the future. But still nothing beats playing the classic 1994 point-and-click adventure game through ScummVM in all its cyberpunk comic book-ish VGA glory on your PC. Designed and illustrated by Dave Gibbons (<em>Watchmen</em>), the game tells a story of futuristic mystery. Just as with any other point-and-click, story and dialogue are the forefront of the presentation. <em>Beneath a Steel Sky</em> delivers strongly on both those aspects, and is a blast to play. The game has aged quite well, and is as relevant now as it was back then.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/bass-1.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/bass-1-thumb.jpg" alt="BASS" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/bass-3.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/bass-3-thumb.jpg" alt="BASS" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/bass-2.jpg" rel="shadowbox[post-7078];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/bass-2-thumb.jpg" alt="BASS" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/my-favorite-freeware-december-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Top 5 PC Games Ruined by Bugs</title>
		<link>http://game-central.org/2009/editorials/top-5-pc-games-ruined-by-bugs/</link>
		<comments>http://game-central.org/2009/editorials/top-5-pc-games-ruined-by-bugs/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 20:21:45 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Havoc]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6930</guid>
		<description><![CDATA[What could possibly go wrong?]]></description>
			<content:encoded><![CDATA[<p>Sure, we as PC gaming enthusiasts love and cherish our devoted platform. But that doesn’t mean it’s a perfect world out there. And if we don’t recognize the missteps, how can we appreciate the milestones? Case in point: buggy games that failed to be astounding simply because of the stink-ridden crap-o-licious coding. Thankfully, the worst of them are rare, but the threat is ever-present in the PC gaming kingdom. You let your guard down, they tag you out of nowhere.  And if there’s one avenue where the consoles authentically nail us from time to time, it has to be in the court of reliability. And so, with great displeasure and chagrin, we now provide you with the top 5 buggiest PC games that could have been fantastic, had it not been for the laziness, negligence, and overall lack of programming polish. Enjoy.</p>
<div style="font-size:16px;"><strong>5) <em>Arcanum: Of Steamworks and Magick Obscura</em></strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float:right;"><a href="http://images.game-central.org/editorials/bugs/bugs1.jpg" rel="shadowbox[post-6930];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/bugs/bugs1-thumb.jpg" alt="bugs" /></a><br />
<strong>Too bad there&#8217;s not a spell for<br />
&#8220;Stop Magnus from pointlessly braining me.&#8221;</strong></div>
<p>No doubt about it, <em>Arcanum</em> managed to kick some serious ass. Unfortunately, not <em>all </em>asses were kicked, and the amount of rear-ends left un-booted were directly proportional to the amount of sanity-crushing existence-questioning bugs that crawled through the game’s innards like maggots in road kill. To put it short: it coulda been a contenda. Instead, upon initial release, players found themselves suddenly missing crucial story-driven items from their inventories, numerous broken quests, ridiculously frequent and save-corrupting crashes, inaccessible treasure areas, and even friendly party-based NPCs that would suddenly attack your character for no specific reason (maybe they didn’t approve of your tunic choice?).  And while many of these issues have since been rectified via a gigantic independent 3<sup>rd</sup> party patch, that’s simply an unacceptable solution to numerous potential game-ending problems. In the end, Troika still smashed  together a great title, but  they probably should have used some better glue between the seams. Because without the 3<sup>rd</sup> party mending kit, it might as well read as <em>Arcanum: Of Bitter Frustrations and Desk-a-Puncha</em>.</p>
<div style="font-size:16px;"><strong>4) <em>Divine Divinity</em></strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 5px; margin-left: 8px; float:right;"><a href="http://images.game-central.org/editorials/bugs/bugs4.jpg" rel="shadowbox[post-6930];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/bugs/bugs4-thumb.jpg" alt="bugs" /></a><br />
<strong>You know something&#8217;s amiss when battling skeletons<br />
is potentially less risky then combining hay stacks.</strong></div>
<p>It’s hard to fault a game that lets you collect hay off a barn floor, combine it together, form a makeshift bed, and then carry around the finished result as a portable cot to restore mana and health on the fly… unless by forming said improvised sleeping mat the game freezes, sends an ear-shattering noise through your brain like a lightning bolt, and then boots you to the desktop, a single tear falling from your eye in the aftermath. Yep, <em>Divine Divinity</em> employed some brilliant genre-bending maneuvers, but God help you if you ever accidentally accomplished quest actions ahead of time. The amount of freedom Larian Studios granted the player was impressive, but perhaps ill-thought out. For example, if you decided to savagely butcher both Yoram and Otho (always a tempting option), the game was rendered unbeatable, since no hints for Goemoe remained. Woops! The good news is that since the game’s launch, <em>Divine Divinity</em> has enjoyed a metric-ton’s worth of patches addressing the most heinous of the worst issues. The bad news: they had to release a metric-ton’s worth of patches just to make the game semi-playable. Woops!</p>
<div style="font-size:16px;"><strong>3) <em>Pool of Radiance: Ruins of Myth Drannor</em></strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 8px; float:right;"><a href="http://images.game-central.org/editorials/bugs/bugs5.jpg" rel="shadowbox[post-6930];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/bugs/bugs5-thumb.jpg" alt="bugs" /></a><br />
<strong>&#8220;Shouldn&#8217;t we play-test this thing Carl?&#8221;<br />
&#8220;Nah- it&#8217;s fine.&#8221;</strong></div>
<p>With a name that somehow exceeds 10 syllables, what could possibly go wrong? Well, everything, apparently. <em>Pool of Radiance</em>, an RPG in the tradition of the <em>Baldur’s Gate</em> series, was one of the most anticipated PC games of 2001. And then, on the flip of a dime, it quickly became one of the most despised games of all time. Not sure why though; so what if uninstalling the game nuked your Windows system files? And yeah, constant 1 fps stuttering and bog-downs may have crippled all semblances of playability, and sure: often times the game was outright unresponsive immediately after booting, but these are the little nuances that make niche titles so special. Don’t people get it? Psh. Wusses. But in reality, this game was so horribly crippled, so unbelievably tarnished, that within a paltry week’s time a stupidly inflated patch was shoved through the gates like a battering ram to quell the rioting masses. But that’s like trying to diffuse an atom bomb with a thread and a needle after it’s already exploded.  Sorry SSI, maybe next time you oughta, you know, TEST THE DAMN TITLE before releasing it into the wild.  Brilliant!</p>
<div style="font-size:16px;"><strong>2) <em>S.T.A.L.K.E.R.: Shadow of Chernobyl</em></strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 8px; float:right;"><a href="http://images.game-central.org/editorials/bugs/bugs2.jpg" rel="shadowbox[post-6930];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/bugs/bugs2-thumb.jpg" alt="bugs" /></a><br />
<strong>If only our protagonist&#8217;s weapon was a<br />
can of Raid, he might actually stand a chance.</strong></div>
<p>More astonishing than the needlessly incomprehensible acronym of a moniker is just how damned artificially difficult this game could be. Unfortunately for the player, in keeping with historical and scientific accuracy, only the bugs survived the Russian nuclear meltdown. And boooooy did they. Perhaps in keeping with the context of the plot&#8217;s continuity, the bugs actually mutated and increased <em>after the first patch</em>. That&#8217;s right: &#8220;fixing&#8221; the game outright <em>added</em> screw ups rather than vaporizing them. One of the more powerfully mind-boggling glitches involved an instance where the blast-door to the main trader (the only guy that could progress the story, naturally) would inexplicably close, blocking all access. Only way to fix it was to hope to hell it was cracked open enough to toss a grenade <em>just</em> right (this could take hours), relying on the resulting explosion to jar the iron slab back open. Yeah, comrade, that&#8217;s WAY more intuitive than making  the door reply to the goddamned &#8220;use&#8221; button. And the code gremlins didn&#8217;t stop there. Audio errors, quests that completed themselves without any user interaction, inescapable holes and rooms, this game had everything&#8230; everything except a revolver in the game box to shoot yourself with. A.w.e.s.o.m.e.!</p>
<div style="font-size:16px;"><strong>1) <em>SkyNET</em></strong></div>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 5px; float: right;"><a href="http://images.game-central.org/editorials/bugs/bugs3.jpg" rel="shadowbox[post-6930];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/bugs/bugs3.jpg" alt="bugs" width="316" height="230" /></a><br />
<strong>Nudge that lamp post and you&#8217;re a goner.</strong></div>
<p>By an Alabama mile, nothing even comes close to this one. <em>SkyNET</em>, one of Bethesda&#8217;s earliest forays into poignant masochism, is perhaps the most bipolar PC game ever made. Or <em>kind</em> of made&#8230; the whole &#8220;finished&#8221; nuance is actually tough to prove here. See, on one hand, <em>SkyNET</em> perfectly adapted every awesome detail from the Terminator lore, putting you smack dab into the best part of the series: the future war. But on the other hand, it killed you for no reason. And often.  So often in fact, that the quick-save key became more utilized than the forward key. Most of the adventure consisted of &#8220;Step. Save. Step. Save. Strafe. Save. St&#8230; SHIT! Reload.&#8221; Jumped on the wrong nook? Dead. Fell 2 inches off a single step? Dead. Lightly brushed your shoulder on a piece of overhanging debris? Dead. And sometimes, even by avoiding all obstacles altogether (not easy, since the game was freakin&#8217; littered with &#8216;em), you&#8217;d get &#8220;Mission failed, soldier!&#8221; for absolutely nothing. Yep. Nothing. You&#8217;d just die. Just because. Best part? This was all before patches and internet were widely available. Under most circumstances, you were stuck with the stock gameplay. The real tragedy here is that underneath all that psychotically homicidal digital mess is a game that could have rocked even to this day. Just don&#8217;t <em>touch</em> any rocks, or else you&#8217;re dead.  &#8220;Game tossed in the garbage disposal, soldier!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/top-5-pc-games-ruined-by-bugs/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 69</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-69/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-69/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 17:07:19 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=7057</guid>
		<description><![CDATA[We name our Most Valuable Games of 2009. The debut of Samy's segment, a revisit of Truthiness or Falsity, and a drink from The Newsaholic.]]></description>
			<content:encoded><![CDATA[<p>On this episode of the Game Central podcast, we name our Most Valuable Games of 2009. The debut of Samy&#8217;s segment, a revisit of Truthiness or Falsity, and a drink from The Newsaholic.</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_69.mp3" rel="shadowbox[post-7057];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_69.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-69/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_69.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>A Survivor&#8217;s Last Memoirs: L4D Add-on Campaigns</title>
		<link>http://game-central.org/2009/editorials/a-survivors-last-memoirs-l4d-add-on-campaigns/</link>
		<comments>http://game-central.org/2009/editorials/a-survivors-last-memoirs-l4d-add-on-campaigns/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 23:36:51 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6865</guid>
		<description><![CDATA[Environments brim with detail and beckon with boss infected at every bend.]]></description>
			<content:encoded><![CDATA[<p>Are you a nihilist?  Does the smell of gunpowder turn you on?  Have you been craving blood lately?  If you’ve answered “Yes” to all the above, you no doubt find yourself in a golden age, otherwise known as the apocalypse.  <em>Left 4 Dead 2</em> just released, and will finely satiate your paranoid, zombie-killing bloodlust with a side order of bile.  And if you just can’t get enough from the sequel, now’s perhaps the best time to play last year’s zombie slaughter-fest from Valve, <em>Left 4 Dead</em>.  Dozens of freely available, user-made add-on campaigns for <em>L4D</em> describe a vast world of Zeds.</p>
<div class="imageInPost" style="font-size:13px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:10px; float: right;">
<div><strong>How to Install an Add-on Campaign</strong></div>
<div><strong> 1) Download a campaign from <a href="http://www.l4dmaps.com">L4DMaps</a><br />
2) If it&#8217;s in a compressed folder, extract all files<br />
3) Move the .vpk file to the &#8220;Addons&#8221; folder:<br />
&#8220;\Steam\steamapps\common<br />
\left 4 dead\left4dead\addons\&#8221;</strong></div>
</div>
<p>I’ve played through several campaigns, and out of all my exploits, I now deliver to you the very best tales.  Memoirs from a true survivor tell each tale best.  Heed his testimony, choose your weapon, mix up your finest fiery cocktail, and join me on some fine anti-zombie crusades.</p>
<div style="font-size:14px;"><strong>Death Row</strong></div>
<p>Out of all add-on campaigns, this one looks the most similar to Valve’s <em>L4D</em> style. In fact, it even starts in a city level much like that of No Mercy or Dead Air. The crescendo moments also don’t particularly add any original events, though the path-opening zombie attractions excite nonetheless. The most creative level design starts with the hotel; all the interconnected rooms within provide multiple ways through and often hide boss infected for some nasty surprise encounters. You’ll eventually make your way to a multi-tiered prison that makes zombie killing all the more interesting, especially if a Tank awaits in the cellblock. <a href="http://www.l4dmaps.com/details.php?file=1909">Death Row</a>’s short four-level campaign feels refreshingly varied, and makes a great first taste for those looking for new user-made <em>L4D</em> experiences.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/addon/addon-1.jpg" rel="shadowbox[post-6865];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/addon/addon-1.jpg" alt="Left 4 Dead Add-ons" width="576" height="360" /></a><br />
<strong>No cell could hold these monsters.</strong></div>
<p>From the Memoirs:</p>
<blockquote><p><em>As we hoofed our way here, we passed through a nice hotel just a click south of the sticks;  there was no vacancy for anyone except Charlie.  When this whole zombie craze blows over, I think I’ll book a stay there sometime. Spend some hard earned leave; recuperate some R &amp; R.  We force-marched it through more city streets (those alleyways are murder-holes), we low-crawled it through the mosquito-plagued humid woods, and a Smoker damn near tore the cigarette right out of my mouth all so we could find rescue in a prison? What do these baby civvies call it? That’s right…ironic.  And I’ll be damned if I didn’t spend my whole life making up for that one mistake.  Sure, now we’re obliterating the criminally undead, but coming here rustles up flashbacks best forgotten.  Good idea, Francis.  Wouldn’t be surprised if he felt right at home here. Hell, if he ever wore camouflage, wouldn&#8217;t be surprised if he was </em>stationed<em> here.<br />
</em></p></blockquote>
<div style="font-size:14px;"><strong>Vienna Calling</strong></div>
<p>If you’re willing to commit to an extensive campaign of epic proportions, you’d best answer when Vienna calls. Starting out at the top of a department store, you’ll explore a large square footage of vertical space as you search each floor for useful pipe bombs and molotovs. You’ll certainly need as much weaponry and ammo caches as possible because the incredibly long trek down the train-car filled tunnel will certainly test your survival skills against several infected hordes.</p>
<p>Despite their size, environments consistently overflow with salient European landmarks and maintain a brisk pace. Highly creative combinations of objects and triggers make for some of the most original and climactic crescendo events I’ve seen in a <em>L4D</em> campaign. Hit a <em>L4D2</em>-esque trigger to briefly open a door, and you’d better gun it. Face the horde on the other side head on or else you’ll need to do it all over again. Hit a fuse box and get to the train! You’ll love every bit of the 2-3 hours the campaign takes on Advanced difficulty; and if you can tackle it on Expert, I’ll be very impressed. Despite its great pacing, <a href="http://www.l4dmaps.com/details.php?file=2895">Vienna Calling</a> is still far too long, though it definitely makes a more fulfilling experience than any of Valve’s official campaigns.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/addon/addon-2.jpg" rel="shadowbox[post-6865];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/addon/addon-2.jpg" alt="Left 4 Dead Add-ons" width="576" height="360" /></a><br />
<strong>&#8220;No, Zoey, I said &#8216;Check out the European <em>ads</em>.&#8217; Honest.&#8221;</strong></div>
<p>From the Memoirs:</p>
<blockquote><p><em>When they broke the news that we were deploying to Vienna, I didn’t expect the damn 3 hour tour. I mean, it’s the apocalypse &#8211; not some damn skirmish on hamburger hill, and all Zoey could think about was shopping at some fancy foreign department store. They cart my ass halfway &#8217;round the globe, all the way across the pond, and they still drag me through a maze of catacombs and a whole damn mile&#8217;s worth of subway. My bones ached by the time we finally took that train ride; old bits of un-escaped shrapnel tickled my cartilage &#8211; not so friendly reminders of a few minor missteps not unlike this one. I tried to reason with these green rookies: the longer we humped it, the more likely we’d get dead. Jesus, I wish my ol&#8217; Bravo company had as many Tanks as we saw today. At least this fine piece a city brings back memories of better days. No, not from WWII, smartass. I ain’t that old.</em></p></blockquote>
<div style="font-size:14px;"><strong>Death Aboard</strong></div>
<p>To your left, beyond the fence, you’ll see the entire path of the amazing campaign that lies ahead.  In the distance, a lighthouse spires with hope and the promise of rescue.  A disheveled prison, however, lies ahead.  You stop suddenly; at the edge of the gaping crater, you see the lay of the complex with several levels littered with the loitering hunger of the undead.  Take leaps of faith down each floor for the quick path.  Or explore cautiously to leave a bloody wake of zombies.  Through the prison and the following shipping yard, diverse, varying environments brim with detail and beckon with boss infected at every bend.</p>
<p>The heart of your survival journey lies within a massive shipping vessel, a barely buoyant path through to the lighthouse beyond.   A near-nausea inducing display of rumbling, creaking, and listing creates a highly impressive level design, as harsh angles add an interesting dimension to your movement and shooting.  Finally you reach the finale with the call for help at the lighthouse peak, and rescue all the way back down on the docks.  No hiding in a closet for you.  Bash the zombies, fight the Tanks, but with every lull in the onslaught, you’d better keep moving down the cliff, hold at each ammo cache, and make it to rescue.  <a href="http://www.l4dmaps.com/details.php?file=33">Death Aboard</a>’s finale, with its constantly compelled movement and action, makes for the most climactic and dynamic finales ever made, and a fitting end for perhaps the best <em>L4D</em> campaign yet.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/addon/addon-3.jpg" rel="shadowbox[post-6865];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/addon/addon-3.jpg" alt="Left 4 Dead Add-ons" width="576" height="360" /></a><br />
<strong>The finale requires the most intense run of your life.</strong></div>
<p>From the Memoirs:</p>
<blockquote><p><em>Another prison, another botched mission, another zombie massacre. I can’t stand the sight of another cell block, but dang: this one was broken down and open enough to let us choose and pick our way through. For myself, I’ll take the fastest. But hellfire an&#8217; brimstone, of course we had to saunter right onto a lopsided floating deathtrap. You think these hips were built for angles? And there I was, just climbing a ladder, when a goddamn car near takes my head off, and made such a racket every mangy son-of-a-bitch onboard wanted to join-up and enlist in our squad. Scared the bejeesus out of me! Made Da Nang look like easy-street. Sure glad I never joined the Navy. Didn’t help that we then had to climb up to a lighthouse on top of a cliff. And what do we end up with? A balloon?! That ain&#8217;t no chopper- that&#8217;s a giant un-lit Molotov cocktail. Too much goddamned excitement for this ol&#8217; war-dog. All we need now is for Francis to start his yammering &#8211; this thing could use some more hot air.</em></p></blockquote>
<div style="font-size:14px;"><strong>Honorable Mention: Crash Course</strong></div>
<p>Though an official downloadable campaign from Valve, Crash Course still provides a great final experience for us survivors before we all head on south in <em>L4D2</em>. Instead of designing the long, narrow and linear levels typical of <em>L4D</em>, Valve gives us a taste of the much wider, expansive levels of <em>L4D2</em>. And the exciting finale forces survivors to stay on their toes, as they’ll have to run out, risk their lives, and fix the vital generator when it breaks down. Any experienced zombie-killing group can easily blitzkrieg down a single path through the campaign in less than 30 minutes, especially since the AI Director can’t spawn the boss infected as effectively on wide maps. But the campaign’s shortness further underscores the fun of replaying, so players can try out different paths, find all the humorous graffiti, and hear the amusing character reactions to different areas.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/addon/addon-4.jpg" rel="shadowbox[post-6865];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/addon/addon-4.jpg" alt="Left 4 Dead Add-ons" width="576" height="360" /></a><br />
<strong>Only Valve can provide new hilarious, pulpy graffiti and dialogue.</strong></div>
<p>From the Memoirs:</p>
<blockquote><p><em>If that genius was my Huey pilot in the war, I&#8217;d be pushin&#8217; up daisies in Arlington right about now. Good news is we ‘landed’ in a decent part of town. LZ was cold. We found our way without too much trouble. There was once a time those godforsaken Witches and Tanks could get the better of me. From what I’ve seen here, these zombies wouldn’t last a day back in &#8216;Nam. Intel has it there’s much better targets down south. I defended these stars and stripes, dammit! Watched soul after soul take two to the head and one to the chest to keep this country free. I won’t let these abominations tear it to shit before I get a dog tag between my teeth. Christ, Francis is an ass… I don’t care how much he hates shrimp gumbo, we’re hightailing this bus down along the mighty Mississippi if I have anything to say about it.</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/a-survivors-last-memoirs-l4d-add-on-campaigns/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wing Commander and the Awesomeness of the Epic Fail</title>
		<link>http://game-central.org/2009/editorials/wing-commander-and-the-awesomeness-of-the-epic-fail/</link>
		<comments>http://game-central.org/2009/editorials/wing-commander-and-the-awesomeness-of-the-epic-fail/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 16:09:55 +0000</pubDate>
		<dc:creator>Cameron G.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6839</guid>
		<description><![CDATA[Destiny didn't always have its day.]]></description>
			<content:encoded><![CDATA[<div style="font-size:12px;"><em>When he&#8217;s not costing lives and losing the Vega Sector single-handedly, Cameron Goble reviews classic PC games at <a href="http://www.longtailgamer.com">LongTailGamer.com</a>.</em></div>
<p>When&#8217;s the last time you completed a video game by losing every mission? Many video games are designed with a destiny in mind: you will finish the game only by winning.  I&#8217;m talking overwhelming success here.  You must be the victor in every battle.  You must kill (or disable or avoid) every enemy.  You must overcome all obstacles. Your destiny in the game is basically to beat everyone, win everything, and be awesome forever.</p>
<p>That sounds a lot like &#8220;infallible&#8221; to me, and frankly, I just can&#8217;t relate to that. More often than not, I&#8217;m reloading and re-attacking a game with prior knowledge gained from a splattery death.  My in-game avatar, however, would remember it differently.  There&#8217;s a discontinuity between me and the avatar.  He can&#8217;t see the quick saves and the rage-quits.  In his story, he&#8217;s just an awesome guy with an awesome destiny.</p>
<p>But destiny didn&#8217;t always have its day.  As game studios began to unify video games and filmic narratives, the idea of multiple endings emerged.  I&#8217;m going to explore how multiple endings work in one particular game here: <em>Wing Commander</em>, released in 1990 by Origin Systems.</p>
<p><em>Wing Commander</em> is a good focus for narrative exploration and variation, in part because Origin&#8217;s designers explicitly wanted to create a movie-like experience within a video game.  Movies usually only have one ending, but the variability of the player/machine interaction gives video games more flexibility.  That tension between singular and multiple endings, and the way it intersects with the player/avatar discontinuity, invites inspection.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px;"><a href="http://images.game-central.org/editorials/wcepicfail/wc-1.png" rel="shadowbox[post-6839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/wcepicfail/wc-1.png" alt="Wing Commander" width="576" height="360" /></a><br />
<strong>Losing the war one Rapier at a time.  KABOOM!</strong></div>
<p>The motto of Origin Systems was &#8220;We Create Worlds.&#8221;  The pride of their games was depth of emotion and range of play.  In <em>Wing Commander</em>, Origin used an unusual strategy to exploit both emotions and exploration.  They created a set of player-driven world histories: paths through victories and defeats in the Kilrathi War. It&#8217;s easy to face defeat in <em>Wing Commander</em>: fail to protect a transport, fail to destroy a capital ship, fail to stick with your wingman. Where <em>Wing Commander</em> breaks from rail games like <em>Half-Life</em> or <em>X-Wing</em> is that <em>Wing Commander</em>&#8217;s failures are mostly survivable&#8211; even productive.  Only outright death or the conclusion of the war campaign will stop the player.</p>
<p>Since the game isn&#8217;t dependent on victory, the goal of winning out the war is subverted to the goal of simply surviving long enough to see it through.  This difference is the axis upon which the emotionality and depth of the game can turn in unexpected directions. As long as I come back alive, I have to face the consequences of my performance.  Those consequences build up over time.  Fail a few times and the missions turn more defensive.  A few more, and I&#8217;m scrabbling to turn the tide of the war.  String enough failures together, and now I&#8217;m covering a hasty retreat from the sector&#8211; alone, if my would-have-been wingman already bought it in a furball a few missions back.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-right:8px;"><a href="http://images.game-central.org/editorials/wcepicfail/wc-2.png" rel="shadowbox[post-6839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/wcepicfail/wc-2.png" alt="Wing Commander" width="576" height="360" /></a><br />
<strong>No, we&#8217;re not sending you out to try the mission again.  Loser.</strong></div>
<p>My avatar can now embody how much I suck at being a fighter pilot in deep space.  In some strange way, I think that&#8217;s a step forward in player/avatar relations.  Failure brings my story as a player more into line with my character&#8217;s story as a potential hero.  We can share the same causality as well as the same fighting skills.  We can explore the world in terms of cause, effect, and consequences.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/wcepicfail/wc-3.png" rel="shadowbox[post-6839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/wcepicfail/wc-3.png" alt="Wing Commander" /></a><br />
<strong>It&#8217;s like playing Plinko with the fate of mankind!</strong></div>
<p>Failure also enables an existentially sublime interpretation.  By doggedly winning every mission, I am denied the experience of defeat.  The point is that the potential experience exists, waiting to be engaged by losing.  Nor is there a single path to victory or defeat.  By accepting losses, <em>Wing Commander</em> turns mission-ending catastrophes into more missions to play.</p>
<p>If failure adds to the quantity of gameplay, it also adds new qualities to the characters.  In the ship&#8217;s lounge, my crew mates reflect on their experiences of the war.  I see different aspects of the same characters emerge as victory nears or defeat looms. The lounge becomes a profoundly affecting place upon discovering an vacant seat where a wingman would have sat, had he or she not died in a prior mission.  Since wingmen can usually die only when they fly with me, the emptiness becomes personally significant: I know the cost of my failure, but I am rewarded with a richer emotional experience.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-right:8px;"><a href="http://images.game-central.org/editorials/wcepicfail/wc-4.png" rel="shadowbox[post-6839];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/wcepicfail/wc-4.png" alt="Wing Commander" width="576" height="360" /></a><br />
<strong>Whose got the medal of suckage?  I do, bitches.</strong></div>
<p>The reward of failure even undermines the determined perfectionist gamer with a Gödellian twist.  Medals are collected for extraordinary wins in battle, but that collection will be incomplete without at least one critical loss: the Golden Sun medal is awarded for surviving the destruction of one&#8217;s ship.</p>
<p>So, to achieve victory, I first must admit defeat.  But oh, what a victory for video games and the people who love them. <em>Wing Commander</em> creates its avatar as someone more like myself as I play.  In the cinematic moments of triumph or tragedy, its hero is a guy for whom life is uncertain and death must be dealt with.</p>
<p>Origin got these lifelike qualities right with <em>Wing Commander</em>. It is a game I love to come back to, and I play as much to lose as to win.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/wing-commander-and-the-awesomeness-of-the-epic-fail/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The Trial and Execution of Guybrush Threepwood Review</title>
		<link>http://game-central.org/2009/reviews/tomi-the-trial-and-execution-of-guybrush-threepwood-review/</link>
		<comments>http://game-central.org/2009/reviews/tomi-the-trial-and-execution-of-guybrush-threepwood-review/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 14:38:41 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6795</guid>
		<description><![CDATA[The tale feels strangely unlike a Monkey Island game]]></description>
			<content:encoded><![CDATA[<p>The state of <em>Tales of Monkey Island</em>’s Caribbean setting grows more treacherous.  An epidemic, the voodoo pox of LeChuck, has turned all pirates into unpredictable volcanoes of irritability.  A mad scientist, De Singe, threatens to spread the plague even further while he tries to tap into its supposed powers of immortality.  And as the title of Chapter 4 of <em>Tales</em> suggests, things look even worse for Guybrush Threepwood, the one mighty pirate hero who can actually cure the plague.  Against the backdrop of these troubling times, <em>The Trial and Execution of Guybrush Threepwood</em> starts a tale that feels strangely unlike any other <em>Monkey Island</em> adventure.</p>
<p>Differing, too, from their own prior <em>Tales</em> chapters, the developers at Telltale don’t start with an action-packed intro scene that acquaints players with the adventure-style gameplay; while another exciting tutorial level could have been interesting, they are totally reasonable to assume that, by this chapter, players already know how to solve puzzles, use items in the inventory, and do other point-and-click actions.  Instead, a well-produced, lengthy intro cutscene depicts Guybrush, captured by pirate hunter Morgan LeFlay in the previous chapter, begrudgingly returning to Flotsam Island where he gets swept away to pirate court.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/trial/trial-1.jpg" rel="shadowbox[post-6795];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/trial/trial-1.jpg" alt="The Trial and Execution of Guybrush Threepwood" width="576" height="324" /></a><br />
<strong>Finally, the visuals look as appealing as the sultry Miss LeFlay.</strong></div>
<p>Particularly noticeable right away, the visual style actually looks decent compared to the awful graphics of the previous chapters. A full moon and starry sky create a beautiful atmosphere for the otherwise dull Flotsam.  Despite using the same graphics engine, the veil of night goes a long way to remove most of the ugly porcelain sheen on characters and to obscure the low-res textures enough to shift focus to the nice lighting and glow effects, which also work well within several light-related puzzles.</p>
<p>Though not full of thrilling action, the following trial provides great pirate humor and adventure gameplay, but with intriguing courtroom-drama style.  Slick salesman Stan, and his comically impossible jacket, makes a very welcome return to <em>Monkey Island</em> without, unfortunately, his original voice actor (which is odd considering he recently contributed dialogue for Stan in <em>The Secret of Monkey Island: Special Edition</em>); still, as the prosecution against Guybrush, he provides much comedy through his fast-talking enthusiasm and arm-waving-enhanced objections.</p>
<p>The structure of the trial, meanwhile, makes way for very flexible pacing and adventure gameplay.  You can proceed with the case where you&#8217;ll have Guybrush examine the evidence or interrogate each of his four accusers.  Or, you can simply move for recess right off the bat to get a much needed breather.  And thanks to the rather dim bailiff, Guybrush easily walks out of his cell, whereby you can have him explore Flotsam, solve puzzles, and piece together items as vital evidence to bring back to court.  You can also pursue proof of Guybrush’s innocence against each of the four charges in any order, which greatly helps prevent difficult puzzles from halting the narrative since you can save them for later.  Needless to say, after a typical pirate night of playing with paralyzed cats and examining risqué scars, you’ll help Guybrush walk free.</p>
<p>The trial culminates with a peculiar, and farfetched, revelation: Telltale pulls a <em>Rosencrantz and Guildenstern</em> and unveils information that apparently lies at the heart of everything that ever happened in every <em>Monkey Island</em> game to date.  I mean, they already ventured away from the <em>Monkey Island</em> formula when they removed LeChuck as the villain for previous episodes, yet now their revelation takes <em>Tales</em> even more astray, which isn’t necessarily a bad move, though only the 5th chapter will tell whether it pays off.  While I look forward to the outcome, some will likely hate both the new direction and the introduction of story elements that only resolve in the next title installment (arguably, however, all the <em>Tales</em> chapters comprise a single whole game).</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/trial/trial-2.jpg" rel="shadowbox[post-6795];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/trial/trial-2.jpg" alt="The Trial and Execution of Guybrush Threepwood" width="576" height="324" /></a><br />
<strong>I&#8217;ve been hoping for this girl-on-girl action for a while.</strong></div>
<p>In fact, while the latter half of the game still has much of the light-hearted humor and fun adventure gameplay, it certainly feels different, and more serious in tone than past <em>Monkey Island</em> games.  For one, I much appreciated the catty sword fight between Morgan and Elaine, Guybrush’s wife.  And though I disliked quests in labyrinthine jungles in previous chapters, I did like the way I could fold a map belonging to the Voodoo Lady that rearranged the jungle for some intuitive exploration and puzzle-solving.  Beyond those, I was shocked by the amount of drama in this <em>Monkey Island</em> game:  more than one character dies, bloodlessly at that, yet still seriously, and Elaine’s vengeful “Go to hell!” took me off guard.</p>
<p>I enjoyed <em>The Trial and Execution of Guybrush Threepwood</em> most out of all chapters released thus far for its longer, more fulfilling experiences, quests, and story in general.  But by <em>Monkey Island</em> standards, the atypical melodrama overshadows, and sometimes conflicts with, the expected humorous qualities too much for me to commit to Chapter 4 as “the best” yet in <em>Tales of Monkey Island</em>.  By all indications, however, the ending sets things straight in a way, and significantly increases my anticipation for the final chapter.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/tomi-the-trial-and-execution-of-guybrush-threepwood-review/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 68</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-68/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-68/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 23:41:37 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6834</guid>
		<description><![CDATA[The games we've been playing, "Truthiness or Falsity", analyzing <em>Judith</em>, and the news of the world. All on this week's Game Central podcast!]]></description>
			<content:encoded><![CDATA[<p>The games we&#8217;ve been playing, &#8220;Truthiness or Falsity&#8221;, analyzing <em>Judith</em>, and the news of the world. All on this week&#8217;s Game Central podcast!</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_68.mp3" rel="shadowbox[post-6834];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_68.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-68/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_68.mp3" length="32649717" type="audio/mpeg" />
		</item>
		<item>
		<title>Torchlight Review</title>
		<link>http://game-central.org/2009/reviews/torchlight-review/</link>
		<comments>http://game-central.org/2009/reviews/torchlight-review/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 17:56:08 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6719</guid>
		<description><![CDATA[Torchlight will be the most fun you've had for $20 in a long, long time.]]></description>
			<content:encoded><![CDATA[<p>My finger hurts. A lot.</p>
<p>Back when Game Central <a href="http://game-central.org/2009/editorials/torchlight-preview-with-travis-baldree/">previewed <em>Torchlight</em></a> at <a href="http://game-central.org/tag/pax09/">PAX</a>, I noticed lead designer Travis Baldree clicking a lot. However, my perception of clicks-per-second must be off  &#8217;cause my hands are literally on fire while typing this. All because of Runic Games&#8217; debut hack-and-slash action RPG (ARPG).</p>
<p>Not much has changed from what we illustrated in our preview, but that&#8217;s certainly not a bad thing. In fact, I&#8217;m actually <em>glad</em> not much has changed since then, because <em>Torchlight</em> will be the most fun you&#8217;ve had for $20 in a long, long time.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/torchlight/torch-4.jpg" rel="shadowbox[post-6719];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/torchlight/torch-4-thumb.jpg" alt="Torchlight" /></a></div>
<p>Taking cues from already-established ARPGs such as the <em>Diablo</em> series and <em>Titan Quest</em>, <em>Torchlight</em> solidifies the genre by balancing out all the key factors that make games from that genre tons of fun. It isn&#8217;t <em>just</em> mindless clicking, but instead it gives the player the impression that they&#8217;re doing something special with each click. It adds a whole layer of personality that&#8217;s missing from many hack-and-slash games these days. That aspect alone is worth the purchase; it&#8217;s painfully obvious that Runic was insanely passionate about this game when developing it.</p>
<p>As expected of any game of this sort, the real point of it is to kill baddies and steal their loot. And <em>Torchlight</em> delivers plenty of it. You can select up to three different classes to play; these include an Alchemist, a Vanquisher, or a Destroyer. The specialty of these are magic, ranged, and melee, respectively. You also get to choose a dog or cat to act as your violent companion while trudging through the depths of the subterranean catacombs. From there, the game almost immediately thrusts you into the action, but not before introducing you to the town of Torchlight, where you get quests, barter for items and equipment, and get back-story through dialogues with the townspeople.</p>
<p>Speaking of the back-story: it isn&#8217;t exactly the most genius piece of storytelling in the history of video games. In fact, I&#8217;d say it&#8217;s the complete antithesis to <em>Planescape: Torment</em>. However, I&#8217;m not necessarily knocking it because of the lack of story. The game&#8217;s inherent essence as an action RPG, to me, automatically allows for the lack of a narrative objective to aim towards. It&#8217;s always been the case for the genre to avoid focusing on a story; <em>Torchlight</em> doesn&#8217;t lose its fun factor for its absence of a compelling plot. But, in case you&#8217;re wondering, there&#8217;s some evil &#8220;Ember&#8221; (material used to power the city&#8230; kinda like Tiberium in <em>Command &amp; Conquer</em>) in the realms underneath Torchlight, and it&#8217;s up to you to squash it.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/torchlight/torch-1.jpg" rel="shadowbox[post-6719];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/torchlight/torch-1-thumb.jpg" alt="Torchlight" /></a><br />
<strong>Environments vary greatly, and it&#8217;s rare to see only one enemy on screen at a time.</strong></div>
<p>Much like the story, the gameplay isn&#8217;t overly complex. You and your companion go through many levels in pure ARPG style, clicking away on the dozens of baddies constantly filling your screen. The game&#8217;s user interface is surprisingly polished and makes for an easy introductory learning experience.  The heads-up display (HUD) is fairly simple to use, allowing straightforward customization for the player&#8217;s likings. If you want to have &#8220;1&#8243; drink a health potion, or cast a &#8220;Ricochet&#8221; projectile spell, it&#8217;s as simple as dragging and dropping icons onto the respective numerical position. When you&#8217;re not frantically clicking on bad guys, you&#8217;ll mainly be using these menus.</p>
<p>Going along the main (albeit slim) storyline, you can also receive side-quests to garner more experience and better items. These quests are generally tougher than following the plot line exclusively, but if you <em>don&#8217;t</em> do these quests, you&#8217;ll lose the opportunity to level up above your enemies to gain the upper hand. If you&#8217;re on &#8220;Normal&#8221; difficulty, however, don&#8217;t worry about leveling up, since it&#8217;s oddly simple under that selection. Nearly six hours into one game on &#8220;Normal,&#8221; I had amassed nearly 100 dormant health potions, since I had no need for them &#8211; the enemies never even hit me. Still, such a nitpick can be addressed quite simply by changing the difficulty or enabling the &#8220;Hardcore&#8221; gameplay mode. It seems to me Runic hit a hump on the &#8220;Normal&#8221; setting, since they designed the game with both the hardcore ARPGers and newcomers to the genre (me). Nevertheless, it&#8217;s a minor complaint which shouldn&#8217;t go against overall judgment of the game.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/torchlight/torch-2.jpg" rel="shadowbox[post-6719];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/torchlight/torch-2-thumb.jpg" alt="Torchlight" /></a><br />
<strong>After all the looting, head back to town to sell it all. Or stay put and have your pet do it automatically!</strong></div>
<p>On the trek through <em>Torchlight</em>&#8217;s many environments, you&#8217;ll encounter an incredible variety of enemies. While a lot of them are your generic skeletons and spiders, others are foes you don&#8217;t commonly see in these sorts of games, such as the Mimic treasure chest that tries to eat you when you loot it. Not that the stereotypical enemies are bad, in fact they all look quite neat with the game&#8217;s pretty art style.</p>
<p>As pointed out in our preview, the game goes for a &#8220;blocky&#8221;  artistic approach. Which, according to Baldree, allows the game to age much nicer than its contemporary peers. I gotta agree with him. The game is quite beautiful, and I can totally see it being just as relevant five years from now. Each unit is designed so specially, that I have to frown every time I see a whole group of enemies flooding towards me. &#8220;I have to kill these beautiful enemies? It&#8217;s like spitting on a beautiful acrylic!&#8221;</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/torchlight/torch-6.jpg" rel="shadowbox[post-6719];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/torchlight/torch-6-thumb.jpg" alt="Torchlight" /></a><br />
<strong>Upgrading skills and specialties.</strong></div>
<p>If a blocky visual construct or high fantasy setting just isn&#8217;t your fancy, don&#8217;t worry &#8211; the game is completely moddable. The recently released TorchEd allows any purchaser of the game to try their hand at changing the game to their liking. Judging by our ever beloved PC gaming community, I wouldn&#8217;t be surprised to see many top-quality mods in the near future.</p>
<p>Further evidence of its influence from <em>Diablo</em>, the game&#8217;s music is composed by Matt Uelman, who fashioned the music for that series. I think I&#8217;ve said it before, but I&#8217;ll say it again: to me, aside from the gameplay, music is the most important factor in a game.<em> Torchlight</em> successfully brings back a feeling of music that I haven&#8217;t felt since the late &#8217;90s. It doesn&#8217;t have the now-typical orchestral score that you would find in a movie &#8211; this game has music that was obviously designed for a game. Each song is radically different from the other, and provides a perfect listening experience. I don&#8217;t think I&#8217;ve heard a game soundtrack since <em>Thief: Deadly Shadows</em> where I felt the music perfectly complemented the medium. I&#8217;ve listened through the music outside of the game a handful of times already.</p>
<p>In the end, <em>Torchlight</em> is a fantastic title. Designed for both the hardcore and the newbies, the game will eat up your hours late at night, just as <em>Civilization</em> did many moons ago. The solid control mechanics turns the common &#8220;boring gameplay&#8221; complaint of hack-and-slash ARPGs on its head. With the low price tag of $20, there&#8217;s absolutely no reason to pass it over. I heartily recommend <a href="http://www.torchlightgame.com/">purchasing directly</a> from Runic Games themselves.</p>
<p>Now please excuse me while I go make my index finger numb.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/torchlight-review/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Sins of Machinarium</title>
		<link>http://game-central.org/2009/editorials/the-sins-of-machinarium/</link>
		<comments>http://game-central.org/2009/editorials/the-sins-of-machinarium/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 16:15:17 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[machinarium]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6480</guid>
		<description><![CDATA[I can’t help but feel disappointed by Machinarium.]]></description>
			<content:encoded><![CDATA[<p>From the moment the little robotic hero reassembles himself at the start of <em>Machinarium</em>, I knew his adventure would mean something special.  And as much as I enjoyed its emotion, story, and adventure-style gameplay, I still can’t give <em>Machinarium</em> a pass for its sins against game narration.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/sinsofm/sinsofm-1.jpg" rel="shadowbox[post-6480];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sinsofm/sinsofm-1.jpg" alt="Machinarium" width="576" height="364" /></a><br />
<strong>My favorite moment in the game felt fulfilling, though not in a game narrative fashion.</strong></div>
<p>Don’t get me wrong, I definitely agree with <a href="http://game-central.org/2009/editorials/machinarium-game-of-the-year/">Chris&#8217;s</a> emotional attachment with the little guy while I guided him through his whimsical adventure; every one of his somber, lonesome animated gestures cried out to my sympathies.</p>
<p>And <a href="http://game-central.org/2009/reviews/machinarium-review/">Keenan</a> accurately observed the experience’s remarkable artistic style, story, and gameplay.  The setting illustrates an overbearing tone of industrial corruption and isolation, and an ingenious use of animated bubbles subtly reveals our hero’s small, yet significant story of hope in the bleak world.  The adventure style gameplay, meanwhile, offers brilliant challenges and puzzles that hearken back to the height of the adventure game era in the ‘90s.</p>
<p>Such analyses, however, don’t go far enough.  Appreciation for <em>Machinarium</em> flourishes on the levels of both story and gameplay.  Since the whole experience fundamentally relies on story to motivate the player to solve puzzles, I’d also expect its storytelling, or narration, to shine.  On the level of narrative, however, the game couldn’t possibly disappoint me more.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/sinsofm/sinsofm-2.jpg" rel="shadowbox[post-6480];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sinsofm/sinsofm-2.jpg" alt="Machinarium" width="576" height="364" /></a><br />
<strong>Animated bubbles work great, so long as you look and don&#8217;t touch.</strong></div>
<p>In his work, <span style="text-decoration: underline;">Story and Discourse:  Narrative Structure in Fiction and Film</span>, narrative theorist Stuart Chatman affirms that the final outcome of a narrative depends on the interdependence between story and discourse.  As mentioned, the story of <em>Machinarium</em>—in essence, the cause and effect relationship between events—works beautifully.  Its discourse, or the way it tells the story, uses both the ingenious adventure gameplay and the charming animated thought bubbles to great effect.  The disconnect for <em>Machinarium</em> lies within the interdependence between the story and discourse, and I’ll explain why soon.</p>
<p>Another approach to narrative comes from Bordwell and Thompson in <span style="text-decoration: underline;">Film Art:  An Introduction</span>, which explains the importance of content and form.  For <em>Machinarium</em>, the content comprises both the excellent story and gameplay.  The form of the two content elements, meanwhile, doesn’t make an effective use of the videogame medium towards a game narrative.</p>
<p>In the post-<em>Half-Life</em> videogame landscape, a game cannot reflect narrative mastery without interactive storytelling.  Games prior to the late ‘90s generally kept narrative in a rigid, separated form: narrative techniques from other media, such as non-interactive cutscenes and text, often exposed story, which then motivated the interactive actions taken within the gameplay.  <em>Half-Life</em> then released in 1998 and showed that game narration didn’t need to borrow non-interactive narration from other media.  Its story and discourse, its content and form combined together in ways unique to the medium; its narrative told the entirety of its story without sacrificing the interaction that defined it as a game.  For the game medium after <em>Half-Life</em>’s release, both the aforementioned elements of form and the interdependence between story and discourse must hinge on interactivity.</p>
<p><strong><span style="text-decoration: underline;">Warning &#8211; Minor Spoilers Ahead</span>:</strong> <em>Batman: Arkham Asylum</em>, <em>Braid</em>, <em>Half-Life 2</em>, <em>Tales of Monkey Island</em>, and, of course, <em>Machinarium</em>.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/sinsofm/sinsofm-3.jpg" rel="shadowbox[post-6480];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sinsofm/sinsofm-3.jpg" alt="Machinarium" width="576" height="360" /></a><br />
<strong>&#8220;Feel free to look around.&#8221; Better words could not have been said.</strong></div>
<p>In <em>Half-Life 2</em>, which obviously follows the precedent set by its predecessor, you, the player, retain complete control over protagonist Gordon Freeman in scenes of narrative salience.  When you first meet Dr. Kleiner in his secret lab, you can pay attention as Kleiner talks with other characters Alyx and Barney about the resistance against the Combine, you can keep your ears listening while you explore the lab and tinker with the interesting objects, or you can pay them no heed while you do your own thing.  Even moments that don’t “box you in” a room for story still use interactive storytelling: as Dr. Breen broadcasts his propaganda, you’re in Nova Prospekt shooting Combine, commanding ant lions, and choosing whether to listen to Breen’s piece of the story.  In all cases, the game grants you the rights of interactivity and agency, the ability to make decisions during narrative and see the results.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/sinsofm/sinsofm-4.jpg" rel="shadowbox[post-6480];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sinsofm/sinsofm-4.jpg" alt="Machinarium" width="576" height="324" /></a><br />
<strong>Help Tim help her. This time you both will reach the last star.</strong></div>
<p>I can think of few recent titles that purely use interactive storytelling throughout their experiences like the <em>Half-Life</em> series—namely, <em>Assassin’s Creed</em>, <em>BioShock</em>, <em>Braid</em>, and <em>Dead Space</em>—and even some of them contain minor non-interactive exceptions.  <em>Braid</em>, for example, largely uses text, a typical style of narration for games, yet still lets you control the character of Tim so you can decide to read or skip at your own will.  Narration culminates in the complex final level that lets you enact events, platform, and control time through Tim’s attempt to reach his love, and ends differently depending on whether you found all the stars in the previous levels.  In this case, not only do you retain interactivity throughout the game narrative, but your choices also directly impact the narrative.</p>
<p>Games like <em>Batman: Arkham Asylum</em>, meanwhile, prefer a mix of both interactive and non-interactive narration.  It still clings to traditional cutscenes to tell story in its poorest use of the medium, but that doesn’t mean it can’t narrate in powerful game-centric ways.  When the Joker speaks over Arkham’s video intercom system, when Batman thinks to himself, or when Batman speaks to Oracle through the cowl, the game tells story while still letting you explore Arkham Island.  The most dramatic interactive narrative moments truly reflect a mastery of the medium: in a hallucination caused by Scarecrow’s poison, the setting of Arkham breaks apart and you have Batman walk down a hall of Wayne Manor as it slowly changes to the fateful dark alley; you walk to the haunting memory, the murder that defined the Dark Knight.  You’re just walking—manipulating “Forward” via the keyboard, one of the subtlest forms of control—yet even from your small sliver of interactivity comes a visceral unity with Batman that could only be done in a videogame.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/sinsofm/sinsofm-5.jpg" rel="shadowbox[post-6480];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sinsofm/sinsofm-5.jpg" alt="Machinarium" width="576" height="360" /></a><br />
<strong>Walk with Batman. Remember as he remembers.</strong></div>
<p>After experiencing the ways games combine interactivity and narrative towards the most effective use of the medium, I thus can’t help but feel disappointed by <em>Machinarium</em>.  While its content is fantastic, its form uses little, if any, interactive storytelling, which should be unacceptable in a post-<em>Half-Life</em> world.  Solving its puzzles triggers non-interactive narrative events that progress the story; thus the story does not mesh with the gameplay discourse, and instead remains separate.</p>
<p>While I agree with Chris when he points out the emotionally evocative style of “imaginative expressionism,” I’d argue that narration through non-interactive thought bubbles, however effective they may function towards narration, is a fundamentally poor use of an interactive medium.  <em>Machinarium</em>’s narration might convey interpretive themes and motifs better than the “clunky” dialogue trees of <em>Tales of Monkey Island</em> ever could, but <em>Tales</em>’s interactive narration will still always be superior within the videogame medium.  I don’t want to sit back and watch the story unfold, I want to lean forward and interact with story <em>while</em> it’s told.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/editorials/sinsofm/sinsofm-6.jpg" rel="shadowbox[post-6480];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sinsofm/sinsofm-6.jpg" alt="Machinarium" width="576" height="324" /></a><br />
<strong>It may be &#8220;clunky,&#8221; but at least I can clicky.</strong></div>
<p>That being said, I could only find a sparse few interactive narrative moments in the game.  Moments like diffusing the bomb at the end could, arguably, represent the narrative description of the way the character diffuses the bomb through the puzzle solving of the player, but events like these number a disappointing sum in a sea of non-interactive narration.  Maybe I would’ve appreciated the animated thought bubbles more if I could somehow manipulate their figures with my cursor; in the end, however, the game’s developers chose a method best suited for a different medium.</p>
<p>While I can certainly appreciate the entertainment value of games like <em>Machinarium</em>, I mostly tolerate them in moderation.  I not only can’t consider the game for game of the year, but I’d go so far as to say if more games like it went back to old-fashioned storytelling methods, I’d probably stop playing story-based games altogether.  I definitely enjoyed the game, but I hope <em>Machinarium</em> comes as a swan song for the traditional, pre-<em>Half-Life</em> story-based game.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/the-sins-of-machinarium/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 67</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-67/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-67/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 17:19:06 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6714</guid>
		<description><![CDATA[We are newsaholics! A discussion about games we want to love, but don't.]]></description>
			<content:encoded><![CDATA[<p>We are newsaholics! <em>Modern Warfare 2</em> &#038; <em>Rage</em> hate, free <em>Unreal 3</em> engine, the Bejeweled RPG, <em>Gyromancer</em>, <em>Operation Flashpoint: Dragon Rising</em>, pre-mature <em>Alice 2</em>, and weird paradoxical dimensional clothing. Finally, a discussion about games we want to love, but don&#8217;t.</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_67.mp3" rel="shadowbox[post-6714];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_67.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-67/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_67.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Console Port SATs</title>
		<link>http://game-central.org/2009/editorials/console-port-sats/</link>
		<comments>http://game-central.org/2009/editorials/console-port-sats/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 18:15:17 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Havoc]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6605</guid>
		<description><![CDATA[...betrayal is more fun than a trip to meet Captain America]]></description>
			<content:encoded><![CDATA[<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:5px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/sats/sats7.jpg" rel="shadowbox[post-6605];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats7-thumb.jpg" alt="sats" /></a></div>
<p>Greetings, future PC game console porter. Prior to being accepted to any accredited platform transitional university, you will be required to complete the following test and score within the top 25th percentile.  Please answer the following multiple choice questions in numerical sequential order. You will be timed from start to finish. Certain questions may contain more than one correct answer. Leaving a question blank is not acceptable. Once finished, please turn in your completed exam to the nearest refuse bin. Thank you, and have a pleasant tomorrow!</p>
<p><strong>1) When describing a ported PC game as &#8220;the most PC-centric game of the entire series,&#8221; which pieces of the below presented evidence are factually accurate?</strong></p>
<blockquote><p>a) The game accepts basic mouse and keyboard inputs, and is therefore a milestone.</p>
<p>b) The game<em> sometimes</em> accepts basic mouse and keyboard inputs, but only to piss you off enough to the point of utter insanity.</p>
<p>c) The game connects to the Internet. Sort of.</p>
<p>d) The letters &#8220;PC&#8221; are somewhere on the game packaging. But probably not in order.</p>
<p>e) The game is an outright criminal slack-assed console port of a once fantastic series, and its makers should be drowned in a pile of African elephant feces.</p></blockquote>
<p><strong>2) &#8220;Gamepads&#8221; are to &#8220;PC gaming&#8221; as:</strong></p>
<blockquote><p>a) &#8220;Heart attacks&#8221; are to &#8220;awesome.&#8221;</p>
<p>b) &#8220;<em>Darkest of Days</em>&#8221; is to &#8220;a soothing peach-scented back massage.&#8221;</p>
<p>c) &#8220;Microsoft Games for Windows initiative&#8221; is to &#8220;compelling think tank of amazing.&#8221;</p>
<p>d) &#8220;Keenan Weaver <em>TF2</em> 7000 pings&#8221; are to &#8220;unusual.&#8221;</p>
<p>e) &#8220;<em>Torchlight</em> pets&#8221; are to &#8220;not adorable and fiscally conscious.&#8221;</p></blockquote>
<p><strong>3) Finish the following statement.</strong></p>
<blockquote><p><strong>&#8220;Even though we were supposedly a once exclusive PC developer, we dumped 98.7% of all our available resources into the console version and then produced a hefty steaming PC turd-pile because­­­ ___________________________________.&#8221;</strong></p>
<p>a) We work for Chris Taylor.</p>
<p>b) We secretly hate you.</p>
<p>c)  Carl from the janitorial department needed a new mop handle and a fresh urinal cake, which depleted our creative team&#8217;s entire PC budget.</p>
<p>d) Everyone knows those Mac ads are accurately researched and completely forthright, and thus the PC is dead.</p>
<p>e) Piracy is ruining our company, even though we use 100 dollar bills to wipe our asses and often bathe in steaming gold bullion.</p></blockquote>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/sats/sats1.JPG" rel="shadowbox[post-6605];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats1-thumb.JPG" alt="sats" /></a><br />
<strong>Figure A.</strong></div>
<p><strong>4) Who is this legendary man? (See Figure A.)</strong></p>
<blockquote><p>a) Super Mario.</p>
<p>b) Your father-in-law&#8217;s financial securities accountant.</p>
<p>c) Uh&#8230; Barack Obama?</p>
<p>d) Irrelevant; he doesn&#8217;t make Wii games, so he can&#8217;t be <em>that</em> important.</p>
<p>e) Hideo Kojima.</p></blockquote>
<p><strong>5) <em>Borderlands</em> leaves the house at 5pm traveling at 50mph. <em>Rainbow Six Vegas 2</em> leaves the train station at 70mph after 12:30am. Conversely, <em>Batman: Arkham Asylum</em> accelerates away from <em>Borderlands</em> and <em>Rainbow Six Vegas 2</em> at a rate of 40mph at 4:30am.  If all three continue onward at their above prescribed constant speeds, at what time will exclusive PC games cease to exist?</strong></p>
<blockquote><p>a) PC games? I thought we were designing a port for the Nintendo DS&#8230;</p>
<p>b) Noon tomorrow.</p>
<p>c) Unknown: I&#8217;m not intelligent enough to tell time.</p>
<p>d) I don&#8217;t care. Give me my paycheck.</p>
<p>e) Yes.</p></blockquote>
<p><strong>6) A certain unnamed RTS PC game designer once commented on how the analog sticks on a gamepad are far more in-tune than a mouse and keyboard for controlling multiple units and zooming in and out of the battlefield. Why would the above referenced person say this?</strong></p>
<blockquote><p>a) Because he drank two quarts of double-strength liquid Drano just prior to the interview, with a chaser of fresh-squeezed retarded juice.</p>
<p>b) Because <em>every</em>one already knows that the mouse and keyboard are terrible instruments for RTS games; the NES Advantage is a far better option.</p>
<p>c) Because unadulterated PC gamer betrayal is more fun than a trip to meet Captain America.</p>
<p>d) Because analog pads can vibrate, and that&#8217;s, like, uh &#8211; pretty neat.</p>
<p>e) Because what the PC gaming really needs is to be MORE like a portable chemical toilet for big-name self-inflated industry prima donnas.</p></blockquote>
<p><strong>7) Transitioning a big-name title to a different platform is sensitive and tricky business. As such, what is <em>the</em> most important aspect when porting a console game over to the PC? (Use scrap paper as needed.)</strong></p>
<blockquote><p>a) To phone-in the entire effort and infuriate as many diehard PC gamers as much as possible.</p>
<p>b) To purposefully exclude crucial and expected features such as quick saving and dedicated servers (nobody nowadays uses crap like that anyway).</p>
<p>c) To ensure you remove as many copies of the game disc itself and instead vomit into numerous game boxes prior to shipping.</p>
<p>d) To mask the God-forsaken digital monstrosity you just coughed up by employing genius marketing tag lines such as, &#8220;Multiplayer available! Play with MORE than one person&#8230; ONLINE!&#8221; Or, &#8220;Comes with free DVD sleeve! And complimentary PDF instruction manual!&#8221;</p>
<p>e) To release the game 9 months later than the consoles, after everyone&#8217;s already forgotten about it.</p></blockquote>
<p><strong>8) Match the below jumbled images to the correct names and/or titles.</strong></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="left">a) Darth Poop-Stain</td>
<td align="right">
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:8px; margin-left:2px;"><span style="font-size:14px;">1)</span><a href="http://images.game-central.org/editorials/sats/sats6.jpg" rel="shadowbox[post-6605];player=img;"><img class="alignnone" style="margin-left: 30px; margin-right: 0px; margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats6.jpg" alt="SATs" width="203" height="131" align="top" /></a></div>
</td>
</tr>
<tr>
<td align="left">b) Shining proof that console players are more<br />
talented at first person shooters than PC gamers.</td>
<td align="right">
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:8px; margin-left:2px;"><span style="font-size:14px;">2)</span><a href="http://images.game-central.org/editorials/sats/sats4.jpg" rel="shadowbox[post-6605];player=img;"><img class="alignnone" style="margin-left: 30px; margin-right: 0px; margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats4.jpg" alt="SATs" width="150" height="188" align="top" /></a></div>
</td>
</tr>
<tr>
<td align="left">c) Obsolete clunky control mechanism.</td>
<td align="right">
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:8px; margin-left:2px;"><span style="font-size:14px;">3)</span><a href="http://images.game-central.org/editorials/sats/sats3.jpg" rel="shadowbox[post-6605];player=img;"><img class="alignnone" style="margin-left: 30px; margin-right: 0px; margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats3.jpg" alt="SATs" width="150" height="211" align="top" /></a></div>
</td>
</tr>
<tr>
<td align="left">d) PC.</td>
<td align="right">
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:8px; margin-left:2px;"><span style="font-size:14px;">4)</span><a href="http://images.game-central.org/editorials/sats/sats2.jpg" rel="shadowbox[post-6605];player=img;"><img class="alignnone" style="margin-left: 30px; margin-right: 0px; margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats2.jpg" alt="SATs" width="175" height="263" align="top" /></a></div>
</td>
</tr>
<tr>
<td align="left">e) Where all our ported games should<br />
rightfully be placed. Without being opened.</td>
<td align="right">
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:8px; margin-left:2px;"><span style="font-size:14px;">5)</span><a href="http://images.game-central.org/editorials/sats/sats5.jpg" rel="shadowbox[post-6605];player=img;"><img class="alignnone" style="margin-left: 30px; margin-right: 0px; margin-bottom: 8px;" src="http://images.game-central.org/editorials/sats/sats5.jpg" alt="SATs" width="200" height="144" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/console-port-sats/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>My Favorite Freeware: November 2009</title>
		<link>http://game-central.org/2009/editorials/my-favorite-freeware-november-2009/</link>
		<comments>http://game-central.org/2009/editorials/my-favorite-freeware-november-2009/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:44:20 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Keenan]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6521</guid>
		<description><![CDATA[Luckily for us PC gamers, we have a whole library of games that we can never completely peruse. I'm here today to point out some of my favorite games in the "Free" category in our beloved PC gaming library.]]></description>
			<content:encoded><![CDATA[<p><em>Left 4 Dead 2</em>, <em>Dragon Age: Origins</em>, <em>Borderlands</em>. There are several things in common between these three games; they&#8217;re PC games, they&#8217;re triple-A productions, and they cost money. Now I don&#8217;t know about you, but I&#8217;m not exactly readily flowing with cash to afford all of these games (and many, many more) this holiday season. Luckily for us PC gamers, we have a whole library of games that we can never completely peruse. I&#8217;m here today to point out some of my favorite games in the &#8220;Free&#8221; category in our beloved PC gaming library.</p>
<hr />
<div style="font-size:18px;"><strong><em>Battle for Wesnoth</em></strong></p>
<div style="font-size:14px;"><a href="http://www.wesnoth.org/" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/freeware/wesnoth-0.jpg" rel="shadowbox[post-6521];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/wesnoth-0.jpg" alt="Wesnoth" width="254" height="157" /></a></div>
<p>Imagine a cross between <em>Shining Force</em> and <em>Heroes of Might &amp; Magic</em>, and you have <em>Battle for Wesnoth</em>. It is a turn-based strategy fantasy game with a surprisingly high production value. From the game&#8217;s site: </p>
<blockquote><p>&#8220;&#8230;make your own custom units, compose your own maps, and write your own scenarios or even full-blown campaigns. You can also challenge up to 8 friends &#8211; or strangers &#8211; and fight in epic multi-player fantasy battles.&#8221;</p></blockquote>
<p>The replayability for this game is enormous, and with a large community constantly looking for ways to improve the game, it&#8217;s definitely one to try out.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/wesnoth-1.jpg" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/wesnoth-1-thumb.jpg" alt="Wesnoth" width="128" height="96" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/wesnoth-2.jpg" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/wesnoth-2-thumb.jpg" alt="Wesnoth" width="128" height="96" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:5px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/wesnoth-3.jpg" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/wesnoth-3-thumb.jpg" alt="Wesnoth" width="128" height="96" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<p></p>
<hr />
<div style="font-size:18px;"><strong><em>Privateer: ASCII Sector</em></strong></p>
<div style="font-size:14px;"><a href="http://www.asciisector.net/" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/freeware/ascii-0.gif" rel="shadowbox[post-6521];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/ascii-0.gif" alt="Privateer" width="255" height="55" /></a></div>
<p><em>Wing Commander</em> is my favorite PC game series of all time. To me, no other franchise has achieved something so good as <em>Wing Commander</em> did. <em>ASCII Sector</em> takes the concept of one of that series&#8217; entries (<em>Privateer</em>) and totally <em>NetHack</em>s it to the simplest graphics achievable. From the game&#8217;s site: </p>
<blockquote><p>&#8220;A 100% free space combat/exploration/trading game for Windows, Mac OS X and Linux. You start with a simple spaceship and can then accept missions or trade goods to earn enough money to upgrade your ship or buy a new one. The game offers a wide variety of missions, commodities and ships &#8212; a lot more than the original <em>Wing Commander: Privateer</em>, on which this game is based. &#8220;</p></blockquote>
<p>While obviously it isn&#8217;t as &#8220;epic&#8221; as the official <em>Wing</em> games, <em>ASCII Sector</em> is a very unique approach to the space sim genre, and is a hell of a lot of fun to play. There are regular updates fixing bugs and adding new quests. Check it out.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:1px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/ascii-1.gif" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/ascii-1-thumb.gif" alt="Privateer" width="160" height="100" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:1px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/ascii-2.gif" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/ascii-2-thumb.gif" alt="Privateer" width="160" height="100" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:1px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/ascii-3.gif" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/ascii-3-thumb.gif" alt="Privateer" width="160" height="100" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<p></p>
<hr />
<div style="font-size:18px;"><strong><em>Judith</em></strong></p>
<div style="font-size:14px;"><a href="http://www.increpare.com/2009/04/judith/" target="_blank">Download</a></div>
</div>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:2px; margin-left:8px; float:right;"><a href="http://images.game-central.org/editorials/freeware/judith-0.jpg" rel="shadowbox[post-6521];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/freeware/judith-0.jpg" alt="Judith" width="246" height="60" /></a></div>
<p>To be honest, I don&#8217;t know how to describe <em>Judith</em>. But what I <em>can</em> tell you is its incredibly unique story presentation makes it a game you <em>have</em> to play. The game is a short one; a journey lasting about a half-hour, but it&#8217;s one that will stand out in your gaming repertoire. It&#8217;s a first-person adventure game focused on telling you a story. A scary one, at that. I recommend playing it late at night with only the glimmering of your monitor lighting the room and headphones.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:1px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/judith-1.jpg" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/judith-1-thumb.jpg" alt="Judith" width="128" height="88" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:1px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/judith-2.jpg" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/judith-2-thumb.jpg" alt="Judith" width="138" height="77" align="top" /></a></div>
</td>
<td>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:1px; margin-bottom:1px; margin-leftt:1px; margin-right:1px;"><a href="http://images.game-central.org/editorials/freeware/judith-3.jpg" rel="shadowbox[post-6521];player=img;"><img class="alignnone" style="margin-left: 1px; margin-right: 1px; margin-bottom: 1px;" src="http://images.game-central.org/editorials/freeware/judith-3-thumb.jpg" alt="Judith" width="128" height="88" align="top" /></a></div>
</td>
</tr>
</tbody>
</table>
<p></p>
<hr />
Never forget: don&#8217;t let The Man put you down. You always will have games to play when you&#8217;re a PC gamer!</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/my-favorite-freeware-november-2009/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 66</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-66/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-66/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 23:31:23 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6475</guid>
		<description><![CDATA[Machinarium love on episode 66 of the Game Central Podcast. We debate PC game pricing in relation to quality.]]></description>
			<content:encoded><![CDATA[<p><em>Machinarium</em> love on episode 66 of the Game Central Podcast. We debate PC game pricing in relation to quality. In the news, <em>Divine Divinity</em> on <a href="http://www.gog.com/en/gamecard/divine_divinity/pp/d02560dd9d7db4467627745bd6701e809ffca6e3">GOG</a>, <em>TF2</em> Halloween, and <em>LEGO Universe</em> ninjas, firemen, and robots (oh my!). And the games we&#8217;re looking forward to this holiday season!</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_66.mp3" rel="shadowbox[post-6475];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_66.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-66/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_66.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Machinarium: Game of the Year?</title>
		<link>http://game-central.org/2009/editorials/machinarium-game-of-the-year/</link>
		<comments>http://game-central.org/2009/editorials/machinarium-game-of-the-year/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 17:37:22 +0000</pubDate>
		<dc:creator>Chris C.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Havoc]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6448</guid>
		<description><![CDATA[Machinarium is the stuff that gaming revolutions are made of.]]></description>
			<content:encoded><![CDATA[<p>There are four steps you need to accomplish prior to finishing this article:</p>
<p>1) Read Keenan&#8217;s <em>Machinarium</em> <a href="http://game-central.org/2009/reviews/machinarium-review/">review</a>.<br />
2) Buy <em>Machinarium</em>.<br />
3) Play <em>Machinarium</em> immediately.<br />
4) Weep in its brilliance.</p>
<p>It&#8217;s okay, don&#8217;t worry &#8211; I&#8217;ll wait here patiently for you. Seriously, go get crackin&#8217;. I&#8217;ll grab a ham sandwich or something.</p>
<p>Back already? Hmmm. Well, I&#8217;ll take your word for it. You wouldn&#8217;t lie to me would you? Because if you haven&#8217;t interacted with <em>Machinarium</em> yet, you&#8217;re not just missing out on the game of the year, you&#8217;re also missing out on the best game of the last <em>five</em> years.</p>
<p>Bold words? Audacious assertion? Fanboyish dogmatic claim? Not really. In fact, I&#8217;d be surprised if anyone who&#8217;s actively engaged this game would even have the guts to argue otherwise. See: it&#8217;s like my old half-balding gruffly-bearded college literature instructor used to say, &#8220;Sometimes folks, when you open up a book, start to turn the pages, you begin to feel the weight of it. The importance of the novel becomes heavy in your fingers. This is rare. And yet we all know it when it happens. You begin to realize the book that you&#8217;re holding is far more than a simple collection of bound papers; it&#8217;s a force. It has gravity. Its weight becomes paramount.&#8221;</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/editorials/machine/machine1.jpg" rel="shadowbox[post-6448];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/machine/machine1.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>To quote Marty McFly, &#8220;This is getting heavy.&#8221;</strong></div>
<p>If weight is indeed a measure of a projected medium&#8217;s sheer significance, then it&#8217;d take an industrial 10-ton forklift to hold <em>Machinarium</em> steady.  This isn&#8217;t just a game dear readers, it&#8217;s a bona-fide <em>phenomenon</em>. <em>Machinarium</em> does more within the supposed confines of a 2D semi-animated adventure than most 3D games even dream of. Put starkly: <em>Machinarium </em>is the stuff that gaming revolutions are made of.</p>
<p>First case in point- there&#8217;s no spoken or written dialogue. That&#8217;s right: none. Zip. Zero. <em>Machinarium</em> does enjoy a musical orchestral score and numerous sound effects, but other than that, you&#8217;ll never hear or read a coherent recognizable word from any of the characters. And yet, <em>Machinarium</em> elicits a sentimental passionate response almost instantly via  its visual storytelling. How? Through the exact lens that every other PC game developer seems to somehow ignore: imaginative expressionism. But that&#8217;s over-simplifying. Perhaps more accurately, <em>Machinarium</em> encapsulates your eyes and ears simultaneously through a daft and precise manipulation of an expertly comprised artistic <em>style</em>. It does this so well, you&#8217;ll start to question whether or not conversation and literature truly are the best forms of articulate communication.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/editorials/machine/machine2.jpg" rel="shadowbox[post-6448];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/machine/machine2.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>This foreign robot has more personality and emotional depth than 10 Batmans put together.</strong></div>
<p>Here&#8217;s just a minor example: your robotic protagonist encounters a fellow mechanized automaton with his back resting against a rusted metallic house&#8217;s twisted siding. In his hands rests a pair of makeshift  twisted drum sticks, but the actual drum is absent between his legs. His face, although riveted, cold, and plain, expresses a noticeable frown. You&#8217;re naturally inquisitive by now. Where&#8217;s the drum? Who took it? Did he lose the drum?</p>
<p>You click the character, and a mid-sized bubble opens up above him. Inside the bubble, a duo of hand-scribbled black and white ruffians approach our once happily drumming robot. One of the bullies grabs the drum and smashes it over his compatriot&#8217;s head. He lets out a hearty metallurgic chuckle as he surveys his destructive handiwork. The drummer&#8217;s eyes begin to wilt as he witnesses this, his mouth quivers. His arms continue their drumming motions, albeit more out of shattered hope than actual intention.</p>
<p>The secondary brow-beater removes the punctured instrument from his own noggin and, in cruel reciprocation, shoves the percussion oval down his chuckling buddy&#8217;s throat, the drum landing inside the oily bloated depths of his leaden stomach. The two buffoons then throw back their heads and chortle together, marching out of the bubble&#8217;s view frame. The motorized yet sentient drummer taps his drum sticks a few more times on the concrete, slower and slower, until both cease movement altogether. His eyes drift to the floor. He hangs his head and sighs lowly. The background music accentuates the action, peaking and spiking at just the right intervals, a perfect complement to the brief snippet&#8217;s subtle narrative complexities.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/editorials/machine/machine3.jpg" rel="shadowbox[post-6448];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/machine/machine3.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>Inside this single screen, there&#8217;s enough narrative acuity to fill an entire chapter of a written novel.</strong></div>
<p>And that&#8217;s the real difference here: <em>Machinarium</em> <em>shows</em> you, it doesn&#8217;t <em>tell</em> you.  No clunky dialogue trees, no repetitive voice actors&#8217; monotone phoned-in dribble, no in-your-face obnoxious cut scenes. Just pure fluidic correlation of situational allegory at its most majestically fabricated forms. An entire cohesive narration is successfully conveyed to the player without ever leaving the confines of the game&#8217;s established &#8220;limited&#8221; parameters. <em>Machinarium</em> takes <em>Half Life&#8217;s</em> attempt at immersion and beats it to death with its own crowbar.</p>
<p>During Game Central&#8217;s <a href="http://game-central.org/2009/podcasts/gcp-episode-65/">interview</a> with Big Finish Games, we discussed the possibilities and potential realities of creating visceral emotional responses from stories in games. I voiced my longings to be so totally overwhelmed by an invested attachment that I&#8217;d bear tears of joy and sorrow from the choices and actions partaken onscreen. A mere day later, my wishes were answered. Turns out<em>, Machinarium</em> was the genie.</p>
<p>There&#8217;s just no way around it; as the years trickle by, <em>Machinarium</em> will be studied and dissected as an absolute masterpiece of PC gaming; a keystone of the arch. And rightfully so.</p>
<p>Do you really want to admit that you never had the chance to partake of this digital miracle during its initial public inception? Get out there and play it guys and gals, and realize that <em>Machinarium</em> rests so damn far above its respective peers, it deserves a shelf all to itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/machinarium-game-of-the-year/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ToMI: Lair of the Leviathan Review</title>
		<link>http://game-central.org/2009/reviews/tomi-lair-of-the-leviathan-review/</link>
		<comments>http://game-central.org/2009/reviews/tomi-lair-of-the-leviathan-review/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:52:50 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6395</guid>
		<description><![CDATA[In Chapter 3, the momentum starkly halts in an insufficient interlude of indigestion.]]></description>
			<content:encoded><![CDATA[<p>The first two of the five chapters of <em>Tales of Monkey Island</em> set in motion exciting events that built anticipation for the latter half of the overarching narrative.  With the <a href="http://game-central.org/2009/reviews/tomi-launch-of-the-screaming-narwhal-review/">first chapter</a>, Telltale gave <em>Monkey Island</em> new life with a hearty pirate tale for series hero Guybrush Threepwood.  Guybrush tries to cure a voodoo plague that he himself accidentallly unleashed upon the Caribbean, and his adventure takes him through the high seas exploration, threatening blockades, and thrilling pirate battles of <a href="http://game-central.org/2009/reviews/tomi-the-siege-of-spinner-cay-review/">chapter two</a>.  That chapter ends when a giant manatee unexpectedly devours Guybrush and his ship before he could reach <em>La Esponja Grande</em>, the cure for the plague.</p>
<p>And then the momentum starkly halts in an insufficient interlude of indigestion.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-right:8px; float:left;"><a href="http://images.game-central.org/reviews/leviathan/leviathan-1.jpg" rel="shadowbox[post-6395];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/leviathan/leviathan-1.jpg" alt="Lair of the Leviathan" width="346" height="195" /></a><br />
<strong>The slow start at least leads up to<br /> Coronado&#8217;s over-the-top challenge.</strong></div>
<p>See, once in the belly of the beast, Guybrush really has nothing to do except an overly elaborate “inside story” that’ll make sure the manatee makes his way to <em>La Esponja</em>.  As much as I recognize the talent of the writers at Telltale, I feel they drove the story down the manatee’s gullet to artificially elongate what would otherwise be a simple journey to the cure-all sponge.</p>
<p>Perhaps I should give Telltale the benefit of the doubt.  Maybe getting <em>La Esponja</em>, the solution to Guybrush’s problems, shouldn’t be so easy.  Even then, I still didn’t enjoy the claustrophobic Manatee innards as a setting for <em>Leviathan</em>’s adventure-style puzzles and quests.</p>
<p>The cramped manatee belly sure doesn’t make way for an intro as fast-paced as those of the first two chapters, and instead acquaints you with the point-and-click actions with rather standard item collecting and dialogue.  The stomach lining, too, makes for an unappealing, dank use of the game’s graphics, especially when low-res textures look very apparent as dull backgrounds within dialogue.  Using WASD and Shift, you can’t even make Guybrush run fast through the narrow flesh corridors because he’ll keep bumping into things.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-left:8px; float:right;"><a href="http://images.game-central.org/reviews/leviathan/leviathan-2.jpg" rel="shadowbox[post-6395];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/leviathan/leviathan-2.jpg" alt="Lair of the Leviathan width=" height="195" /></a><br />
<strong>They say &#8220;Great minds think alike.&#8221;<br />
They weren&#8217;t talking about these two.</strong></div>
<p>It takes an unsatisfying short time for you to explore the manatee and meet the sparse cast of characters.  Of course, living trapped inside a manatee for a few years made them somewhat strange to say the least, but their eccentricities do allow for some fantastic <em>Monkey Island</em> humor—the one thing the manatee stomach acids couldn’t dissolve.</p>
<p>For one, you’ll clearly see the clever humor behind the peculiar Spaniard, Coronado de Cava, whose hare-brained plans seem all too familiar.  His over-the-top test for Guybrush, moreover, creates an interesting deductive challenge. Though you can easily refer to useful past observations and Guybrush can’t actually die, the scenario still creates a captivating mix of urgency and comedic fun, as the answers to de Cava’s high stakes questions require a logical, yet witty thought process.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/leviathan/leviathan-3.jpg" rel="shadowbox[post-6395];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/leviathan/leviathan-3.jpg" alt="Lair of the Leviathan" width="576" height="324" /></a><br />
<strong>Nestor Carbonell of <em>Lost</em> and <em>The Dark Knight</em> makes an unexpected guest appearance.</strong></div>
<p>From the bile-addicted surfer named Moose to the “Guyliner” of Bugeye, de Cava’s supposedly “long lost” crew also offers some funny tasks and does the best it can to have you explore the small environments. I can’t help but notice, however, that too many unimaginative puzzles counteracted the enjoyable ones; for example, the same item disappointingly solves three different puzzles in a row.</p>
<p>The most redeeming aspect of Chapter 3 by far must be the long-awaited appearance of <em>Monkey Island</em> fans’ most beloved demonic skull.  I won’t spoil any more, but if you’ve missed his endearing sadism, his appearance alone justifies the existence of Chapter 3.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/leviathan/leviathan-4.jpg" rel="shadowbox[post-6395];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/leviathan/leviathan-4.jpg" alt="Lair of the Leviathan" width="576" height="324" /></a><br />
<strong>The real reason to play Chapter 3.</strong></div>
<p>The latter half of the chapter finally lets Guybrush out of the smelly manatee, but then again imposes similar frustrating restrictions.  Though you do need to travel to different locales, de Cava refuses to haul anchor and further keeps the environments fixed to a singular, constricted point around Guybrush’s ship.  While you’ll have Guybrush perform some surprisingly intriguing manatee match-making on the ocean floor and experience the mystifying out-of-body powers of the Voodoo Lady, all the interesting scenes don’t connect together as well as they could.</p>
<p>Chapter 3’s narrative thus often cuts away for story scenes or puzzle-solving areas, instead of, you know, actually letting you explore and travel to those places; calling it an “adventure” game at this point is a misnomer.  I did enjoy many of the puzzles and dialogue, and I certainly still appreciated the comedy, but <em>Lair of the Leviathan</em> undoubtedly marks the lowest point in the <em>Tales of Monkey Island</em>.  Now that it’s out of the way, I hope the story can get past the filler, and steer Guybrush’s ship to its true heading: the climax promised by the first two chapters.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/tomi-lair-of-the-leviathan-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GCP &#8211; Episode 65</title>
		<link>http://game-central.org/2009/podcasts/gcp-episode-65/</link>
		<comments>http://game-central.org/2009/podcasts/gcp-episode-65/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 16:29:46 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Podcasts]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6393</guid>
		<description><![CDATA[Chris Jones and Aaron Conners of Big Finish Games join us on Episode 65 of the Game Central Podcast.]]></description>
			<content:encoded><![CDATA[<p>Chris Jones and Aaron Conners of Big Finish Games join us on Episode 65 of the Game Central Podcast. We discuss their upcoming <em>3 Cards to Dead Time</em>, story in games, and of the current games industry in general. They also reminisce on their past <em>Tex Murphy</em> games. In news, the <em>Modern Warfare 2</em> server browser debacle, <em>The Force Unleashed</em> install size, <em>Star Trek Online</em>, and Facebook <em>Civilization</em>. </p>
<p>Please check out <a href="http://www.bigfinishgames.com">BigFinishGames.com</a>! If you wish to buy the Tex Murphy games, be sure to register through our <a href="http://www.gog.com/en/search/sort/developer/Access%20Software/pp/d02560dd9d7db4467627745bd6701e809ffca6e3">GOG.com</a> ads on the right.</p>
<p style="text-align: center;"><a href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_65.mp3" rel="shadowbox[post-6393];player=flv;width=500;height=0;">Play</a> &#8211; <a rel="nobox" href="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_65.mp3">Download</a><br /><a href="itpc://game-central.org/podcast/">Subscribe via iTunes</a> &#8211; <a href="zune://subscribe/?Game+Central+Podcast=http://game-central.org/podcast/">Subscribe via Zune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/podcasts/gcp-episode-65/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://game-central.org/podcasts/Game_Central_Podcast_-_Episode_65.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Machinarium Review</title>
		<link>http://game-central.org/2009/reviews/machinarium-review/</link>
		<comments>http://game-central.org/2009/reviews/machinarium-review/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 17:30:25 +0000</pubDate>
		<dc:creator>Keenan W.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6123</guid>
		<description><![CDATA[Machinarium is one of the best adventure games I have ever played.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always been adamant against the notion of video games being considered art. How can things like <em>Pac-Man</em> or <em>DOOM</em> be revered along the same lines as something like Bosch&#8217;s <em>The Garden of Earthly Delights</em> or Michelangelo&#8217;s <em>Pieta</em>? Surely, video games will never achieve such a status of beauty that those works or any other fine art pieces could.</p>
<p><em>Machinarium, </em>a point-and-click adventure game developed by Amanita Design, made me reconsider.</p>
<p>Unlike pieces of art made of matter, this game will never age. We won&#8217;t have to worry about grime and bacteria floating around that could potentially ruin its condition. Sure- we might have to &#8220;restore&#8221; it just as we do with frescoes, but that&#8217;s the beauty of it; unlike paintings or sculptures, the piece <em>won&#8217;t</em> be ruined if the restoration fails. It isn&#8217;t fragile brush strokes or heavy marble, it&#8217;s a bunch of numbers.</p>
<p>While I still don&#8217;t feel any video game can be classified as fine art, <em>Machinarium</em> made me halt in my &#8220;games aren&#8217;t art&#8221; trek and ponder what defines art in the first place. While I won&#8217;t delve into that here, I felt the need to reiterate this concept. Any game that makes me rethink my strong thoughts on a topic is something to be noted. <em>Machinarium</em> is something special.</p>
<p>So special in fact, that I feel gamers of the future will look back to <em>Machinarium</em> and note its genius, just as we do now with pieces of art like the ones mentioned earlier. It&#8217;s the pinnacle of the entire adventure game genre. I have never played an adventure game so well crafted and thought out as I did with <em>Machinarium</em>. It takes the traditions of the whole genre and perfects them in such a way that you&#8217;ll be stunned to realize that only seven people made the game on a budget roughly equivalent to one gaming PC.</p>
<p>While there are small mechanical flaws with the game (which I will later illustrate), the personality and overall production of the game are simply astounding. Simply put: <em>Machinarium</em> is one of the best adventure games I have ever played.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/reviews/machinarium/mac-2.jpg" rel="shadowbox[post-6123];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/machinarium/mac-2.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>The story of &#8220;bad guys kidnap girl, guy saves girl&#8221; has never been this well executed.</strong></div>
<p><em></em>It makes sense that <em>Machinarium</em>&#8217;s strongest element is its story, mostly because the adventure genre&#8217;s gameplay mechanic commonly disallows any real deviation from the traditional form. <em>Machinarium</em>&#8217;s story is one that could be considered cliché among gamers, akin to even the first <em>Super Mario Brothers</em>. You play as a robot in a city named Machinarium whose girlfriend is captured by evil robots. You guide the oily metal protagonist through the vast robot city in search of his girlfriend, eventually stopping those same evil robots from destroying Machinarium.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/reviews/machinarium/mac-3.jpg" rel="shadowbox[post-6123];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/machinarium/mac-3.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>Hot spots aren&#8217;t clearly obvious, due to the game&#8217;s hand drawn graphics.</strong></div>
<p>In terms of gameplay mechanics, <em>Machinarium</em> isn&#8217;t vastly different from other point-and-click games; you traverse through locations solving puzzles, finding key items, and interacting with others. There are also mini-games within <em>Machinarium</em> that provide an extra flavor of gameplay aside from the traditional adventure game. The mini-games are all arcade-y in nature and range from connect five to a shoot &#8216;em up. They&#8217;re an added relief from the constant puzzle solving with which you&#8217;ll commonly face. They aren&#8217;t optional though; each and every one are essential elements to somehow advance either the story or puzzle progress along.</p>
<p>As for puzzles themselves, <em>Machinarium</em> delivers. From the traditional item retrieval and combining to logical brain teasers, it&#8217;s all here. And there&#8217;s certainly no lack of them; every single screen has a puzzle in it somewhere, so be prepared to think. Some notables include timed movement, arranging tiles, and old fashioned lever conundrums. A particular example that worked me up to almost ragequitting the game involved a sliding puzzle game and white lines. Of course, I shouldn&#8217;t be complaining about them, since each puzzle isn&#8217;t just tacked in there to increase the gameplay time. I found them well thought out, and they make sense canonically.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/reviews/machinarium/mac-1.jpg" rel="shadowbox[post-6123];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/machinarium/mac-1.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>Dialogue, memories, and backstory are shown through bubbles.</strong></div>
<p>The actual city of Machinarium is downright beautiful. Following in the wake of such indie titles as <em>Braid</em> and <em>World of Goo</em>, <em>Machinarium</em> one-ups the art style. It&#8217;s entirely hand drawn. Everything from the capacious mechanical landscapes of the city to the movement animations of a robot cat. I&#8217;ve never seen animation of games employing this manner of art style look as good as <em>Machinarium</em>. While the game world is only two dozen or so separate screens, each one is meticulously designed and drawn. Along with <em>Wing Commander</em> and <em><a href="http://game-central.org/2009/reviews/trine-review">Trine</a></em>, I can honestly say this is one of the best looking games I&#8217;ve had the pleasure to play.</p>
<p>The music is no exception to the genius.There are a wide variety of songs and even styles of music, which perfectly complements the atmosphere of the machine world of Machinarium. One of the best parts of the game involves retrieving parts of instruments for a robot band, and the reward for the player is hearing the music you helped these others achieve. It&#8217;s no secret that I&#8217;m a huge fan of game music, mostly because music is such a powerful tool in a game&#8217;s utility belt.  Put bluntly, music can  make (or break) a game.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/reviews/machinarium/mac-4.jpg" rel="shadowbox[post-6123];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/machinarium/mac-4.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>The in-game hint system can only be accessed after a sidescrolling shooter mini-game.</strong></div>
<p>At first, I had some trouble getting used to the game&#8217;s <em>style</em> of mechanic. What this entails is the ability to interact with the environment; you can&#8217;t just mouse over the thing in question, you first must be directly adjacent to that object. However, this isn&#8217;t too big a deal, as there&#8217;s a limitation of where you can actually move. In other words, you can only move your character to predetermined locations.</p>
<p>Other small criticisms involve the hint system. Instead of using a walkthrough from an external source, <em>Machinarium</em> comes with an embedded digital tome that can 100% guide you through the game. Unfortunately, accessing this system often ruins the gameplay&#8217;s charm (after all, it&#8217;s an adventure game. The point of the game is to figure out the puzzles.) But to give it credit, it&#8217;s not a simple click to get through your problems. To open  the walkthrough, you must first complete a <em>R-Type</em>-esque sidescrolling shooter, which could really put players off to not cheat.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/reviews/machinarium/mac-13.jpg" rel="shadowbox[post-6123];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/machinarium/mac-13.jpg" alt="Machinarium" width="594" height="375" /></a><br />
<strong>There are plenty of brain teasing puzzles to complete.</strong></div>
<p>At the end of the day, <em>Machinarium</em> is a wondrous masterpiece. At roughly six hours in length, I feel it is entirely worth the $20 USD price tag. Amanita worked their heart and soul into creating an adventure game in a time of declining interest for the genre. <em>Machinarium</em> is evidence that the adventure realm is just as viable as it was twenty years ago, and proves it&#8217;s even better than ever. Thank you, Amanita.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/machinarium-review/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What Windows 7 Means for Gamers</title>
		<link>http://game-central.org/2009/editorials/what-windows-7-means-for-gamers/</link>
		<comments>http://game-central.org/2009/editorials/what-windows-7-means-for-gamers/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 01:48:39 +0000</pubDate>
		<dc:creator>Ryan M.</dc:creator>
				<category><![CDATA[Editorials]]></category>
		<category><![CDATA[Ryan]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6348</guid>
		<description><![CDATA[Windows 7 is the best operating system ever created for a PC gamer.]]></description>
			<content:encoded><![CDATA[<p>Being a big-time PC enthusiast, I&#8217;ve been using the release candidate and beta versions of Windows 7 for about a year. With the official release of the operating system now at hand, it&#8217;s time to describe to the PC gamers of the world what it truly means to them. The problem is, it&#8217;s been so long since I&#8217;ve used XP or Vista on a daily basis, that it’s hard for me to relate. As an avid Windows 7 user, it would be impossible for me to remain unbiased. So let me just get it out there: Windows 7 is the best operating system ever created for a PC gamer. As far as I&#8217;m concerned, this review could end right now.  Most people reading this will already have their own established opinions on XP, Vista, 7, various Linux flavors, or even OS X. The truth is, some people simply fear change, and will do their best to hold on to the familiar. I&#8217;m not going to attempt to sway anyone who doesn&#8217;t want to jump on the 7 bandwagon. No unsubstantiated OS bashing will occur. All that follows is the explanation of why I gladly paid to upgrade my PC to Microsoft&#8217;s newest operating system.</p>
<p>As mentioned, I&#8217;m a little out of touch with XP (only one out of five PC’s I use regularly has XP, the rest are various pre-release versions of Windows 7). Going back to XP on my current rig was no picnic; the drivers were harder to find, I was limited to 3.25 GB of RAM, and I had to transfer networking drivers on a USB drive from another computer. Once I had the drivers ready, and my spare drive attached, I waited for over an hour while the OS installed. Even though I worked with a slipstreamed service pack 3, I  waited yet another hour while the updates commenced. On Win 7, the installation peaked at a maximum of 45 minutes on my main PC, and less than an hour on my <a href="http://game-central.org/2009/editorials/netbook-gaming/">Netbook</a> equivalent.  The only drivers I needed  were for my GPU and X-Fi sound card, and both work fine before installing them. Only once during the setup of Windows 7 did I need to dig for a driver. The SoundMAX sound card on my circa 2004 laptop refused to cooperate, and the OS simply would not find the drivers automatically. However, after downloading and installing the XP drivers from the laptop manufacturer, all was remedied.</p>
<p>Gaming on Windows 7 is, in truth, not all that different than gaming on XP. The main difference is that XP is forever limited to DirectX 9, while Win7 sports DirectX 11. Most games work fine with the paltry 3.25 GB of RAM, assuming you make sure to close any heavy hitting applications prior to playing. In real world gameplay, not counting differences in DirectX effects, there is no significant difference in the framerates between XP and 7. With and without a frame counter to confirm my beliefs, every game I fired up seemed to run smoothly and remain completely playable. Some games run faster in DX9 mode, and therefore project the illusion of exclusive XP speediness if your hardware can’t keep up with the DX10 effects on Win 7.</p>
<p>So what makes Windows 7 better for a gamer? Simple: 3D applications and their integration with the system. The Windows Presentation Foundation (WPF), which handles the way windows are rendered on-screen, provides a new layer between the game and the operating system. Nearly all games in Windows 7 act like other applications. Pressing ALT-Tab while in a game on XP will often lead to slow downs and instability. While this could be related to the limited memory available, it&#8217;s also heavily related to the way DirectX and game rendering are integrated into the OS. Leaving a game minimized and starting up another  was all but impossible in XP, and functioned with only the most basic of titles. In Windows 7, I can easily run <em>Left 4 Dead</em> minimized and fire up <em>The Sims 3</em>. The fact that I can leave a potential game running in the background and then  go about the rest of my day, and then later switch back to the game  instantly, is a nuance that&#8217;s sorely missing from XP. While this usage does, in large part, depend on the way the particular game has implemented Direct X, enough games are being developed with WPF in mind that it&#8217;s completely viable.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block; margin-top:5px; margin-bottom:8px; margin-left:0px;"><a href="http://images.game-central.org/editorials/win7/4gamessimul.jpg" rel="shadowbox[post-6348];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/editorials/win7/4gamessimul.jpg" alt="Windows 7" width="567" height="319" /></a></div>
<p>Initially, I quested to find a game that wouldn&#8217;t work on Win 7. Fortunately, this quest has failed. I caught a glimmer of masochistic hope when some web searching suggested that <em>Spore</em> would fail on Win 7 64-bit. However, it <em>did</em> run. Just fine, in fact. I then attempted  some classic games. I thought I&#8217;d snagged another culprit  in the form of the classic racing game <em>Need for Speed: Porsche Unleashed</em>. At first, it indeed refused to launch. Then I tried the simple fix of changing the compatibility mode, and still&#8230; nothing. But when I set the game shortcut to XP compatibility mode; lo and behold- success. Several hours later, I gave up. There simply wasn&#8217;t a game I could find that didn&#8217;t work on Windows 7.</p>
<p>If you read the multitude of reviews out there, they&#8217;ll most likely tell you that Windows 7 will be faster and more reliable. They&#8217;ll say that the system feels more responsive and may even boot faster. And the truth is, well- that it <em>is</em> true! The OS will attempt to make use of as much RAM as you have all the time. While the reliable and faster boot times are accurate, for most people, these are a non-issue. If any XP or newer PC takes more than 2 minutes to boot, you&#8217;ve got some serious troubles in 3rd party software, or your OS itself has quirks that need to be resolved. Anything less than 2 minutes is somewhat splitting hairs. Sleep mode in Win 7 is lightyears ahead of XP in terms of both wake time and reliability. I&#8217;ve had one (yes, only one) issue where the system would not resume from sleep in Windows 7.  And that was a hiccup on a very early build on my home theater PC, and it was most likely related to the TV tuners installed on that system.</p>
<p>After using the OS for 12 months solid, I can say that I&#8217;ll never revert any PC I utilize back to Vista or XP. Windows 7 simply does not limit my computing in the ways that XP and Vista now seem to.  Personally, I don&#8217;t want my computing experience to feel like it&#8217;s stuck in the past. I suspect many of you will agree.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/editorials/what-windows-7-means-for-gamers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Red Faction: Guerrilla Review</title>
		<link>http://game-central.org/2009/reviews/red-faction-guerrilla-review/</link>
		<comments>http://game-central.org/2009/reviews/red-faction-guerrilla-review/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 03:47:19 +0000</pubDate>
		<dc:creator>Tom G.</dc:creator>
				<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6253</guid>
		<description><![CDATA[Red Faction: Guerrilla delivers a worthwhile action experience]]></description>
			<content:encoded><![CDATA[<p>After seeing the promotional videos for the latest <em>Red Faction</em> game, I was excited to play, but disappointed to learn that THQ delayed the PC port by two months. It was definitely worth the wait. <em>Red Faction: Guerrilla</em> is a solid third person shooter, and it manages to mix up the standard shooter formula in some interesting ways.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/redfaction/redfaction-1.jpg" rel="shadowbox[post-6253];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/redfaction/redfaction-1.jpg" alt="Red Faction Guerrilla" width="576" height="324" /></a><br />
<strong>&#8220;I have to beat that with just a hammer?&#8221;</strong></div>
<p>Not surprisingly, you play a guerrilla fighter in this game, and that&#8217;s the mindset you need to succeed. If you try and play <em>Guerrilla</em> like <em>Halo</em> or <em>Half-Life</em>, you&#8217;ll get frustrated very quickly. You&#8217;re poorly armed and armored compared to your enemies, the nefarious Earth Defense Force, so you have to pick your battles, take cover, and avoid getting pinned down by masses of soldiers. Unfortunately, the cover system is sadly lacking compared to <em>Gears of War 2</em> or similar third person shooters. And thankfully, the enemy AI doesn&#8217;t have the kind of pinpoint accuracy that developers usually use as a crutch for increasing difficulty.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-left:8px; float:right;"><a href="http://images.game-central.org/reviews/redfaction/redfaction-3.jpg" rel="shadowbox[post-6253];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/redfaction/redfaction-3.jpg" alt="Red Faction Guerrilla" width="346" height="260" /></a><br />
<strong>Blowing things up; a time honored Mars tradition.</strong></div>
<p>So how do you gain an advantage? Since you play a Martian miner, it&#8217;s only fitting that you demolish enemies’ bases to bring their buildings down on top of them. It&#8217;s apparent right from the beginning that <em>Guerrilla</em>&#8217;s developers put a lot of work into their GeoMod graphics engine, and made it run incredibly smooth on top of the game&#8217;s Havok physics engine. I only experienced performance issues on extreme graphical settings. And let me tell you, you&#8217;ll want to see every speck of rubble and debris that results from blowing things up or simply smashing them with your hammer.</p>
<p>The game is an &#8220;open world,&#8221; divided into 6 zones for each human settlement of Mars. You start in the smallest of these and work with the Red Faction to free them from EDF rule. There are two important meters  that you must watch carefully. First, there&#8217;s the sector morale meter, which dictates the amount of support you&#8217;ll receive from fellow guerrillas and the ammo stashed in crates scattered across the land. Second, there&#8217;s the EDF control meter, which depicts how tight the EDF&#8217;s hold over the sector remains.</p>
<p>You raise morale and lower control via missions that fit into the overarching storyline, or via randomly generated bonus missions. The bonus missions are fun, but there are only a few types, so they do get repetitive quickly. Another way to lower control is by blowing up EDF structures, of which there are three tiers. The lowest tier buildings are objects like guard posts, with few defenders. There are medium importance structures &#8211; garages and administration buildings, for example, which are tougher to bring down. And then there are high value targets such as air bases and control towers; worth a lot, but require tons of firepower and a hefty deal of luck.</p>
<div class="imageInPost" style="font-size:11px; text-align:center; display:block;margin-top:5px; margin-bottom:5px; margin-right:8px; float:left;"><a href="http://images.game-central.org/reviews/redfaction/redfaction-2.jpg" rel="shadowbox[post-6253];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/redfaction/redfaction-2.jpg" alt="Red Faction Guerrilla" width="346" height="260" /></a><br />
<strong>Time to get some mud on the tires.</strong></div>
<p>Don&#8217;t think you can charge in blindly, either. Getting your fellow guerrillas (or yourself) killed results in dropping morale, and making things harder over time until you can raise your division&#8217;s confidence again. And there&#8217;s a third faction that crops up occasionally as well: the Marauders, a group of scavengers who live in the Martian deserts.</p>
<p>Although I enjoyed much of the game, I did have a few annoyances. One of the bonus mission types involves racing vehicles back from remote locations to guerrilla safe houses. The problem is, the zone comprising the winner&#8217;s circle is scarcely larger and it only counts if the vehicle is entirely at rest. If you&#8217;ve rounded the last corner with three seconds on the clock only to skid <em>through</em> the winner&#8217;s circle, you’ll unavoidably meet frustrating failure. I also discovered, to my chagrin, that you can make things much harder for yourself if you destroy certain bridges too soon in the game.</p>
<p>Another complaint  involves the anemic ammo clips. Your character can only carry a few spare clips for his assault rifle, but has no trouble carrying an arc welder, a blade-thrower, or even a rocket launcher. It&#8217;s not <em>Resident Evil</em> style ammo starvation, but it’s still vexing.</p>
<p>The story, though not terrible, is nothing special either. It&#8217;s definitely no <em>Half-Life</em>. On the other hand, I’ll give it major points for <em>not</em> having the hero be a generic space marine like every other shooter recently. (Maybe the developers are tired of that trope, too. After all, the space marines are your enemy here.)</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/redfaction/redfaction-4.jpg" rel="shadowbox[post-6253];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/redfaction/redfaction-4.jpg" alt="Red Faction Guerrilla" width="539" height="424" /></a><br />
<strong>Alec surveys the post-battle carnage.</strong></div>
<p>Overall though, those criticisms are minor. While <em>Red Faction: Guerrilla</em> might not be groundbreaking, it delivers a worthwhile action experience. And I haven&#8217;t even dipped into the multiplayer yet. In my estimation, it&#8217;s already been worth the purchase price. Don&#8217;t hesitate to try for yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/red-faction-guerrilla-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Batman: Arkham Asylum Review</title>
		<link>http://game-central.org/2009/reviews/batman-arkham-asylum-review/</link>
		<comments>http://game-central.org/2009/reviews/batman-arkham-asylum-review/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 02:07:20 +0000</pubDate>
		<dc:creator>Samy M.</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[banner]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://game-central.org/?p=6151</guid>
		<description><![CDATA[Arkham Asylum reflects a mastery of the medium.]]></description>
			<content:encoded><![CDATA[<p>The moment Batman delivers his longtime foe, the Joker, to Arkham Asylum, he knows something isn’t right.  It was too easy.  The asylum guards safely strap down the babbling mad clown, and yet Batman insists to personally see the Joker to his cell.</p>
<p>Taking the role as one of DC’s most famous heroes in the game <em>Batman: Arkham Asylum</em>, I thus walked Batman a cautious few steps behind the criminal transport party.  The developers at Rocksteady put on a visceral, constantly unfolding display that effectively acquainted me with the looming darkness of Arkham’s halls.  As I apprehensively guided Batman past prisoners who cheer for the Joker and tensely clutched my controller (yes, I used a controller) during a menacing encounter with Killer Croc, Batman remains stoic in his resolve.  He stares the Joker down: the two colossal personas collide with tense antagonism during what was, for me, a deceptively calm walkthrough before the storm.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/arkham/arkham-1.jpg" rel="shadowbox[post-6151];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-1.jpg" alt="Batman: Arkham Asylum" width="576" height="360" /></a><br />
<strong>The scene has so much tension, any other game would&#8217;ve crashed by now.</strong></div>
<p>Despite Batman’s vigilance, the Joker inevitably escapes.  While the villain chases after his master plan, a storm of titanic proportions brews over Arkham.  I felt that the game’s first hour builds necessary intrigue as Batman initially follows Joker’s trail, but I most appreciated how the rising action motivated and subtly introduced me to the gameplay.  Prisoners stand in Batman’s way so I can learn about combat.  Both Zsazs’s hostage situation and armed thugs require knowledge of a stealthy approach.  And Joker, in all his arrogance, points to his own whereabouts using painted green arrows and graffiti, which greatly helped keep me on the right track while I still adjusted to the otherwise daunting labyrinth of Arkham.</p>
<p>Very early on, Joker even gives Batman a single opening to end their conflict once and for all, knowing full well the honorable hero won’t break his solemn vow.  With the Joker gone again, Batman retraces his steps with some high tech detective work.  I can activate the cowl’s detective mode to scan the environment for clues, whereby I can follow a new path to the Joker, or at least track down his airhead assistant, Harley Quinn.</p>
<p>Batman’s detective vision seems overly helpful to the point where it makes the game easy, as it can guide towards the correct direction, highlight vents and gargoyle perches useful for sneaking around, and mark hostile prisoners from far away and even behind walls.  Indeed, when I could see everything, I ended up seeing nothing.  I used it sparingly rather than let it wash out the environment’s details and gritty art style, so I could better enjoy exploring Arkham.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/arkham/arkham-2.jpg" rel="shadowbox[post-6151];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-2.jpg" alt="Batman: Arkham Asylum" width="576" height="360" /></a><br />
<strong>Behold the greatness of Arkham Island.</strong></div>
<p>What follows might be a spoiler, but I can’t talk about the game without discussing how the above-mentioned first hour built up my expectations only so it could dramatically blow my mind.  Even the detective vision didn’t spoil my feeling of awe when I realized that the constricted, enclosed facility I first assumed was the asylum was only just a single wing within the entire Arkham Island.  Batman walks out to a vast expanse with an ominous full moon in the night sky, the once hopeful lights of Gotham City in the hopeless distance, and the Gothic Arkham architecture that hides the Joker with dusty, haunting ambivalence.  The spirit of Arkham looms, beckoning me to scour the island’s depths and uncover its darkest secrets.</p>
<p>Amadeus Arkham died centuries ago, yet his immortal will endures to contain the madness of Gotham within his isolated island.  Arkham’s presence permeates every one of my button presses, and the game’s combat certainly doesn’t feel like a soulless afterthought.  Batman is Arkham’s avatar as much as he is mine.  He silences mad hysterics through Batman’s punches, counterattacks, and stun maneuvers, and he’d turn in his grave if he knew that anyone button mashed.  I appreciated how much combat requires a more calculated mix of Batman’s move set, without which enemies can easily take him down.  Combat scenarios can get repetitious, and only throw an increasing number of enemies at Batman along with the occasional Titan-sized miniboss.  Nevertheless, I still enjoyed combat because it let me feel Batman’s versatile martial arts mastery, his humorous redirection of the clumsy Titans’ strength back at other inmates, and his creative use of gadgets.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/arkham/arkham-3.jpg" rel="shadowbox[post-6151];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-3.jpg" alt="Batman: Arkham Asylum" width="576" height="360" /></a><br />
<strong>Batman especially needs stealth with Scarecrow, who&#8217;s apparently a big fan of  sidescrollers.</strong></div>
<p>My thoughts grew even more like Batman’s when I most needed stealth.  In moments, armed enemies can easily kill Batman, but with an incredible variety of stealthy approaches to stalk the inmates or improvise traps, they’ll never see him.  I can spray explosive gel behind a crumbling wall, perform an inverted takedown of one prisoner from a gargoyle perch above, and, as the others gather around him to investigate, I then detonate the gel to blast them all.  The one poor sap who stayed behind, meanwhile, turns into a nervous wreck, and I highly enjoyed watching him react to the tiniest of noises with screams and gunfire before I finally silenced him.</p>
<p>Whether or not Batman actually qualifies as a “superhero,” in stealth, he still becomes an overbearing presence, an “ideal” as Ra’s al Ghul puts it in <em>Batman Begins</em>.  Stealth not only feels like the most satisfying game element, but also the most unifying and immersive.  Any more and I may as well have donned the cowl myself.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/arkham/arkham-4.jpg" rel="shadowbox[post-6151];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-4.jpg" alt="Batman: Arkham Asylum" width="576" height="360" /></a><br />
<strong>Joker&#8217;s commentary in the Visitor&#8217;s Center provides brief, captivating moments of narrative reflection.</strong></div>
<p>As much as I became increasingly sympathetic to Batman, the story of his toilsome search through Arkham doesn’t dig very much into his character.  The voice cast from <em>Batman: The Animated Series</em>, including Mark Hamill as Joker, perfectly embodies the comic-based characters, yet even Kevin Conroy’s Batman doesn’t veer too far from the adamant comic hero cliché.  Pre-rendered cut scenes are the game’s poorest use of the medium, while Batman’s in-game dialogue and self-commentary reflect a more effective narration that enhances player interaction within the narrative.</p>
<p>The few scenes that do elaborate character, however, come from Scarecrow’s hallucinogens, which make Batman walk through vivid visions where his world tears apart into the realm of Bruce Wayne, the man behind the cowl. Rocksteady practices a degree of game narrative restraint, where I simply have Batman walk during the dramatic scenes, yet their use of minimalist interaction creates a highly evocative connection that reflects a mastery of the medium.  This time I won’t spoil the ways <em>Arkham Asylum</em> reenacts Wayne’s most influential event, but I’ll say that its representation of his parents murder is the best I’ve seen, and could only be done in a videogame.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/arkham/arkham-5.jpg" rel="shadowbox[post-6151];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-5.jpg" alt="Batman: Arkham Asylum" width="576" height="360" /></a><br />
<strong>I guess &#8220;tears apart&#8221; wasn&#8217;t a metaphor.</strong></div>
<p>I especially value the story’s capacity to let me follow or leave it at my own pace so I could also explore Arkham.  Riddler’s challenges, for instance, gave me an ongoing side mission to appreciate the extraordinary effort that went into Arkham’s design, including the searches for the disturbing interview tapes of the game’s main villains and all the salient <em>Batman</em> universe references.   Though a relatively small open world, the brimming Arkham Island astounded me with visits to Batman’s secret Batcave, Killer Croc’s murky sewers, and all its other detailed environments.</p>
<div class="imageInPost" style="font-size: 11px; text-align: center; display: block; margin-top: 5px; margin-bottom: 8px; margin-left: 0px;"><a href="http://images.game-central.org/reviews/arkham/arkham-6.jpg" rel="shadowbox[post-6151];player=img;"><img style="margin-bottom: 8px;" src="http://images.game-central.org/reviews/arkham/arkham-6.jpg" alt="Batman: Arkham Asylum" width="576" height="360" /></a><br />
<strong>Batman&#8217;s more at home in Arkham Asylum than the patients.</strong></div>
<p>Batman’s determination to find Joker mirrors Rocksteady’s ambitious endeavor to make the greatest Batman game, if not also the best superhero game.  I’m sure the developers likewise ignored their growing facial stubble and bodily demands to better achieve a game that fully realizes the strengths of The Dark Knight.  <em>Arkham Asylum</em> not only makes an unquestionably faithful interpretation of the already well-defined comic hero, but also stands as its own worthy entry within the overarching <em>Batman</em> story.</p>
]]></content:encoded>
			<wfw:commentRss>http://game-central.org/2009/reviews/batman-arkham-asylum-review/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 8.148 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-02-09 05:42:13 -->
