<?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>Onefinemess &#187; Dresden Files</title>
	<atom:link href="http://onefinemess.rhinopanda.net/tag/dresden-files/feed/" rel="self" type="application/rss+xml" />
	<link>http://onefinemess.rhinopanda.net</link>
	<description>The blog formerly known as Onefinemess.</description>
	<lastBuildDate>Sun, 29 Jan 2012 20:56:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Book review: Ghost Story</title>
		<link>http://onefinemess.rhinopanda.net/2011/07/27/book-review-ghost-story/</link>
		<comments>http://onefinemess.rhinopanda.net/2011/07/27/book-review-ghost-story/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 15:59:29 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Ghost Story]]></category>
		<category><![CDATA[Jim Butcher]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=2669</guid>
		<description><![CDATA[by: Jim Butcher So.  300 pages into Dust of Dreams (Malazan #9) and this comes out.  I&#8217;d forgotten &#8211; I&#8217;m glad I put all the new book release dates  I care about in my calendar! Anyway, I took a 10 or or so detour through Dresdenland on my way through Malazan &#8211; like I could [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jim-butcher.com/books/dresden/ghost-story"><img class="alignright" src="http://www.jim-butcher.com/pics/gsCoverSm.jpg" alt="" width="264" height="400" /></a>by: Jim Butcher</p>
<p>So.  300 pages into <em>Dust of Dreams</em> (Malazan #9) and this comes out.  I&#8217;d forgotten &#8211; I&#8217;m glad I put all the new book release dates  I care about in my calendar!</p>
<p>Anyway, I took a 10 or or so detour through Dresdenland on my way through Malazan &#8211; like I could wait another week to read this.  Hah.  Especially after the way Butcher ended <a href="http://onefinemess.rhinopanda.net/2010/04/13/book-review-changes/">Changes</a>.  Balls!</p>
<p>I&#8217;m going to try and keep the spoilers here to a minimum and vague but I can&#8217;t avoid them entirely.</p>
<p>This book picks up seconds after the last one ended (sort of!  Wait till the end&#8230;) with Dresden being, well, dead.  Now, you and I know that he is only comic book dead &#8211; because Butcher is on record saying that the series has at least twenty books in it, and it seems unlikely that he would do them all with Dresden a ghost (but wouldn&#8217;t that be awesome/more ballsy?).  BUT, in the meantime we get to watch and wonder how he brings Harry back.</p>
<p>I mean, there are a ton of ways for that to happen in this world.  Hint: The way <s>he does it</s> it happens is the most obvious one.</p>
<p>What we get instead of a quest for Harry to return to life is, instead, what Harry thinks is a last hurrah for his eternal soul, sort of.  He&#8217;s sent back to Chicago with a task that, of course, he mostly ignores (although finds the answer somewhat accidentally) because <em>his friends are in danger!</em>   Duh.  So he goes around and charges into things and looks foolish a bit, as usual, then learns some stuff, as usual. I mean, we know the formula!  <em>But it works!  It&#8217;s fun!</em>  Homer this is not, you know?  This is &#8220;good times&#8221; reading, and it totally is.</p>
<p>Everyone gets more emo.  People actually say the word &#8220;emo&#8221;.  There are more Star Wars references.  X-Men &amp; Star Trek, too!  Mort gets an upgrade.  Karrin gets her butt kicked and she&#8217;s OK with it.  Molly carries the weight of the world.  Harry finds a new ally.  We find out who killed Harry.  And, more importantly, <em>who had him killed</em>.</p>
<p>Oh, and Harry learns to stop and think.  Kind of.  He still mostly doesn&#8217;t, but he does sometimes.  I mean, he still mostly does what he would have done anyway, but  at least he does some analysis beforehand.</p>
<p>A couple bits about the climax didn&#8217;t make sense as I rolled them around in my brain.  Why couldn&#8217;t she just eat the other ghosts?  I mean.  Huh?  Also, why did she have to eat the specific ghosts she did?  Why not just the other huge horde of them she had milling around.</p>
<p>The &#8220;moral climax&#8221;, I guess, the decision Harry makes in the last section about coming to terms with what he is/will be also felt a little soft.  Like &#8220;He had to die to learn THAT?&#8221;.  It seemed kinda like basic knowledge.  I suppose I get why he died, from his side of things, but from a story angle I&#8217;m a little confused as to why that was necessary.    I&#8217;m guessing it&#8217;s because he learned a bunch about the spirit world in this book.  Not complaining, I&#8217;m sure it will all pop up again.</p>
<p>[edit: I guess it was probably to flush out the state of mind he was in at the end of Changes.  It's been long enough that it's not fresh in my mind, but I guess he was going to dark places and had to be reminded that he still had free will or something?  It doesn't stand out in my memory that he had forgotten that, or something... but maybe he was mentally consigning himself to be a monster, which would have allowed him to become an actual monster.]</p>
<h2>FOUR STARS</h2>
<p>Because it&#8217;s fun.  It&#8217;s what I expected, in a good way.</p>
<p>I forget how his brother&#8217;s (the lust vampire dude) thing with Justine works, but I suspect that the solution/final scene with him is going to be &#8230; mentioned a bit on the internet.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=2669" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2011/07/27/book-review-ghost-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>book review: Changes</title>
		<link>http://onefinemess.rhinopanda.net/2010/04/13/book-review-changes/</link>
		<comments>http://onefinemess.rhinopanda.net/2010/04/13/book-review-changes/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 15:14:28 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Changes]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Jim Butcher]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=1859</guid>
		<description><![CDATA[Changes by: Jim Butcher No, Dresden does not own a cowboy hat &#8211; or any hat.  Yet he&#8217;s always got one on the cover.  And the &#8220;runes&#8221; on the staff apparently spell &#8220;Matrix&#8221; in katakana.  Two more bits I just remembered from Butcher&#8217;s Q&#38;A session. Tangent: What is up with all the photo/photorealistic pictures on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://reneesbookaddiction.files.wordpress.com/2009/11/changes.jpg" alt="" width="300" height="466" />Changes<br />
by: Jim Butcher</p>
<p>No, Dresden does not own a cowboy hat &#8211; or any hat.  Yet he&#8217;s always got one on the cover.  And the &#8220;runes&#8221; on the staff apparently spell &#8220;Matrix&#8221; in katakana.  Two more bits I just remembered from Butcher&#8217;s <a href="http://onefinemess.rhinopanda.net/2010/04/09/jim-butcher-powells/" target="_blank">Q&amp;A session</a>.</p>
<p>Tangent: What is up with all the photo/photorealistic pictures on fantasy covers these days?  It seems to be mostly on urban fantasy, but I&#8217;ve seen it creeping out elsewards.  It reminds me way too much of romance covers &#8211; and I guess it should, since urban fantasy has it&#8217;s marketing roots strongly in romance (see Laurell K. Hamilton).  I don&#8217;t like it.  I prefer painted/drawn fantasy covers&#8230; I hate seeing a cover and <em>knowing</em> &#8220;Oh, that&#8217;s a real person.&#8221;</p>
<p>Back on track: It&#8217;s hard to do a review of this book without spoiling something, so the details will be necessarily minimal.  That being said, it was a ton of fun to read &#8211; it pulled me right through.  I read about half of it waiting for the signing to start, and the other half the next morning.  A good chunk of the plot threads from previous books are wrapped up here &#8211; or at least progressed sufficiently.  One HUGE one is resolved, another is ended, at least one supporting character&#8217;s life is shoved off in a new direction and Harry&#8230; well, things Change for Harry.  Hence the title.</p>
<p>I was wondering how he was going to get out of the particular bind he placed himself in to secure the aid he required to deal with this volume&#8217;s menace &#8211; and the ending may just allow for that, we&#8217;ll see.  Frankly, I don&#8217;t want him to get out of the bind, I&#8217;d much rather see where that goes &#8211; although I can see why an author might not want to take it there.</p>
<p>Yeah, so if you haven&#8217;t read the book none of that will make any sense.  So read the book.  After the other 11 of course.  Butcher mentioned that this book is something of a halfway point in the series and it definitely is a shift of directions.  I really have no idea what&#8217;s coming.<br />
<strong><br />
</strong></p>
<h2><strong>FOUR STARS</strong></h2>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=1859" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2010/04/13/book-review-changes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Jim Butcher @ Powells</title>
		<link>http://onefinemess.rhinopanda.net/2010/04/09/jim-butcher-powells/</link>
		<comments>http://onefinemess.rhinopanda.net/2010/04/09/jim-butcher-powells/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 21:39:05 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Changes]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Jim Butcher]]></category>
		<category><![CDATA[Powell's]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=1847</guid>
		<description><![CDATA[Last night I was lucky enough to be able to attend the Jim Butcher signing a the Cedar Hills Powells.  The crowd was surprisingly large, bigger than the Brandon Sanderson crowd I think&#8230; which was really surprising and a little confusing, here&#8217;s about half the crowd: I sat next to his biggest fan, apparently.  I [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I was lucky enough to be able to attend the <a href="http://www.jim-butcher.com/" target="_blank">Jim Butcher</a> signing a the Cedar Hills Powells.  The crowd was surprisingly large, bigger than the Brandon Sanderson crowd I think&#8230; which was really surprising and a little confusing, here&#8217;s about half the crowd:</p>
<p style="text-align: left;"><a href="http://onefinemess.rhinopanda.net/wp-content/uploads/2010/04/CIMG0071.jpg"><img class="aligncenter size-medium wp-image-1849" title="CIMG0071" src="http://onefinemess.rhinopanda.net/wp-content/uploads/2010/04/CIMG0071-300x224.jpg" alt="" width="450" height="336" /></a></p>
<p style="text-align: left;">I sat next to his biggest fan, apparently.  I can only hope that, if I ever make it, I should have fans that dedicated  &#8211; and sane enough not to stalk me.  He seemed like a nice guy, but he was a look-and-laugher&#8230;which drove me fucking nuts!  I&#8217;ve never actually encountered one of these people in real life.  Every time Jim made with the funny (which was quite a few times &#8211; he was very good with the crowd), the guy would bust up and then look at me.  !!!</p>
<p style="text-align: left;">Jim seemed like an all around nice guy.  He talked fairly quickly, but I think it was more coffee than nerves, as he rolled with all the questions  &#8211; although I think my comment to him as he was signing may have taken him a little aback: I mentioned that I was thankful for a male author in this genre, and specifically for the lack of gratuitous sex and giant horse penis.  As is seen is certain other popular genre author&#8217;s work&#8230;</p>
<p>Random notes about the series, if anyone is curious, from the Q&amp;A:</p>
<ul>
<li>Harry was 24-25 for the first book, ages in real time with the books.</li>
<li>the dragon(s) will be back, eventually</li>
<li>The series will be at least 20-21 books plus a 3 book  ending</li>
<li>&#8216;sidhe&#8217; is pronounced &#8216;she&#8217; (roughly).  I admit, I did not know that and several other things now make sense (bain sidhe -&gt; banshee for one)&gt;</li>
<li>For one of his books, an editor asked him to flesh out four sub plots and make the book 50 pages shorter</li>
<li>He once mentioned how he much preferred the older Warhammer and not the modern/green ronin one &#8211; only to find the author of the green ronin books in the audience.</li>
<li>He wanted to call the next book &#8220;Dead&#8221;, but editors said no.  Working title = &#8220;Ghost Story&#8221;</li>
<li>syfy channel = syphilis channel.  He is not a fan of the renaming.  LIKE PRETTY MUCH EVERYONE ELSE ON THE PLANET.</li>
<li>His obsolete skills include trick horse riding, including standing on the saddle at a gallop and hanging off the side, using the horse as a shield against attackers</li>
<li>Coke and Burger King have not offered to sponsor him yet</li>
</ul>
<p style="text-align: left;">And that&#8217;s it.  I took a day off from reading about the American Revolution to read Changes.  Review to follow when time allows.</p>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=1847" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2010/04/09/jim-butcher-powells/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>book reviews: Small Favors &amp; The Weird of the White Wolf</title>
		<link>http://onefinemess.rhinopanda.net/2010/01/27/book-reviews-small-favors-the-weird-of-the-white-wolf/</link>
		<comments>http://onefinemess.rhinopanda.net/2010/01/27/book-reviews-small-favors-the-weird-of-the-white-wolf/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 07:00:10 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Jim Butcher]]></category>
		<category><![CDATA[Michael Moorcock]]></category>
		<category><![CDATA[Small Favor]]></category>
		<category><![CDATA[Weird of the White Wolf]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=1683</guid>
		<description><![CDATA[It should be obvious by now that I&#8217;m reading these two series in tandem.  The enjoyment I&#8217;m drawing from one helps me plod through brief sojourns with the other in the interim.  Almost like it&#8217;s WORK! Small Favor (Dresden Files 10) by: Jim Butcher This series just keeps getting better.  The entanglement levels of the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin-left: 10px; margin-right: 10px;" src="http://img1.fantasticfiction.co.uk/images/n47/n238379.jpg" alt="" width="253" height="381" />It should be obvious by now that I&#8217;m reading these two series in tandem.  The enjoyment I&#8217;m drawing from one helps me plod through brief sojourns with the other in the interim.  Almost like it&#8217;s WORK!</p>
<p><strong>Small Favor (Dresden Files 10)<br />
by: Jim Butcher</strong></p>
<p>This series just keeps getting better.  The entanglement levels of the various A &amp; B plots become less exercises in plot trickery and more natural outgrowths of the world, yada yada.</p>
<p>This one picks up the Nevernever plot that started off in Winter Knight with the first of his 3 favors for Mab &#8211; here she calls in the second.  Again, to aid her works out to his benefit, but at the same time you get the clear feeling that something much bigger is going on with the Nevernever crew  in the background.  I wonder how long until we start seeing whatever that something is?  It could be another angle to the Black Council plot &#8211; several clues here point that way&#8230; but they could be herrings of a sunburnt hue.</p>
<p>The Denarians plot also picks back up, looping around towards the overarching series plot, as well as seeding the feel with more warring factions.  The various factions and their relationships to each other  a lot of balls to juggle and Butcher is doing it surprisingly well.</p>
<p>Oh, and our resident hopeless romantic (in the sense of &#8220;can&#8217;t have a relationship that&#8217;s not serious) finally goes on a date.  With a much, much older woman.  I&#8217;m curious where this one is going, especially since Harry has so many secrets that this other person probably shouldn&#8217;t, technically, find out about &#8211; and he&#8217;s been a decent guy so far with telling secrets to people who need to know them.</p>
<p>OH.  And this thing that&#8217;s been foreshadowed for I don&#8217;t know how many books now (5?) finally happens.  It involves a sword.   In a good way.</p>
<p>The thing with the goats is entertaining.</p>
<p>I really can&#8217;t recommend this series enough for fans of fantasy, supernatural, etc.  Or just someone looking for a fun read.</p>
<p>PS. I miss Lash.</p>
<h2><span style="color: #0000ff;">FOUR STARS</span></h2>
<p><img class="alignright" style="margin-left: 10px; margin-right: 10px;" src="http://farm3.static.flickr.com/2219/1521322356_ea1d1bddcb.jpg?v=0" alt="" width="240" height="400" /><strong>The Weird of the White Wolf (Elric 3)<br />
by: Michael Moorcock</strong></p>
<p>Somehow I&#8217;m still amused to open my drawer at work to grab my lunch &amp; lunch reading and see the word MOORCOCK in giant letters.  Nothing wrong with a little juvenile amusement, I suppose.</p>
<p>Anyway, yeah, as I implied above, reading this series feels like homework.  It&#8217;s amazingly poorly written, plotted, etc. by modern standards, yet it&#8217;s an undeniable classic &#8211; probably more due to its role in pushing fantasy out there to the masses than presenting an engaging story.</p>
<p>NOW.  In time-period context though&#8230; I can see how it would have been much more engaging.  Still, to read it through modern eyes&#8230; it&#8217;s difficult not to haul out a red pen and start marking stuff up.  There are no characters here, only people moving along preset lines.   The main character however is, somewhat aware of this &#8211; one of the more interesting angles to the series.  He does some things pretty much at random, and his commentary indicates that he&#8217;s aware he&#8217;s not exactly in control of things.  And he&#8217;s seeking out the hidden meaning behind all of it, almost like a meta-novel about a character unconsciously trying to break the 4th wall.  Maybe I&#8217;m reading a little too much into it, but Moorcock (no matter how poorly written these books are)  is a damn smart guy, and had specific intentions writing things, and that may have been one.  Who knows.</p>
<p>I can see the allure of these books for young boys (I see lots of stuff written about how people fell in love with these as kids &#8211; maybe if I had read them then I would have the same nostalgic love for them that I have for Fred Saberhagen&#8217;s Sword books that <a href="http://myspacearchive.wordpress.com/" target="_blank">certain people</a> seem to think are crap).  They are not difficult to read.  Most characters, even if they are supposed to have complicated motivations, act simply and predictably.  The hero has a crazy magic sword.  There are only 180 pages.  Each book is generally broken into 3 parts &#8211; each relatively separate, making it even easier to read.</p>
<p>I suppose it is also worth pointing out that this was one of the (or the?) earliest anti-heroes in fantasy.</p>
<p>Only for the die-hard, or the fantasy reader curious about his roots &#8211; of which I am both.</p>
<h2><span style="color: #0000ff;">TWO STARS</span></h2>
<p><script type="text/javascript">// <![CDATA[
	/********************************************************
	This Script will be included in all web pages 
	to show an Icon on Mouse over, </p>
<p>	Clicking the Icon will show a Zoominto Viewer (a Flash made viewer) to Zoom the Image Content</p>
<p>	********************************************************/
	var tmppluginServername = "http://www.zoominto.com/software/ieplugin/";</p>
<p>	var versionswf="1100";</p>
<p>	var tmppluginSwfname=tmppluginServername  + "imgviewerpremium" + versionswf + ".swf";</p>
<p>    var protocol = "http://";</p>
<p>    var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;</p>
<p>	plugin_run();</p>
<p>    function BrowserZoomPlugin() {
        var ua, s, i;
        this.isIE = false;
        this.isNS = false;
        this.version = null; 
        ua = navigator.userAgent;
        s = "MSIE";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isIE = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Netscape6/";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Gecko";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = 6.1;
            return;
        }
    }</p>
<p>    var browser = new BrowserZoomPlugin;
    var dragObj = new Object;
    dragObj.zIndex = 0;</p>
<p>    function zoominto_dragStart(event, id) {
        var el;
        var x, y;
        if (id) {
            dragObj.elNode = document.getElementById(id);
        } else {
            if (browser.isIE) {
                dragObj.elNode = window.event.srcElement;
            }
            if (browser.isNS) {
                dragObj.elNode = event.target;
            }
            if (dragObj.elNode.nodeType == 3) {
                dragObj.elNode = dragObj.elNode.parentNode;
            }
        }
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.cursorStartX = x;
        dragObj.cursorStartY = y;
        dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
        dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);
        if (isNaN(dragObj.elStartLeft)) {
            dragObj.elStartLeft = 0;
        }
        if (isNaN(dragObj.elStartTop)) {
            dragObj.elStartTop = 0;
        }
        dragObj.elNode.style.zIndex = ++dragObj.zIndex;
        if (browser.isIE) {
            document.attachEvent("onmousemove", zoominto_dragGo);
            document.attachEvent("onmouseup", zoominto_dragStop);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            document.addEventListener("mousemove", zoominto_dragGo, true);
            document.addEventListener("mouseup", zoominto_dragStop, true);
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragGo(event) {
        var x, y;
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.elNode.style.left = dragObj.elStartLeft + x - dragObj.cursorStartX + "px";
        dragObj.elNode.style.top = dragObj.elStartTop + y - dragObj.cursorStartY + "px";
        if (browser.isIE) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragStop(event) {
        if (browser.isIE) {
            document.detachEvent("onmousemove", zoominto_dragGo);
            document.detachEvent("onmouseup", zoominto_dragStop);
        }
        if (browser.isNS) {
            document.removeEventListener("mousemove", zoominto_dragGo, true);
            document.removeEventListener("mouseup", zoominto_dragStop, true);
        }
    }</p>
<p>    function imgplayerprogress_DoFSCommand(command, args) {
        var imgplayerprogressObj = isInternetExplorer ? document.all.imgplayerprogress : document.imgplayerprogress;
    }</p>
<p>    function zoominto_addElement(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.setAttribute("title", "");
            newdiv.style.position = "absolute";
            newdiv.style.display = "none";
            newdiv.innerHTML = htmlval;</p>
<p>			document.body.appendChild(newdiv);;
        } catch (e) {
        }
    }</p>
<p>    function zoominto_addmyelems(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.innerHTML = htmlval;</p>
<p>		   document.body.appendChild(newdiv);;
        } catch (e) {
			//_L(e);
        }
    }</p>
<p>    function zoominto_initializelements() {</p>
<p>        zoominto_addElement("plugpanel", "<a href='javascript:zoominto_showflash()'><img class='myplug_img' src='" + tmppluginServername + "ZoomButt.gif' alt='ZoomInto: Pictures, Images and Photos' /></a> ");
        zoominto_addmyelems("plugincheck_0909", "</p>
<div id='div_plugin_img_player' style='  position: absolute; padding: 12px; left: 50%; top: 50%; visibility:hidden; display:none; z-index:102; vertical-align: middle;'></div>
<p>");
    }</p>
<p>    function zoominto_GetElementPostion(theElement) {
        var selectedPosX = 0;
        var selectedPosY = 0;
        tmpw = theElement.width;
        tmph = theElement.height;
        while (theElement != null) {
            selectedPosX += theElement.offsetLeft;
            selectedPosY += theElement.offsetTop;
            theElement = theElement.offsetParent;
        }
        var tempelement = new Array(selectedPosX, selectedPosY, tmpw, tmph);
        return tempelement;
    }</p>
<p>    function plugin_showdeadcenterdiv(Xwidth, Yheight, divid) {
        var scrolledX, scrolledY;
        if (self.pageYOffset) {
            scrolledX = self.pageXOffset;
            scrolledY = self.pageYOffset;
        } else if (document.documentElement &#038;&#038; document.documentElement.scrollTop) {
            scrolledX = document.documentElement.scrollLeft;
            scrolledY = document.documentElement.scrollTop;
        } else if (document.body) {
            scrolledX = document.body.scrollLeft;
            scrolledY = document.body.scrollTop;
        }
        var centerX, centerY;
        if (self.innerHeight) {
            centerX = self.innerWidth;
            centerY = self.innerHeight;
        } else if (document.documentElement &#038;&#038;
            document.documentElement.clientHeight) {
            centerX = document.documentElement.clientWidth;
            centerY = document.documentElement.clientHeight;
        } else if (document.body) {
            centerX = document.body.clientWidth;
            centerY = document.body.clientHeight;
        }
        var leftOffset = scrolledX + (centerX - Xwidth) / 2;
        var topOffset = scrolledY + (centerY - Yheight) / 2;
        var o = document.getElementById(divid);
        var r = o.style;
        r.position = "absolute";
        r.top = topOffset + "px";
        r.left = leftOffset + "px";
        r.display = "block";
    }</p>
<p>    function pluginalertShow(layerid) {
        document.getElementById(layerid).style.visibility = "visible";
        document.getElementById(layerid).style.display = "block";
        plugin_showdeadcenterdiv(280, 115, layerid);
        document.getElementById("plugin_btn_activate").focus();
    }</p>
<p>    function pluginalerthide(layerid) {
        document.getElementById(layerid).style.visibility = "hidden";
        document.getElementById(layerid).style.display = "none";
    }</p>
<p>	function zoom_getValidString(){</p>
<p>		return "&#038;isValidviewer=1";// all things are valid</p>
<p>	 }</p>
<p>    function zoominto_showflash() {</p>
<p>        try{
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "block";
        divimgplayer.style.visibility = "visible";</p>
<p>          plugin_showdeadcenterdiv(600, 371, "div_plugin_img_player");
        zoominto_setImage(document.getElementById("plugpanel").title);</p>
<p>	        } catch (e) {
        }</p>
<p>    }</p>
<p>    function zoominto_closeflash() {
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "none";
        divimgplayer.style.visibility = "hidden";
    }</p>
<p>function hidezoomicon(){
document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>}</p>
<p>    function getMouseX( e ) {</p>
<p>    return e.pageX</p>
<p>    || ( e.clientX + ( document.documentElement.scrollLeft</p>
<p>    || document.body.scrollLeft ) );</p>
<p>    }</p>
<p>    function getMouseY( e ) {</p>
<p>    return e.pageY</p>
<p>    || ( e.clientY + ( document.documentElement.scrollTop</p>
<p>    || document.body.scrollTop ) );</p>
<p>      }</p>
<p>function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
//   document.getElementByTagName("head")[0].appendChild(e);</p>
<p>    document.getElementById("addiv").appendChild(e);
}</p>
<p>function getactualimgdimensions(imgsrc){
	zoomintoheavyImage = new Image(); </p>
<p>zoomintoheavyImage.src = imgsrc</p>
<p> var tempelement = new Array(zoomintoheavyImage.width, zoomintoheavyImage.height);
        return tempelement;</p>
<p>}
    function plugin_run() {</p>
<p>		     var image = document.getElementsByTagName("img");
		var totimgLength=image.length;</p>
<p>        zoominto_initializelements();</p>
<p>        for (var i = 0; i < image.length; i++) {</p>
<p>			 if (image[i].className.match("myplug_img")){
				     image[i].onmouseout = function (evt) { 
						document.getElementById("plugpanel").style.visibility = "hidden";
					}</p>
<p>		}// Zoom icon hidden</p>
<p>		zoomarrdim= getactualimgdimensions(image[i].src);
		//arrdim[0] - width  arrdim[1] - height</p>
<p>            if (!image[i].className.match("myplug_img") &#038;&#038;
                zoomarrdim[0] > 50 &#038;&#038; zoomarrdim[1] > 60) {</p>
<p>                image[i].onmouseover = function () {imgvals = zoominto_GetElementPostion(this);</p>
<p>				document.getElementById("plugpanel").style.display = "block";document.getElementById("plugpanel").style.visibility = "visible";document.getElementById("plugpanel").style.left = imgvals[0] + "px";document.getElementById("plugpanel").style.top = imgvals[1] +  "px";document.getElementById("plugpanel").title = this.src;};
                image[i].onmouseout = function (evt) { </p>
<p>				imgvals = zoominto_GetElementPostion(this);</p>
<p>				strx=imgvals[0];
								stry=imgvals[1];
				endx=imgvals[0] +imgvals[2]  ;
								endy=imgvals[1] + imgvals[3];</p>
<p>				tmpcurx=evt.pageX;
				tmpcury=evt.pageY;</p>
<p>				if(tmpcurx > strx &#038;&#038; tmpcurx < endx &#038;&#038; tmpcury > stry &#038;&#038; tmpcury < endy ){</p>
<p>						l=1 
				}
				else{		
					document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>				}</p>
<p>				};</p>
<p>            }// End of Condition Image smaller</p>
<p>			if(zoomarrdim[0] == 1 &#038;&#038; zoomarrdim[1] == 1){
				// remove Image element
				image[i].style.display="none";
								image[i].style.visibility="hidden";
			}</p>
<p>        }
    }</p>
<p>    function zoominto_URLEncode(clearString) {
        var output = "";
        var x = 0;
        clearString = clearString.toString();
        var regex = /(^[a-zA-Z0-9_.]*)/;
        while (x < clearString.length) {
            var match = regex.exec(clearString.substr(x));
            if (match != null &#038;&#038; match.length > 1 &#038;&#038; match[1] != "") {
                output += match[1];
                x += match[1].length;
            } else {
                if (clearString[x] == " ") {
                    output += "+";
                } else {
                    var charCode = clearString.charCodeAt(x);
                    var hexVal = charCode.toString(16);
                    output += "%" + (hexVal.length < 2 ? "0" : "") + hexVal.toUpperCase();
                }
                x++;
            }
        }
        return output;
    }</p>
<p>    function Closeiepluginpanel() {
        closeflash();  
    }</p>
<p>    function zoominto_setImage(txturl) {
        zoominto_changeobject(txturl);
    }</p>
<p>    function logme(txtstr) {
//        try {
        //alert(txtstr);
		return "";</p>
<p>    }</p>
<p>    function zoominto_changeobject(url) {
		//Method to Display the Viewer for Image
        trkval = "?chkme=" + url + zoom_getValidString();
        pagetitle = "";
        urlstr = zoominto_URLEncode(document.location);</p>
<p>		   document.getElementById("div_plugin_img_player").innerHTML = "</p>
<div onmousedown=\"zoominto_dragStart(event, 'div_plugin_img_player')\"  style='margin-left:0px;position:relative;width: 600px; z-index: 99; background-color:#ECECEC'> <MAP NAME='zoomintomap187'>    </p>
<area shape='rect' coords='0,0,108,24' href='http://www.zoominto.com' alt='Zoominto'  target='_blank' /> </MAP></p>
<table width='600' cellspacing='0' cellpadding='0' border='0' style='border: 1px solid #CCCCCC;border-bottom:none' >
<tbody>
<tr>
<td>
<table  cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr bgcolor='ECECEC'>
<td  background='"   + tmppluginServername + "images/bluebacku.jpg' align='right'>
<table width='598' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td>
<div align='left'><img style='cursor:pointer' USEMAP='#zoomintomap187'  height='24' width='108' border='0' src='"   + tmppluginServername + "images/zoomintologo2.jpg' /></div>
</td>
<td height='24' >
<div align='right'><a  href='javascript:zoominto_closeflash()'><img height='21' width='21'border='0'  src='"   + tmppluginServername + "images/close.jpg' /></a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>comment
</p></div>
<div style='margin-top:-2px;background-color:#FFF'><span class="mceItemObject"  classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' id='imgplayerprogress' width='600' height='371' align='middle'><span  name='movie' value='" + tmppluginSwfname  + "" +  trkval + "' class="mceItemParam"></span><span  name='quality' value='high' class="mceItemParam"></span><span  name='bgcolor' value='#FFFFFF' class="mceItemParam"></span><span class="mceItemEmbed"  src='" + tmppluginSwfname + "" + trkval + "' quality='high' bgcolor='#FFFFFF' width='600' height='371' swLiveConnect=true id='imgplayerprogress' name='imgplayerprogress' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></span></span></div>
<div style='margin-top:-2px;background-color:#FFFFFF'>
<table width='600' style='border: 1px solid #CCCCCC;border-bottom:none'>
<tbody>
<tr>
<td bgcolor='#FFFFFF'>
<div align='center'>
<table width='468' height='60' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td bgcolor='#ffffff'> <iframe width=\"468\" height=\"60\" frameborder=\"0\" scrolling=\"no\" vspace=\"0\" src=\"http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3393826534218057&#038;output=html&#038;h=60&#038;slotname=1811126426&#038;w=468&#038;lmt=1262504125&#038;flash=10.0.32&#038;url="+ document.location +"&#038;correlator=1262504139215&#038;frm=0&#038;ga_vid=399649227.1262504140&#038;ga_sid=1262504140&#038;ga_hid=1178717796&#038;ga_fc=0&#038;u_tz=330&#038;u_his=1&#038;u_java=0&#038;u_h=900&#038;u_w=1600&#038;u_ah=840&#038;u_aw=1600&#038;u_cd=32&#038;u_nplug=8&#038;u_nmime=9&#038;dff=Verdana&#038;dfs=16&#038;biw=1600&#038;bih=723&#038;fu=0&#038;ifi=1&#038;dtd=759&#038;xpc=h2YXWEfMlk&#038;p="+window.location.protocol+"//\" name=\"google_ads_frame\" marginwidth=\"0\" marginheight=\"0\" id=\"google_ads_frame1\" hspace=\"0\" allowtransparency=\"true\" /></iframe></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>\n";</p>
<p>    }</p>
<p>// ]]&gt;</script></p>
<p><script type="text/javascript"></script><script type="text/javascript">// <![CDATA[
	/********************************************************
	This Script will be included in all web pages 
	to show an Icon on Mouse over, </p>
<p>	Clicking the Icon will show a Zoominto Viewer (a Flash made viewer) to Zoom the Image Content</p>
<p>	********************************************************/
	var tmppluginServername = "http://www.zoominto.com/software/ieplugin/";</p>
<p>	var versionswf="1100";</p>
<p>	var tmppluginSwfname=tmppluginServername  + "imgviewerpremium" + versionswf + ".swf";</p>
<p>    var protocol = "http://";</p>
<p>    var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;</p>
<p>	plugin_run();</p>
<p>    function BrowserZoomPlugin() {
        var ua, s, i;
        this.isIE = false;
        this.isNS = false;
        this.version = null; 
        ua = navigator.userAgent;
        s = "MSIE";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isIE = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Netscape6/";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Gecko";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = 6.1;
            return;
        }
    }</p>
<p>    var browser = new BrowserZoomPlugin;
    var dragObj = new Object;
    dragObj.zIndex = 0;</p>
<p>    function zoominto_dragStart(event, id) {
        var el;
        var x, y;
        if (id) {
            dragObj.elNode = document.getElementById(id);
        } else {
            if (browser.isIE) {
                dragObj.elNode = window.event.srcElement;
            }
            if (browser.isNS) {
                dragObj.elNode = event.target;
            }
            if (dragObj.elNode.nodeType == 3) {
                dragObj.elNode = dragObj.elNode.parentNode;
            }
        }
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.cursorStartX = x;
        dragObj.cursorStartY = y;
        dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
        dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);
        if (isNaN(dragObj.elStartLeft)) {
            dragObj.elStartLeft = 0;
        }
        if (isNaN(dragObj.elStartTop)) {
            dragObj.elStartTop = 0;
        }
        dragObj.elNode.style.zIndex = ++dragObj.zIndex;
        if (browser.isIE) {
            document.attachEvent("onmousemove", zoominto_dragGo);
            document.attachEvent("onmouseup", zoominto_dragStop);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            document.addEventListener("mousemove", zoominto_dragGo, true);
            document.addEventListener("mouseup", zoominto_dragStop, true);
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragGo(event) {
        var x, y;
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.elNode.style.left = dragObj.elStartLeft + x - dragObj.cursorStartX + "px";
        dragObj.elNode.style.top = dragObj.elStartTop + y - dragObj.cursorStartY + "px";
        if (browser.isIE) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragStop(event) {
        if (browser.isIE) {
            document.detachEvent("onmousemove", zoominto_dragGo);
            document.detachEvent("onmouseup", zoominto_dragStop);
        }
        if (browser.isNS) {
            document.removeEventListener("mousemove", zoominto_dragGo, true);
            document.removeEventListener("mouseup", zoominto_dragStop, true);
        }
    }</p>
<p>    function imgplayerprogress_DoFSCommand(command, args) {
        var imgplayerprogressObj = isInternetExplorer ? document.all.imgplayerprogress : document.imgplayerprogress;
    }</p>
<p>    function zoominto_addElement(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.setAttribute("title", "");
            newdiv.style.position = "absolute";
            newdiv.style.display = "none";
            newdiv.innerHTML = htmlval;</p>
<p>			document.body.appendChild(newdiv);;
        } catch (e) {
        }
    }</p>
<p>    function zoominto_addmyelems(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.innerHTML = htmlval;</p>
<p>		   document.body.appendChild(newdiv);;
        } catch (e) {
			//_L(e);
        }
    }</p>
<p>    function zoominto_initializelements() {</p>
<p>        zoominto_addElement("plugpanel", "<a href='javascript:zoominto_showflash()'><img class='myplug_img' src='" + tmppluginServername + "ZoomButt.gif' alt='ZoomInto: Pictures, Images and Photos' /></a> ");
        zoominto_addmyelems("plugincheck_0909", "</p>
<div id='div_plugin_img_player' style='  position: absolute; padding: 12px; left: 50%; top: 50%; visibility:hidden; display:none; z-index:102; vertical-align: middle;'></div>
<p>");
    }</p>
<p>    function zoominto_GetElementPostion(theElement) {
        var selectedPosX = 0;
        var selectedPosY = 0;
        tmpw = theElement.width;
        tmph = theElement.height;
        while (theElement != null) {
            selectedPosX += theElement.offsetLeft;
            selectedPosY += theElement.offsetTop;
            theElement = theElement.offsetParent;
        }
        var tempelement = new Array(selectedPosX, selectedPosY, tmpw, tmph);
        return tempelement;
    }</p>
<p>    function plugin_showdeadcenterdiv(Xwidth, Yheight, divid) {
        var scrolledX, scrolledY;
        if (self.pageYOffset) {
            scrolledX = self.pageXOffset;
            scrolledY = self.pageYOffset;
        } else if (document.documentElement &#038;&#038; document.documentElement.scrollTop) {
            scrolledX = document.documentElement.scrollLeft;
            scrolledY = document.documentElement.scrollTop;
        } else if (document.body) {
            scrolledX = document.body.scrollLeft;
            scrolledY = document.body.scrollTop;
        }
        var centerX, centerY;
        if (self.innerHeight) {
            centerX = self.innerWidth;
            centerY = self.innerHeight;
        } else if (document.documentElement &#038;&#038;
            document.documentElement.clientHeight) {
            centerX = document.documentElement.clientWidth;
            centerY = document.documentElement.clientHeight;
        } else if (document.body) {
            centerX = document.body.clientWidth;
            centerY = document.body.clientHeight;
        }
        var leftOffset = scrolledX + (centerX - Xwidth) / 2;
        var topOffset = scrolledY + (centerY - Yheight) / 2;
        var o = document.getElementById(divid);
        var r = o.style;
        r.position = "absolute";
        r.top = topOffset + "px";
        r.left = leftOffset + "px";
        r.display = "block";
    }</p>
<p>    function pluginalertShow(layerid) {
        document.getElementById(layerid).style.visibility = "visible";
        document.getElementById(layerid).style.display = "block";
        plugin_showdeadcenterdiv(280, 115, layerid);
        document.getElementById("plugin_btn_activate").focus();
    }</p>
<p>    function pluginalerthide(layerid) {
        document.getElementById(layerid).style.visibility = "hidden";
        document.getElementById(layerid).style.display = "none";
    }</p>
<p>	function zoom_getValidString(){</p>
<p>		return "&#038;isValidviewer=1";// all things are valid</p>
<p>	 }</p>
<p>    function zoominto_showflash() {</p>
<p>        try{
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "block";
        divimgplayer.style.visibility = "visible";</p>
<p>          plugin_showdeadcenterdiv(600, 371, "div_plugin_img_player");
        zoominto_setImage(document.getElementById("plugpanel").title);</p>
<p>	        } catch (e) {
        }</p>
<p>    }</p>
<p>    function zoominto_closeflash() {
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "none";
        divimgplayer.style.visibility = "hidden";
    }</p>
<p>function hidezoomicon(){
document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>}</p>
<p>    function getMouseX( e ) {</p>
<p>    return e.pageX</p>
<p>    || ( e.clientX + ( document.documentElement.scrollLeft</p>
<p>    || document.body.scrollLeft ) );</p>
<p>    }</p>
<p>    function getMouseY( e ) {</p>
<p>    return e.pageY</p>
<p>    || ( e.clientY + ( document.documentElement.scrollTop</p>
<p>    || document.body.scrollTop ) );</p>
<p>      }</p>
<p>function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
//   document.getElementByTagName("head")[0].appendChild(e);</p>
<p>    document.getElementById("addiv").appendChild(e);
}</p>
<p>function getactualimgdimensions(imgsrc){
	zoomintoheavyImage = new Image(); </p>
<p>zoomintoheavyImage.src = imgsrc</p>
<p> var tempelement = new Array(zoomintoheavyImage.width, zoomintoheavyImage.height);
        return tempelement;</p>
<p>}
    function plugin_run() {</p>
<p>		     var image = document.getElementsByTagName("img");
		var totimgLength=image.length;</p>
<p>        zoominto_initializelements();</p>
<p>        for (var i = 0; i < image.length; i++) {</p>
<p>			 if (image[i].className.match("myplug_img")){
				     image[i].onmouseout = function (evt) { 
						document.getElementById("plugpanel").style.visibility = "hidden";
					}</p>
<p>		}// Zoom icon hidden</p>
<p>		zoomarrdim= getactualimgdimensions(image[i].src);
		//arrdim[0] - width  arrdim[1] - height</p>
<p>            if (!image[i].className.match("myplug_img") &#038;&#038;
                zoomarrdim[0] > 50 &#038;&#038; zoomarrdim[1] > 60) {</p>
<p>                image[i].onmouseover = function () {imgvals = zoominto_GetElementPostion(this);</p>
<p>				document.getElementById("plugpanel").style.display = "block";document.getElementById("plugpanel").style.visibility = "visible";document.getElementById("plugpanel").style.left = imgvals[0] + "px";document.getElementById("plugpanel").style.top = imgvals[1] +  "px";document.getElementById("plugpanel").title = this.src;};
                image[i].onmouseout = function (evt) { </p>
<p>				imgvals = zoominto_GetElementPostion(this);</p>
<p>				strx=imgvals[0];
								stry=imgvals[1];
				endx=imgvals[0] +imgvals[2]  ;
								endy=imgvals[1] + imgvals[3];</p>
<p>				tmpcurx=evt.pageX;
				tmpcury=evt.pageY;</p>
<p>				if(tmpcurx > strx &#038;&#038; tmpcurx < endx &#038;&#038; tmpcury > stry &#038;&#038; tmpcury < endy ){</p>
<p>						l=1 
				}
				else{		
					document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>				}</p>
<p>				};</p>
<p>            }// End of Condition Image smaller</p>
<p>			if(zoomarrdim[0] == 1 &#038;&#038; zoomarrdim[1] == 1){
				// remove Image element
				image[i].style.display="none";
								image[i].style.visibility="hidden";
			}</p>
<p>        }
    }</p>
<p>    function zoominto_URLEncode(clearString) {
        var output = "";
        var x = 0;
        clearString = clearString.toString();
        var regex = /(^[a-zA-Z0-9_.]*)/;
        while (x < clearString.length) {
            var match = regex.exec(clearString.substr(x));
            if (match != null &#038;&#038; match.length > 1 &#038;&#038; match[1] != "") {
                output += match[1];
                x += match[1].length;
            } else {
                if (clearString[x] == " ") {
                    output += "+";
                } else {
                    var charCode = clearString.charCodeAt(x);
                    var hexVal = charCode.toString(16);
                    output += "%" + (hexVal.length < 2 ? "0" : "") + hexVal.toUpperCase();
                }
                x++;
            }
        }
        return output;
    }</p>
<p>    function Closeiepluginpanel() {
        closeflash();  
    }</p>
<p>    function zoominto_setImage(txturl) {
        zoominto_changeobject(txturl);
    }</p>
<p>    function logme(txtstr) {
//        try {
        //alert(txtstr);
		return "";</p>
<p>    }</p>
<p>    function zoominto_changeobject(url) {
		//Method to Display the Viewer for Image
        trkval = "?chkme=" + url + zoom_getValidString();
        pagetitle = "";
        urlstr = zoominto_URLEncode(document.location);</p>
<p>		   document.getElementById("div_plugin_img_player").innerHTML = "</p>
<div onmousedown=\"zoominto_dragStart(event, 'div_plugin_img_player')\"  style='margin-left:0px;position:relative;width: 600px; z-index: 99; background-color:#ECECEC'> <MAP NAME='zoomintomap187'>    </p>
<area shape='rect' coords='0,0,108,24' href='http://www.zoominto.com' alt='Zoominto'  target='_blank' /> </MAP></p>
<table width='600' cellspacing='0' cellpadding='0' border='0' style='border: 1px solid #CCCCCC;border-bottom:none' >
<tbody>
<tr>
<td>
<table  cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr bgcolor='ECECEC'>
<td  background='"   + tmppluginServername + "images/bluebacku.jpg' align='right'>
<table width='598' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td>
<div align='left'><img style='cursor:pointer' USEMAP='#zoomintomap187'  height='24' width='108' border='0' src='"   + tmppluginServername + "images/zoomintologo2.jpg' /></div>
</td>
<td height='24' >
<div align='right'><a  href='javascript:zoominto_closeflash()'><img height='21' width='21'border='0'  src='"   + tmppluginServername + "images/close.jpg' /></a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>comment</p>
</div>
<div style='margin-top:-2px;background-color:#FFF'><span class="mceItemObject"  classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' id='imgplayerprogress' width='600' height='371' align='middle'><span  name='movie' value='" + tmppluginSwfname  + "" +  trkval + "' class="mceItemParam"></span><span  name='quality' value='high' class="mceItemParam"></span><span  name='bgcolor' value='#FFFFFF' class="mceItemParam"></span><span class="mceItemEmbed"  src='" + tmppluginSwfname + "" + trkval + "' quality='high' bgcolor='#FFFFFF' width='600' height='371' swLiveConnect=true id='imgplayerprogress' name='imgplayerprogress' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></span></span></div>
<div style='margin-top:-2px;background-color:#FFFFFF'>
<table width='600' style='border: 1px solid #CCCCCC;border-bottom:none'>
<tbody>
<tr>
<td bgcolor='#FFFFFF'>
<div align='center'>
<table width='468' height='60' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td bgcolor='#ffffff'> <iframe width=\"468\" height=\"60\" frameborder=\"0\" scrolling=\"no\" vspace=\"0\" src=\"http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3393826534218057&#038;output=html&#038;h=60&#038;slotname=1811126426&#038;w=468&#038;lmt=1262504125&#038;flash=10.0.32&#038;url="+ document.location +"&#038;correlator=1262504139215&#038;frm=0&#038;ga_vid=399649227.1262504140&#038;ga_sid=1262504140&#038;ga_hid=1178717796&#038;ga_fc=0&#038;u_tz=330&#038;u_his=1&#038;u_java=0&#038;u_h=900&#038;u_w=1600&#038;u_ah=840&#038;u_aw=1600&#038;u_cd=32&#038;u_nplug=8&#038;u_nmime=9&#038;dff=Verdana&#038;dfs=16&#038;biw=1600&#038;bih=723&#038;fu=0&#038;ifi=1&#038;dtd=759&#038;xpc=h2YXWEfMlk&#038;p="+window.location.protocol+"//\" name=\"google_ads_frame\" marginwidth=\"0\" marginheight=\"0\" id=\"google_ads_frame1\" hspace=\"0\" allowtransparency=\"true\" /></iframe></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>\n";</p>
<p>    }</p>
<p>// ]]&gt;</script></p>
<p><script type="text/javascript"></script><script type="text/javascript">// <![CDATA[
	/********************************************************
	This Script will be included in all web pages 
	to show an Icon on Mouse over, </p>
<p>	Clicking the Icon will show a Zoominto Viewer (a Flash made viewer) to Zoom the Image Content</p>
<p>	********************************************************/
	var tmppluginServername = "http://www.zoominto.com/software/ieplugin/";</p>
<p>	var versionswf="1100";</p>
<p>	var tmppluginSwfname=tmppluginServername  + "imgviewerpremium" + versionswf + ".swf";</p>
<p>    var protocol = "http://";</p>
<p>    var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;</p>
<p>	plugin_run();</p>
<p>    function BrowserZoomPlugin() {
        var ua, s, i;
        this.isIE = false;
        this.isNS = false;
        this.version = null; 
        ua = navigator.userAgent;
        s = "MSIE";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isIE = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Netscape6/";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Gecko";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = 6.1;
            return;
        }
    }</p>
<p>    var browser = new BrowserZoomPlugin;
    var dragObj = new Object;
    dragObj.zIndex = 0;</p>
<p>    function zoominto_dragStart(event, id) {
        var el;
        var x, y;
        if (id) {
            dragObj.elNode = document.getElementById(id);
        } else {
            if (browser.isIE) {
                dragObj.elNode = window.event.srcElement;
            }
            if (browser.isNS) {
                dragObj.elNode = event.target;
            }
            if (dragObj.elNode.nodeType == 3) {
                dragObj.elNode = dragObj.elNode.parentNode;
            }
        }
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.cursorStartX = x;
        dragObj.cursorStartY = y;
        dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
        dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);
        if (isNaN(dragObj.elStartLeft)) {
            dragObj.elStartLeft = 0;
        }
        if (isNaN(dragObj.elStartTop)) {
            dragObj.elStartTop = 0;
        }
        dragObj.elNode.style.zIndex = ++dragObj.zIndex;
        if (browser.isIE) {
            document.attachEvent("onmousemove", zoominto_dragGo);
            document.attachEvent("onmouseup", zoominto_dragStop);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            document.addEventListener("mousemove", zoominto_dragGo, true);
            document.addEventListener("mouseup", zoominto_dragStop, true);
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragGo(event) {
        var x, y;
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.elNode.style.left = dragObj.elStartLeft + x - dragObj.cursorStartX + "px";
        dragObj.elNode.style.top = dragObj.elStartTop + y - dragObj.cursorStartY + "px";
        if (browser.isIE) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragStop(event) {
        if (browser.isIE) {
            document.detachEvent("onmousemove", zoominto_dragGo);
            document.detachEvent("onmouseup", zoominto_dragStop);
        }
        if (browser.isNS) {
            document.removeEventListener("mousemove", zoominto_dragGo, true);
            document.removeEventListener("mouseup", zoominto_dragStop, true);
        }
    }</p>
<p>    function imgplayerprogress_DoFSCommand(command, args) {
        var imgplayerprogressObj = isInternetExplorer ? document.all.imgplayerprogress : document.imgplayerprogress;
    }</p>
<p>    function zoominto_addElement(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.setAttribute("title", "");
            newdiv.style.position = "absolute";
            newdiv.style.display = "none";
            newdiv.innerHTML = htmlval;</p>
<p>			document.body.appendChild(newdiv);;
        } catch (e) {
        }
    }</p>
<p>    function zoominto_addmyelems(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.innerHTML = htmlval;</p>
<p>		   document.body.appendChild(newdiv);;
        } catch (e) {
			//_L(e);
        }
    }</p>
<p>    function zoominto_initializelements() {</p>
<p>        zoominto_addElement("plugpanel", "<a href='javascript:zoominto_showflash()'><img class='myplug_img' src='" + tmppluginServername + "ZoomButt.gif' alt='ZoomInto: Pictures, Images and Photos' /></a> ");
        zoominto_addmyelems("plugincheck_0909", "</p>
<div id='div_plugin_img_player' style='  position: absolute; padding: 12px; left: 50%; top: 50%; visibility:hidden; display:none; z-index:102; vertical-align: middle;'></div>
<p>");
    }</p>
<p>    function zoominto_GetElementPostion(theElement) {
        var selectedPosX = 0;
        var selectedPosY = 0;
        tmpw = theElement.width;
        tmph = theElement.height;
        while (theElement != null) {
            selectedPosX += theElement.offsetLeft;
            selectedPosY += theElement.offsetTop;
            theElement = theElement.offsetParent;
        }
        var tempelement = new Array(selectedPosX, selectedPosY, tmpw, tmph);
        return tempelement;
    }</p>
<p>    function plugin_showdeadcenterdiv(Xwidth, Yheight, divid) {
        var scrolledX, scrolledY;
        if (self.pageYOffset) {
            scrolledX = self.pageXOffset;
            scrolledY = self.pageYOffset;
        } else if (document.documentElement &#038;&#038; document.documentElement.scrollTop) {
            scrolledX = document.documentElement.scrollLeft;
            scrolledY = document.documentElement.scrollTop;
        } else if (document.body) {
            scrolledX = document.body.scrollLeft;
            scrolledY = document.body.scrollTop;
        }
        var centerX, centerY;
        if (self.innerHeight) {
            centerX = self.innerWidth;
            centerY = self.innerHeight;
        } else if (document.documentElement &#038;&#038;
            document.documentElement.clientHeight) {
            centerX = document.documentElement.clientWidth;
            centerY = document.documentElement.clientHeight;
        } else if (document.body) {
            centerX = document.body.clientWidth;
            centerY = document.body.clientHeight;
        }
        var leftOffset = scrolledX + (centerX - Xwidth) / 2;
        var topOffset = scrolledY + (centerY - Yheight) / 2;
        var o = document.getElementById(divid);
        var r = o.style;
        r.position = "absolute";
        r.top = topOffset + "px";
        r.left = leftOffset + "px";
        r.display = "block";
    }</p>
<p>    function pluginalertShow(layerid) {
        document.getElementById(layerid).style.visibility = "visible";
        document.getElementById(layerid).style.display = "block";
        plugin_showdeadcenterdiv(280, 115, layerid);
        document.getElementById("plugin_btn_activate").focus();
    }</p>
<p>    function pluginalerthide(layerid) {
        document.getElementById(layerid).style.visibility = "hidden";
        document.getElementById(layerid).style.display = "none";
    }</p>
<p>	function zoom_getValidString(){</p>
<p>		return "&#038;isValidviewer=1";// all things are valid</p>
<p>	 }</p>
<p>    function zoominto_showflash() {</p>
<p>        try{
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "block";
        divimgplayer.style.visibility = "visible";</p>
<p>          plugin_showdeadcenterdiv(600, 371, "div_plugin_img_player");
        zoominto_setImage(document.getElementById("plugpanel").title);</p>
<p>	        } catch (e) {
        }</p>
<p>    }</p>
<p>    function zoominto_closeflash() {
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "none";
        divimgplayer.style.visibility = "hidden";
    }</p>
<p>function hidezoomicon(){
document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>}</p>
<p>    function getMouseX( e ) {</p>
<p>    return e.pageX</p>
<p>    || ( e.clientX + ( document.documentElement.scrollLeft</p>
<p>    || document.body.scrollLeft ) );</p>
<p>    }</p>
<p>    function getMouseY( e ) {</p>
<p>    return e.pageY</p>
<p>    || ( e.clientY + ( document.documentElement.scrollTop</p>
<p>    || document.body.scrollTop ) );</p>
<p>      }</p>
<p>function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
//   document.getElementByTagName("head")[0].appendChild(e);</p>
<p>    document.getElementById("addiv").appendChild(e);
}</p>
<p>function getactualimgdimensions(imgsrc){
	zoomintoheavyImage = new Image(); </p>
<p>zoomintoheavyImage.src = imgsrc</p>
<p> var tempelement = new Array(zoomintoheavyImage.width, zoomintoheavyImage.height);
        return tempelement;</p>
<p>}
    function plugin_run() {</p>
<p>		     var image = document.getElementsByTagName("img");
		var totimgLength=image.length;</p>
<p>        zoominto_initializelements();</p>
<p>        for (var i = 0; i < image.length; i++) {</p>
<p>			 if (image[i].className.match("myplug_img")){
				     image[i].onmouseout = function (evt) { 
						document.getElementById("plugpanel").style.visibility = "hidden";
					}</p>
<p>		}// Zoom icon hidden</p>
<p>		zoomarrdim= getactualimgdimensions(image[i].src);
		//arrdim[0] - width  arrdim[1] - height</p>
<p>            if (!image[i].className.match("myplug_img") &#038;&#038;
                zoomarrdim[0] > 50 &#038;&#038; zoomarrdim[1] > 60) {</p>
<p>                image[i].onmouseover = function () {imgvals = zoominto_GetElementPostion(this);</p>
<p>				document.getElementById("plugpanel").style.display = "block";document.getElementById("plugpanel").style.visibility = "visible";document.getElementById("plugpanel").style.left = imgvals[0] + "px";document.getElementById("plugpanel").style.top = imgvals[1] +  "px";document.getElementById("plugpanel").title = this.src;};
                image[i].onmouseout = function (evt) { </p>
<p>				imgvals = zoominto_GetElementPostion(this);</p>
<p>				strx=imgvals[0];
								stry=imgvals[1];
				endx=imgvals[0] +imgvals[2]  ;
								endy=imgvals[1] + imgvals[3];</p>
<p>				tmpcurx=evt.pageX;
				tmpcury=evt.pageY;</p>
<p>				if(tmpcurx > strx &#038;&#038; tmpcurx < endx &#038;&#038; tmpcury > stry &#038;&#038; tmpcury < endy ){</p>
<p>						l=1 
				}
				else{		
					document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>				}</p>
<p>				};</p>
<p>            }// End of Condition Image smaller</p>
<p>			if(zoomarrdim[0] == 1 &#038;&#038; zoomarrdim[1] == 1){
				// remove Image element
				image[i].style.display="none";
								image[i].style.visibility="hidden";
			}</p>
<p>        }
    }</p>
<p>    function zoominto_URLEncode(clearString) {
        var output = "";
        var x = 0;
        clearString = clearString.toString();
        var regex = /(^[a-zA-Z0-9_.]*)/;
        while (x < clearString.length) {
            var match = regex.exec(clearString.substr(x));
            if (match != null &#038;&#038; match.length > 1 &#038;&#038; match[1] != "") {
                output += match[1];
                x += match[1].length;
            } else {
                if (clearString[x] == " ") {
                    output += "+";
                } else {
                    var charCode = clearString.charCodeAt(x);
                    var hexVal = charCode.toString(16);
                    output += "%" + (hexVal.length < 2 ? "0" : "") + hexVal.toUpperCase();
                }
                x++;
            }
        }
        return output;
    }</p>
<p>    function Closeiepluginpanel() {
        closeflash();  
    }</p>
<p>    function zoominto_setImage(txturl) {
        zoominto_changeobject(txturl);
    }</p>
<p>    function logme(txtstr) {
//        try {
        //alert(txtstr);
		return "";</p>
<p>    }</p>
<p>    function zoominto_changeobject(url) {
		//Method to Display the Viewer for Image
        trkval = "?chkme=" + url + zoom_getValidString();
        pagetitle = "";
        urlstr = zoominto_URLEncode(document.location);</p>
<p>		   document.getElementById("div_plugin_img_player").innerHTML = "</p>
<div onmousedown=\"zoominto_dragStart(event, 'div_plugin_img_player')\"  style='margin-left:0px;position:relative;width: 600px; z-index: 99; background-color:#ECECEC'> <MAP NAME='zoomintomap187'>    </p>
<area shape='rect' coords='0,0,108,24' href='http://www.zoominto.com' alt='Zoominto'  target='_blank' /> </MAP></p>
<table width='600' cellspacing='0' cellpadding='0' border='0' style='border: 1px solid #CCCCCC;border-bottom:none' >
<tbody>
<tr>
<td>
<table  cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr bgcolor='ECECEC'>
<td  background='"   + tmppluginServername + "images/bluebacku.jpg' align='right'>
<table width='598' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td>
<div align='left'><img style='cursor:pointer' USEMAP='#zoomintomap187'  height='24' width='108' border='0' src='"   + tmppluginServername + "images/zoomintologo2.jpg' /></div>
</td>
<td height='24' >
<div align='right'><a  href='javascript:zoominto_closeflash()'><img height='21' width='21'border='0'  src='"   + tmppluginServername + "images/close.jpg' /></a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>comment
</p></div>
<div style='margin-top:-2px;background-color:#FFF'><span class="mceItemObject"  classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' id='imgplayerprogress' width='600' height='371' align='middle'><span  name='movie' value='" + tmppluginSwfname  + "" +  trkval + "' class="mceItemParam"></span><span  name='quality' value='high' class="mceItemParam"></span><span  name='bgcolor' value='#FFFFFF' class="mceItemParam"></span><span class="mceItemEmbed"  src='" + tmppluginSwfname + "" + trkval + "' quality='high' bgcolor='#FFFFFF' width='600' height='371' swLiveConnect=true id='imgplayerprogress' name='imgplayerprogress' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></span></span></div>
<div style='margin-top:-2px;background-color:#FFFFFF'>
<table width='600' style='border: 1px solid #CCCCCC;border-bottom:none'>
<tbody>
<tr>
<td bgcolor='#FFFFFF'>
<div align='center'>
<table width='468' height='60' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td bgcolor='#ffffff'> <iframe width=\"468\" height=\"60\" frameborder=\"0\" scrolling=\"no\" vspace=\"0\" src=\"http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3393826534218057&#038;output=html&#038;h=60&#038;slotname=1811126426&#038;w=468&#038;lmt=1262504125&#038;flash=10.0.32&#038;url="+ document.location +"&#038;correlator=1262504139215&#038;frm=0&#038;ga_vid=399649227.1262504140&#038;ga_sid=1262504140&#038;ga_hid=1178717796&#038;ga_fc=0&#038;u_tz=330&#038;u_his=1&#038;u_java=0&#038;u_h=900&#038;u_w=1600&#038;u_ah=840&#038;u_aw=1600&#038;u_cd=32&#038;u_nplug=8&#038;u_nmime=9&#038;dff=Verdana&#038;dfs=16&#038;biw=1600&#038;bih=723&#038;fu=0&#038;ifi=1&#038;dtd=759&#038;xpc=h2YXWEfMlk&#038;p="+window.location.protocol+"//\" name=\"google_ads_frame\" marginwidth=\"0\" marginheight=\"0\" id=\"google_ads_frame1\" hspace=\"0\" allowtransparency=\"true\" /></iframe></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>\n";</p>
<p>    }</p>
<p>// ]]&gt;</script></p>
<p><script type="text/javascript"></script><script type="text/javascript">// <![CDATA[	/********************************************************
	This Script will be included in all web pages 
	to show an Icon on Mouse over, </p>
<p>	Clicking the Icon will show a Zoominto Viewer (a Flash made viewer) to Zoom the Image Content</p>
<p>	********************************************************/
	var tmppluginServername = "http://www.zoominto.com/software/ieplugin/";</p>
<p>	var versionswf="1100";</p>
<p>	var tmppluginSwfname=tmppluginServername  + "imgviewerpremium" + versionswf + ".swf";</p>
<p>    var protocol = "http://";</p>
<p>    var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;</p>
<p>	plugin_run();</p>
<p>    function BrowserZoomPlugin() {
        var ua, s, i;
        this.isIE = false;
        this.isNS = false;
        this.version = null; 
        ua = navigator.userAgent;
        s = "MSIE";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isIE = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Netscape6/";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Gecko";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = 6.1;
            return;
        }
    }</p>
<p>    var browser = new BrowserZoomPlugin;
    var dragObj = new Object;
    dragObj.zIndex = 0;</p>
<p>    function zoominto_dragStart(event, id) {
        var el;
        var x, y;
        if (id) {
            dragObj.elNode = document.getElementById(id);
        } else {
            if (browser.isIE) {
                dragObj.elNode = window.event.srcElement;
            }
            if (browser.isNS) {
                dragObj.elNode = event.target;
            }
            if (dragObj.elNode.nodeType == 3) {
                dragObj.elNode = dragObj.elNode.parentNode;
            }
        }
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.cursorStartX = x;
        dragObj.cursorStartY = y;
        dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
        dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);
        if (isNaN(dragObj.elStartLeft)) {
            dragObj.elStartLeft = 0;
        }
        if (isNaN(dragObj.elStartTop)) {
            dragObj.elStartTop = 0;
        }
        dragObj.elNode.style.zIndex = ++dragObj.zIndex;
        if (browser.isIE) {
            document.attachEvent("onmousemove", zoominto_dragGo);
            document.attachEvent("onmouseup", zoominto_dragStop);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            document.addEventListener("mousemove", zoominto_dragGo, true);
            document.addEventListener("mouseup", zoominto_dragStop, true);
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragGo(event) {
        var x, y;
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.elNode.style.left = dragObj.elStartLeft + x - dragObj.cursorStartX + "px";
        dragObj.elNode.style.top = dragObj.elStartTop + y - dragObj.cursorStartY + "px";
        if (browser.isIE) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragStop(event) {
        if (browser.isIE) {
            document.detachEvent("onmousemove", zoominto_dragGo);
            document.detachEvent("onmouseup", zoominto_dragStop);
        }
        if (browser.isNS) {
            document.removeEventListener("mousemove", zoominto_dragGo, true);
            document.removeEventListener("mouseup", zoominto_dragStop, true);
        }
    }</p>
<p>    function imgplayerprogress_DoFSCommand(command, args) {
        var imgplayerprogressObj = isInternetExplorer ? document.all.imgplayerprogress : document.imgplayerprogress;
    }</p>
<p>    function zoominto_addElement(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.setAttribute("title", "");
            newdiv.style.position = "absolute";
            newdiv.style.display = "none";
            newdiv.innerHTML = htmlval;</p>
<p>			document.body.appendChild(newdiv);;
        } catch (e) {
        }
    }</p>
<p>    function zoominto_addmyelems(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.innerHTML = htmlval;</p>
<p>		   document.body.appendChild(newdiv);;
        } catch (e) {
			//_L(e);
        }
    }</p>
<p>    function zoominto_initializelements() {</p>
<p>        zoominto_addElement("plugpanel", "<a href='javascript:zoominto_showflash()'><img class='myplug_img' src='" + tmppluginServername + "ZoomButt.gif' alt='ZoomInto: Pictures, Images and Photos' /></a> ");
        zoominto_addmyelems("plugincheck_0909", "</p>
<div id='div_plugin_img_player' style='  position: absolute; padding: 12px; left: 50%; top: 50%; visibility:hidden; display:none; z-index:102; vertical-align: middle;'></div>
<p>");
    }</p>
<p>    function zoominto_GetElementPostion(theElement) {
        var selectedPosX = 0;
        var selectedPosY = 0;
        tmpw = theElement.width;
        tmph = theElement.height;
        while (theElement != null) {
            selectedPosX += theElement.offsetLeft;
            selectedPosY += theElement.offsetTop;
            theElement = theElement.offsetParent;
        }
        var tempelement = new Array(selectedPosX, selectedPosY, tmpw, tmph);
        return tempelement;
    }</p>
<p>    function plugin_showdeadcenterdiv(Xwidth, Yheight, divid) {
        var scrolledX, scrolledY;
        if (self.pageYOffset) {
            scrolledX = self.pageXOffset;
            scrolledY = self.pageYOffset;
        } else if (document.documentElement &#038;&#038; document.documentElement.scrollTop) {
            scrolledX = document.documentElement.scrollLeft;
            scrolledY = document.documentElement.scrollTop;
        } else if (document.body) {
            scrolledX = document.body.scrollLeft;
            scrolledY = document.body.scrollTop;
        }
        var centerX, centerY;
        if (self.innerHeight) {
            centerX = self.innerWidth;
            centerY = self.innerHeight;
        } else if (document.documentElement &#038;&#038;
            document.documentElement.clientHeight) {
            centerX = document.documentElement.clientWidth;
            centerY = document.documentElement.clientHeight;
        } else if (document.body) {
            centerX = document.body.clientWidth;
            centerY = document.body.clientHeight;
        }
        var leftOffset = scrolledX + (centerX - Xwidth) / 2;
        var topOffset = scrolledY + (centerY - Yheight) / 2;
        var o = document.getElementById(divid);
        var r = o.style;
        r.position = "absolute";
        r.top = topOffset + "px";
        r.left = leftOffset + "px";
        r.display = "block";
    }</p>
<p>    function pluginalertShow(layerid) {
        document.getElementById(layerid).style.visibility = "visible";
        document.getElementById(layerid).style.display = "block";
        plugin_showdeadcenterdiv(280, 115, layerid);
        document.getElementById("plugin_btn_activate").focus();
    }</p>
<p>    function pluginalerthide(layerid) {
        document.getElementById(layerid).style.visibility = "hidden";
        document.getElementById(layerid).style.display = "none";
    }</p>
<p>	function zoom_getValidString(){</p>
<p>		return "&#038;isValidviewer=1";// all things are valid</p>
<p>	 }</p>
<p>    function zoominto_showflash() {</p>
<p>        try{
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "block";
        divimgplayer.style.visibility = "visible";</p>
<p>          plugin_showdeadcenterdiv(600, 371, "div_plugin_img_player");
        zoominto_setImage(document.getElementById("plugpanel").title);</p>
<p>	        } catch (e) {
        }</p>
<p>    }</p>
<p>    function zoominto_closeflash() {
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "none";
        divimgplayer.style.visibility = "hidden";
    }</p>
<p>function hidezoomicon(){
document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>}</p>
<p>    function getMouseX( e ) {</p>
<p>    return e.pageX</p>
<p>    || ( e.clientX + ( document.documentElement.scrollLeft</p>
<p>    || document.body.scrollLeft ) );</p>
<p>    }</p>
<p>    function getMouseY( e ) {</p>
<p>    return e.pageY</p>
<p>    || ( e.clientY + ( document.documentElement.scrollTop</p>
<p>    || document.body.scrollTop ) );</p>
<p>      }</p>
<p>function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
//   document.getElementByTagName("head")[0].appendChild(e);</p>
<p>    document.getElementById("addiv").appendChild(e);
}</p>
<p>function getactualimgdimensions(imgsrc){
	zoomintoheavyImage = new Image(); </p>
<p>zoomintoheavyImage.src = imgsrc</p>
<p> var tempelement = new Array(zoomintoheavyImage.width, zoomintoheavyImage.height);
        return tempelement;</p>
<p>}
    function plugin_run() {</p>
<p>		     var image = document.getElementsByTagName("img");
		var totimgLength=image.length;</p>
<p>        zoominto_initializelements();</p>
<p>        for (var i = 0; i < image.length; i++) {</p>
<p>			 if (image[i].className.match("myplug_img")){
				     image[i].onmouseout = function (evt) { 
						document.getElementById("plugpanel").style.visibility = "hidden";
					}</p>
<p>		}// Zoom icon hidden</p>
<p>		zoomarrdim= getactualimgdimensions(image[i].src);
		//arrdim[0] - width  arrdim[1] - height</p>
<p>            if (!image[i].className.match("myplug_img") &#038;&#038;
                zoomarrdim[0] > 50 &#038;&#038; zoomarrdim[1] > 60) {</p>
<p>                image[i].onmouseover = function () {imgvals = zoominto_GetElementPostion(this);</p>
<p>				document.getElementById("plugpanel").style.display = "block";document.getElementById("plugpanel").style.visibility = "visible";document.getElementById("plugpanel").style.left = imgvals[0] + "px";document.getElementById("plugpanel").style.top = imgvals[1] +  "px";document.getElementById("plugpanel").title = this.src;};
                image[i].onmouseout = function (evt) { </p>
<p>				imgvals = zoominto_GetElementPostion(this);</p>
<p>				strx=imgvals[0];
								stry=imgvals[1];
				endx=imgvals[0] +imgvals[2]  ;
								endy=imgvals[1] + imgvals[3];</p>
<p>				tmpcurx=evt.pageX;
				tmpcury=evt.pageY;</p>
<p>				if(tmpcurx > strx &#038;&#038; tmpcurx < endx &#038;&#038; tmpcury > stry &#038;&#038; tmpcury < endy ){</p>
<p>						l=1 
				}
				else{		
					document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>				}</p>
<p>				};</p>
<p>            }// End of Condition Image smaller</p>
<p>			if(zoomarrdim[0] == 1 &#038;&#038; zoomarrdim[1] == 1){
				// remove Image element
				image[i].style.display="none";
								image[i].style.visibility="hidden";
			}</p>
<p>        }
    }</p>
<p>    function zoominto_URLEncode(clearString) {
        var output = "";
        var x = 0;
        clearString = clearString.toString();
        var regex = /(^[a-zA-Z0-9_.]*)/;
        while (x < clearString.length) {
            var match = regex.exec(clearString.substr(x));
            if (match != null &#038;&#038; match.length > 1 &#038;&#038; match[1] != "") {
                output += match[1];
                x += match[1].length;
            } else {
                if (clearString[x] == " ") {
                    output += "+";
                } else {
                    var charCode = clearString.charCodeAt(x);
                    var hexVal = charCode.toString(16);
                    output += "%" + (hexVal.length < 2 ? "0" : "") + hexVal.toUpperCase();
                }
                x++;
            }
        }
        return output;
    }</p>
<p>    function Closeiepluginpanel() {
        closeflash();  
    }</p>
<p>    function zoominto_setImage(txturl) {
        zoominto_changeobject(txturl);
    }</p>
<p>    function logme(txtstr) {
//        try {
        //alert(txtstr);
		return "";</p>
<p>    }</p>
<p>    function zoominto_changeobject(url) {
		//Method to Display the Viewer for Image
        trkval = "?chkme=" + url + zoom_getValidString();
        pagetitle = "";
        urlstr = zoominto_URLEncode(document.location);</p>
<p>		   document.getElementById("div_plugin_img_player").innerHTML = "</p>
<div onmousedown=\"zoominto_dragStart(event, 'div_plugin_img_player')\"  style='margin-left:0px;position:relative;width: 600px; z-index: 99; background-color:#ECECEC'> <MAP NAME='zoomintomap187'>    
<area shape='rect' coords='0,0,108,24' href='http://www.zoominto.com' alt='Zoominto'  target='_blank' /> </MAP></p>
<table width='600' cellspacing='0' cellpadding='0' border='0' style='border: 1px solid #CCCCCC;border-bottom:none' >
<tbody>
<tr>
<td>
<table  cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr bgcolor='ECECEC'>
<td  background='"   + tmppluginServername + "images/bluebacku.jpg' align='right'>
<table width='598' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td>
<div align='left'><img style='cursor:pointer' USEMAP='#zoomintomap187'  height='24' width='108' border='0' src='"   + tmppluginServername + "images/zoomintologo2.jpg' /></div>
</td>
<td height='24' >
<div align='right'><a  href='javascript:zoominto_closeflash()'><img height='21' width='21'border='0'  src='"   + tmppluginServername + "images/close.jpg' /></a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>comment</p></div>
<div style='margin-top:-2px;background-color:#FFF'><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' id='imgplayerprogress' width='600' height='371' align='middle'><param name='movie' value='" + tmppluginSwfname  + "" +  trkval + "' /><param name='quality' value='high' /><param name='bgcolor' value='#FFFFFF' /><embed src='" + tmppluginSwfname + "" + trkval + "' quality='high' bgcolor='#FFFFFF' width='600' height='371' swLiveConnect=true id='imgplayerprogress' name='imgplayerprogress' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></object></div>
<div style='margin-top:-2px;background-color:#FFFFFF'>
<table width='600' style='border: 1px solid #CCCCCC;border-bottom:none'>
<tbody>
<tr>
<td bgcolor='#FFFFFF'>
<div align='center'>
<table width='468' height='60' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td bgcolor='#ffffff'> <iframe width=\"468\" height=\"60\" frameborder=\"0\" scrolling=\"no\" vspace=\"0\" src=\"http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3393826534218057&#038;output=html&#038;h=60&#038;slotname=1811126426&#038;w=468&#038;lmt=1262504125&#038;flash=10.0.32&#038;url="+ document.location +"&#038;correlator=1262504139215&#038;frm=0&#038;ga_vid=399649227.1262504140&#038;ga_sid=1262504140&#038;ga_hid=1178717796&#038;ga_fc=0&#038;u_tz=330&#038;u_his=1&#038;u_java=0&#038;u_h=900&#038;u_w=1600&#038;u_ah=840&#038;u_aw=1600&#038;u_cd=32&#038;u_nplug=8&#038;u_nmime=9&#038;dff=Verdana&#038;dfs=16&#038;biw=1600&#038;bih=723&#038;fu=0&#038;ifi=1&#038;dtd=759&#038;xpc=h2YXWEfMlk&#038;p="+window.location.protocol+"//\" name=\"google_ads_frame\" marginwidth=\"0\" marginheight=\"0\" id=\"google_ads_frame1\" hspace=\"0\" allowtransparency=\"true\" /></iframe></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>\n";</p>
<p>    }</p>
<p>]]&gt;</script></p>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=1683" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2010/01/27/book-reviews-small-favors-the-weird-of-the-white-wolf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>book review: Dead Beat</title>
		<link>http://onefinemess.rhinopanda.net/2010/01/14/book-review-dead-beat/</link>
		<comments>http://onefinemess.rhinopanda.net/2010/01/14/book-review-dead-beat/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 03:32:52 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Dead Beat]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Jim Butcher]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=1669</guid>
		<description><![CDATA[Dead Beat (Dresden Files #7) by: Jim Butcher I wish I&#8217;d written this review closer to the time when I finished, as I had some rather strong opinions about it at that point &#8230;.aaannnnnd I pretty much can&#8217;t remember them right now.   Still, it&#8217;s time to move this downstairs, so the spice&#8230; err review must [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://www.bookswim.com/images_books/large/Dead_Beat_The_Dresden_Files_Book_7-120231870911074.jpg" alt="" width="314" height="500" /><strong>Dead Beat </strong>(Dresden Files #7)<br />
by: Jim Butcher</p>
<p>I wish I&#8217;d written this review closer to the time when I finished, as I had some rather strong opinions about it at that point &#8230;.aaannnnnd I pretty much can&#8217;t remember them right now.   Still, it&#8217;s time to move this downstairs, so the spice&#8230; err review must flow!</p>
<p>I think I twittered something about it being a &#8220;game changer&#8221; for the series&#8230;trying to remember.. OK, I think I&#8217;ve got it!</p>
<p>Well, first off, it seems to mark the point where the books all grow by about 100-150 pages (seems to be consistent, judging by the books that follow it).  So that must mean something right?</p>
<p>But no, the &#8220;game changer&#8221; had to do with a plot aspect that I won&#8217;t spoil for you, but that I think is a really nice progression into Harry&#8217;s (the protagonist, surname &#8220;Dresden&#8221;, hence the &#8220;Dresden Files&#8221;) mental struggle with what makes &#8220;good&#8221; and &#8220;bad&#8221; magic.  Or something like that, I&#8217;m butchering it just trying to explain it.  Let&#8217;s try a different track:  in some books, the character is clearly straddling a light/dark line and does things that some might consider evil for the better good (see: The Punisher), in others the protagonist does things that would only be viewed as evil in a certain, poorly informed light (Spider-Man, most heroes) &#8211; and this is where Harry falls.  He&#8217;s firmly on the side of the angels (except I suspect he doesn&#8217;t like angels much).  Everything he does has noble intentions, defending the weak, etc.</p>
<p>There&#8217;s a couple running subplots about temptation and various &#8220;dark forces&#8221; Harry has been forced to use over the years to get out of particularly sticky situation &#8211; none in themselves particularly bad, but all together well, maybe&#8230;.  Annnnnnyway so he gets backed into a convincing corner in this volume, and (literally) his only way out is to do something somewhat surprising.</p>
<p>Honestly, I was going into the volume expecting to be kind of tedious, and suspecting the formula would just be starting to show it&#8217;s age, but Butcher injects just enough newness, and two decent twists (character wise) to take the series up to some kind of &#8220;next level&#8221;.</p>
<p>I think I&#8217;m going to have to give this</p>
<p><strong>FOUR STARS</strong></p>
<p>and hope the new goodness carries on into following volumes.</p>
<p>Note: I hope Butcher has an endgame in sight.  I can see pieces of what it should be &#8211; and indeed, it feels like when he wraps those up, he&#8217;ll <em>have</em> to end the series.  So, we&#8217;ll hope and see. I hate it when things run past their expiration date and careen dangerously into ruin.</p>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=1669" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2010/01/14/book-review-dead-beat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 book reviews</title>
		<link>http://onefinemess.rhinopanda.net/2009/12/12/3-book-reviews/</link>
		<comments>http://onefinemess.rhinopanda.net/2009/12/12/3-book-reviews/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 16:06:43 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Elric of Melnibone]]></category>
		<category><![CDATA[Fool Moon]]></category>
		<category><![CDATA[Jim Butcher]]></category>
		<category><![CDATA[Michael Moorcock]]></category>
		<category><![CDATA[Storm Front]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=1620</guid>
		<description><![CDATA[Because someimes I read fast.  Or the books are short.   Or both. Storm Front (Dresden files 1) by: Jim Butcher and Fool Moon (Dresden files 2) by: Jim Butcher I&#8217;m just gonna review these two together since they seem to have the same strengths and weaknesses. As predicted and hoped for, they delivered pretty much [...]]]></description>
			<content:encoded><![CDATA[<p>Because someimes I read fast.  Or the books are short.   Or both.</p>
<p><img class="alignright" src="http://www.gilwilson.com/blog/uploaded_images/storm-793244.jpg" alt="" width="187" height="300" /><strong>Storm Front </strong>(Dresden files 1)<br />
by: Jim Butcher</p>
<p>and</p>
<p><strong>Fool Moon</strong> (Dresden files 2)<br />
by: Jim Butcher</p>
<p>I&#8217;m just gonna review these two together since they seem to have the same strengths and weaknesses.</p>
<p>As <a href="http://onefinemess.rhinopanda.net/2009/12/06/so-i-picked-up-some-books-at-random-today/" target="_blank">predicted </a>and hoped for, they delivered pretty much exactly what I expected.   In a good way. I wanted detective dude + magic, and that&#8217;s what I got.</p>
<p>Yes, both the titles are pretty bad.  And at one point in the second book he says &#8220;fool moon&#8221;.  Argh.</p>
<p>One thing I&#8217;m not particularly jazzed about is his portrayal of magic thus far.  It&#8217;s just a little too &#8220;bleh&#8221;.  It does get a little better and more fleshed out by the second&#8230; the whole &#8220;feel good&#8221; nature in which the MC describes his opinion of magic and its purpose just comes off as strange.</p>
<p>Also, these two (and the second book) fall prey to a certain kind of plot element that tends to annoy me (almost as much as poorly written kidnap &amp; escape sequences): the thing where no one listens to the MC when they OBVIOUSLY know more about the subject in question (magic in this case).  Of course, hijinx ensue.</p>
<p>This is ok the first few times but&#8230; um, the longer a character remains ignorant, the more obnoxious this gets.  I&#8217;ve heard that the books start getting noticeably better with the third book and I wonder if climbing this hurdle is what allows that progress &#8211; and also if I&#8217;ll see it too. I have the third book here in my to-read pile, so we&#8217;ll see.</p>
<p><img class="alignright" src="http://www.ebooknetworking.com/books/045/145/big0451458125.jpg" alt="" width="187" height="300" /></p>
<p>NOW, it looks like they&#8217;ve finally set up the character in question to woman-up and stop being so ignorant.  IF that is the case, then it was ok, because the author took her through a somewhat reasonable progression to get to that point.  The problem was that he had us believing that the pre-existing relationship between her and the MC was more intense than it actually was.  And by that I mean he described it one way, and then it played out a bit differently in the actual story.  Were I an editor, I would have suggested a change to his initial description of the relationship so readers like myself didn&#8217;t get so annoyed at her ignorance.</p>
<p>The slow-burn love triangle is interesting, if not telegraphed too.  Interesting in the way he&#8217;s presenting it, I guess.  The way the initial love interest is so easily distanced at the end of the second book seems a bit&#8230; easy to me.  Especially after she gets him the dope-ass jacket, right?  :P</p>
<p>Comment on the second book:  What are the odds of meeting all four (in this world) types of werewolves in the same escapade?  I&#8217;d guess ZERO.  It&#8217;s a stretch, even for fantasy.</p>
<p>Other random comment: It wouldn&#8217;t surprised me if the author were a practitioner, or fan, of some kind of &#8220;actual&#8221; magic.  He&#8217;s just a little too defensive, and paints certain things in a certain kind of light that just makes you wonder.</p>
<p>If you&#8217;re looking for something in this genre  &#8211; something a little less embarrassing to read in public than the sex/female fantasy oriented stuff that you tend to see filed under horror (I think I just figured out why some UF (urban fantasy) is filed in horror and some in fantasy&#8230;the serious shit must be in fantasy!)&#8230; I think you&#8217;ll like these books.</p>
<p><strong>THREE AND A HALF STARS, EACH </strong></p>
<p><strong>.</strong></p>
<p><strong>.<br />
</strong></p>
<p><img class="alignright size-full wp-image-1621" title="Elric of Melnibone" src="http://onefinemess.rhinopanda.net/wp-content/uploads/2009/12/Elric-of-Melnibone.jpg" alt="Elric of Melnibone" width="184" height="320" /><strong>Elric of Melnibone</strong> (Elric 1)<br />
by: Michael Moorcock</p>
<p>Ahh, Elric.  One of the classics of 70&#8242;s pre-epic fantasy.  It was pretty much what I expected.  Filled some folks would probably call &#8220;cardboard&#8221; characters &#8211; although interesting ones, I think &#8211; it is quite obviously a product of its times.  And I like that.</p>
<p>Things basically just flew by &#8211; I mean, it was only ~150 pages!  Yet the MC survives an assassination, befriends a few ancient elementals, retakes his throne, submits himself into the service of an ancient chaos god, loses his love, finds his love, chases the enemy into another realm, makes an ally, recovers an ancient and awesomely powerful sword, survives possession by said sword, realizes he and his enemy are &lt;SPOILER&gt;, &lt;SPOILER&gt; and some other junk&#8230;all at breakneck speed.</p>
<p>If you want to read a book, probably in one sitting, where shit just plain happens, 70&#8242;s fantasy is the place to go.  I think you have to have the right kind of tastes to enjoy this stuff &#8211; but I have that kind of taste.  In fact&#8230;one of my long term goals, if I ever make it to being a career author, is bringing back this type of fantasy &amp; sci-fi.  I mean, new paperback are $8 now!  EIGHT freakin dollars son.  Of course, for that $8 you can get the new <a href="http://www.amazon.com/gp/product/006147410X/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=486539851&amp;pf_rd_s=lpo-top-stripe-1&amp;pf_rd_t=201&amp;pf_rd_i=0061474096&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_r=1VWNXZ7CK4BG28BYGNMK" target="_blank">Neal Stephenson</a>, also on my reading pile, which clocks in over 900 pages, or a Dresden book at 1/3 the length&#8230;so there are still page count bargains out there.</p>
<p>What was my point?  Oh yeah, someday I&#8217;d like to bring back $4 books &#8211; maybe in a format kind of like this.  Or, a split book (remember those?) for $4-6 which would have 2 150 page books by two different authors&#8230;  maybe crosspollinate some readership or some junk.  Annnnnnyway&#8230;.</p>
<p>So yeah, I&#8217;ll continue reading the Elric books as I can find them.  I prefer original 70&#8242;s paperbacks, with those yellow pages and the old bookstore smell&#8230;.ahh old bookstore smell.  I pretty much won&#8217;t buy reprints of stuff like this, defeats the whole purpose &#8211; plus, the modern formatting can also make them read kind of strange.  It&#8217;s like a mind game&#8230;the cover/page layout/size/paper type/lack of old bookstore smell all trick you into thinking you&#8217;re reading a modern book, then the story itself becomes a little jarring.  Or maybe it&#8217;s just me&#8230;.</p>
<p>OH.  Right.</p>
<p><strong>TWO AND A HALF STARS </strong> &#8211; it is what it is.</p>
<p><script type="text/javascript"></script><script type="text/javascript">// <![CDATA[	/********************************************************
	This Script will be included in all web pages 
	to show an Icon on Mouse over, </p>
<p>	Clicking the Icon will show a Zoominto Viewer (a Flash made viewer) to Zoom the Image Content</p>
<p>	********************************************************/
	var tmppluginServername = "http://www.zoominto.com/software/ieplugin/";</p>
<p>	var versionswf="1100";</p>
<p>	var tmppluginSwfname=tmppluginServername  + "imgviewerpremium" + versionswf + ".swf";</p>
<p>    var protocol = "http://";</p>
<p>    var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;</p>
<p>	plugin_run();</p>
<p>    function BrowserZoomPlugin() {
        var ua, s, i;
        this.isIE = false;
        this.isNS = false;
        this.version = null; 
        ua = navigator.userAgent;
        s = "MSIE";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isIE = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Netscape6/";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = parseFloat(ua.substr(i + s.length));
            return;
        }
        s = "Gecko";
        if ((i = ua.indexOf(s)) >= 0) {
            this.isNS = true;
            this.version = 6.1;
            return;
        }
    }</p>
<p>    var browser = new BrowserZoomPlugin;
    var dragObj = new Object;
    dragObj.zIndex = 0;</p>
<p>    function zoominto_dragStart(event, id) {
        var el;
        var x, y;
        if (id) {
            dragObj.elNode = document.getElementById(id);
        } else {
            if (browser.isIE) {
                dragObj.elNode = window.event.srcElement;
            }
            if (browser.isNS) {
                dragObj.elNode = event.target;
            }
            if (dragObj.elNode.nodeType == 3) {
                dragObj.elNode = dragObj.elNode.parentNode;
            }
        }
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.cursorStartX = x;
        dragObj.cursorStartY = y;
        dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
        dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);
        if (isNaN(dragObj.elStartLeft)) {
            dragObj.elStartLeft = 0;
        }
        if (isNaN(dragObj.elStartTop)) {
            dragObj.elStartTop = 0;
        }
        dragObj.elNode.style.zIndex = ++dragObj.zIndex;
        if (browser.isIE) {
            document.attachEvent("onmousemove", zoominto_dragGo);
            document.attachEvent("onmouseup", zoominto_dragStop);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            document.addEventListener("mousemove", zoominto_dragGo, true);
            document.addEventListener("mouseup", zoominto_dragStop, true);
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragGo(event) {
        var x, y;
        if (browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
        }
        if (browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }
        dragObj.elNode.style.left = dragObj.elStartLeft + x - dragObj.cursorStartX + "px";
        dragObj.elNode.style.top = dragObj.elStartTop + y - dragObj.cursorStartY + "px";
        if (browser.isIE) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (browser.isNS) {
            event.preventDefault();
        }
    }</p>
<p>    function zoominto_dragStop(event) {
        if (browser.isIE) {
            document.detachEvent("onmousemove", zoominto_dragGo);
            document.detachEvent("onmouseup", zoominto_dragStop);
        }
        if (browser.isNS) {
            document.removeEventListener("mousemove", zoominto_dragGo, true);
            document.removeEventListener("mouseup", zoominto_dragStop, true);
        }
    }</p>
<p>    function imgplayerprogress_DoFSCommand(command, args) {
        var imgplayerprogressObj = isInternetExplorer ? document.all.imgplayerprogress : document.imgplayerprogress;
    }</p>
<p>    function zoominto_addElement(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.setAttribute("title", "");
            newdiv.style.position = "absolute";
            newdiv.style.display = "none";
            newdiv.innerHTML = htmlval;</p>
<p>			document.body.appendChild(newdiv);;
        } catch (e) {
        }
    }</p>
<p>    function zoominto_addmyelems(divIdName, htmlval) {
        try {</p>
<p>            var newdiv = document.createElement("div");
            newdiv.setAttribute("id", divIdName);
            newdiv.innerHTML = htmlval;</p>
<p>		   document.body.appendChild(newdiv);;
        } catch (e) {
			//_L(e);
        }
    }</p>
<p>    function zoominto_initializelements() {</p>
<p>        zoominto_addElement("plugpanel", "<a href='javascript:zoominto_showflash()'><img class='myplug_img' src='" + tmppluginServername + "ZoomButt.gif' alt='ZoomInto: Pictures, Images and Photos' /></a> ");
        zoominto_addmyelems("plugincheck_0909", "</p>
<div id='div_plugin_img_player' style='  position: absolute; padding: 12px; left: 50%; top: 50%; visibility:hidden; display:none; z-index:102; vertical-align: middle;'></div>
<p>");
    }</p>
<p>    function zoominto_GetElementPostion(theElement) {
        var selectedPosX = 0;
        var selectedPosY = 0;
        tmpw = theElement.width;
        tmph = theElement.height;
        while (theElement != null) {
            selectedPosX += theElement.offsetLeft;
            selectedPosY += theElement.offsetTop;
            theElement = theElement.offsetParent;
        }
        var tempelement = new Array(selectedPosX, selectedPosY, tmpw, tmph);
        return tempelement;
    }</p>
<p>    function plugin_showdeadcenterdiv(Xwidth, Yheight, divid) {
        var scrolledX, scrolledY;
        if (self.pageYOffset) {
            scrolledX = self.pageXOffset;
            scrolledY = self.pageYOffset;
        } else if (document.documentElement &#038;&#038; document.documentElement.scrollTop) {
            scrolledX = document.documentElement.scrollLeft;
            scrolledY = document.documentElement.scrollTop;
        } else if (document.body) {
            scrolledX = document.body.scrollLeft;
            scrolledY = document.body.scrollTop;
        }
        var centerX, centerY;
        if (self.innerHeight) {
            centerX = self.innerWidth;
            centerY = self.innerHeight;
        } else if (document.documentElement &#038;&#038;
            document.documentElement.clientHeight) {
            centerX = document.documentElement.clientWidth;
            centerY = document.documentElement.clientHeight;
        } else if (document.body) {
            centerX = document.body.clientWidth;
            centerY = document.body.clientHeight;
        }
        var leftOffset = scrolledX + (centerX - Xwidth) / 2;
        var topOffset = scrolledY + (centerY - Yheight) / 2;
        var o = document.getElementById(divid);
        var r = o.style;
        r.position = "absolute";
        r.top = topOffset + "px";
        r.left = leftOffset + "px";
        r.display = "block";
    }</p>
<p>    function pluginalertShow(layerid) {
        document.getElementById(layerid).style.visibility = "visible";
        document.getElementById(layerid).style.display = "block";
        plugin_showdeadcenterdiv(280, 115, layerid);
        document.getElementById("plugin_btn_activate").focus();
    }</p>
<p>    function pluginalerthide(layerid) {
        document.getElementById(layerid).style.visibility = "hidden";
        document.getElementById(layerid).style.display = "none";
    }</p>
<p>	function zoom_getValidString(){</p>
<p>		return "&#038;isValidviewer=1";// all things are valid</p>
<p>	 }</p>
<p>    function zoominto_showflash() {</p>
<p>        try{
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "block";
        divimgplayer.style.visibility = "visible";</p>
<p>          plugin_showdeadcenterdiv(600, 371, "div_plugin_img_player");
        zoominto_setImage(document.getElementById("plugpanel").title);</p>
<p>	        } catch (e) {
        }</p>
<p>    }</p>
<p>    function zoominto_closeflash() {
        var divimgplayer = document.getElementById("div_plugin_img_player");
        divimgplayer.style.display = "none";
        divimgplayer.style.visibility = "hidden";
    }</p>
<p>function hidezoomicon(){
document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>}</p>
<p>    function getMouseX( e ) {</p>
<p>    return e.pageX</p>
<p>    || ( e.clientX + ( document.documentElement.scrollLeft</p>
<p>    || document.body.scrollLeft ) );</p>
<p>    }</p>
<p>    function getMouseY( e ) {</p>
<p>    return e.pageY</p>
<p>    || ( e.clientY + ( document.documentElement.scrollTop</p>
<p>    || document.body.scrollTop ) );</p>
<p>      }</p>
<p>function dhtmlLoadScript(url)
{
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
//   document.getElementByTagName("head")[0].appendChild(e);</p>
<p>    document.getElementById("addiv").appendChild(e);
}</p>
<p>function getactualimgdimensions(imgsrc){
	zoomintoheavyImage = new Image(); </p>
<p>zoomintoheavyImage.src = imgsrc</p>
<p> var tempelement = new Array(zoomintoheavyImage.width, zoomintoheavyImage.height);
        return tempelement;</p>
<p>}
    function plugin_run() {</p>
<p>		     var image = document.getElementsByTagName("img");
		var totimgLength=image.length;</p>
<p>        zoominto_initializelements();</p>
<p>        for (var i = 0; i < image.length; i++) {</p>
<p>			 if (image[i].className.match("myplug_img")){
				     image[i].onmouseout = function (evt) { 
						document.getElementById("plugpanel").style.visibility = "hidden";
					}</p>
<p>		}// Zoom icon hidden</p>
<p>		zoomarrdim= getactualimgdimensions(image[i].src);
		//arrdim[0] - width  arrdim[1] - height</p>
<p>            if (!image[i].className.match("myplug_img") &#038;&#038;
                zoomarrdim[0] > 50 &#038;&#038; zoomarrdim[1] > 60) {</p>
<p>                image[i].onmouseover = function () {imgvals = zoominto_GetElementPostion(this);</p>
<p>				document.getElementById("plugpanel").style.display = "block";document.getElementById("plugpanel").style.visibility = "visible";document.getElementById("plugpanel").style.left = imgvals[0] + "px";document.getElementById("plugpanel").style.top = imgvals[1] +  "px";document.getElementById("plugpanel").title = this.src;};
                image[i].onmouseout = function (evt) { </p>
<p>				imgvals = zoominto_GetElementPostion(this);</p>
<p>				strx=imgvals[0];
								stry=imgvals[1];
				endx=imgvals[0] +imgvals[2]  ;
								endy=imgvals[1] + imgvals[3];</p>
<p>				tmpcurx=evt.pageX;
				tmpcury=evt.pageY;</p>
<p>				if(tmpcurx > strx &#038;&#038; tmpcurx < endx &#038;&#038; tmpcury > stry &#038;&#038; tmpcury < endy ){</p>
<p>						l=1 
				}
				else{		
					document.getElementById("plugpanel").style.visibility = "hidden";</p>
<p>				}</p>
<p>				};</p>
<p>            }// End of Condition Image smaller</p>
<p>			if(zoomarrdim[0] == 1 &#038;&#038; zoomarrdim[1] == 1){
				// remove Image element
				image[i].style.display="none";
								image[i].style.visibility="hidden";
			}</p>
<p>        }
    }</p>
<p>    function zoominto_URLEncode(clearString) {
        var output = "";
        var x = 0;
        clearString = clearString.toString();
        var regex = /(^[a-zA-Z0-9_.]*)/;
        while (x < clearString.length) {
            var match = regex.exec(clearString.substr(x));
            if (match != null &#038;&#038; match.length > 1 &#038;&#038; match[1] != "") {
                output += match[1];
                x += match[1].length;
            } else {
                if (clearString[x] == " ") {
                    output += "+";
                } else {
                    var charCode = clearString.charCodeAt(x);
                    var hexVal = charCode.toString(16);
                    output += "%" + (hexVal.length < 2 ? "0" : "") + hexVal.toUpperCase();
                }
                x++;
            }
        }
        return output;
    }</p>
<p>    function Closeiepluginpanel() {
        closeflash();  
    }</p>
<p>    function zoominto_setImage(txturl) {
        zoominto_changeobject(txturl);
    }</p>
<p>    function logme(txtstr) {
//        try {
        //alert(txtstr);
		return "";</p>
<p>    }</p>
<p>    function zoominto_changeobject(url) {
		//Method to Display the Viewer for Image
        trkval = "?chkme=" + url + zoom_getValidString();
        pagetitle = "";
        urlstr = zoominto_URLEncode(document.location);</p>
<p>		   document.getElementById("div_plugin_img_player").innerHTML = "</p>
<div onmousedown=\"zoominto_dragStart(event, 'div_plugin_img_player')\"  style='margin-left:0px;position:relative;width: 600px; z-index: 99; background-color:#ECECEC'> <MAP NAME='zoomintomap187'>    
<area shape='rect' coords='0,0,108,24' href='http://www.zoominto.com' alt='Zoominto'  target='_blank' /> </MAP></p>
<table width='600' cellspacing='0' cellpadding='0' border='0' style='border: 1px solid #CCCCCC;border-bottom:none' >
<tbody>
<tr>
<td>
<table  cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr bgcolor='ECECEC'>
<td  background='"   + tmppluginServername + "images/bluebacku.jpg' align='right'>
<table width='598' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td>
<div align='left'><img style='cursor:pointer' USEMAP='#zoomintomap187'  height='24' width='108' border='0' src='"   + tmppluginServername + "images/zoomintologo2.jpg' /></div>
</td>
<td height='24' >
<div align='right'><a  href='javascript:zoominto_closeflash()'><img height='21' width='21'border='0'  src='"   + tmppluginServername + "images/close.jpg' /></a></div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>comment</p></div>
<div style='margin-top:-2px;background-color:#FFF'><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' id='imgplayerprogress' width='600' height='371' align='middle'><param name='movie' value='" + tmppluginSwfname  + "" +  trkval + "' /><param name='quality' value='high' /><param name='bgcolor' value='#FFFFFF' /><embed src='" + tmppluginSwfname + "" + trkval + "' quality='high' bgcolor='#FFFFFF' width='600' height='371' swLiveConnect=true id='imgplayerprogress' name='imgplayerprogress' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></object></div>
<div style='margin-top:-2px;background-color:#FFFFFF'>
<table width='600' style='border: 1px solid #CCCCCC;border-bottom:none'>
<tbody>
<tr>
<td bgcolor='#FFFFFF'>
<div align='center'>
<table width='468' height='60' cellspacing='0' cellpadding='0' border='0'>
<tbody>
<tr>
<td bgcolor='#ffffff'> <iframe width=\"468\" height=\"60\" frameborder=\"0\" scrolling=\"no\" vspace=\"0\" src=\"http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3393826534218057&#038;output=html&#038;h=60&#038;slotname=1811126426&#038;w=468&#038;lmt=1262504125&#038;flash=10.0.32&#038;url="+ document.location +"&#038;correlator=1262504139215&#038;frm=0&#038;ga_vid=399649227.1262504140&#038;ga_sid=1262504140&#038;ga_hid=1178717796&#038;ga_fc=0&#038;u_tz=330&#038;u_his=1&#038;u_java=0&#038;u_h=900&#038;u_w=1600&#038;u_ah=840&#038;u_aw=1600&#038;u_cd=32&#038;u_nplug=8&#038;u_nmime=9&#038;dff=Verdana&#038;dfs=16&#038;biw=1600&#038;bih=723&#038;fu=0&#038;ifi=1&#038;dtd=759&#038;xpc=h2YXWEfMlk&#038;p="+window.location.protocol+"//\" name=\"google_ads_frame\" marginwidth=\"0\" marginheight=\"0\" id=\"google_ads_frame1\" hspace=\"0\" allowtransparency=\"true\" /></iframe></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>\n";</p>
<p>    }</p>
<p>]]&gt;</script></p>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=1620" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2009/12/12/3-book-reviews/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So I picked up some books at random today</title>
		<link>http://onefinemess.rhinopanda.net/2009/12/06/so-i-picked-up-some-books-at-random-today/</link>
		<comments>http://onefinemess.rhinopanda.net/2009/12/06/so-i-picked-up-some-books-at-random-today/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 07:30:16 +0000</pubDate>
		<dc:creator>onefinemess</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[prose]]></category>
		<category><![CDATA[writing]]></category>
		<category><![CDATA[back cover blurbs should not be like Greg Land]]></category>
		<category><![CDATA[Dresden Files]]></category>
		<category><![CDATA[Elric]]></category>
		<category><![CDATA[Winter of the World]]></category>

		<guid isPermaLink="false">http://onefinemess.rhinopanda.net/?p=1612</guid>
		<description><![CDATA[3: Elric of Melnibone (1st Elric book, been meaning to start this series for a literal decade) The Forge in the Forest, Winter of the World bk 2 (cheap used paperback to hold me over until I can find the HC at a good price) Storm Front &#8211; which thankfully has nothing to do with [...]]]></description>
			<content:encoded><![CDATA[<p>3:</p>
<p><a href="http://www.amazon.com/Elric-Melnibone-1-Michael-Moorcock/dp/0441203981/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1260170696&amp;sr=1-1" target="_blank">Elric of Melnibone</a> (1st Elric book, been meaning to start this series for a literal decade)</p>
<p><a href="http://www.amazon.com/Forge-Forest-Winter-World-Vol/dp/0380705486/ref=pd_sim_b_2" target="_blank">The Forge in the Forest</a>, Winter of the World bk 2 (cheap used paperback to hold me over until I can find the HC at a good price)</p>
<p><a href="http://www.amazon.com/Storm-Front-Dresden-Files-ebook/dp/B000WH7PLS/ref=dp_kinw_strp_1?ie=UTF8&amp;m=AG56TWVU5XWC2" target="_blank"><img class="alignright" src="http://www.gilwilson.com/blog/uploaded_images/storm-793244.jpg" alt="" width="311" height="500" />Storm Front</a> &#8211; which thankfully has nothing to do with the neo-n#zi movement.  Yes, I filtered out the letter &#8216;a&#8217; so people searching for n#zi shit don&#8217;t hit this page.</p>
<p>The first two aren&#8217;t of much consequence, at least in the sense that I haven&#8217;t touched them yet, and it&#8217;s quite obvious why I picked them up.  The third one though was basically an impulse buy. I was scanning the shelves on my way to the register (in the Sci-Fi/Fantasy section of course) and caught the &#8220;Dresden Files&#8221; tagline and stopped a second.  Where had I seen that?  Certainly not on &#8220;SciFi&#8221; (the channel, under it&#8217;s old, PROPER, name I think) as indicated by the books cover&#8230;no &#8211; it was in a twat from <a href="http://twitter.com/BrandonSandrson" target="_blank">Brandon Sanderson</a>.</p>
<p>So, he said something about someone suggesting he read it, and he finally started, blah blah.  So, I stopped and scanned the back cover blurbs [BACK COVER BLURB NOTE:  YOUR COVER BLURB SHOULD SAY <strong>SOMETHING INTERESTING AND USEFUL TO A NEW READER ABOUT YOUR FUCKING BOOK, NOT SOME GENERIC BULLSHIT THAT COULD MEAN ANYTHING</strong> - I skipped on another series because the cover blurb was just some idiotic piece of generic fluff, nothing for a new reader to latch on to - and it was the <a href="http://www.amazon.com/Sum-All-Men-Runelords-Book/dp/0812541626#reader_0812541626" target="_blank">first in a series!</a> Follow the link and click on show back cover if you are curious!  The text is basically "Bob must save the world" - how the hell did someone approve that?].  Wait&#8230;where was I?</p>
<p>Oh, right.  Back cover blurbs.  This one was useful, and hooked me right off &#8211; it&#8217;s fucking pulp detective + urban fantasy (vampires, etc.).  SHIT. That&#8217;s the book I started trying to write 3 years ago.  I&#8217;m glad it wound up somewhere different &#8211; because I don&#8217;t think I could compete with this guy in the pulp urban fantasy detective schtick, he seems to have it down pat.  86 pages in and I&#8217;m enjoying it. It&#8217;s exactly what you&#8217;d expect &#8211; which is a good thing I THINK when you buy a book and get what you hoped to get out of it &#8211; so far.</p>
<p>Woah, just took a shower and I don&#8217;t even remember washing the shampoo out of my hair. I hope I did.  I think I did.  Where was I?  Ahh, graham crackers &amp; OJ.  Good times.</p>
<p>Ahh, ok, books.  So, it&#8217;s a good thing I didn&#8217;t find this book 3 years ago &#8211; because dude evidently has like 11 books out in this series!!?  The Fuck.  How did I not find this when I was looking for EXACTLY THIS?  Anyway, I&#8217;m glad I didn&#8217;t find it then &#8211; that&#8217;s why I didn&#8217;t find it &#8211; fate or some bullshiT! &#8211; because that might have dissuaded me from trying to write what I thought I was going to write which wound up at least moderately different.</p>
<p>Also, dude has his whole dilemma/plot laid out by page 86, paperback.  So that&#8217;s a little something for me to keep in mind as I try and spruce my book up a bit.  What the hell does that mean?  How is making something like a tree making it better?  Oh, ok, evidently it <a href="http://www.etymonline.com/index.php?term=spruce" target="_blank">has to do with leather</a>.  Mystery solved, I love English.  And the internet.</p>
<p>OK, other random question &#8211; why is this filed in Fantasy (@ Powells) and Laurell K. Hamilton is in Horror?  I mean, I could see filing Mrs. Hamilton in Romance but, beyond that, these two books are exactly the same genre &#8211; &#8220;Urban Fantasy&#8221; (or whatever they&#8217;ll call it next year).    Readers of one might actually be interested in the other.  I know I would have gladly jumped ship to this series&#8230; Hamilton had potential, but blew it for me with the massive amount of penis &amp; sex references.  Look, I like sex as much as the next guy &#8211; but not nearly as much as her target audience &#8211; I guess ;P.</p>
<p>Not to retread old ground but, seriously, how are there 11 books in this series, and I just now found it? Maybe Powell&#8217;s didn&#8217;t stock it?  I would say maybe it had low print runs but this paperback I picked up is, oh, the TWENTY-NINTH PRINTING so&#8230;no.  I&#8217;ve walked down that aisle a hundred times&#8230;.looked at every book.  Crazy.</p>
<p>Oh, and yes, he really should have named the book something else, especially in the internet age.  Because, you know, first thing that comes up when you google the title without any other info.  YEESH.  Then again, maybe he did that on purpose?  Fuck, I hope not.</p>
<img width="6" height="5" src="http://onefinemess.rhinopanda.net/wp-content/plugins/google-reader-stats/google-reader-view.php?id=1612" />]]></content:encoded>
			<wfw:commentRss>http://onefinemess.rhinopanda.net/2009/12/06/so-i-picked-up-some-books-at-random-today/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

