From: "Saved by Windows Internet Explorer 7" Subject: Top 10 new diet and fitness books The Hot Body Plan :: Health & Fitness :: handbag.com Date: Sat, 18 Oct 2008 12:38:02 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C9311E.5C350BD0" X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16669 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/health-&-fitness/Top-10-new-diet-and-fitness-books-The-Hot-Body-Plan/gallery =EF=BB=BF Top 10 new diet and = fitness books The Hot Body Plan :: Health & Fitness :: = handbag.com
MY=20 HANDBAG=20
LOGIN=20
REGISTER=20
=20

FASHION

  • Fashion = home=20
  • Catwalk=20 and fashion trends=20
  • Trend=20 translator=20
  • Fashion=20 news=20
  • Celebrity=20 fashion=20
  • Hand= bag of=20 the week=20
  • Red=20 carpet fashion=20
  • Style=20 icon=20
  • Handbag=20 TV=20
  • Fashion=20 interview=20
  • Handbag = boutique

More on handbag

BEAUTY

Forum

Join=20 in the chat in our lively Beauty forums!

= "Anyone=20 tried Zhuh Tan accelerator? "

= "Facial=20 Peel - would you or wouldn't you?"

= "What=20 cream for eczema?"

= "Which fake=20 tan will you be using this year?"

= "Nail=20 Polish - What colour are you wearing?"

View all forums

More on handbag

HAIR

More on handbag

CELEBRITY

Forum

Join=20 in the chat in our lively Celebrity forum!

= "Apparently=20 The Marsh has had a recent boob job"

= "Heather=20 Locklear at 46 in bikini"

= "Oooh=20 is Beyonce preggers? "

= "Coleen=20 Mcloughlin calls herself a 'journalist'"

= "Kelly=20 Brook split with Billy Zane"

View all forums

More on handbag

ENTERTAINMENT

  • Entertainment=20 home=20
  • Autumn=20 winter previews=20
  • T= he X=20 Factor=20
  • Strictly=20 Come Dancing=20
  • Competitions=20
  • Quizzes=20
  • Photo=20 galleries=20
  • Reviews=20
  • Videos= =20
  • Special=20 features=20
  • Everything=20 in Entertainment

Forum

Join=20 in the chat in our lively Entertainment forums!

"Recent=20 10 out of 10 books"

"Peter=20 Kay's Britain's got the Pop Factor"

"Hollyoaks'=20 McQueens "

"Music/artists=20 you find intolerable"

"Post a=20 picture of something you've made "

View all forums

More on handbag

SEX & LIFE

  • Sex & = Life home=20
  • 101=20 sex tips=20
  • Daily = horoscope=20
  • Post-wedding=20 blues=20
  • Body=20 shape special=20
  • 20=20 things you never knew could make you fat=20
  • = Careers=20

Forum

Join=20 in the chat in our lively Relationships forum!

= "never had=20 an orgasm from anything in 27 years of being married"

= "Which=20 Song(s) make you melt?"

= "Not=20 using condoms at certain times?"

= "Want=20 to try shibari but not sure how to ask OH about it"

= "Knickers=20 over or under suspenders?"

View all forums

More on handbag

=20
Hot topics=20
Everything=20 in health & fitness
=20

10 of the best: diet and = fitness=20 books

=20

The Hot Body Plan

No, it's not another diet but a chance to question and change = personal body=20 and food attitudes. It's like a personal coaching, food educating, = fitness=20 regime all rolled into one, and at a great price too.

The Hot = Body Plan,=20 by Azmina Govindji RD and Nina Puddefoot, =C2=A35.24 http://www.amazon.co.uk/Hot-Body-Plan-Good-Healthy/dp/009= 1910528/ref=3Dsr_1_1?ie=3DUTF8&s=3Dbooks&qid=3D1218808078&sr=3D= 1-1

Published: 15 August 2008
Printable= =20 version Forward = to a=20 friend

 
=
3Dcryptogram=20=20 =20

Enter verification word written above:
=20
 
see all... books | diets | diets health=20 product | exercise | fitness | health | lifestyle =
Share this?=20
del.icio.u= s=20
<= IMG=20 src=3D"http://www.handbag.com/themes/yyw/images/diggman.png">digg=20
newsvine=20
furl=20
reddit =
now = public=20

Comments

(0)

Leave a comment

=20
Name : Anonymous (if you want your name to appear, please log=20 in or register)=20

=20
3Dcryptogram=20=20 =

Enter verification word written above:
=20
=20 =20 =20 = There may be a short delay before your = comment=20 appears on the site; please don't re-post.
=20

Have you read this?

=20
Maia=20 Luxury Resort and Spa,...

=20
Shrek

=20
Miss=20 Dahl=E2=80=99s Volumptuous...


Top=20 10 exotic spa destinations

Promotions=20
View=20 all
  • Win=20 =C2=A3200 to spend at TK Maxx
Close all promotions=20

Everything in handbag

Fashion

  • Overview=20
  • Galleries=20
  • Specials=20
  • Regulars=20
  • Features=20

Beauty

  • Overview =
  • Galleries=20
  • Specials=20
  • Regulars=20
  • Features=20

Celebrity

  • Overvie= w=20
  • Galleries=20
  • Specials=20
  • Regulars=20
  • Features=20

Entertainment

  • Overview=20
  • Galleries=20
  • Specials=20
  • Regulars=20
  • Features=20

Visit our sister magazines

=20
About = us | Contact us | Privacy | Handbag site = terms and=20 conditions | Advertise | Websites we love = | Press releases | = Handbag's= =20 Applications | Friend us | =
------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://uk.sitestat.com/handbag/handbag/s?health.top_10_new_diet_and_fitness_books_the_hot_body_plan R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/blankpixel.gif R0lGODlhBQAFAIAAAAAAAAAAACH5BAEAAAAALAAAAAAFAAUAAAIEhI+pWAA7 ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/hot-topics-img.png iVBORw0KGgoAAAANSUhEUgAAABUAAABQCAMAAADBXM57AAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEFUExURf39/cbGxtnZ2ebm5u7u7uHh4f79 /cXFxd7e3v7+/urq6ujo6H/W/cLn/OHi4YnY/fz8/Jvd/dvw+/j4+N/f39jZ2ODg4NLS0vX19Z3d /qLe/YnX/dna2cTFxMnIyOXl5dfX19rb2s/Pz9jY2MHn/fv8/fX4+uz3/evr68To/L/Av47Y/en0 +5vb/YvY/aPf/c3NzYbW/Nnv/J/e/cPn/NTU1NXV1fv7+9ra2v///5nc/YrY/drw+57d/dvc28LC ws3MzNzd3KHe/unp6YTX/NbW1uv1+9vv+9vc3NDQ0JrZ+vf7/Zvc/cjHx4/V94bW++jo58vLy+Tk 49bX1tfY14jY/QAAAMM39zMAAABXdFJOU/////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////AL5j NeMAAADGSURBVHja7NDHQsJQFEXRk57QEiCIIkWp0gQsgDRFkCZFKff/P0VHIU+ZM3l7uIYbuj67 bYsRYsIQvxkjkdUBvkQJ8H4wKhqZF/3SUqVnt0ZU6SYenhSRmrt0D1jhwrXPj239qDsZrcqhc9X1 Q/l2lJqy+uAL1vrmE5SkoxSVEWoEY49mFnbCUUrfYbpZvpfXOUU4Kr15EBrfL/IXArmUVh70qp8B gRglzWsgoNEfpVfJ1uifUkmgE8o+48qVK1euZ9EfAQYAJ1oVhDwB59gAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/blankpixel.png iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAMAAAAoyzS7AAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURf///wAAAFXC034AAAABdFJOUwBA 5thmAAAADElEQVR42mJgAAgwAAACAAFPbVnhAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=83150 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 ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/icon_print.png iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAYUExURcXFxXd3d7u7u87Ozm5ubouLi2Rk ZP///5I4g1cAAAAIdFJOU/////////8A3oO9WQAAADhJREFUeNpiYEcCDEDMBgYkcJgZYBwGJgY2 VhiHlQ2NwwKzhRHIYWNhBQNGNhAHARhYEGwWgAADABLTA2S+pTSDAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/icon_email.png iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAtUExURYGBgbu7u+Li4s/Pz7KysouLi8XF xezs7J6enm5ubnd3d5SUlPX19WRkZP///9UHMVcAAAAPdFJOU///////////////////ANTcmKEA AABHSURBVHjajIxLFsAgDAJR+0sCuf9xa619z2VnA7MA5AL+CvThSMbsQWSw2dMLAylr5y6v1dVF uniw9Bwi38bwlcl6bbcAAwAwpgbifnjk1QAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=captcha&func=image&ext_cap=sendto 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 ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/modules/captcha/images/reload.png iVBORw0KGgoAAAANSUhEUgAAABkAAAAfBAMAAADgnntNAAAAMFBMVEX5+fiSrNQha8gbXLY3g9Nl j7OPpbxZreptyviR3vlOeLLQ2OTExsoAAAAAAAAAAAAOWoR9AAAAAXRSTlMAQObYZgAAAAlwSFlz AAALEgAACxIB0t1+/AAAAMVJREFUeNqtkLEOgjAQhotxUgdieIKiJmxC4wMgqJHV6OLoppsLZXXh uiIJ7WYIk3HQNxS56uDMv333/ZdLjpDWYtjBwiQHDSuh0ugVIA1FzEVBL6icNOZcqKyhXgICUlB5 Q508HCUAgM4KmFvVHh0b358DR0p0s+2edJXSe5/YHqW0KXrMZr/xui4tSX+3+VJ2I9bRRpKi8K+s jJAARBHOua+bNQIUU00S4phnJhIVEkBN8IJ3qriSZ1TEJUbpsUd7f/3LGyStPomWTi0LAAAAAElF TkSuQmCC ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/icon_addforum.png iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURcdJk////1MixaMAAAACdFJOU/8A 5bcwSgAAABxJREFUeNpiYBgIwMjICCFBDDCHEYkDZTMCBBgAAsAAH4rTLGMAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/delicious.png iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAvSURBVHjaYvwPBAwEACMjA0HAxEAlMGrQ iDYIlNQIJsi7d+8yjgb2qEH0MAggwACkHAe4CksmwwAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/diggman.png 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 /AAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/newsvine.png iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABtSURBVHjaYlRQVmMAgQeGf/4zEAkUzrMw wthM6Jr/r77LgI2NDJDVM2FTgEsjNoBhAGOoMhijG4LLUCZcJoMMIcZFTIScD+LDXEW0C5ANwaVx NAwGUxiwEEqqsDAg2gv4XILTAOTsSWp2BggwAOAtRJkgn4W/AAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/furl.png iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAA/UExUReCggP/78OCAQODgAOAgAMDcwMDA wOCgwMBgQMCAgOCgQOBgQOCAgOCgAOBAAOBgAP//AP///wAAAOCAAP///zxOvrAAAAAVdFJOU/// ////////////////////////ACvZfeoAAAB7SURBVHjaXM/bEsMgCEVRYs21Ch7g/7+1aBsn0/24 VEbIXR+5k2sbvaLW1Elrz4zWdbtqVVIbbYiS2Q0CLMdlEyQBJDYhlT2gpBtkwYgmlDNGnEXmEzmA neUH0q8A49ykQ0TAW0Zf4JjKT+jfmuDKzDlnHsVy/+t/BBgAHgAPUF/XvhEAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/reddit.png iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGDUExURejo6MrKyqWlpYKCgoODg319fczM zIqKiqSkpHR0dHZ2dpSUlG9vb4uLi3x8fIaGhsfHx1hYWIeHh6urq6ampq6urpCQkIiIiJycnMnJ yYWFhX9/f/f391dXV+3t7eHh4bOzs//Swf/RwP+/p/9nL21tbWpqanBwcFZWVrGxsZeXl8DAwJub my8vL/+JXTg4OP39/VpaWmlpaf+CU/Hx8ePj40BAQJ+fn//OvcXFxf8dAP/Uw9bW1qenp3t7e5OT k0dHR+vr62FhYTMzM9LS0pmZmZaWlqCgoF1dXXV1df/l3H5+fpGRkf/m3YSEhKGhob29vV9fX9PT 0/++p8bGxo6Ojunp6U9PT1tbW56enlRUVM/Pz/+NZOfn56qqqv+JZGJiYry8vNzc3JiYmP+piO7u 7u/v73l5ed3d3XNzc//6+eTk5MjIyNvb3FNTU/+CWf7+/v/+/jc3N3h4eP8hAMPDw3d3d83Nzf+J YpqammZmZmRkZLu7u+rq6uDg4P///////zbF5QQAAACBdFJOU/////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////AJLI408A AAD3SURBVHjaTM7TegRBEAXgGmNtb2zbtm3bNk8/eiaTTrLnor6u/6L6EPvNWTx4XJLqrGf0R9pd uVmVVkIZ5LSe5uCM959mDWscTgmM03SXPLwUf1mzF+oZc7oLzEA/UWzlpEguHGc0GTVqLsBT1rgZ 0cktGdfIex4F2q5yQNuSg94rPnGaf78P1LVWAvptFrE34GZufQLI3WoGBJf146OKjJQ2WdTiO0By 73xxI1sE2n0f372iqXkIiaMReRcdl+pP1afXZTGmCt6BbqWB8fa9q0MRzR8O9mmMk17ssE9XK7U7 nCQxbFPSE3Bx8oQWbEonHvzW+iXAAC6FbZQFC3i3AAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/nowpublic.png iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAMAAAD+iNU2AAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABFUExURXNzc5SUlISEhOfn51JSUmNjY3t7 e0pKSmtra5ycnMbGxlpaWrW1tb29vaWlpa2trd7e3u/v7/f3987OztbW1v///////xy45M4AAAAX dFJOU/////////////////////////////8A5kDmXgAAAIdJREFUeNqEj0kSwzAIBHFsa0NiEZD/ PzXmmFzCBbqaoQp4fxf8cpi7iblltw3GY0LtY9jgUjuIRVBdEXuHvjr4w9J463FIOIH71mAKwWvp OdOb6gpdM2Jw8jPJzgOSeY9ZNNL3UjnzC/mRrSIi5f6oReIseONFIAf1G4hma9Aaw79/fvgjwADs cQ+5xvPYBgAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=captcha&func=image&ext_cap= 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 QmCCUmVzb3VyY2UgaWQgIzg4 ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2E4M2Q4NzM0ZWMzZTU5OTk0NzZjMWEyMGVhNDcxOTQwLTcyNjc3NTZmMTc5Mjk5YTZlOTYyZjI2N2U2ODk3Mjg1LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAPAA8 AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 4RfGEsMRYy30QPA2XAZc/RlJ7+tc0JowluZWcKASSvXrXWSeBLnUE+z6dcxzFSW+c7SRj09c/wA6 4khvKRXHIBH6mpqUJU2lJWNaNWM78pv3vjHUbo+XE/kJj+Dr+dZG9pld2JL55YnORU8PhzVppQsd jM2cHIUkDNdjo3wv1m7thJO0VurnlWbDqAT1H61Sw89kifawitWcTBbSTzeWiljkcD6gf1oeCRZT GUO8HGMd817hongrTtEvDe3G+actuIQfLgjp16Z/lXU6Vo/htyyQ6YjybjIQ8YJyWz1+tavCNLVm f1yN7JHzRc2M1mI5ZomQyKMZHUdaqk8nmvb/AI3WVlZ+GtJFrbxxkXGwFRyFCHA+leHZrCcVF2R0 Upc8eY9D0zX1eESRMclSGx/Ccc1wMg5T6f1qBWIcckZ96nuCPMO08dq6sXX9q46bXOfB0/Z8x6na XUkeNkcgJ64BrrbDUpxapALcyBuSxBJrzex8Ra5eKs8GFjJ4UqMH8+a1Rr3i1YSsGI8jG9FXP616 8vfV0jzEknZs9W0+BJ4RIYXgJO1lEnB98VTgW4i1pW0+zm+VtrsxADfh6V5hba342tgPKvLsgEn5 2V//AELNbNj438cQP+8gjuvaSJR/6CRWDpzV7Gq5e4345XodNLtTbtE+92JJ4bAA4/76rxqu5+JH iDV9cvLD+1bVLYwo3lqmeQSMnqfQVw57V5GITVRpnq4dfu1YjcjcoVifWuj0nwV4h16w+26bp5nt 9xTd5qLyOvDMDVm48LieUsl3FGo6KkB/pUtkPFGlhLbSNTdURuI4pdnOeThsVdSKUtNTOlfl1NUk aPdCwvUFnPGBmGRhlR26Ej9a27e+iMAw6kHoQetJrPhOW8urLUNclg1Kd4DJIYpTBJIFHAYlQGIy PujOB+NcpNvv7GaxsrBbb7N+6EuVDArzg45J56+9ejDGym0ox5vRnDUwcaa5nK3qd7aXKtGCCCKv afMPtNeb+HLfWbWR2mctCEwE35+bI5x+ddjaJfKwcFQT2JrrXvRu1Y5ZLldrnN/FdlfWbHGOIDkA /wC1Xn5rsPHhuG1qAXK4YQDHIPG5vSuUKV8/iXatJHv4WDdGLPV44J7l0T7YFJzkYxj9ef5+1UZr RIpJRJcW8uOASWBz7cf/AFveu6+D+pyX95rUU0Fv+48sowT5ud2ec+wrjviz4jubP4iSQJbWjRQw xgK0f3sjdyQQT1pV1FVOSKMaacl5lD7a8S7YrklcMBFMN20Hjv0/CotMex0yZ3WCW38zl2jfeD74 bP51fmSO9ijleJELIDiMYC8dqwpSYpWVWOAaU1UpJXe4Rq+96Hod5f6HqGjWcWmQ25uIgA/lAQyP herMRg+vvVKxs5rq6toIrlUMrYZpgVVOcckZ/wAmuIVd7qclWz95eDXeeHLRms1kkup3wpwrEYH6 VtQxlSEWtxyw1Oo72scv8QdFax8UQWlxdQTyeQhDRtkYLNx9a5yTwzfEgx20pUgHhSa908VaTpcv wwutRfS7I3kdvlJ/JG8HdjO7rn8a8RtfE2qwW6xx3LKo6AE15eIqVJS5+rPXwsoKlyJbaH//2Q== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2U5OTEyZmQ2N2ZmMzlkMzY0NjI2NDA1NTU3MzQ3ZWE2LTcyNjc3NTZmMTc5Mjk5YTZlOTYyZjI2N2U2ODk3Mjg1LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAPAA8 AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 77y/agR/MKtbPagR89K0OI1NPQCMVuwD90KybGM+WK14hiMVDOmBSuo92a4PW4T9rKpnJNehzDOa 4zXLZjOWUlW7MO1dFGTV+XcckcbPIolkjBLvHjIA5ORkYH6VJFdXsUSpNpEjP6hx0qez0aaKeaVJ 2ZzgedNyUycduoqusk2oyztZWl9JFDK0JkNq4DlTywwx4NeJjMyzCMlRhZOK956at9vKxrClF6nm +n6hqCSLBbzyuCyr5W87WLdBjOOuK9y0G+jeC3s5lWG4RFXbnhsDsTXzpbXpstVhnQkeXKjZPOdp Bz+Yr2HT7k3l8jg/uY7gln9wDwD+KdO+fStlOUJXNqkI1FY9gtIQsYp9xe2ligN1dQwKehlkC/zr jvE/i+Xw94ch8nDX9x8kTMM7QBy2O+Mj8TXkaQarr948qpc3s7OqvIctgscLk9Bk8V3whzK56GX5 PLEU/a1JcsfzPouOeC6TzIJo5UP8SMGH6Vi6tFGAWYgV46y6z4K1OJ47qJJWG4iCYSK2DgqwB/nX qFrrMXiHQ4b9FCswxIn91h1FaxjZmOYZbLCxVSMuaD6kc1zBa2EcEUH2i5uPuJjg/X2rLW+8XWha GPQI5Iwx2NBdIqle3BwQasalq1p4c0pdYu4ZZI4xsZo13FBn/wDVVKP4peGryNZEuLlABgjySefw yK+Gq0q88TVny395rr38mjlj8KPD7jQbn+2YdPkwWnlWJZVGQcnGfrXseneDbfw9qgWC/luIcBgk 3JQ9O3H6d/euZFza2+t21zcDMUdzG545Uq4PA/DH412v2q7uj52xI1kYuSx5A7fkK+jc04W6hZ81 +hi/EUyx3+lzgAxrEQu5QV3Bsng8HtV5NUsD4V1fW9Nmisb2b7N5tqhC7JkkB3IPQjJx7GuoufDM Pijwz5DtskU7reXrtYf0Ncp4Z8DXlhq8smp6b9okhOIYzgxsf75Pceg/SvSpyXIr9D3MPjcM8GlU dpQe38yve39bEfiEnxHokP8AZmlX99cmXzTef2eIiF24KZQYbnmrngW0urbRr2K5hkiIn+5IpUg4 GeDXoK2F5cAfbboon/PGA7R+LdT+lSNZW1rbOViVYo1LbR3OKaqWPNxGYurh/q8Y2V77nCiW01vS b7T7tf8AR2Zom/3T3/nXlN98FtTS5I03V7Ka2PIaSTYR7cZ9uePpXYjU4LDVo4Z2MVncDymY9iSN rfh/I0ah4Z1A3jmG5jkjPIYtivlq2MqYPEzu9J6/5nKlokjj9TnaS7U2KtNMZEKRqNxY56Ad816J 4Ytr3X7ZDNAYIElMUpJG4FQCRjqDk45ryXRtUuYvEGmzRlVdbiM8Dr8wr6chiji3eWipuYs20YyT 1J969unRUtWZVakouyNKzRIYEijUKijAA7CrfaqkH3atDpXSZRGMcc1U1DLWU0QOGeNlB9yKtHlg KzNUkZFbHpUVHZFo+c9XvgzTRSoQwGDlgCMHkeueDVC31y+hhCC4lKjpulAOPzq54rRT4rvIgoCs 7MeO+Nx/WsOBEMfzIDjjmuWdOE17yudCP//Z ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2MyNzlkYTI4MjUzM2RjMzI3ZjMyNmY3OTkyMzNjYjFkLTcyNjc3NTZmMTc5Mjk5YTZlOTYyZjI2N2U2ODk3Mjg1LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAPAA8 AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 4Y/65voP5mnUh/1zfQfzNdPaG3XSbMyW8Ts8VxICY1PzRgFM8cjKnI77jWzdj9QnV9nFO1/6bOZo rc/sqB5obqZvLtZpFZgh5CbQzYHPckD02n0OK11pMkOGTChY/MkJfOz5iuOB64GeevboC41iIN2M 5c/NhgvykZIz2poE0ewltrA7w2OcdBg/hXRTQW95awm7ukSc24dNzANwpABJ/vED889DmrE0Nl9t S4jlt5zFZJGsbOu1pBDHzg9ssx57qfpSuc8q0ZSu1qcqSW6+uaan3fxP860tUt0i+zyI5bzIgGyu 3kcZUf3cYwe/NZq9PxP86Z1QkpWkhHba7t2AyfpzSi6mUgZkAUFRjPGc5x7f40p/1rfT/Grg0u9f ywsPMiLImSOVJwO/c9qGRPTVysUI7mRXV0V16FWHBHvTo7ueBt8RkifB+YNjj6j8auw6PqM3lCOI N5ihkAK8jIHr6sKZHpl7NjYqHKF/vKOA2CevrQZXutZ/kVJp3MxZyWJyWzyT05pvnAZJBOOy81Zi s7qWB5k2lI/vdM/lnJ9eKlXSNQkMgEQJiAZwcDaCpcZ59ATQVKUk3aVvu/zKIlY4yuOgwacvT8T/ ADqeaCSBlWQAFlVwMg8EZHT2IqFen4n+dBrBNbu4p/1rf59asLqFymNsrr5aAAgcAAgj8eBz7VXJ HmNUTzyFGQcKeoXuRn/GhkVZqMUXft88UheCTzNgCBlX+EEEdvUCnG8uI5CozHtBQIyjKjOSDket Uo0iXy5WIcsD8pPQ/gak6UIVJc/vSQ+G7mSBokkIRjlh65qd9SvJHZ3nLM/3iQOeCP5MR+NUo+hH pj+Qp9M1jCLWqJZbiWdUWRgQoAHAHAAA+vAFQL0/E/zp1NXkfif50mVZJ2RG+RM5YEjthc/nSIoE hJGTnPIzj/OP1qRwDIc+tM6hgSTtbbz3HHX86DllBXs9SSWRpJAxzknLYTH8vfFIzAjHPPqMVBwJ QoAApBzKv0zRcbquOlifdtyWGMn8fyp4IPSmeQudxZifenIPl9Tk/wA6Ea05tuw6mJ938T/M0+mJ 938T/Ohmr3P/2Q== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2U2ZjVmZDdjYWMwZjQ3NWZjMzM2YzdiNTM0OGQ3Y2ExLTRkNmFmYTE4YmUxY2Q1MjdlZTU5YWFhMWVlNzdhZTU5LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgATAAx AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 5TxP48DFrTSTtHR5/wCi/wCNYGleLb2xIVpCyDv3/wDr1y5dR7mkUyzHbGpJ9FGa641uXRCm5Tlz Nnrlj4+08yQw3WFeUgB06DJxyK2bwvNKyl+B2rxSLS5XAaSaGH2d+fyFdlD4vFjZRRSzxzzouDJg /NQ1KTvax00cSkuWo7nTyQOhyFx6E1jStcNMfLtnJDbQ8gwCf9n9e1R6F42m1LVfsUsUZEqny2C4 wRz/ACzXUXC/uciLaMcyYwQO/PapTs7XNtKkeaJzvmXv/QPb/vpaKn2aX/z8j/wIFFO5jyT7/keb +TZ2/wB9jK3vwPyHNNfUSF2RIFX0HAqOOxkdtoyzHsgJNb1h4E16/XfFpkyx/wDPSb92P1/wrCVd RWlkYKlKXmc288j9W/AU1I2kPy1rR6UbstDYOLq4U4ZI0YDHsTj+VZ0sMltIyujI6nDKwwVPuKjn 5uo+S2+wtvNLY3UVzCxWWFw6n3Br1j+1pdW0+KaORf3qgjPOPr9K8pZRLH5itkj7ynrXQ+FrxzHL ZGQjZ86c9j1/X+dXFrc2ptwfL0Z0P9m3H/P4v/fAopn2hf8An4/WitPmXyx/pndeG9S0xbm2nsjH BbPKA0VxYbRjPOJE4z/vVc/tWXUibb7VJKWV8JHYNEgOxsZZznr6Crb6c2n6SyhQCHDYx0yRWNqV zc291p8kFwYv9ITeABh15ypz6+1fM06sajSS3PQnDlTlc89+Gbzw+Ir6SC2aYqnzKsxTC7uT33fS tDxHoVzqxkur0RwXKKSCvOR6E4H8q5/w6bu21nVDZtKvluRIYzzt3H/61ddo0TXupXbXK3PlzWUq q0sgYZC7hgZ/2a9irRb/AHkJWa6Hn0qkbckloeWyWc0J3hcpuK7wcqSPep7C5bTr2G6wGEbfMv8A eXuPyroNJ0mGbzh/Z5uJEleP72OQB2z0zTr2FIXaN7KGKe3jMjiJVVsetdcYta3MWla6Nr+3dF/u r/33RXIf21H/ANPH5j/Ciq90ft5HoV140v8AU5PLudX00RMYy/lTheVxnH4j/wCt3rprFYtau7Oa C9Hk283nOEwd5XnBOenSuLPh7wNqMbSW+orHyBuafb/6FXQ6J4ds7C1ePS9TMqOxfBdWAOAMjH0r ihlrUlK35GrxqceV7HnOlyrB4g1VJhKElnaMqoPdm6juK6vw3q0OqapParGEtorSSTJJGTtwOP8A eYU6x8BXNhqV3Nd3sbRXDb9sTMCeScHp60y5v/D3h0zAS+bMVMflId5/nweO5rpeGqq72OdVqemp zOmX0kUs8KSPDchpGDJ03nb19RWdaaiF1GWXUw8zuhVjt5Yn8q0rvW5L6F4rXT4bO2JDZVR5hwR3 x7VhO2XLdcdWAGa2cWmmc7knc0v7Rs/+gfb/APfxaKyti+35iilzMm6Na4sIIbczbCYweTsORz6E VWttKW4gM8bupByARz+lbDuWjjyeCAcf8CrQlt4hdqoQBTC3A7YGawVR3szR00ruLOaB1HymhOo3 Xl5w0fnNg/hmmWtrbxsfNUnGQOnXHFS7fmU5OS65NOjUB5uM/KTz611SXKjnjJyepCJB2XPY4PB/ Oq7oIld0zg9sc/nVuIhJEIAPLdadIuYXcnkVrGnzR5rmbqWdrGPmP0f86Kf+AorkOi5//9k= ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkLzJlM2YzMzcyZDNlZGFhZGEzNzdmY2M3NTBjNTEzYTdlLTRkNmFmYTE4YmUxY2Q1MjdlZTU5YWFhMWVlNzdhZTU5LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgATAAx AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 8v20CMswVQSTwAO5qXZSbcV9DYzImjKsVYEEcEHtTCtTlaaVpWAgIppFTlaaVqWhkOKKk20UrAaG KTAqbyzSeWa69BcjIStNKVMFBGQQR7UbahpBysrlaYVqwVqNhWbCzIdtFOoqdAHjUgTgDJqhqFxq F0oit7acRkcsqH5v/rV1HhfSrfU9XWJ3jCojORIMBuwH5kVrNp620hdL025VIfkgBO1GVWBXJz16 89a4K9Wo3yQ/Mv28Erzv8kcDYadrVnJhbG4Ck4KMuMn6HvV6SeaJgssZRiM4Nem6xp8mnap9nt5V m2xxOZChZnYj7xJPU5561k6x4fdgssKrNA8IfzBb4Yc4xx6E4/CsqFWrF8srW9SKmKoxjfVeqOCN 0x7GomuXPY/lXo2m+G7a5skWOCO4umiwURXBwScZx3+p6Ypmp+CJZ1muDplxYsqKBGArbjnkqA3T HUcetWsbF1PZlvSj7Z7bnnH2h/Q0V03/AAiU/wDcuv8Avx/9eiu3kmef/aeG/m/MXSY57O8SeMEE f41rrp93dSCQsVHkpFz6KAB/Ko7RwGG1S30FdLZQXF2AscD/AI1uqNDeb1Pna+OxklaA+DTb7U74 zKXdmCLwePlx/hXRz6BJomgG+1a4eG2gX5v3uGOWyAOOtTaRoGpRsGEnlj0rzb4reKLy+1ZfDq3Z ktrBsy4PDTY6f8BBx9Sa4cTXVNWpNHfluEniZc2JTb+SRo383w7uJpbqe11Sa5lO5iLgAfyrjtTv LC2uhPoQvbXYQyb5tzAj3AFN0HSW1G4Cs3HuK9W0j4Vw3kCvI6qCOpWvnoOzV22fZzsk9LHlX/Cc a5/z/Tf98iivaf8AhTen/wDPwP8Avj/69Fd/1qr3Z5n1HC/yx+44nSraNcdPyrttLmitwOFzXAW8 roBtNX0vZx0euWpUnJ7nTHD00tjtvFfjqPwx4Xur5dhuSvl2ydd0p+7+A6n2FfNcV20l07yv5krM WkkY5LMTkk/jW14/1O6udait5ZMxW8HmIvbcep/QVyMEjK2QauEW4alRSg9D1TwbqCw3SFmHXuK+ iNE1KC8sk2SIWA5ANfI2k3UySDa5Fei6Hq9/EqmO5dfpXNy+zlzI6J/vFZn0TlfUUV45/b2qf8/b /kKK0+s+Rh9Xfc//2Q== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkLzZiZmI1MjY5MTYxZjdmODFhNGEzMzk5MWM1OGU5M2IxLTRkNmFmYTE4YmUxY2Q1MjdlZTU5YWFhMWVlNzdhZTU5LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgATAAx AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 5/4X2cs+o3U0YciJ4lODxkuD+P3a9o0DJsII5A8bIDldxBHzHrXnnwhhSDT3mfhrm8O33CgAfzau 2a5/svXJIn4jmkCjnoxGQfx6fWrm0pq/U4YytE39ZspLywSK3ALCVHO9ugBz3qV4USNNw+dQM/Mc ZpEut6HH0ptxLwT60cupq5K1yvNZC8dHjEeRIjtu9M8isTUltzEVaJNw56c1v2kpMbA9mBrktaZo pJcNnDkZ/Hp/n/Gsk+XcxrP3VYzftr/89Iv++KKvf2M//PUfpRVHLySOP8LSvpdjosaE4QCVh7tu P9RV7xhrRuZILm0uE2Pj5lPHByPxzWXaN5eoRRfwRrHj8gK56zto7XUb07d+Ud0ic5UHI5Gehq68 VJIpydrHs2i60NQsmYI6OMbg30rSubsBRk9hXEeGr3FiSAQxJBBFT6tf3D7FSWQAgD5FqnNLVnRC LcLXOvsbr5WIycnBx7f/AK6xb23eTV55ZUxsYbZN3ygfTu2eKi0d5Us90jOCWJ+bt92rFz5txqDk DKqcLuOFGe/rn/Oe1Yz1dxSjokT+Wvt+tFVsSf8APwv5L/jRVXQuU85tgz6lKBnhRj/voUltal7q R36tGQV+orpNC0ywu5Bcw6pYyAqFYCTlTxnr1rptM0jTLOeSe9tl+zFQEnmkB8wjP3VB/nRVqxjo zSnhJ1NjF0fT/sejnIOWO4+1apszJDFgD7grrbC80i+kMMMEO1R3QDNS3jaba4WS3QDH8PHFSq8b c19Do+qSXunK+SUtsbfXOPrUL20y3m1WZnLcoBntXWxR6TKfkdfXG6nyz6Zp8Ut35iAKNzFetLnj LqJ4eS3OP/s/UP8An0l/74NFaP8AwsKx/wCfSf8AIUVVzO0O55j8O7uy0uzGpeUJpdpIXbnt2HrX Y+K9aTWvCIlgjWO+R1LR8KQScHOenXOTXkcXh7WUsy62V3HblhtZAwjJPIHP410t3oHiDTJEn1Np mhZVMhc7o8cEZxzgcde4rz6nNd63R69OcLrSzK39s6j4dvktdQuI/MC71lt5hInPYsvQ/WussfHa 3MCpeGG5UDjf1H0I5rH1LRdTeyWaHSY5hjIZCzgr6jA5rBg8Oa1qaF7W0RcL0aLbj67qw92eq0Oz bR6nptnrmlX0gVVlgc8Ao4Yfkef1qvr7HTdNnkkmV7d1Me8NjBIOAQelcTpngbxLJtmeS1sz3Ejg kf8AfJNdvpPgC9vrN08RajFeKwG2K1JCgjodxAP6GhU9dHcynKNjzDdN/wA+k3/fVFenf8KqP/QY uf8AvhP8aK9DmXY8r2L7omTQrQxQRS6xqvkQEGOGJ0jVccjouf1reS/tooyh+1TAjB82bOfwxisu jNeA8XVf/DHreziav9pwYwtqSvo0hxTDqIPS1hH1BP8AM1nilJOcVHtqj6j5Ui8NQl/hSFfpEv8A hTjqN4etw4+hxVAE0juQtP2lR/aYvd7F/wC3z/8APxJ/31RWN5z+tFXzT7kc0ex//9k= ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2E4M2Q4NzM0ZWMzZTU5OTk0NzZjMWEyMGVhNDcxOTQwLTRkNmFmYTE4YmUxY2Q1MjdlZTU5YWFhMWVlNzdhZTU5LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgATAAx AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 37rT7SDw1qt2JGW4ii8yN1OMEAEHFZ/hu503xL4v1fVLu1SWeOKMIDyN2SC314FZmv8AiKzPhbUL ZbxfOeMhUcFSeAMYP1rmPAernT9avlLcSQ5OTgHDf/XrKnyU4qKRo+eSlJ76Ha6vpEQkaQbdvBCr 06nrWOdsQKquSM444pmq+NNPh8wGU3Tk5EUQ4yPU9P51wupeJry/dgp8mMnOyM/zPX8sVhXpKq7o 6KNSUY2Z1mo+IbWxQq7edMOkSHhfr/kVxmp6jLq0qyOqqqDaqr2H+fSs5mJ69M0kMjKJA397j8qK NGMRzmxcD0oo8we1Fb2RN2Wr+XUbO2EEklxHGxPmRkkDjsR+VUprmUGRUkIRjkgd69CvdXhn8N30 f7uUzw8FxuI57elcp4dt7efVpUuI1eMRtww46gf412VMJy1o009zjpV+alKb6GPah3mjADEk44rq NE8F6nrFzAsdtIsL8M5XG3Jx3/A/SvQfDQ0iwn3xWMEYCkF1TLfrx2FdnasmoZ8t12j+DyyuAfcV r9SUX77Mni2/hR50vwX1K5keRbqGOPd8qsckj1yK5H4geFv+ER1+KxWYSrLbrMCO2Sy4/NTXutjc Cw1n7OZDMjfKVVSdh+vSvIfjNeJd+OI/LlEgitEjyBjHzOcfrWVekoK6Rph6s5ys2ee5optFcdzt sTW9xIp8kyuIm6rng1o6HqMmn6oZI4VmeRDGqsMjJIOf0rIdHSUBkZMDowxXoOm+B2tLN9Wh1jTL po7YytbJITKOMkAYOW6iuyDftk5O1jjS/cyUVe5o2et61Hgx6ZaOf93H9atReKfGcUzvHDCFbHyC FNo9h3/WsjRdcgumYQrMSgy37snaM45x9a2dO12zuZikdwhf+6Tg1679nPZ3PMTnHdWNbTvHXiqG UmXQrWYnqY12N+eT/KvMfHeqXOr+L7q6u7UWsxVAYQc7cKO/v1/GvVtNu1+1E7hXlPjtxN4z1B1w clP/AEBa8/HQjGCsup3YKblNp9jmcUU7FFeYenY7640TTHLs0cDO3OcuT/OpPD+k6Lp+qrfX1rcy wYI2o5IB9eMMMH3ruPCMGg61ZXc1xrcVu0GVKOijCYzu+bqM5/KuKXVNJvNUntLXUU+SRhC3kbTM AeD6c9cE1tVlJVHFSvL8f8zlhblvbQXVGkklsIdMe4+zDIm8oq2zJJPbdycHnP41PZeAZIvN1qFX MMcm3hxksRjhThj1qhcRSwvlsMezKcGr9jq2tNAbSDzbq3c8wuhbP4jmqp4l0paxVxShGstzUtYr VSA8kgbvzg1594jtyfEN55e513DBPXoK9Y8OR3pnjuX0w5tgT5c+11APHTOe9ZHjfw/Fpmsf2uLq 3v471y8lpawlGhH0BOB9aeYY1VIqMVrubZdhFTqNze55LsPpRXbef4a/6B95/wB9/wD2NFeT9Yl/ Kz1vZ0+5j63qWnaaFh0875TIC4lUMFXHuPpWtozaF5nn2UOZW6s3UZ6/T8K5f7BDIxdwS2aRrh9O J+zYU+uOa9+FBczqM+elUaXKz0+4ltjDC0UEds4QB2kcNlu56cD2qSTxTo9lqAnutRKOnT+zgB2x xXj8+pXlz/rrh3+pqqWY9zUSpx2BVXbRHqkvxStLSOVbPSo5ZCMLNcNkjn0GK5jWPiDq+sZ8+fAP QRoFx+PWuR60oAxWaUIu8Y6l885bsvf2ze/8/Ev/AH2aKo4oq/ayJ5D/2Q== ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2JkODg0MDk2ZTc4ODA5NjkwNzE5Y2ZiMDdkZTEzY2M1LTRkNmFmYTE4YmUxY2Q1MjdlZTU5YWFhMWVlNzdhZTU5LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgATAAx AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 2fLqvd6dbX0Jiu7eOZD2dc/l6VqCMEZpfJr0dzl2PNNd8DzW6m40wyTwqCTau2XUf7J7/Tr71w5C MrfLlgcEDjFfQXlVw3jfwb9rik1XTY8XSDdNEg/1o7kD+9/P61y1aC+KJ0U6z2keXlmLfN16U/Dx EsD9R61IrR+QCE3ZHPtUOWY5J7cVxNHUmS/bB/cf8j/jRUX40VJWp9AQaja29nBvffJIC+1OvJJr WRN8attK5GcHqK4Xw3pV/qFwJFQiAcbzwMe3/wBavSYbRIUWNAdo9STXfQqSkry2OCpFLYo+T7Un k10gtYB/yyX8aeIYh0jQf8BFN4pdg9kz54+IPhddH1ZL+3TbZXbHKjgRydSPoeo/GuKlAMhCNwK+ o/FmiQ674Xv7B1UMYzJE2PuyLyp/MY+hNfMYiVM7htPoe1cc5qTukddNO2pVyvrRU2I6Ki5dj3+3 8d6HZWyW5tpbdkAHlbo+P/Hgf0ok+IWmlD5MRLdtzD/2XNeUHxHrWrEHUbiC6MaeSvm28bbVz0yV zn3q2mp3aKqKlmoAA4tkz+gpOrU6MqNGm1dr8T3vUdXsdH0/7bqNwtvbDAMjAkAnpnArFg+Ifhi6 cpa6ms5AJ+RGxgAk8kAdAayvisw/4VZeu2TxAeP99a+e/Dl+1tfspBaP7NPlc/8ATJzVpXOZn0Pd fFDwtLDJbxXrSSyKURVTOSRgc14XrohXX7vyjmNpC49OeSPzzWFppSXU4E80xqXB3EZ6c4/HitnW sf2g3BOS3T/eNS42ZpTehV8xf7ooqDa/90/nRSsaXPWrbwxqDXF1t0dII5Sq7QhzkDrkL7Ukvw/1 yJwzxwLu6A3Cj+daEfi/USvlfbCEA6rz+tPXX0+9hppu7OxrT2V9zjeNUfhVzsvGGgS+IPBU2kRy wRSSrGN8zEINrKeSM+leUWnwZv7K5eZtV011EMimOKUlmzGy8ZAHfua9V1fVmOlYfy0BK53Gse1v IZEMiNuIRv4TjpVxjdaGFTE8k0rXOFT4VzSQCa00O4Em0FDLcKB65+91ri9WtprTVZLe8TZKmdw9 CSTg/nX1BHfQWmjrdXLqkUUAkc56ALmvm/XZn1rVrvU5nVJrmVpGQn7gzwv4DA/CsOXl63PXlX9t ZqCjbstzD+Sip/sknqv/AH0KKLBzHTjXrMSBmsyy4xhXCj+VSf8ACQ6coBFtID3G7p+Nchj5fpSH 5SCKpVZ9xPL8P0j+LPSZPFTa1CYbLSLiTaQSwfOP/HarTavf2cLLLpMyKQV3yMcDI9cVZ8BPu0eX gDEx5HfgV1uM8VyyxU4uyPQhk+GqRU2tfn/mcdqPjltU06DTltRbwIQ0mJC5kIxjOQOB1x/hXPyN bbS2cE+orutV0DTruKR3gCS4J8yPCnPv2P415lGPM8xskFSQMdPyojU5tQqYSNPQs7l9YqKy/tL+ 35UVrzGHsF3P/9k= ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/?module=images&func=display&fileId=L2hvbWUveGNvcmUvaGFuZGJhZy94aGFuZGJhZy94YXJheWFyZXNpemVkL2ZiMzZkZmZlY2I3MTkzZWIwZTU4ZmFjYWY2N2FjNWI4LTRkNmFmYTE4YmUxY2Q1MjdlZTU5YWFhMWVlNzdhZTU5LmpwZw== /9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgATAAx AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A 9kk8TWg4iVpPc8Cmpr5kUgIqnsQeleEaB44nkaNLoh1HDleSvv7139prFtMVME+9TnnGMfWtXCPQ yUpdT0CPUnbkkH8Kvw3Cyj0NcXbXue4/OtWC8xjmsnoaI6Wis+3vl24dqtR3Ecn3WFTzFWJaKN30 op3EfGWmSAROMfvWBYY45z0z+NbWkavNbrG7TfMTtHzdQO9RWenaXp9xc263q3MoDBXHykAHGPrk VL/YVve3CSQNMjRAM+Fwp6HOeneslXV+prJRklbdHdaT4lLYWXC84wDzXV2uqiRAVYEV4qsN9Zu0 MpYgs20hhlQeB3rptGvrmEGIli4AOSe1bSdlzMx5T1WLUCeh4q9DfE/xGvMLfxDd+citHiNzwfQe 9dPY6vFNwX2sDgg1k6kLtFK52P25v75/Oiue+3p/eb/vk0UuaJVmeHXfw78WaXcG9u9EmeHBkLxu HAHvtPWtDQ9WtRALRCEIJJVBx1HWutuZltrWcxT6hZyyDO5JNoyDkZGfzrzi3S+huTEkjzIvLtkN hsDgc5xUznCcfdl+IlGV7WO8ufCtpdRvevqohXk4K5x/WuavNN+yanaiOdLl0JYovDlTjHy9cda9 H8D6hFrfhtA1qn7s+XIWOcnGT29c1zviq+Nrq15pNlKAHgWXfBIIwjZUBSM9ABmtfaOVFRlt1Gqb vbqV7FZdQkMfkYOcYcbQOR1yevIqNND16bxFbxNAUiaT940LZVEzkZ5yOM9aqeHNLvXu5bh7reJp W3hs5wGyPY5x+tepRajJHEiJGi4AHHeuD2uHptpstUqjG/2Wv/Pd/wDv4f8AGipP7SuPX/x0UVP1 vD9n/XzL9jU7oyBewjJLI30AqBr3TJG2yQoT7pXPi3lyc7g3qWJo+yy9UlIweQTxXm+yj3IcvmbU jWWneZfWySn5cPFCcbx7Ad+ar6loNpfzJfWsht71GDCUg/NjswzyCOPoaox2su4F5Cjdsd/xrbsb rT7adbS6ujBeTL+6L42uRxjPr+NdmHxDpe63ePUuneWj3Wxy91rus6NIBeabbzxDrLAWXH4c4re0 LxDBrdgZ7dSkinEkJO4qfrjkVoXOntdB0adcHg8Vysnw/uLKdrzStXnt5mOW28g+2Bjj867auDw9 aF6Wj/AI1ZRf7xHW/bPc/lRXJfYfG/8A0GB/34X/AAorm/smr3X3lfWYf0hsdy8bukjNIEOM7uc1 Ob+NlIUkEev+RWX5jM/mcbh3x14pqENtyo+fORWHs11MebmV0Xn1BYWyZflPVSM/y6Vx/jG9FxPG 8ExzHg43HIrSu5WiJCYA/wDrGuP1Z2a/nBYnDEV14WkufmJlodj4U8bRh/I1qe4XHyx3KNkg/wC3 6j3/AEr1mFFubdZLeQyxEfK4kVg49Qa+Zox+8A7Gun8N63f6fqkNrBOwt5CAY2JKjPcDsa2rUZx9 +lK3l0OqOKUoclRXts+p7j9jP/PNPyH+FFcv9pm/56yf99GiuT65V8jPmp9mf//Z ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/send-it-out.png iVBORw0KGgoAAAANSUhEUgAAAFIAAAAkCAMAAAAtiZ11AAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMAUExURXe42Emk0DiOwV264efy+1Ks1ZnH 4+Hh3G3A4vL+/1m23P/+/ubt9///+qfX7OTi4+fe4TWIvGfE3JHJ42W+4EujzjuUu+Pi62bA4tzk 3EWhzcXo9EKSveLi5Uu22Pr//97k4url3VGx2Xe84lirx/3+9S54p0qqyz+XyWG+4TB6qUSZwkSS yzF9ruTk5ECVxUWd09bw9D6aylW425vS5+Lk40Sl0+bg3bjc8YbI4lGs2U2s2zyUxmq74zSVxVa2 3Lrb6i16q2Sv1yuBt1q53jqSxEudyzODt1S24jGFu1qz4tzj6DWSy0KZyf/6/1y53jqb0mC93juN u17B2mOz1Fu91iZ+sObg5M3l7KbL5YfB306q1V6931zB4VSx2lux1kGcykmcw0mo1lm+3lGy0unj 47Lg7TKAsTWMwUmixVKy3WK13Nvp8myy1D6gz+Ho40+u1kiYySeJyO3t7lKk0Fax3mG641Sz2mG2 41a21mG63luW0GO86VKv1E6o0OPi4Emj2Nvu/UCr32jA4jOAuWu+3EeezGW8233A5F+82juaxODl 52C45DmRvm287Fer123C4Um131W71WS51jSDrUacyVC0zjB5mzCItle64jqVwVi62zqOxy6AqObn 4uTi1jiVyDKDtWa54zB9rGO+2j6Rvl273M/m8tPp9VK03jOFt0Wv1vr/+juJtmS84F+42lWw0WS6 5mS53FOv10qs1jB2oD+QxTR9pFe001O31lO30v/6+M/s+z2XwzSBszKCs+Li4mzB4Eun0kKeyzGB si+AsOHj4uLf4uPh4kF0j/H4+zKEtPf1+DeAtf/0+uji2TOBsk+v4VOu5UChxGO1zXuy1XGwz2C9 5tno4+3f7VW+6+nm6fPh3TJ1ojF3qvLt6VG32lGl21y86GHB6V+m0j2Nw+Do3vPv8DB6sFCfz/// 7GnD5HHE10an3jSPyFCvzKLR2d/m8ODk/tHc7vf4+/v7/0uv0TR+qlCs0USbzdbj32S36dTp4uLk 4ePj4ePj41Thkc0AAAZqSURBVHjarJZrVNNmHIcDgWIbA1bp0AqmUBG6YqnQUu4XbRGBFstFVEq5 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 /hVgAIJIaQfcmXqmAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.handbag.com/themes/yyw/images/post-it-out.png iVBORw0KGgoAAAANSUhEUgAAAE0AAABNCAMAAADU1xmCAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMAUExURUmaxKzZ62G32lqv1MXFxbTd7UiZ w1602Hm+3Fit0lCjy06gyECQvPf39+r2+kKSvtXV1fT09FKlzPDw8GC32ubm5oi912W83lmu06vW 6Xu82Wu83GS73T6OupPL47na6pLD3Eyex6DJ2/Hx8UeYwqXS5jyJtsbi7orB3EaWwdTr9J7K4ECO u3rE4G2dumeu0JrQ5kSUv1mdwnG/3mK53LnBx+rq6oSovG2y02a+31mlzO3t7aHC0aHM4lGky8/P z6y6w/T6/HO11DyLuKDT6FGkzHGgvESVwNra2qvT5djY2OHh4dDQ0OXl5ezs7N3d3d3u9U2fyGOq zorJ48DR20qbxWK424qtwGytzsjIyFmu0ninwmC22YLF4T2MuWaz1kucxVes0ZO2yUWWwNLT02W9 38Dj8FSnzcPd6trq8jyMub7g7mW93oDB3UKSvFCkzF6Zuz6MusvLy9/f31yx1ujo6Mnm8lGWvoPJ 5EaXwc3NzYS1z0+iyvP4+1ux1UuUvFqu016y1lOmzdns9Hu21EOTvtTZ3F2010GRvanO4ufy+EWT vV+12H2517bW5lOSt+nt7uPj41is0lWgxlWiyECQu06iyV6qzlip0NHn8cHCw2S83Veozk2gyOPq 7lqXud/w90eNtme/4Eudxkuex2K32l2z2EGSve7192a22NTn70qOtlKYvk6Qt5vG3U6fyDyKt0WV wP39/fz8/Pv7+/j4+Pn5+Ver0VSozlaq0FWpz1yy1vr6+l2z11Woz1ar0F2y1lWp0FSoz12y11+2 2V2z1k+hyVer0Fap0Faq0VWozlWqz1ar0Veq0FWq0E2fx1aqz8zp9D+Oulyy1Ver0j+Qu0KRvleq 0Vyz1vP5+1+t0PX19fD3+v39/prE1/z8/T6NupS60Gi521GcxHa52F+x1W642Famyl2jyEiPuECP u4/P6I7G35PD12OewJbI4LvP2JzI3sDFyWSkxV+22minyenp6WG420mYwV202Nvr9NHR0VSpz9nc 3////////7/X66oAAAEAdFJOU/////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////wBT9wclAAAM0UlE QVR42qyYC1yT5xXGgUAiN7nLxWsGqHgDhFKRCaIgCFJEB4JGhAJGKwyBaE3FlKayIk21Ym1nma2K l9q1xQRCSLhfRLzS2pbO0m3UOmepq1u3lU62zz3n/RJE1F7cDj9M9Jf8fZ5znvN+yWd25/9ZZj/0 Ag2qhhU9+19on20KWBt09ZhKpXJNuRq0LWDTW7W1NZpHoj0fNUbyYWuTSCXqlEhcLSwG8TNhdsCM uu8BPoxmPuY5gULW+txxlaqTWCmDwcEpKcGDgxNmm2sbazU/gfb7qOseHgKFQtYkEqlUEtfBQYCM lZIyGBTVV/dg3oNo5td1FUSTnT5OMAvAiDMBxYCDFkHm9g/k3U97Ps/6QoU1wRpOQ5oELo2oCTwv ZdDCNXjt2/aN9/fvPpr5OoNeZ20tECh4mKsJVumOXyPPwlUy3tNJe5+80bRJFc2GFqLx0jDNQZ5V 6Z7j7p7rXlnJ4ySqY5O8Ie/7aJF59dLmNl0mM0rpkEioZ6C5u+fk5hCv0mhWohKtfbmvrubhtM+8 nJX1hm6e1vC7JhoB81npDlQoioCEs7CQdIpEeW841d3TvJG0SK9oJWhomwe1DfHodHVN4ZXl5oQe OXLESJuAsbpC3Om8l520I3EjaXk20UppfRsNoQROn/sXNsqC9wlhR4hGOJ4mUamON8nywoB7IO2m TTjT9kkmG4LsNAsb0Spzc3OOHDHict23mdMYoK2pQXYzzGlE7+7SliqLbZyVynbDWV0FtMnIqURi nEGOkXYkNNd8LMfNTrGw6GS0Py0YiRumbfy0y8Ym3Fl6Dk4RXoWioZVGatSWM6wt15zjOPPgY2uZ NoXi5AaXvkbNKJrGK6nLqI2mUAJaBznlA+KewxoXSk5ngzZ2fSSnEpE2gcBri4u9KcYm2tJiW9ti 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 ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/themes/yyw/style/base.css * { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } A { outline: none } IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } #main { PADDING-RIGHT: 0px; MARGIN-TOP: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN-LEFT: auto; WIDTH: 970px; MARGIN-RIGHT: auto; PADDING-TOP: = 0px; POSITION: relative } #ubernav { CLEAR: both; PADDING-RIGHT: 14px; PADDING-LEFT: 14px; FLOAT: left; = PADDING-BOTTOM: 14px; MARGIN: 0px; PADDING-TOP: 11px } #ubernav { WIDTH: 942px; HEIGHT: 22px; voice-family: inherit } HTML > BODY #ubernav { WIDTH: 942px; HEIGHT: 22px } #ubernav DL { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 12px; PADDING-LEFT: 0px; = FONT-WEIGHT: bold; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px; COLOR: #fff; LINE-HEIGHT: 22px; PADDING-TOP: 0px; = FONT-FAMILY: Arial, Helvetica, sans-serif } #ubernav DT { DISPLAY: inline } #ubernav DT A { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; COLOR: = #fff; PADDING-TOP: 2px; TEXT-DECORATION: none } #ubernav DT A:hover { COLOR: #fff; TEXT-DECORATION: none } #ubernav DT.current A { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; COLOR: = #fff; PADDING-TOP: 2px; BACKGROUND-COLOR: #1788d1; TEXT-DECORATION: none } #ubernav DT.current A:hover { COLOR: #fff; BACKGROUND-COLOR: #141414; TEXT-DECORATION: none } #ubernav DD { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 4px; PADDING-BOTTOM: = 0px; PADDING-TOP: 0px } #ubernav DD A { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; COLOR: = #fff; PADDING-TOP: 2px; TEXT-DECORATION: none } #ubernav DD A:hover { COLOR: #fff; TEXT-DECORATION: none } #ubernav DD.current A { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; COLOR: = #fff; PADDING-TOP: 2px; BACKGROUND-COLOR: #1788d1; TEXT-DECORATION: none } #ubernav DD.current A:hover { COLOR: #fff; BACKGROUND-COLOR: #141414; TEXT-DECORATION: none } #ubernav UL { PADDING-RIGHT: 0px; PADDING-LEFT: 9px; FONT-WEIGHT: bold; FONT-SIZE: = 10px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #fff; = LINE-HEIGHT: 22px; PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, = sans-serif } #ubernav LI { PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #ubernav LI A { COLOR: #fff; TEXT-DECORATION: none } #ubernav LI A:hover { COLOR: #fff; TEXT-DECORATION: underline } #dropdownnav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 0px; PADDING-TOP: 0px } #dropdownnav FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #dropdownnav SELECT { FONT-WEIGHT: bold; FONT-SIZE: 13px; WIDTH: 200px; COLOR: #656565; = FONT-FAMILY: Arial, Helvetica, sans-serif } #superbanner { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 1; FLOAT: = left; PADDING-BOTTOM: 31px; WIDTH: 970px; PADDING-TOP: 0px; POSITION: = relative } #superbanner_content { Z-INDEX: 2; RIGHT: 0px; POSITION: absolute; TOP: 0px } .logo { FILTER: = progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'/themes/yyw/ima= ges/handbagLogo.png',sizingMethod=3D'scale'); MARGIN: 0px; WIDTH: 238px; = HEIGHT: 92px } HEAD:first-child + BODY .logo { BACKGROUND: url(../images/handbagLogo.png) } #tabs { CLEAR: both } #tabs UL { PADDING-RIGHT: 0px; PADDING-LEFT: 13px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #tabs UL LI { PADDING-RIGHT: 7px; PADDING-LEFT: 0px; BACKGROUND: = url(../images/tabOffRight.gif) no-repeat right 50%; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px 4px 0px 0px; PADDING-TOP: 0px; = LIST-STYLE-TYPE: none } HTML > BODY #tabs UL LI { BACKGROUND: url(../images/tabOffRight.png) no-repeat right 50% } #tabs UL LI.overstat { BACKGROUND: url(../images/tabOverRight.gif) no-repeat right 50% } HTML > BODY #tabs UL LI.overstat { BACKGROUND: url(../images/tabOverRight.png) no-repeat right 50% } #tabs UL LI.offstat { BACKGROUND: url(../images/tabOffRight.gif) no-repeat right 50% } HTML > BODY #tabs UL LI.offstat { BACKGROUND: url(../images/tabOffRight.png) no-repeat right 50% } #tabs UL LI.active { BACKGROUND: url(../images/tabOnRight.gif) no-repeat right 50% } HTML > BODY #tabs UL LI.active { BACKGROUND: url(../images/tabOnRight.png) no-repeat right 50% } #tabs UL LI.home A:hover { COLOR: #666666 } #tabs UL LI A { PADDING-RIGHT: 2px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 18px; BACKGROUND: url(../images/tabOff.gif) no-repeat; FLOAT: left; = PADDING-BOTTOM: 0px; COLOR: #178bd1; PADDING-TOP: 5px; FONT-FAMILY: = Arial, Helvetica, sans-serif; HEIGHT: 26px; TEXT-DECORATION: none } HTML > BODY #tabs UL LI A { BACKGROUND: url(../images/tabOff.png) no-repeat } #tabs UL LI A:hover { BACKGROUND: url(../images/tabOver.gif) no-repeat; COLOR: #656565 } HTML > BODY #tabs UL LI A:hover { BACKGROUND: url(../images/tabOver.png) no-repeat; COLOR: #656565 } #tabs UL LI.active A { BACKGROUND: url(../images/tabOn.gif) no-repeat; COLOR: #656565 } HTML > BODY #tabs UL LI.active A { BACKGROUND: url(../images/tabOn.png) no-repeat } #tabs UL LI.active A:hover { BACKGROUND: url(../images/tabOn.gif) no-repeat } HTML > BODY #tabs UL LI.active A:hover { BACKGROUND: url(../images/tabOn.png) no-repeat } #tabs UL LI.activeb A { BACKGROUND: url(../images/tabblueOn.gif) no-repeat; COLOR: #ffffff } HTML > BODY #tabs UL LI.activeb A { BACKGROUND: url(../images/tabblueOn.png) no-repeat } #tabs UL LI.activeb A:hover { BACKGROUND: url(../images/tabblueOn.gif) no-repeat; COLOR: #ffffff } HTML > BODY #tabs UL LI.activeb A:hover { BACKGROUND: url(../images/tabblueOn.png) no-repeat } #tabs UL LI A:hover { BACKGROUND: url(../images/tabblueOn.gif) no-repeat; COLOR: #ffffff } HTML > BODY #tabs UL LI A:hover { BACKGROUND: url(../images/tabblueOn.png) no-repeat; COLOR: #ffffff } #tabs UL LI.overstat { BACKGROUND: url(../images/tabblueOnRight.gif) no-repeat right 50% } HTML > BODY #tabs UL LI.overstat { BACKGROUND: url(../images/tabblueOnRight.png) no-repeat right 50% } #tabs UL LI A.overlink { BACKGROUND: url(../images/tabblueOn.gif) no-repeat; COLOR: #ffffff } HTML > BODY #tabs UL LI A.overlink { BACKGROUND: url(../images/tabblueOn.png) no-repeat } #tabs UL LI A.offlink { BACKGROUND: url(../images/tabOff.gif) no-repeat; COLOR: #178bd1 } HTML > BODY #tabs UL LI A.offlink { BACKGROUND: url(../images/tabOff.png) no-repeat } #tabs UL LI.nav_bazaar { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px 4px 0px 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } HTML > BODY #tabs UL LI.nav_bazaar { BACKGROUND: none transparent scroll repeat 0% 0% } #tabs UL LI.nav_bazaar A { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent = scroll repeat 0% 0%; FLOAT: left; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; = HEIGHT: 31px } HTML > BODY #tabs UL LI.nav_bazaar A { BACKGROUND: none transparent scroll repeat 0% 0% } #tabs UL LI.nav_bazaar A:hover { BACKGROUND: none transparent scroll repeat 0% 0% } HTML > BODY #tabs UL LI.nav_bazaar A:hover { BACKGROUND: none transparent scroll repeat 0% 0% } * HTML UL LI { FLOAT: left; HEIGHT: 1% } * HTML UL LI A { HEIGHT: 1% } LI:hover UL { DISPLAY: block } LI.over UL { DISPLAY: block } #hottopics { CLEAR: both; PADDING-RIGHT: 14px; PADDING-LEFT: 14px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff } #hottopics { WIDTH: 942px; voice-family: inherit } HTML > BODY #hottopics { WIDTH: 942px } .tv#hottopics { PADDING-RIGHT: 14px; PADDING-LEFT: 14px; BACKGROUND-IMAGE: = url(../images/TVheaderBg2.png); PADDING-BOTTOM: 30px; PADDING-TOP: 15px; = HEIGHT: 123px } #hottopics IMG { FLOAT: left } #hottopics DL { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 21px; DISPLAY: inline; = PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; = FONT-SIZE: 13px; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 600px; COLOR: #262626; PADDING-TOP: 0px; = FONT-FAMILY: Arial, Helvetica, sans-serif; BORDER-RIGHT-WIDTH: 0px } #hottopics DT { PADDING-RIGHT: 4px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; PADDING-TOP: 0px } #hottopics DT A { =09 } #hottopics DD { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; PADDING-TOP: 0px } #hottopics DD A { =09 } #hottopics DD A:hover { =09 } #hottopics DD STRONG { PADDING-RIGHT: 4px; DISPLAY: inline; PADDING-LEFT: 20px; BACKGROUND: = url(../images/hot-topics-arrow.png) no-repeat; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #hottopics UL { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 21px; DISPLAY: inline; = PADDING-LEFT: 26px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: = 570px; PADDING-TOP: 94px; BORDER-RIGHT-WIDTH: 0px } #hottopics LI { PADDING-RIGHT: 30px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-WEIGHT: = bold; FONT-SIZE: 13px; PADDING-BOTTOM: 0px; COLOR: #5a5252; PADDING-TOP: = 0px; FONT-FAMILY: Arial, Helvetica, sans-serif } #hottopics LI A { =09 } #hottopics LI A:hover { =09 } #hottopics LI#current A { COLOR: #5a5252 } #hottopics #googlesearch { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 300px; PADDING-TOP: 0px; TEXT-ALIGN: right } #hottopics #googlesearch IMG { PADDING-RIGHT: 46px; PADDING-LEFT: 4px; FILTER: = progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'/themes/yyw/ima= ges/footerGoogleLogo.png',sizingMethod=3D'image'); FLOAT: right; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px } HTML > BODY #hottopics #googlesearch IMG { PADDING-RIGHT: 46px; PADDING-LEFT: 4px; BACKGROUND: = url(../images/footerGoogleLogo.png) no-repeat; FLOAT: right; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px } #hottopics #googlesearch FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #hottopics #googlesearch INPUT.searchtext { FONT-WEIGHT: normal; FONT-SIZE: 14px; MARGIN-BOTTOM: 5px; COLOR: = #656565; FONT-FAMILY: Arial, Helvetica, sans-serif } HTML > BODY #hottopics #googlesearch INPUT.searchtext { MARGIN-BOTTOM: 0px } #hottopics #googlesearch INPUT.gobutton { BORDER-RIGHT: 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: 0px solid; = PADDING-LEFT: 10px; BACKGROUND: url(../images/footer_bgo_big.png) = no-repeat 100% 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px solid; WIDTH: = 42px; CURSOR: hand; PADDING-TOP: 0px; BORDER-BOTTOM: 0px solid; HEIGHT: = 32px } #content { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: = 17px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px } #contentleft { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 17px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px } #contentleft { WIDTH: 133px; voice-family: inherit } HTML > BODY #contentleft { WIDTH: 133px } #contentcenter { FLOAT: left } .width1 { PADDING-RIGHT: 31px; PADDING-LEFT: 31px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .width1 { WIDTH: 430px; voice-family: inherit } HTML > BODY .width1 { WIDTH: 430px } .width2 { PADDING-RIGHT: 31px; PADDING-LEFT: 17px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .width2 { WIDTH: 594px; voice-family: inherit } HTML > BODY .width2 { WIDTH: 594px } .width3 { PADDING-RIGHT: 9px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .width3 { WIDTH: 924px; voice-family: inherit } HTML > BODY .width3 { WIDTH: 924px } .width4 { PADDING-RIGHT: 0px; PADDING-LEFT: 17px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .width4 { WIDTH: 925px; voice-family: inherit } HTML > BODY .width4 { WIDTH: 925px } #lhs_images { CLEAR: left; WIDTH: 133px } #lhs_images DIV { DISPLAY: block; Z-INDEX: 1; MARGIN-BOTTOM: 25px; OVERFLOW: hidden; = WIDTH: 133px; POSITION: relative; HEIGHT: 119px } #lhs_images DIV A { TEXT-DECORATION: none } #lhs_images DIV A:active { TEXT-DECORATION: none } #lhs_images DIV A:hover { TEXT-DECORATION: none } #lhs_images A { DISPLAY: block; Z-INDEX: 5; FILTER: alpha(opacity=3D0); LEFT: 0px; = WIDTH: 133px; POSITION: absolute; TOP: 0px; HEIGHT: 119px; = BACKGROUND-COLOR: #ffffff; -moz-opacity: .0; opacity: .0 } #lhs_images DIV SPAN { PADDING-RIGHT: 8px; DISPLAY: none; PADDING-LEFT: 8px; FONT-SIZE: 13px; = Z-INDEX: 3; FILTER: alpha(opacity=3D70); LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 8px; WIDTH: 117px; COLOR: #ffffff; PADDING-TOP: 8px; = FONT-FAMILY: Arial, Helvetica, sans-serif; POSITION: absolute; TOP: = 29px; HEIGHT: auto; BACKGROUND-COLOR: #1788d1; -moz-opacity: .70; = opacity: .70 } #lhs_images DIV H4 { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 7px; FONT-SIZE: 14px; = Z-INDEX: 4; LEFT: 0px; MARGIN-BOTTOM: 13px; PADDING-BOTTOM: 0px; WIDTH: = 126px; COLOR: #ffffff; PADDING-TOP: 6px; FONT-FAMILY: Arial, Helvetica, = sans-serif; POSITION: absolute; TOP: 0px; HEIGHT: 23px; = BACKGROUND-COLOR: #1788d1 } #lhs_images DIV IMG { Z-INDEX: 2; PADDING-TOP: 29px; POSITION: relative } #lhs_linklist { CLEAR: left; MARGIN-BOTTOM: 25px; WIDTH: 133px } #lhs_linklist H4 { FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: = #656565; FONT-FAMILY: Arial, Helvetica, sans-serif } #lhs_linklist UL LI { CLEAR: both; WIDTH: 133px; LIST-STYLE-TYPE: none } #lhs_linklist UL LI A { FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif } #lhs_linklist UL LI A:active { FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif } #lhs_linklist UL LI A:visited { FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif } #lhs_linklist UL LI A:hover { FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif } #lhs_blog_outer { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(../images/left-blog-bg.png); FLOAT: none; PADDING-BOTTOM: 0px; = MARGIN: 0px; WIDTH: 133px; PADDING-TOP: 0px } .lhs_blog_inner { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: = url(../images/left-blog-bot-bg.png) no-repeat 0px 100%; PADDING-BOTTOM: = 27px; MARGIN: 0px; PADDING-TOP: 18px } .lhs_blog_inner { WIDTH: 119px; voice-family: inherit } HTML > BODY .lhs_blog_inner { WIDTH: 119px } .lhs_blog_inner H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 4px; MARGIN: 0px; COLOR: #1788d1; PADDING-TOP: = 0px; FONT-STYLE: italic; FONT-FAMILY: Georgia, "Times New Roman", Times, = serif; TEXT-DECORATION: none } .lhs_blog_inner H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 10px; PADDING-BOTTOM: 13px; MARGIN: 0px; COLOR: #656565; PADDING-TOP: = 0px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; = TEXT-DECORATION: none } .lhs_blog_inner H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 11px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #656565; PADDING-TOP: = 0px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; = TEXT-ALIGN: right; TEXT-DECORATION: none } #contentright { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 11px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 300px; COLOR: #656565; = PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif } .connections { CLEAR: both; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: = 20px; MARGIN: 0px; PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, = sans-serif } .connections { WIDTH: 286px; voice-family: inherit } HTML > BODY .connections { WIDTH: 286px } .connections H4 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 15px; BACKGROUND: url(../images/rightHSideTit_bg.png) no-repeat; = PADDING-BOTTOM: 11px; OVERFLOW: hidden; PADDING-TOP: 5px } .connections H4.first { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 10px; = PADDING-TOP: 6px } .connections DIV { CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 13px; MARGIN: 0px; PADDING-TOP: 0px } .connections IMG { PADDING-RIGHT: 11px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 11px; PADDING-TOP: 0px } .connections H5 { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #1788d1 } .connections P { FONT-SIZE: 11px; COLOR: #433333 } .promotions { FLOAT: left; PADDING-BOTTOM: 9px; WIDTH: 302px } .promotions H4 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 15px; BACKGROUND: url(../images/rightHSideTit_bg.png) no-repeat; = PADDING-BOTTOM: 11px; OVERFLOW: hidden; PADDING-TOP: 5px } .promotions H4.first { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 10px; = PADDING-TOP: 6px } .promotions DL { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 8px; PADDING-LEFT: 8px; = BORDER-LEFT-WIDTH: 0px; BACKGROUND: url(../images/rightHSideTit_bg.png) = no-repeat left top; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; = PADDING-BOTTOM: 3px; MARGIN: 0px; OVERFLOW: hidden; PADDING-TOP: 5px; = POSITION: relative; BORDER-RIGHT-WIDTH: 0px } .promotions DL { WIDTH: 284px; HEIGHT: 28px; voice-family: inherit } HTML > BODY .promotions DL { WIDTH: 284px; HEIGHT: 28px } .promotions DT { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; = PADDING-LEFT: 0px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: = 15px; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px; WIDTH: 142px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px } .promotions DT A { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; = PADDING-LEFT: 0px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: = 15px; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px; WIDTH: 142px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px } .promotions DD { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; = PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; = FONT-SIZE: 15px; FLOAT: right; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 142px; PADDING-TOP: 0px; TEXT-ALIGN: right; = BORDER-RIGHT-WIDTH: 0px } .promotions DD A { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; = PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; = FONT-SIZE: 15px; FLOAT: right; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 142px; PADDING-TOP: 0px; TEXT-ALIGN: right; = BORDER-RIGHT-WIDTH: 0px } .promotions DIV { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FLOAT: left; PADDING-BOTTOM: = 0px; WIDTH: 134px; PADDING-TOP: 2px } .promotions IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; OVERFLOW: = hidden; WIDTH: 134px; PADDING-TOP: 3px } .promotions H5 { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #1788d1 } .sponsoredLinks H5 { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #1788d1 } .promotions P { PADDING-BOTTOM: 3px } #allpromo { PADDING-RIGHT: 0px; PADDING-LEFT: 9px; FLOAT: left; PADDING-BOTTOM: = 20px; WIDTH: 282px; PADDING-TOP: 0px; TEXT-ALIGN: center } #allpromo A { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center } #allpromo SPAN { BACKGROUND: url(../images/rhs_dottedline.png) repeat-x 0px 7px; FLOAT: = left; WIDTH: 100% } #allpromo UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(../images/rhs_dottedline.png) repeat-x 50% top; FLOAT: left; = PADDING-BOTTOM: 9px; MARGIN: 0px; WIDTH: 270px; PADDING-TOP: 10px; = TEXT-ALIGN: left } #allpromo UL LI { CLEAR: both; PADDING-LEFT: 12px; BACKGROUND: = url(../images/allpromo_listdisc.png) no-repeat; FLOAT: left; WIDTH: = 250px; LIST-STYLE-TYPE: none } #allpromo UL LI A { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #contentright .sponsoredLinks A { COLOR: #75a90e } .sponsoredLinks H4 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 15px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #868686 1px = dotted } .sponsoredLinks DIV { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 20px; = PADDING-TOP: 2px } #contentright #ad { BORDER-TOP-WIDTH: 0px; CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: = 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 10px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px } #galleryblock { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px; OVERFLOW: hidden; WIDTH: 300px; PADDING-TOP: 0px; POSITION: = relative; BORDER-RIGHT-WIDTH: 0px } #galleryblock H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 9px; FONT-WEIGHT: normal; FONT-SIZE: = 16px; PADDING-BOTTOM: 5px; COLOR: #656565; PADDING-TOP: 0px; FONT-STYLE: = normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none } #galleryblock H4 A { =09 } #galleryblock H5 { PADDING-RIGHT: 9px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 11px; PADDING-BOTTOM: 0px; COLOR: #656565; PADDING-TOP: 0px; FONT-STYLE: = normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: right; = TEXT-DECORATION: none } #galleryblock H5 A { =09 } #galleryblock H5 IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #galleryblock TABLE { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; MARGIN: = 0px; PADDING-TOP: 0px } #galleryblock TABLE TD { PADDING-BOTTOM: 9px; WIDTH: 94px } #galleryblock TABLE TD.middlecolumn { PADDING-RIGHT: 9px; PADDING-LEFT: 9px; PADDING-BOTTOM: 0px; WIDTH: = 94px; PADDING-TOP: 0px } #galleryblock TABLE TD .image { BORDER-RIGHT: #e5e5e5 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: = #e5e5e5 1px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = VERTICAL-ALIGN: middle; BORDER-LEFT: #e5e5e5 1px solid; WIDTH: 76px; = PADDING-TOP: 8px; BORDER-BOTTOM: #e5e5e5 1px solid; HEIGHT: 76px; = BACKGROUND-COLOR: #f7f7f7; TEXT-ALIGN: center } #galleryblock TABLE TD .image * { VERTICAL-ALIGN: middle } * HTML #galleryblock TABLE TD .image I { DISPLAY: inline-block; HEIGHT: 100% } #galleryblock TABLE TD .image:hover { BORDER-RIGHT: #1788d1 1px solid; BORDER-TOP: #1788d1 1px solid; = BORDER-LEFT: #1788d1 1px solid; BORDER-BOTTOM: #1788d1 1px solid } #footer { FONT-SIZE: 13px; FLOAT: left; MARGIN-BOTTOM: 20px; WIDTH: 970px; = FONT-FAMILY: Arial, Helvetica, sans-serif } #footercontent { PADDING-LEFT: 31px; OVERFLOW: hidden; BACKGROUND-COLOR: #ffffff } * HTML #footercontent { FLOAT: left; WIDTH: 939px } #channels { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 29px; WIDTH: 421px; PADDING-TOP: 0px } #channels DIV { PADDING-RIGHT: 7px; FLOAT: left; WIDTH: 88px } #channels H5 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 24px; FLOAT: left; PADDING-BOTTOM: 21px; WIDTH: 422px; COLOR: #1788d1; = PADDING-TOP: 12px } .channeltit { FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #1788d1 } #channels UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 16px; = PADDING-TOP: 4px } #channels LI { CLEAR: both; FONT-SIZE: 12px; LIST-STYLE-TYPE: none } #links { MARGIN-TOP: 66px; PADDING-LEFT: 14px; FLOAT: left; MARGIN-BOTTOM: 29px; = BORDER-LEFT: #e3e3e3 1px dotted; WIDTH: 250px } #links UL { FLOAT: left; WIDTH: 118px } #links LI { CLEAR: both; PADDING-RIGHT: 9px; FONT-SIZE: 11px; WIDTH: 109px; = LIST-STYLE-TYPE: none } #searches { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; WIDTH: 225px; PADDING-TOP: 31px } #searches #googlesearch { FLOAT: left; PADDING-BOTTOM: 40px; TEXT-ALIGN: right } #searches .googletit { FONT-SIZE: 10px; FLOAT: right; COLOR: #919090; PADDING-TOP: 9px } #searches #googlesearch IMG { PADDING-RIGHT: 44px; PADDING-LEFT: 4px; FILTER: = progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'/themes/yyw/ima= ges/footerGoogleLogo.png',sizingMethod=3D'image'); FLOAT: right; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 3px } HTML > BODY #searches #googlesearch IMG { PADDING-RIGHT: 44px; PADDING-LEFT: 4px; BACKGROUND: = url(../images/footerGoogleLogo.png) no-repeat; FLOAT: right; = PADDING-BOTTOM: 0px; PADDING-TOP: 3px } #searches #googlesearch INPUT { FONT-SIZE: 14px; COLOR: #828282; FONT-FAMILY: Arial, Helvetica, = sans-serif } #searches #googlesearch INPUT.gobutton { BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BACKGROUND: = url(../images/footer_bgo_big.png) no-repeat right 50%; BORDER-LEFT: 0px = solid; WIDTH: 40px; CURSOR: hand; TEXT-INDENT: -1000px; BORDER-BOTTOM: = 0px solid; HEIGHT: 32px } #pulldown1 { FLOAT: left; PADDING-BOTTOM: 20px; WIDTH: 218px; TEXT-ALIGN: right } .magazinestit { PADDING-RIGHT: 38px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 9px; COLOR: #656565; PADDING-TOP: 0px } #pulldown1 SELECT { FONT-SIZE: 11px; COLOR: #656565; FONT-FAMILY: Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #ffffff } #pulldown1 INPUT { FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif } #pulldown1 INPUT.gobutton { BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BACKGROUND: = url(../images/footer_bgo_small.png) no-repeat right 50%; BORDER-LEFT: = 0px solid; WIDTH: 32px; TEXT-INDENT: -1000px; BORDER-BOTTOM: 0px solid; = HEIGHT: 23px } #metadata { FLOAT: left; WIDTH: 939px } #pulldown2 { BORDER-TOP: #e3e3e3 1px dotted; FONT-SIZE: 12px; FLOAT: left; WIDTH: = 550px; COLOR: #c3c3c3; PADDING-TOP: 10px } #copyright { BORDER-TOP: #e3e3e3 1px dotted; FLOAT: left; WIDTH: 358px; PADDING-TOP: = 10px; TEXT-ALIGN: right } #copyright A { PADDING-RIGHT: 7px; COLOR: #8c8c8c } #copyright A:hover { PADDING-RIGHT: 7px; COLOR: #8c8c8c } #copyright A:active { PADDING-RIGHT: 7px; COLOR: #8c8c8c } #copyright A:visited { PADDING-RIGHT: 7px; COLOR: #8c8c8c } #masthead { WIDTH: 940px! important } #topNavContainer TABLE { WIDTH: 810px! important } .mainContent { WIDTH: 810px! important } .Content { WIDTH: 810px! important } .FullWidthContent { WIDTH: 810px! important } .innerContent { WIDTH: 810px! important } #topNavContainer { WIDTH: 810px! important } #breadcrumbContainer { WIDTH: 810px! important } .page { WIDTH: 810px! important } #breadcrumb DIV { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; PADDING-TOP: 10px } TD.alt1 DIV { COLOR: #333333! important } .alt1 OL { LIST-STYLE-POSITION: inside } .alt2 OL { LIST-STYLE-POSITION: inside } .alt1 UL { LIST-STYLE-POSITION: inside } .alt2 UL { LIST-STYLE-POSITION: inside } .alt1 OL LI { CLEAR: both } .alt2 OL LI { CLEAR: both } .alt1 UL LI { CLEAR: both } .alt2 UL LI { CLEAR: both } .alt1 UL LI { LIST-STYLE-TYPE: disc } .alt2 UL LI { LIST-STYLE-TYPE: disc } #posts .tborder .alt1 { LINE-HEIGHT: normal! important } #posts .tborder .alt1 { LINE-HEIGHT: normal! important } * HTML .alt1 UL LI { FLOAT: none } * HTML .alt2 UL LI { FLOAT: none } .sign-up-box-30days { FLOAT: left; MARGIN-BOTTOM: 25px; WIDTH: 300px } .sign-up-box-30days IMG { FLOAT: left } .logo-and-sponsor { FLOAT: left; BACKGROUND-IMAGE: = url(../images/sign-up/handbag-whole-bg.png); WIDTH: 300px; HEIGHT: 190px } .logo-and-sponsor IMG { FLOAT: left } .sponsor { FLOAT: right; WIDTH: 120px; TEXT-ALIGN: center } .sponsor IMG { MARGIN-TOP: 10px; FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto } .sign-up-inputs { FLOAT: left; BACKGROUND-IMAGE: = url(../images/sign-up/handbag-sign-bg-bottom.png); WIDTH: 300px; HEIGHT: = 35px } .sign-up-inputs .sign-up-email { FLOAT: left; MARGIN-LEFT: 15px; WIDTH: 180px } .sign-up-inputs .sign-up-button { DISPLAY: block; FONT-SIZE: 0px; FLOAT: left; BACKGROUND-IMAGE: = url(../images/sign-up/signup-button-handbag.png); MARGIN-LEFT: 15px; = WIDTH: 55px; COLOR: #fe2ca9; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: = none; BORDER-LEFT-STYLE: none; HEIGHT: 19px; TEXT-ALIGN: left; = BORDER-BOTTOM-STYLE: none } IFRAME { FLOAT: left; POSITION: relative! important; TOP: 0px! important } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/themes/yyw/style/liquidcorners.css .top-left { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg_ie.gif); = HEIGHT: 15px } .top-right { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg_ie.gif); = HEIGHT: 15px } .bottom-left { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg_ie.gif); = HEIGHT: 15px } .bottom-right { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg_ie.gif); = HEIGHT: 15px } HTML > BODY .top-left { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg.png); HEIGHT: = 15px } .top-right { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg.png); HEIGHT: = 15px } .bottom-left { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg.png); HEIGHT: = 15px } .bottom-right { FONT-SIZE: 2px; BACKGROUND-IMAGE: url(../images/footer_bg.png); HEIGHT: = 15px } .top-left { MARGIN-RIGHT: 14px } .bottom-left { MARGIN-RIGHT: 14px } .top-right { MARGIN-TOP: -15px; MARGIN-LEFT: 14px } .bottom-right { MARGIN-TOP: -15px; MARGIN-LEFT: 14px } .top-right { BACKGROUND-POSITION: 100% 0px } .bottom-left { BACKGROUND-POSITION: 0px -15px } .bottom-right { BACKGROUND-POSITION: 100% -15px } .inside { PADDING-RIGHT: 14px; PADDING-LEFT: 14px; OVERFLOW: hidden; = BACKGROUND-COLOR: #fff } * HTML .inside { FLOAT: left } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Location: http://www.handbag.com/themes/yyw/style/img.css IMG.left { FLOAT: left } IMG.right { FLOAT: right } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/themes/yyw/style/navdropdown.css #navdropdown1 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown2 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown3 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown4 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown5 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown6 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown7 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown8 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown9 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown10 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown11 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } #navdropdown12 { DISPLAY: none; Z-INDEX: 100; FILTER: alpha(opacity=3D95); WIDTH: 970px; = POSITION: absolute; TOP: 201px; -moz-opacity: 0.95; opacity: 0.95; = -khtml-opacity: 0.95 } * HTML #navdropdown1 { TOP: 203px } * HTML #navdropdown2 { TOP: 203px } * HTML #navdropdown3 { TOP: 203px } * HTML #navdropdown4 { TOP: 203px } * HTML #navdropdown5 { TOP: 203px } * HTML #navdropdown6 { TOP: 203px } * HTML #navdropdown7 { TOP: 203px } * HTML #navdropdown8 { TOP: 203px } * HTML #navdropdown9 { TOP: 203px } * HTML #navdropdown10 { TOP: 203px } * HTML #navdropdown11 { TOP: 203px } * HTML #navdropdown12 { TOP: 203px } .navd_top { FLOAT: left; WIDTH: 970px; FONT-FAMILY: 1px; HEIGHT: 25px } .navd_bottom { FLOAT: left; WIDTH: 970px; FONT-FAMILY: 1px; HEIGHT: 25px } .navd_top { BACKGROUND: url(../images/navdropd_corners.png) no-repeat } * HTML .navd_top { BACKGROUND: url(../images/navdropd_corners.gif) no-repeat } .navd_bottom { BACKGROUND: url(../images/navdropd_corners.png) no-repeat 50% bottom } * HTML .navd_bottom { BACKGROUND: url(../images/navdropd_corners.gif) no-repeat 50% bottom } .navd_content { PADDING-RIGHT: 0px; PADDING-LEFT: 20px; FONT-SIZE: 12px; BACKGROUND: = url(../images/navdrop_bg.png) #0d62b9 repeat-y 645px 0px; FLOAT: left; = PADDING-BOTTOM: 0px; WIDTH: 950px; COLOR: #ffffff; PADDING-TOP: 0px; = FONT-FAMILY: Arial, Helvetica, sans-serif } .navd_content H2 { FONT-SIZE: 16px; PADDING-BOTTOM: 15px } .navd_content .new_on { PADDING-RIGHT: 20px; FLOAT: left; WIDTH: 198px } .navd_content .new_on UL { PADDING-BOTTOM: 20px } .navd_content .new_on UL LI { PADDING-RIGHT: 0px; LIST-STYLE: none none outside; PADDING-LEFT: 0px; = FONT-WEIGHT: bold; FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; = MARGIN: 0px; COLOR: #74e4fb; PADDING-TOP: 0px } .navd_content .new_on UL LI A { PADDING-RIGHT: 17px; DISPLAY: block; PADDING-LEFT: 17px; FONT-WEIGHT: = bold; BACKGROUND: url(../images/navdropBG_off.png) no-repeat 6px 9px; = PADDING-BOTTOM: 3px; COLOR: #ffffff; PADDING-TOP: 3px } .navd_content .new_on UL LI A:hover { BACKGROUND: url(../images/navdropBG_hover.png) #ffffff no-repeat 6px = 9px; COLOR: #565656; TEXT-DECORATION: none } .navd_content .forums { PADDING-RIGHT: 20px; PADDING-LEFT: 44px; BACKGROUND: = url(../images/navdrop_quot1.png) no-repeat; FLOAT: left; PADDING-BOTTOM: = 0px; WIDTH: 315px; PADDING-TOP: 0px } .navd_content .forums .quotes { CLEAR: right; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(../images/navdrop_quot2.png) no-repeat right bottom; FLOAT: left; = PADDING-BOTTOM: 30px; PADDING-TOP: 0px } .navd_content .forums .quotes P { PADDING-BOTTOM: 8px } .navd_content .forums A { COLOR: #ffffff } .navd_content .forums P A { COLOR: #ffffff } .navd_content .forums A.allforums { CLEAR: left; MARGIN-TOP: -15px; FONT-WEIGHT: bold; FONT-SIZE: 11px; = FLOAT: left; WIDTH: 100px } .navd_content .more { PADDING-LEFT: 47px; FLOAT: left; WIDTH: 305px } .navd_content .more UL { FLOAT: left; PADDING-BOTTOM: 20px; WIDTH: 300px } .navd_content .more UL LI { FLOAT: left; PADDING-BOTTOM: 4px; WIDTH: 136px; LIST-STYLE-TYPE: none } .navd_content .more UL LI A { COLOR: #ffffff } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/themes/yyw/style/comments.css #comments { CLEAR: left; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: = 24px; MARGIN: 0px 0px 15px; PADDING-TOP: 7px; FONT-STYLE: normal; = FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #e4e4e4; = TEXT-DECORATION: none } #comments .outer { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-SIZE: 18px; PADDING-BOTTOM: = 15px; COLOR: #656565; PADDING-TOP: 6px } #comments .outer H3 { PADDING-RIGHT: 4px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 18px; FLOAT: left; PADDING-BOTTOM: 0px; COLOR: #656565; LINE-HEIGHT: = 1em; PADDING-TOP: 2px } #comments .inner { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BACKGROUND-COLOR: #fff } #comments .inner .box { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; = PADDING-TOP: 0px } #comments .inner .box TR { BACKGROUND: url(../images/rhs_dottedline.png) repeat-x 0px 100% } #comments .inner .box TD { PADDING-BOTTOM: 23px; PADDING-TOP: 26px } #comments .inner .box .number { PADDING-RIGHT: 14px; FONT-WEIGHT: bold; FONT-SIZE: 60px; COLOR: = #e1e1e1; PADDING-TOP: 12px } #comments .inner .box IMG { =09 } #comments .inner .box P { FONT-SIZE: 12px; PADDING-BOTTOM: 10px; COLOR: #656565 } #comments .inner .box INPUT { MARGIN-BOTTOM: 11px } #comments .inner .box P.small { FONT-SIZE: 11px; COLOR: #7d7d7d; PADDING-TOP: 11px } #comments .inner .foot { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; COLOR: = #656565; PADDING-TOP: 4px } #comments .inner .foot P { FONT-WEIGHT: bold; FONT-SIZE: 16px; PADDING-BOTTOM: 1px } #comments .inner .foot P.small { FONT-SIZE: 10px } #comments .inner .foot FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: = 12px; PADDING-BOTTOM: 0px; PADDING-TOP: 13px; FONT-STYLE: normal } #comments .inner .foot FORM TD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 14px; = PADDING-TOP: 0px } #comments .inner .foot FORM TEXTAREA { WIDTH: 99%; HEIGHT: 130px } #comments .inner .foot FORM .captcha { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 9px; = PADDING-TOP: 9px } #comments .inner .foot FORM .captcha TD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/themes/yyw/style/photogallery.css #contentcenter { FONT-FAMILY: Arial, Helvetica, sans-serif } #photogallery { PADDING-BOTTOM: 1px; OVERFLOW: hidden; WIDTH: 594px } #gall_nav { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; = FLOAT: left; PADDING-BOTTOM: 12px; WIDTH: 594px; PADDING-TOP: 7px; = FONT-FAMILY: Arial, Helvetica, sans-serif } .gallnav_button { FLOAT: left; WIDTH: 130px } #gall_nav A { FONT-WEIGHT: bold; FLOAT: left } .gallnav_prev { PADDING-RIGHT: 0px; PADDING-LEFT: 14px; BACKGROUND: = url(../images/gall_imgprev.png) no-repeat 0px 1px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .gallnav_next { PADDING-RIGHT: 14px; PADDING-LEFT: 0px; BACKGROUND: = url(../images/gall_imgnext.png) no-repeat right 2px; PADDING-BOTTOM: = 0px; WIDTH: 116px; PADDING-TOP: 0px; TEXT-ALIGN: right } .gall_img_pagination { FONT-WEIGHT: bold; FLOAT: left; WIDTH: 334px; COLOR: #656565; = TEXT-ALIGN: center } #myGallery { CLEAR: both; DISPLAY: none; Z-INDEX: 5; BACKGROUND: = url(../images/galleryIMGbackg.png) #6e6e6e repeat-x; OVERFLOW: hidden; = WIDTH: 594px; HEIGHT: 100% } #myGalleryTV { CLEAR: both; DISPLAY: none; Z-INDEX: 5; BACKGROUND: none transparent = scroll repeat 0% 0%; OVERFLOW: hidden; WIDTH: 594px; HEIGHT: 100% } DIV.phto { WIDTH: 594px; HEIGHT: 100%; TEXT-ALIGN: center } DIV.phto IMG { =09 } .jdGallery { OVERFLOW: hidden; POSITION: relative } .jdGallery A { FONT-SIZE: 100%; TEXT-DECORATION: none } .jdGallery A.right { Z-INDEX: 10; FILTER: alpha(opacity=3D0); WIDTH: 50%; CURSOR: pointer; = POSITION: absolute; HEIGHT: 99%; -moz-opacity: 0; opacity: 0; = -khtml-opacity: 0 } .jdGallery A.left { Z-INDEX: 10; FILTER: alpha(opacity=3D0); WIDTH: 50%; CURSOR: pointer; = POSITION: absolute; HEIGHT: 99%; -moz-opacity: 0; opacity: 0; = -khtml-opacity: 0 } * HTML .jdGallery A.right { FILTER: alpha(opacity=3D0) } * HTML .jdGallery A.left { FILTER: alpha(opacity=3D0) } .jdGallery A.right:hover { FILTER: alpha(opacity=3D80); -moz-opacity: 0.8; opacity: 0.8; = -khtml-opacity: 0.8 } .jdGallery A.left:hover { FILTER: alpha(opacity=3D80); -moz-opacity: 0.8; opacity: 0.8; = -khtml-opacity: 0.8 } .jdGallery A.left { BACKGROUND: url(../images/fleche1.png) no-repeat left center; LEFT: = 0px; TOP: 0px; HEIGHT: 100% } * HTML .jdGallery A.left { BACKGROUND: url(../images/fleche1.gif) no-repeat left center; HEIGHT: = 539px } .jdGallery A.right { RIGHT: 0px; BACKGROUND: url(../images/fleche2.png) no-repeat right = center; TOP: 0px; HEIGHT: 100% } * HTML .jdGallery A.right { BACKGROUND: url(../images/fleche2.gif) no-repeat right center; HEIGHT: = 539px } #gall_img_text { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; WIDTH: 100%; PADDING-TOP: 12px } #gall_img_text H2 { FONT-WEIGHT: bold; FONT-SIZE: 17px; COLOR: #656565; FONT-FAMILY: Arial, = Helvetica, sans-serif } #gall_img_text P { FONT-WEIGHT: normal; FONT-SIZE: 13px; COLOR: #656565; LINE-HEIGHT: = 17px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; = TEXT-DECORATION: none } #myGallery_small { FLOAT: left; WIDTH: 594px } #myGallery_small IMG { PADDING-RIGHT: 31px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 31px; PADDING-TOP: 0px } #myGallery_small H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 22px; PADDING-BOTTOM: = 4px; COLOR: #656565; PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, = sans-serif } #myGallery_small P { FONT-WEIGHT: normal; FONT-SIZE: 13px; COLOR: #656565; LINE-HEIGHT: = 17px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; = TEXT-DECORATION: none } #photogallery .gallery_title { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 18px; PADDING-BOTTOM: 3px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; = COLOR: #ffffff; LINE-HEIGHT: 26px; PADDING-TOP: 11px; FONT-FAMILY: = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #a2a2a2; TEXT-ALIGN: = left; TEXT-DECORATION: none } * HTML #subarticle1 { PADDING-LEFT: 480px; FLOAT: none } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/themes/yyw/style/article-footer.css #subarticle1 { CLEAR: both; FLOAT: right; MARGIN: 0px 0px 18px } #subarticle1 A { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-STYLE: normal; FONT-FAMILY: = Arial, Helvetica, sans-serif } #subarticle1 IMG { PADDING-RIGHT: 4px } #emailform { CLEAR: right; FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 0px 0px 18px; = COLOR: #656565; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, = sans-serif } #emailform A { =09 } #emailform FORM { FONT-WEIGHT: normal; FONT-SIZE: 12px; FONT-STYLE: normal } #emailform FORM TEXTAREA { =09 } #subarticle2 { CLEAR: right; FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN: 0px 0px 27px; = COLOR: #656565; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, = sans-serif; TEXT-DECORATION: none } #subarticle3 { CLEAR: both; MARGIN: 0px 0px 18px } #socialbookm { CLEAR: left; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: = 7px; MARGIN: 0px 0px 15px; PADDING-TOP: 7px; FONT-STYLE: normal; = FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #efefef; = TEXT-DECORATION: none } #socialbookm .outer { PADDING-RIGHT: 0px; PADDING-LEFT: 1px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 11px; COLOR: #656565; PADDING-TOP: 4px } #socialbookm .outer IMG { MARGIN-BOTTOM: -2px } #socialbookm .outer A.pink { PADDING-RIGHT: 10px; COLOR: #c64892; TEXT-DECORATION: none } #socialbookm .outer A.green { PADDING-RIGHT: 10px; COLOR: #449d31; TEXT-DECORATION: none } #socialbookm .inner { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 11px; PADDING-BOTTOM: = 5px; COLOR: #1788d1; PADDING-TOP: 5px; BACKGROUND-COLOR: #fff } #socialbookm .inner DL { =09 } #socialbookm .inner DT { PADDING-RIGHT: 20px; DISPLAY: inline; PADDING-LEFT: 0px; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px } #socialbookm .inner DD { BORDER-RIGHT: #656565 1px solid; PADDING-RIGHT: 6px; DISPLAY: inline; = PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px } #socialbookm .inner DD IMG { PADDING-RIGHT: 4px; MARGIN-BOTTOM: -4px } #subarticle4 { CLEAR: both; FLOAT: left; PADDING-BOTTOM: 20px; WIDTH: 100% } #subarticle4 .published { FONT-WEIGHT: bold; FONT-SIZE: 12px; FLOAT: left; WIDTH: 40%; COLOR: = #616a69 } #subarticle4 .printandemail { FONT-WEIGHT: bold; FONT-SIZE: 11px; FLOAT: left; WIDTH: 60%; = TEXT-ALIGN: right } #subarticle4 .printandemail IMG { PADDING-RIGHT: 4px } #subarticle5 { PADDING-BOTTOM: 20px } #subarticle5 .printandemail { FONT-WEIGHT: bold; FONT-SIZE: 11px } #subarticle5 .printandemail IMG { PADDING-RIGHT: 4px } #loading { FONT-SIZE: 14px; LEFT: 100px; POSITION: absolute; TOP: 100px; = TEXT-ALIGN: center } #formSendTo { =09 } #formSendToWaiting { FILTER: alpha(opacity=3D20); opacity: .2 } ------=_NextPart_000_0000_01C9311E.5C350BD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.handbag.com/modules/base/templates/includes/submitonce.js /*=0A= Submit Once form validation- =0A= =A9 Dynamic Drive (www.dynamicdrive.com)=0A= For full source code, usage terms, and 100's more DHTML scripts, visit = http://dynamicdrive.com=0A= */=0A= =0A= function submitonce(theform) {=0A= //if IE 4+ or NS 6+=0A= if (document.all||document.getElementById){=0A= //screen thru every element in the form, and hunt down "submit" = and "reset"=0A= for (i=3D0;i -1,=0A= Gecko: navigator.userAgent.indexOf('Gecko') > -1 && = navigator.userAgent.indexOf('KHTML') =3D=3D -1,=0A= MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A= },=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= ElementExtensions: !!window.HTMLElement,=0A= SpecificElementExtensions:=0A= document.createElement('div').__proto__ &&=0A= document.createElement('div').__proto__ !=3D=3D=0A= document.createElement('form').__proto__=0A= },=0A= =0A= ScriptFragment: ']*>([\\S\\s]*?)<\/script>',=0A= JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A= =0A= emptyFunction: function() { },=0A= K: function(x) { return x }=0A= };=0A= =0A= if (Prototype.Browser.MobileSafari)=0A= Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A= =0A= if (Prototype.Browser.WebKit)=0A= Prototype.BrowserFeatures.XPath =3D false;=0A= =0A= /* Based on Alex Arnell's inheritance implementation. */=0A= var Class =3D {=0A= create: function() {=0A= var parent =3D null, properties =3D $A(arguments);=0A= if (Object.isFunction(properties[0]))=0A= parent =3D properties.shift();=0A= =0A= function klass() {=0A= this.initialize.apply(this, arguments);=0A= }=0A= =0A= Object.extend(klass, Class.Methods);=0A= klass.superclass =3D parent;=0A= klass.subclasses =3D [];=0A= =0A= if (parent) {=0A= var subclass =3D function() { };=0A= subclass.prototype =3D parent.prototype;=0A= klass.prototype =3D new subclass;=0A= parent.subclasses.push(klass);=0A= }=0A= =0A= for (var i =3D 0; i < properties.length; i++)=0A= klass.addMethods(properties[i]);=0A= =0A= if (!klass.prototype.initialize)=0A= klass.prototype.initialize =3D Prototype.emptyFunction;=0A= =0A= klass.prototype.constructor =3D klass;=0A= =0A= return klass;=0A= }=0A= };=0A= =0A= Class.Methods =3D {=0A= addMethods: function(source) {=0A= var ancestor =3D this.superclass && this.superclass.prototype;=0A= var properties =3D Object.keys(source);=0A= =0A= if (!Object.keys({ toString: true }).length)=0A= properties.push("toString", "valueOf");=0A= =0A= for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A= var property =3D properties[i], value =3D source[property];=0A= if (ancestor && Object.isFunction(value) &&=0A= value.argumentNames().first() =3D=3D "$super") {=0A= var method =3D value, value =3D Object.extend((function(m) {=0A= return function() { return ancestor[m].apply(this, arguments) = };=0A= })(property).wrap(method), {=0A= valueOf: function() { return method },=0A= toString: function() { return method.toString() }=0A= });=0A= }=0A= this.prototype[property] =3D value;=0A= }=0A= =0A= return this;=0A= }=0A= };=0A= =0A= var Abstract =3D { };=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= };=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (object =3D=3D=3D undefined) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : object.toString();=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= toJSON: function(object) {=0A= var type =3D typeof object;=0A= switch (type) {=0A= case 'undefined':=0A= case 'function':=0A= case 'unknown': return;=0A= case 'boolean': return object.toString();=0A= }=0A= =0A= if (object =3D=3D=3D null) return 'null';=0A= if (object.toJSON) return object.toJSON();=0A= if (Object.isElement(object)) return;=0A= =0A= var results =3D [];=0A= for (var property in object) {=0A= var value =3D Object.toJSON(object[property]);=0A= if (value !=3D=3D undefined)=0A= results.push(property.toJSON() + ': ' + value);=0A= }=0A= =0A= return '{' + results.join(', ') + '}';=0A= },=0A= =0A= toQueryString: function(object) {=0A= return $H(object).toQueryString();=0A= },=0A= =0A= toHTML: function(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({ }, object);=0A= },=0A= =0A= isElement: function(object) {=0A= return object && object.nodeType =3D=3D 1;=0A= },=0A= =0A= isArray: function(object) {=0A= return object && object.constructor =3D=3D=3D Array;=0A= },=0A= =0A= isHash: function(object) {=0A= return object instanceof Hash;=0A= },=0A= =0A= isFunction: function(object) {=0A= return typeof object =3D=3D "function";=0A= },=0A= =0A= isString: function(object) {=0A= return typeof object =3D=3D "string";=0A= },=0A= =0A= isNumber: function(object) {=0A= return typeof object =3D=3D "number";=0A= },=0A= =0A= isUndefined: function(object) {=0A= return typeof object =3D=3D "undefined";=0A= }=0A= });=0A= =0A= Object.extend(Function.prototype, {=0A= argumentNames: function() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").inv= oke("strip");=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= },=0A= =0A= bind: function() {=0A= if (arguments.length < 2 && arguments[0] =3D=3D=3D undefined) return = this;=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= bindAsEventListener: function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function(event) {=0A= return __method.apply(object, [event || = window.event].concat(args));=0A= }=0A= },=0A= =0A= curry: function() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D $A(arguments);=0A= return function() {=0A= return __method.apply(this, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= delay: function() {=0A= var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= },=0A= =0A= wrap: function(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments)));=0A= }=0A= },=0A= =0A= methodize: function() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= return __method.apply(null, [this].concat($A(arguments)));=0A= };=0A= }=0A= });=0A= =0A= Function.prototype.defer =3D Function.prototype.delay.curry(0.01);=0A= =0A= Date.prototype.toJSON =3D function() {=0A= return '"' + this.getUTCFullYear() + '-' +=0A= (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A= this.getUTCDate().toPaddedString(2) + 'T' +=0A= this.getUTCHours().toPaddedString(2) + ':' +=0A= this.getUTCMinutes().toPaddedString(2) + ':' +=0A= this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A= };=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) { }=0A= }=0A= =0A= return returnValue;=0A= }=0A= };=0A= =0A= RegExp.prototype.match =3D RegExp.prototype.test;=0A= =0A= RegExp.escape =3D function(str) {=0A= return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create({=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= execute: function() {=0A= this.callback(this);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.execute();=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= });=0A= Object.extend(String, {=0A= interpret: function(value) {=0A= return value =3D=3D null ? '' : String(value);=0A= },=0A= specialChar: {=0A= '\b': '\\b',=0A= '\t': '\\t',=0A= '\n': '\\n',=0A= '\f': '\\f',=0A= '\r': '\\r',=0A= '\\': '\\\\'=0A= }=0A= });=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D count =3D=3D=3D undefined ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : = String(this);=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= },=0A= =0A= escapeHTML: function() {=0A= var self =3D arguments.callee;=0A= self.text.data =3D this;=0A= return self.div.innerHTML;=0A= },=0A= =0A= unescapeHTML: function() {=0A= var div =3D new Element('div');=0A= div.innerHTML =3D this.stripTags();=0A= return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A= $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) :=0A= div.childNodes[0].nodeValue) : '';=0A= },=0A= =0A= toQueryParams: function(separator) {=0A= var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A= if (!match) return { };=0A= =0A= return match[1].split(separator || '&').inject({ }, function(hash, = pair) {=0A= if ((pair =3D pair.split('=3D'))[0]) {=0A= var key =3D decodeURIComponent(pair.shift());=0A= var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A= if (value !=3D undefined) value =3D decodeURIComponent(value);=0A= =0A= if (key in hash) {=0A= if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A= hash[key].push(value);=0A= }=0A= else hash[key] =3D value;=0A= }=0A= return hash;=0A= });=0A= },=0A= =0A= toArray: function() {=0A= return this.split('');=0A= },=0A= =0A= succ: function() {=0A= return this.slice(0, this.length - 1) +=0A= String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A= },=0A= =0A= times: function(count) {=0A= return count < 1 ? '' : new Array(count + 1).join(this);=0A= },=0A= =0A= camelize: function() {=0A= var parts =3D this.split('-'), len =3D parts.length;=0A= if (len =3D=3D 1) return parts[0];=0A= =0A= var camelized =3D this.charAt(0) =3D=3D '-'=0A= ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A= : parts[0];=0A= =0A= for (var i =3D 1; i < len; i++)=0A= camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1);=0A= =0A= return camelized;=0A= },=0A= =0A= capitalize: function() {=0A= return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase();=0A= },=0A= =0A= underscore: function() {=0A= return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase();=0A= },=0A= =0A= dasherize: function() {=0A= return this.gsub(/_/,'-');=0A= },=0A= =0A= inspect: function(useDoubleQuotes) {=0A= var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A= var character =3D String.specialChar[match[0]];=0A= return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16);=0A= });=0A= if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"';=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= },=0A= =0A= toJSON: function() {=0A= return this.inspect(true);=0A= },=0A= =0A= unfilterJSON: function(filter) {=0A= return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A= },=0A= =0A= isJSON: function() {=0A= var str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A= return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A= },=0A= =0A= evalJSON: function(sanitize) {=0A= var json =3D this.unfilterJSON();=0A= try {=0A= if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A= } catch (e) { }=0A= throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A= },=0A= =0A= include: function(pattern) {=0A= return this.indexOf(pattern) > -1;=0A= },=0A= =0A= startsWith: function(pattern) {=0A= return this.indexOf(pattern) =3D=3D=3D 0;=0A= },=0A= =0A= endsWith: function(pattern) {=0A= var d =3D this.length - pattern.length;=0A= return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A= },=0A= =0A= empty: function() {=0A= return this =3D=3D '';=0A= },=0A= =0A= blank: function() {=0A= return /^\s*$/.test(this);=0A= },=0A= =0A= interpolate: function(object, pattern) {=0A= return new Template(this, pattern).evaluate(object);=0A= }=0A= });=0A= =0A= if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, {=0A= escapeHTML: function() {=0A= return = this.replace(/&/g,'&').replace(//g,'>');=0A= },=0A= unescapeHTML: function() {=0A= return = this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');=0A= }=0A= });=0A= =0A= String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A= if (Object.isFunction(replacement)) return replacement;=0A= var template =3D new Template(replacement);=0A= return function(match) { return template.evaluate(match) };=0A= };=0A= =0A= String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A= =0A= Object.extend(String.prototype.escapeHTML, {=0A= div: document.createElement('div'),=0A= text: document.createTextNode('')=0A= });=0A= =0A= with (String.prototype.escapeHTML) div.appendChild(text);=0A= =0A= var Template =3D Class.create({=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= if (Object.isFunction(object.toTemplateReplacements))=0A= object =3D object.toTemplateReplacements();=0A= =0A= return this.template.gsub(this.pattern, function(match) {=0A= if (object =3D=3D null) return '';=0A= =0A= var before =3D match[1] || '';=0A= if (before =3D=3D '\\') return match[2];=0A= =0A= var ctx =3D object, expr =3D match[3];=0A= var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = =3D pattern.exec(expr);=0A= if (match =3D=3D null) return before;=0A= =0A= while (match !=3D null) {=0A= var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1];=0A= ctx =3D ctx[comp];=0A= if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A= expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length);=0A= match =3D pattern.exec(expr);=0A= }=0A= =0A= return before + String.interpret(ctx);=0A= }.bind(this));=0A= }=0A= });=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= =0A= var $break =3D { };=0A= =0A= var Enumerable =3D {=0A= each: function(iterator, context) {=0A= var index =3D 0;=0A= iterator =3D iterator.bind(context);=0A= try {=0A= this._each(function(value) {=0A= iterator(value, index++);=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator, context);=0A= },=0A= =0A= all: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!iterator(value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!iterator(value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator(value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(filter, iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(filter);=0A= =0A= this.each(function(value, index) {=0A= if (filter.match(value))=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= if (Object.isFunction(this.indexOf))=0A= if (this.indexOf(object) !=3D -1) return true;=0A= =0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= this.each(function(value, index) {=0A= memo =3D iterator(memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator(value, index);=0A= if (result =3D=3D undefined || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator(value, index);=0A= if (result =3D=3D undefined || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= (iterator(value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= return this.map(function(value, index) {=0A= return {value: value, criteria: iterator(value, index)};=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (Object.isFunction(args.last()))=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= };=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= filter: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray,=0A= every: Enumerable.all,=0A= some: Enumerable.any=0A= });=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= =0A= if (Prototype.Browser.WebKit) {=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (!(Object.isFunction(iterable) && iterable =3D=3D '[object = NodeList]') &&=0A= iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(Object.isArray(value) ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function(sorted) {=0A= return this.inject([], function(array, value, index) {=0A= if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value)))=0A= array.push(value);=0A= return array;=0A= });=0A= },=0A= =0A= intersect: function(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { return item =3D=3D=3D value = });=0A= });=0A= },=0A= =0A= clone: function() {=0A= return [].concat(this);=0A= },=0A= =0A= size: function() {=0A= return this.length;=0A= },=0A= =0A= inspect: function() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= },=0A= =0A= toJSON: function() {=0A= var results =3D [];=0A= this.each(function(object) {=0A= var value =3D Object.toJSON(object);=0A= if (value !=3D=3D undefined) results.push(value);=0A= });=0A= return '[' + results.join(', ') + ']';=0A= }=0A= });=0A= =0A= // use native browser JS 1.6 implementation if available=0A= if (Object.isFunction(Array.prototype.forEach))=0A= Array.prototype._each =3D Array.prototype.forEach;=0A= =0A= if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) {=0A= i || (i =3D 0);=0A= var length =3D this.length;=0A= if (i < 0) i =3D length + i;=0A= for (; i < length; i++)=0A= if (this[i] =3D=3D=3D item) return i;=0A= return -1;=0A= };=0A= =0A= if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) {=0A= i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A= var n =3D this.slice(0, i).reverse().indexOf(item);=0A= return (n < 0) ? n : i - n - 1;=0A= };=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if (Prototype.Browser.Opera){=0A= Array.prototype.concat =3D function() {=0A= var array =3D [];=0A= for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if (Object.isArray(arguments[i])) {=0A= for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= };=0A= }=0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= return this.toPaddedString(2, 16);=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator) {=0A= $R(0, this, true).each(iterator);=0A= return this;=0A= },=0A= =0A= toPaddedString: function(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= },=0A= =0A= toJSON: function() {=0A= return isFinite(this) ? this.toString() : 'null';=0A= }=0A= });=0A= =0A= $w('abs round ceil floor').each(function(method){=0A= Number.prototype[method] =3D Math[method].methodize();=0A= });=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= if (function() {=0A= var i =3D 0, Test =3D function(value) { this.key =3D value };=0A= Test.prototype.key =3D 'foo';=0A= for (var property in new Test('bar')) i++;=0A= return i > 1;=0A= }()) {=0A= function each(iterator) {=0A= var cache =3D [];=0A= for (var key in this._object) {=0A= var value =3D this._object[key];=0A= if (cache.include(key)) continue;=0A= cache.push(key);=0A= var pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= }=0A= } else {=0A= function each(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= }=0A= }=0A= =0A= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= return {=0A= initialize: function(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= },=0A= =0A= _each: each,=0A= =0A= set: function(key, value) {=0A= return this._object[key] =3D value;=0A= },=0A= =0A= get: function(key) {=0A= return this._object[key];=0A= },=0A= =0A= unset: function(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= },=0A= =0A= toObject: function() {=0A= return Object.clone(this._object);=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= index: function(value) {=0A= var match =3D this.detect(function(pair) {=0A= return pair.value =3D=3D=3D value;=0A= });=0A= return match && match.key;=0A= },=0A= =0A= merge: function(object) {=0A= return this.clone().update(object);=0A= },=0A= =0A= update: function(object) {=0A= return new Hash(object).inject(this, function(result, pair) {=0A= result.set(pair.key, pair.value);=0A= return result;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.map(function(pair) {=0A= var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A= =0A= if (values && typeof values =3D=3D 'object') {=0A= if (Object.isArray(values))=0A= return values.map(toQueryPair.curry(key)).join('&');=0A= }=0A= return toQueryPair(key, values);=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= },=0A= =0A= toJSON: function() {=0A= return Object.toJSON(this.toObject());=0A= },=0A= =0A= clone: function() {=0A= return new Hash(this);=0A= }=0A= }=0A= })());=0A= =0A= Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject;=0A= Hash.from =3D $H;=0A= var ObjectRange =3D Class.create(Enumerable, {=0A= initialize: function(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= },=0A= =0A= _each: function(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= },=0A= =0A= include: function(value) {=0A= if (value < this.start)=0A= return false;=0A= if (this.exclusive)=0A= return value < this.end;=0A= return value <=3D this.end;=0A= }=0A= });=0A= =0A= var $R =3D function(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= };=0A= =0A= var Ajax =3D {=0A= getTransport: function() {=0A= return Try.these(=0A= function() {return new XMLHttpRequest()},=0A= function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A= function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A= ) || false;=0A= },=0A= =0A= activeRequestCount: 0=0A= };=0A= =0A= Ajax.Responders =3D {=0A= responders: [],=0A= =0A= _each: function(iterator) {=0A= this.responders._each(iterator);=0A= },=0A= =0A= register: function(responder) {=0A= if (!this.include(responder))=0A= this.responders.push(responder);=0A= },=0A= =0A= unregister: function(responder) {=0A= this.responders =3D this.responders.without(responder);=0A= },=0A= =0A= dispatch: function(callback, request, transport, json) {=0A= this.each(function(responder) {=0A= if (Object.isFunction(responder[callback])) {=0A= try {=0A= responder[callback].apply(responder, [request, transport, = json]);=0A= } catch (e) { }=0A= }=0A= });=0A= }=0A= };=0A= =0A= Object.extend(Ajax.Responders, Enumerable);=0A= =0A= Ajax.Responders.register({=0A= onCreate: function() { Ajax.activeRequestCount++ },=0A= onComplete: function() { Ajax.activeRequestCount-- }=0A= });=0A= =0A= Ajax.Base =3D Class.create({=0A= initialize: function(options) {=0A= this.options =3D {=0A= method: 'post',=0A= asynchronous: true,=0A= contentType: 'application/x-www-form-urlencoded',=0A= encoding: 'UTF-8',=0A= parameters: '',=0A= evalJSON: true,=0A= evalJS: true=0A= };=0A= Object.extend(this.options, options || { });=0A= =0A= this.options.method =3D this.options.method.toLowerCase();=0A= if (Object.isString(this.options.parameters))=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= }=0A= });=0A= =0A= Ajax.Request =3D Class.create(Ajax.Base, {=0A= _complete: false,=0A= =0A= initialize: function($super, url, options) {=0A= $super(options);=0A= this.transport =3D Ajax.getTransport();=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D Object.clone(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= this.parameters =3D params;=0A= =0A= if (params =3D Object.toQueryString(params)) {=0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get')=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= params +=3D '&_=3D';=0A= }=0A= =0A= try {=0A= var response =3D new Ajax.Response(this);=0A= if (this.options.onCreate) this.options.onCreate(response);=0A= Ajax.Responders.dispatch('onCreate', this, response);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null;=0A= this.transport.send(this.body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (Object.isFunction(extras.push))=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value });=0A= }=0A= =0A= for (var name in headers)=0A= this.transport.setRequestHeader(name, headers[name]);=0A= },=0A= =0A= success: function() {=0A= var status =3D this.getStatus();=0A= return !status || (status >=3D 200 && status < 300);=0A= },=0A= =0A= getStatus: function() {=0A= try {=0A= return this.transport.status || 0;=0A= } catch (e) { return 0 }=0A= },=0A= =0A= respondToReadyState: function(readyState) {=0A= var state =3D Ajax.Request.Events[readyState], response =3D new = Ajax.Response(this);=0A= =0A= if (state =3D=3D 'Complete') {=0A= try {=0A= this._complete =3D true;=0A= (this.options['on' + response.status]=0A= || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A= || Prototype.emptyFunction)(response, response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= var contentType =3D response.getHeader('Content-type');=0A= if (this.options.evalJS =3D=3D 'force'=0A= || (this.options.evalJS && contentType=0A= && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i)))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON);=0A= Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name);=0A= } catch (e) { return null }=0A= },=0A= =0A= evalResponse: function() {=0A= try {=0A= return eval((this.transport.responseText || '').unfilterJSON());=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= dispatchException: function(exception) {=0A= (this.options.onException || Prototype.emptyFunction)(this, = exception);=0A= Ajax.Responders.dispatch('onException', this, exception);=0A= }=0A= });=0A= =0A= Ajax.Request.Events =3D=0A= ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A= =0A= Ajax.Response =3D Class.create({=0A= initialize: function(request){=0A= this.request =3D request;=0A= var transport =3D this.transport =3D request.transport,=0A= readyState =3D this.readyState =3D transport.readyState;=0A= =0A= if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) = {=0A= this.status =3D this.getStatus();=0A= this.statusText =3D this.getStatusText();=0A= this.responseText =3D String.interpret(transport.responseText);=0A= this.headerJSON =3D this._getHeaderJSON();=0A= }=0A= =0A= if(readyState =3D=3D 4) {=0A= var xml =3D transport.responseXML;=0A= this.responseXML =3D xml =3D=3D=3D undefined ? null : xml;=0A= this.responseJSON =3D this._getResponseJSON();=0A= }=0A= },=0A= =0A= status: 0,=0A= statusText: '',=0A= =0A= getStatus: Ajax.Request.prototype.getStatus,=0A= =0A= getStatusText: function() {=0A= try {=0A= return this.transport.statusText || '';=0A= } catch (e) { return '' }=0A= },=0A= =0A= getHeader: Ajax.Request.prototype.getHeader,=0A= =0A= getAllHeaders: function() {=0A= try {=0A= return this.getAllResponseHeaders();=0A= } catch (e) { return null }=0A= },=0A= =0A= getResponseHeader: function(name) {=0A= return this.transport.getResponseHeader(name);=0A= },=0A= =0A= getAllResponseHeaders: function() {=0A= return this.transport.getAllResponseHeaders();=0A= },=0A= =0A= _getHeaderJSON: function() {=0A= var json =3D this.getHeader('X-JSON');=0A= if (!json) return null;=0A= json =3D decodeURIComponent(escape(json));=0A= try {=0A= return json.evalJSON(this.request.options.sanitizeJSON);=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= },=0A= =0A= _getResponseJSON: function() {=0A= var options =3D this.request.options;=0A= if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A= !(this.getHeader('Content-type') || = '').include('application/json')))=0A= return null;=0A= try {=0A= return this.transport.responseText.evalJSON(options.sanitizeJSON);=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create(Ajax.Request, {=0A= initialize: function($super, container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= };=0A= =0A= options =3D options || { };=0A= var onComplete =3D options.onComplete;=0A= options.onComplete =3D (function(response, param) {=0A= this.updateContent(response.responseText);=0A= if (Object.isFunction(onComplete)) onComplete(response, param);=0A= }).bind(this);=0A= =0A= $super(url, options);=0A= },=0A= =0A= updateContent: function(responseText) {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'],=0A= options =3D this.options;=0A= =0A= if (!options.evalScripts) responseText =3D = responseText.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (options.insertion) {=0A= if (Object.isString(options.insertion)) {=0A= var insertion =3D { }; insertion[options.insertion] =3D = responseText;=0A= receiver.insert(insertion);=0A= }=0A= else options.insertion(receiver, responseText);=0A= }=0A= else receiver.update(responseText);=0A= }=0A= =0A= if (this.success()) {=0A= if (this.onComplete) this.onComplete.bind(this).defer();=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A= initialize: function($super, container, url, options) {=0A= $super(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D { };=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(response) {=0A= if (this.options.decay) {=0A= this.decay =3D (response.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D response.responseText;=0A= }=0A= this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (Object.isString(element))=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(Element.extend(query.snapshotItem(i)));=0A= return results;=0A= };=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=0A= // DOM level 2 ECMAScript Language Binding=0A= Object.extend(Node, {=0A= ELEMENT_NODE: 1,=0A= ATTRIBUTE_NODE: 2,=0A= TEXT_NODE: 3,=0A= CDATA_SECTION_NODE: 4,=0A= ENTITY_REFERENCE_NODE: 5,=0A= ENTITY_NODE: 6,=0A= PROCESSING_INSTRUCTION_NODE: 7,=0A= COMMENT_NODE: 8,=0A= DOCUMENT_NODE: 9,=0A= DOCUMENT_TYPE_NODE: 10,=0A= DOCUMENT_FRAGMENT_NODE: 11,=0A= NOTATION_NODE: 12=0A= });=0A= }=0A= =0A= (function() {=0A= var element =3D this.Element;=0A= this.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= if (Prototype.Browser.IE && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes);=0A= };=0A= Object.extend(this.Element, element || { });=0A= }).call(window);=0A= =0A= Element.cache =3D { };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= $(element).style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= $(element).style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= content =3D Object.toHTML(content);=0A= element.innerHTML =3D content.stripScripts();=0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= },=0A= =0A= replace: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= else if (!Object.isElement(content)) {=0A= content =3D Object.toHTML(content);=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNode(element);=0A= content.evalScripts.bind(content).defer();=0A= content =3D range.createContextualFragment(content.stripScripts());=0A= }=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= },=0A= =0A= insert: function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D {bottom:insertions};=0A= =0A= var content, t, range;=0A= =0A= for (position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= t =3D Element._insertionTranslations[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= t.insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= range =3D element.ownerDocument.createRange();=0A= t.initializeRange(element, range);=0A= t.insert(element, = range.createContextualFragment(content.stripScripts()));=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= },=0A= =0A= wrap: function(element, wrapper, attributes) {=0A= element =3D $(element);=0A= if (Object.isElement(wrapper))=0A= $(wrapper).writeAttribute(attributes || { });=0A= else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes);=0A= else wrapper =3D new Element('div', wrapper);=0A= if (element.parentNode)=0A= element.parentNode.replaceChild(wrapper, element);=0A= wrapper.appendChild(element);=0A= return wrapper;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $A($(element).getElementsByTagName('*')).each(Element.extend);=0A= },=0A= =0A= firstDescendant: function(element) {=0A= element =3D $(element).firstChild;=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= return $(element);=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (Object.isString(selector))=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return $(element.parentNode);=0A= var ancestors =3D element.ancestors();=0A= return expression ? Selector.findElement(ancestors, expression, = index) :=0A= ancestors[index || 0];=0A= },=0A= =0A= down: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= var descendants =3D element.descendants();=0A= return expression ? Selector.findElement(descendants, expression, = index) :=0A= descendants[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element));=0A= var previousSiblings =3D element.previousSiblings();=0A= return expression ? Selector.findElement(previousSiblings, = expression, index) :=0A= previousSiblings[index || 0];=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element));=0A= var nextSiblings =3D element.nextSiblings();=0A= return expression ? Selector.findElement(nextSiblings, expression, = index) :=0A= nextSiblings[index || 0];=0A= },=0A= =0A= select: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= adjacent: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element.parentNode, = args).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D element.readAttribute('id'), self =3D arguments.callee;=0A= if (id) return id;=0A= do { id =3D 'anonymous_element_' + self.counter++ } while ($(id));=0A= element.writeAttribute('id', id);=0A= return id;=0A= },=0A= =0A= readAttribute: function(element, name) {=0A= element =3D $(element);=0A= if (Prototype.Browser.IE) {=0A= var t =3D Element._attributeTranslations.read;=0A= if (t.values[name]) return t.values[name](element, name);=0A= if (t.names[name]) name =3D t.names[name];=0A= if (name.include(':')) {=0A= return (!element.attributes || !element.attributes[name]) ? null = :=0A= element.attributes[name].value;=0A= }=0A= }=0A= return element.getAttribute(name);=0A= },=0A= =0A= writeAttribute: function(element, name, value) {=0A= element =3D $(element);=0A= var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A= =0A= if (typeof name =3D=3D 'object') attributes =3D name;=0A= else attributes[name] =3D value =3D=3D=3D undefined ? true : value;=0A= =0A= for (var attr in attributes) {=0A= var name =3D t.names[attr] || attr, value =3D attributes[attr];=0A= if (t.values[attr]) name =3D t.values[attr](element, value);=0A= if (value =3D=3D=3D false || value =3D=3D=3D null)=0A= element.removeAttribute(name);=0A= else if (value =3D=3D=3D true)=0A= element.setAttribute(name, name);=0A= else element.setAttribute(name, value);=0A= }=0A= return element;=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= return (elementClassName.length > 0 && (elementClassName =3D=3D = className ||=0A= new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName)));=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= if (!element.hasClassName(className))=0A= element.className +=3D (element.className ? ' ' : '') + className;=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= element.className =3D element.className.replace(=0A= new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= return element[element.hasClassName(className) ?=0A= 'removeClassName' : 'addClassName'](className);=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.blank();=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= =0A= if (element.compareDocumentPosition)=0A= return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A= =0A= if (element.sourceIndex && !Prototype.Browser.Opera) {=0A= var e =3D element.sourceIndex, a =3D ancestor.sourceIndex,=0A= nextAncestor =3D ancestor.nextSibling;=0A= if (!nextAncestor) {=0A= do { ancestor =3D ancestor.parentNode; }=0A= while (!(nextAncestor =3D ancestor.nextSibling) && = ancestor.parentNode);=0A= }=0A= if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex);=0A= }=0A= =0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D element.cumulativeOffset();=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value) {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= }=0A= if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= getOpacity: function(element) {=0A= return $(element).getStyle('opacity');=0A= },=0A= =0A= setStyle: function(element, styles) {=0A= element =3D $(element);=0A= var elementStyle =3D element.style, match;=0A= if (Object.isString(styles)) {=0A= element.style.cssText +=3D ';' + styles;=0A= return styles.include('opacity') ?=0A= element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element;=0A= }=0A= for (var property in styles)=0A= if (property =3D=3D 'opacity') = element.setOpacity(styles[property]);=0A= else=0A= elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ?=0A= (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : = 'styleFloat') :=0A= property] =3D styles[property];=0A= =0A= return element;=0A= },=0A= =0A= setOpacity: function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D $(element).getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (window.opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto';=0A= if (element._overflow !=3D=3D 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if (element.tagName =3D=3D 'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A= }=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'absolute') return;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= var offsets =3D element.positionedOffset();=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= return element;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'relative') return;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= return element;=0A= },=0A= =0A= cumulativeScrollOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= getOffsetParent: function(element) {=0A= if (element.offsetParent) return $(element.offsetParent);=0A= if (element =3D=3D document.body) return $(element);=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return $(element);=0A= =0A= return $(document.body);=0A= },=0A= =0A= viewportOffset: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent =3D=3D document.body &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!Prototype.Browser.Opera || element.tagName =3D=3D 'BODY') {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= clonePosition: function(element, source) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || { });=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D source.viewportOffset();=0A= =0A= // find coordinate system to use=0A= element =3D $(element);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D element.getOffsetParent();=0A= delta =3D parent.viewportOffset();=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px';=0A= if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px';=0A= return element;=0A= }=0A= };=0A= =0A= Element.Methods.identify.counter =3D 1;=0A= =0A= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= childElements: Element.Methods.immediateDescendants=0A= });=0A= =0A= Element._attributeTranslations =3D {=0A= write: {=0A= names: {=0A= className: 'class',=0A= htmlFor: 'for'=0A= },=0A= values: { }=0A= }=0A= };=0A= =0A= =0A= if (!document.createRange || Prototype.Browser.Opera) {=0A= Element.Methods.insert =3D function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D { bottom: insertions };=0A= =0A= var t =3D Element._insertionTranslations, content, position, pos, = tagName;=0A= =0A= for (position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= pos =3D t[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= pos.insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A= ? element.parentNode : element).tagName.toUpperCase();=0A= =0A= if (t.tags[tagName]) {=0A= var fragments =3D = Element._getContentFromAnonymousElement(tagName, content.stripScripts());=0A= if (position =3D=3D 'top' || position =3D=3D 'after') = fragments.reverse();=0A= fragments.each(pos.insert.curry(element));=0A= }=0A= else element.insertAdjacentHTML(pos.adjacency, = content.stripScripts());=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= };=0A= }=0A= =0A= if (Prototype.Browser.Opera) {=0A= Element.Methods._getStyle =3D Element.Methods.getStyle;=0A= Element.Methods.getStyle =3D function(element, style) {=0A= switch(style) {=0A= case 'left':=0A= case 'top':=0A= case 'right':=0A= case 'bottom':=0A= if (Element._getStyle(element, 'position') =3D=3D 'static') = return null;=0A= default: return Element._getStyle(element, style);=0A= }=0A= };=0A= Element.Methods._readAttribute =3D Element.Methods.readAttribute;=0A= Element.Methods.readAttribute =3D function(element, attribute) {=0A= if (attribute =3D=3D 'title') return element.title;=0A= return Element._readAttribute(element, attribute);=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.IE) {=0A= $w('positionedOffset getOffsetParent = viewportOffset').each(function(method) {=0A= Element.Methods[method] =3D Element.Methods[method].wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= var position =3D element.getStyle('position');=0A= if (position !=3D 'static') return proceed(element);=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= });=0A= =0A= Element.Methods.getStyle =3D function(element, style) {=0A= element =3D $(element);=0A= style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value && element.currentStyle) value =3D = element.currentStyle[style];=0A= =0A= if (style =3D=3D 'opacity') {=0A= if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if (value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= =0A= if (value =3D=3D 'auto') {=0A= if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none'))=0A= return element['offset' + style.capitalize()] + 'px';=0A= return null;=0A= }=0A= return value;=0A= };=0A= =0A= Element.Methods.setOpacity =3D function(element, value) {=0A= function stripAlpha(filter){=0A= return filter.replace(/alpha\([^\)]*\)/gi,'');=0A= }=0A= element =3D $(element);=0A= var currentStyle =3D element.currentStyle;=0A= if ((currentStyle && !currentStyle.hasLayout) ||=0A= (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A= element.style.zoom =3D 1;=0A= =0A= var filter =3D element.getStyle('filter'), style =3D element.style;=0A= if (value =3D=3D 1 || value =3D=3D=3D '') {=0A= (filter =3D stripAlpha(filter)) ?=0A= style.filter =3D filter : style.removeAttribute('filter');=0A= return element;=0A= } else if (value < 0.00001) value =3D 0;=0A= style.filter =3D stripAlpha(filter) +=0A= 'alpha(opacity=3D' + (value * 100) + ')';=0A= return element;=0A= };=0A= =0A= Element._attributeTranslations =3D {=0A= read: {=0A= names: {=0A= 'class': 'className',=0A= 'for': 'htmlFor'=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= _getAttrNode: function(element, attribute) {=0A= var node =3D element.getAttributeNode(attribute);=0A= return node ? node.value : "";=0A= },=0A= _getEv: function(element, attribute) {=0A= var attribute =3D element.getAttribute(attribute);=0A= return attribute ? attribute.toString().slice(23, -2) : null;=0A= },=0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= title: function(element) {=0A= return element.title;=0A= }=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.write =3D {=0A= names: Object.clone(Element._attributeTranslations.read.names),=0A= values: {=0A= checked: function(element, value) {=0A= element.checked =3D !!value;=0A= },=0A= =0A= style: function(element, value) {=0A= element.style.cssText =3D value ? value : '';=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.has =3D {};=0A= =0A= $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A= 'encType maxLength readOnly longDesc').each(function(attr) {=0A= Element._attributeTranslations.write.names[attr.toLowerCase()] =3D = attr;=0A= Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A= });=0A= =0A= (function(v) {=0A= Object.extend(v, {=0A= href: v._getAttr,=0A= src: v._getAttr,=0A= type: v._getAttr,=0A= action: v._getAttrNode,=0A= disabled: v._flag,=0A= checked: v._flag,=0A= readonly: v._flag,=0A= multiple: v._flag,=0A= onload: v._getEv,=0A= onunload: v._getEv,=0A= onclick: v._getEv,=0A= ondblclick: v._getEv,=0A= onmousedown: v._getEv,=0A= onmouseup: v._getEv,=0A= onmouseover: v._getEv,=0A= onmousemove: v._getEv,=0A= onmouseout: v._getEv,=0A= onfocus: v._getEv,=0A= onblur: v._getEv,=0A= onkeypress: v._getEv,=0A= onkeydown: v._getEv,=0A= onkeyup: v._getEv,=0A= onsubmit: v._getEv,=0A= onreset: v._getEv,=0A= onselect: v._getEv,=0A= onchange: v._getEv=0A= });=0A= })(Element._attributeTranslations.read.values);=0A= }=0A= =0A= else if (Prototype.Browser.Gecko && = /rv:1\.8\.0/.test(navigator.userAgent)) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A= (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A= return element;=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.WebKit) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= =0A= if (value =3D=3D 1)=0A= if(element.tagName =3D=3D 'IMG' && element.width) {=0A= element.width++; element.width--;=0A= } else try {=0A= var n =3D document.createTextNode(' ');=0A= element.appendChild(n);=0A= element.removeChild(n);=0A= } catch (e) { }=0A= =0A= return element;=0A= };=0A= =0A= // Safari returns margins on body which is incorrect if the child is = absolutely=0A= // positioned. For performance reasons, redefine = Position.cumulativeOffset for=0A= // KHTML/WebKit only.=0A= Element.Methods.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= };=0A= }=0A= =0A= if (Prototype.Browser.IE || Prototype.Browser.Opera) {=0A= // IE and Opera are missing .innerHTML support for TABLE-related and = SELECT elements=0A= Element.Methods.update =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= =0A= content =3D Object.toHTML(content);=0A= var tagName =3D element.tagName.toUpperCase();=0A= =0A= if (tagName in Element._insertionTranslations.tags) {=0A= $A(element.childNodes).each(function(node) { = element.removeChild(node) });=0A= Element._getContentFromAnonymousElement(tagName, = content.stripScripts())=0A= .each(function(node) { element.appendChild(node) });=0A= }=0A= else element.innerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= if (document.createElement('div').outerHTML) {=0A= Element.Methods.replace =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= var parent =3D element.parentNode, tagName =3D = parent.tagName.toUpperCase();=0A= =0A= if (Element._insertionTranslations.tags[tagName]) {=0A= var nextSibling =3D element.next();=0A= var fragments =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= parent.removeChild(element);=0A= if (nextSibling)=0A= fragments.each(function(node) { parent.insertBefore(node, = nextSibling) });=0A= else=0A= fragments.each(function(node) { parent.appendChild(node) });=0A= }=0A= else element.outerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= Element._returnOffset =3D function(l, t) {=0A= var result =3D [l, t];=0A= result.left =3D l;=0A= result.top =3D t;=0A= return result;=0A= };=0A= =0A= Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A= var div =3D new Element('div'), t =3D = Element._insertionTranslations.tags[tagName];=0A= div.innerHTML =3D t[0] + html + t[1];=0A= t[2].times(function() { div =3D div.firstChild });=0A= return $A(div.childNodes);=0A= };=0A= =0A= Element._insertionTranslations =3D {=0A= before: {=0A= adjacency: 'beforeBegin',=0A= insert: function(element, node) {=0A= element.parentNode.insertBefore(node, element);=0A= },=0A= initializeRange: function(element, range) {=0A= range.setStartBefore(element);=0A= }=0A= },=0A= top: {=0A= adjacency: 'afterBegin',=0A= insert: function(element, node) {=0A= element.insertBefore(node, element.firstChild);=0A= },=0A= initializeRange: function(element, range) {=0A= range.selectNodeContents(element);=0A= range.collapse(true);=0A= }=0A= },=0A= bottom: {=0A= adjacency: 'beforeEnd',=0A= insert: function(element, node) {=0A= element.appendChild(node);=0A= }=0A= },=0A= after: {=0A= adjacency: 'afterEnd',=0A= insert: function(element, node) {=0A= element.parentNode.insertBefore(node, element.nextSibling);=0A= },=0A= initializeRange: function(element, range) {=0A= range.setStartAfter(element);=0A= }=0A= },=0A= tags: {=0A= TABLE: ['', '
', 1],=0A= TBODY: ['', '
', 2],=0A= TR: ['', '
', 3],=0A= TD: ['
', '
', 4],=0A= SELECT: ['', 1]=0A= }=0A= };=0A= =0A= (function() {=0A= this.bottom.initializeRange =3D this.top.initializeRange;=0A= Object.extend(this.tags, {=0A= THEAD: this.tags.TBODY,=0A= TFOOT: this.tags.TBODY,=0A= TH: this.tags.TD=0A= });=0A= }).call(Element._insertionTranslations);=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= attribute =3D Element._attributeTranslations.has[attribute] || = attribute;=0A= var node =3D $(element).getAttributeNode(attribute);=0A= return node && node.specified;=0A= }=0A= };=0A= =0A= Element.Methods.ByTag =3D { };=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= if (!Prototype.BrowserFeatures.ElementExtensions &&=0A= document.createElement('div').__proto__) {=0A= window.HTMLElement =3D { };=0A= window.HTMLElement.prototype =3D = document.createElement('div').__proto__;=0A= Prototype.BrowserFeatures.ElementExtensions =3D true;=0A= }=0A= =0A= Element.extend =3D (function() {=0A= if (Prototype.BrowserFeatures.SpecificElementExtensions)=0A= return Prototype.K;=0A= =0A= var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A= =0A= var extend =3D Object.extend(function(element) {=0A= if (!element || element._extendedByPrototype ||=0A= element.nodeType !=3D 1 || element =3D=3D window) return element;=0A= =0A= var methods =3D Object.clone(Methods),=0A= tagName =3D element.tagName, property, value;=0A= =0A= // extend methods for specific tags=0A= if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A= =0A= for (property in methods) {=0A= value =3D methods[property];=0A= if (Object.isFunction(value) && !(property in element))=0A= element[property] =3D value.methodize();=0A= }=0A= =0A= element._extendedByPrototype =3D Prototype.emptyFunction;=0A= return element;=0A= =0A= }, {=0A= refresh: function() {=0A= // extend methods for all tags (Safari doesn't need this)=0A= if (!Prototype.BrowserFeatures.ElementExtensions) {=0A= Object.extend(Methods, Element.Methods);=0A= Object.extend(Methods, Element.Methods.Simulated);=0A= }=0A= }=0A= });=0A= =0A= extend.refresh();=0A= return extend;=0A= })();=0A= =0A= Element.hasAttribute =3D function(element, attribute) {=0A= if (element.hasAttribute) return element.hasAttribute(attribute);=0A= return Element.Methods.Simulated.hasAttribute(element, attribute);=0A= };=0A= =0A= Element.addMethods =3D function(methods) {=0A= var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A= =0A= if (!methods) {=0A= Object.extend(Form, Form.Methods);=0A= Object.extend(Form.Element, Form.Element.Methods);=0A= Object.extend(Element.Methods.ByTag, {=0A= "FORM": Object.clone(Form.Methods),=0A= "INPUT": Object.clone(Form.Element.Methods),=0A= "SELECT": Object.clone(Form.Element.Methods),=0A= "TEXTAREA": Object.clone(Form.Element.Methods)=0A= });=0A= }=0A= =0A= if (arguments.length =3D=3D 2) {=0A= var tagName =3D methods;=0A= methods =3D arguments[1];=0A= }=0A= =0A= if (!tagName) Object.extend(Element.Methods, methods || { });=0A= else {=0A= if (Object.isArray(tagName)) tagName.each(extend);=0A= else extend(tagName);=0A= }=0A= =0A= function extend(tagName) {=0A= tagName =3D tagName.toUpperCase();=0A= if (!Element.Methods.ByTag[tagName])=0A= Element.Methods.ByTag[tagName] =3D { };=0A= Object.extend(Element.Methods.ByTag[tagName], methods);=0A= }=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!Object.isFunction(value)) continue;=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D value.methodize();=0A= }=0A= }=0A= =0A= function findDOMClass(tagName) {=0A= var klass;=0A= var trans =3D {=0A= "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A= "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList",=0A= "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading",=0A= "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A= "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION":=0A= "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A= "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR":=0A= "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A= "FrameSet", "IFRAME": "IFrame"=0A= };=0A= if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A= if (window[klass]) return window[klass];=0A= =0A= window[klass] =3D { };=0A= window[klass].prototype =3D = document.createElement(tagName).__proto__;=0A= return window[klass];=0A= }=0A= =0A= if (F.ElementExtensions) {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= }=0A= =0A= if (F.SpecificElementExtensions) {=0A= for (var tag in Element.Methods.ByTag) {=0A= var klass =3D findDOMClass(tag);=0A= if (Object.isUndefined(klass)) continue;=0A= copy(T[tag], klass.prototype);=0A= }=0A= }=0A= =0A= Object.extend(Element, Element.Methods);=0A= delete Element.ByTag;=0A= =0A= if (Element.extend.refresh) Element.extend.refresh();=0A= Element.cache =3D { };=0A= };=0A= =0A= document.viewport =3D {=0A= getDimensions: function() {=0A= var dimensions =3D { };=0A= $w('width height').each(function(d) {=0A= var D =3D d.capitalize();=0A= dimensions[d] =3D self['inner' + D] ||=0A= (document.documentElement['client' + D] || document.body['client' = + D]);=0A= });=0A= return dimensions;=0A= },=0A= =0A= getWidth: function() {=0A= return this.getDimensions().width;=0A= },=0A= =0A= getHeight: function() {=0A= return this.getDimensions().height;=0A= },=0A= =0A= getScrollOffsets: function() {=0A= return Element._returnOffset(=0A= window.pageXOffset || document.documentElement.scrollLeft || = document.body.scrollLeft,=0A= window.pageYOffset || document.documentElement.scrollTop || = document.body.scrollTop);=0A= }=0A= };=0A= /* Portions of the Selector class are derived from Jack Slocum=E2=80=99s = DomQuery,=0A= * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style=0A= * license. Please see http://www.yui-ext.com/ for more information. */=0A= =0A= var Selector =3D Class.create({=0A= initialize: function(expression) {=0A= this.expression =3D expression.strip();=0A= this.compileMatcher();=0A= },=0A= =0A= compileMatcher: function() {=0A= // Selectors with namespaced attributes can't use the XPath version=0A= if (Prototype.BrowserFeatures.XPath && = !(/(\[[\w-]*?:|:checked)/).test(this.expression))=0A= return this.compileXPathMatcher();=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers,=0A= c =3D Selector.criteria, le, p, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.matcher =3D Selector._cache[e];=0A= return;=0A= }=0A= =0A= this.matcher =3D ["this.matcher =3D function(root) {",=0A= "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"];=0A= =0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :=0A= new Template(c[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.matcher.push("return h.unique(n);\n}");=0A= eval(this.matcher.join('\n'));=0A= Selector._cache[this.expression] =3D this.matcher;=0A= },=0A= =0A= compileXPathMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.xpath =3D Selector._cache[e]; return;=0A= }=0A= =0A= this.matcher =3D ['.//*'];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= if (m =3D e.match(ps[i])) {=0A= this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :=0A= new Template(x[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.xpath =3D this.matcher.join('');=0A= Selector._cache[this.expression] =3D this.xpath;=0A= },=0A= =0A= findElements: function(root) {=0A= root =3D root || document;=0A= if (this.xpath) return document._getElementsByXPath(this.xpath, = root);=0A= return this.matcher(root);=0A= },=0A= =0A= match: function(element) {=0A= this.tokens =3D [];=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, as =3D = Selector.assertions;=0A= var le, p, m;=0A= =0A= while (e && le !=3D=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= // use the Selector.assertions methods unless the selector=0A= // is too complex.=0A= if (as[i]) {=0A= this.tokens.push([i, Object.clone(m)]);=0A= e =3D e.replace(m[0], '');=0A= } else {=0A= // reluctantly do a document-wide search=0A= // and look for a match in the array=0A= return this.findElements(document).include(element);=0A= }=0A= }=0A= }=0A= }=0A= =0A= var match =3D true, name, matches;=0A= for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A= name =3D token[0], matches =3D token[1];=0A= if (!Selector.assertions[name](element, matches)) {=0A= match =3D false; break;=0A= }=0A= }=0A= =0A= return match;=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= },=0A= =0A= inspect: function() {=0A= return "#";=0A= }=0A= });=0A= =0A= Object.extend(Selector, {=0A= _cache: { },=0A= =0A= xpath: {=0A= descendant: "//*",=0A= child: "/*",=0A= adjacent: "/following-sibling::*[1]",=0A= laterSibling: '/following-sibling::*',=0A= tagName: function(m) {=0A= if (m[1] =3D=3D '*') return '';=0A= return "[local-name()=3D'" + m[1].toLowerCase() +=0A= "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A= },=0A= className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A= id: "[@id=3D'#{1}']",=0A= attrPresence: "[@#{1}]",=0A= attr: function(m) {=0A= m[3] =3D m[5] || m[6];=0A= return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= var h =3D Selector.xpath.pseudos[m[1]];=0A= if (!h) return '';=0A= if (Object.isFunction(h)) return h(m);=0A= return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A= },=0A= operators: {=0A= '=3D': "[@#{1}=3D'#{3}']",=0A= '!=3D': "[@#{1}!=3D'#{3}']",=0A= '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A= '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']",=0A= '*=3D': "[contains(@#{1}, '#{3}')]",=0A= '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A= '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A= },=0A= pseudos: {=0A= 'first-child': '[not(preceding-sibling::*)]',=0A= 'last-child': '[not(following-sibling::*)]',=0A= 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]',=0A= 'empty': "[count(*) =3D 0 and (count(text()) =3D 0 or = translate(text(), ' \t\r\n', '') =3D '')]",=0A= 'checked': "[@checked]",=0A= 'disabled': "[@disabled]",=0A= 'enabled': "[not(@disabled)]",=0A= 'not': function(m) {=0A= var e =3D m[6], p =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m, v;=0A= =0A= var exclusion =3D [];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in p) {=0A= if (m =3D e.match(p[i])) {=0A= v =3D Object.isFunction(x[i]) ? x[i](m) : new = Template(x[i]).evaluate(m);=0A= exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= return "[not(" + exclusion.join(" and ") + ")]";=0A= },=0A= 'nth-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A= },=0A= 'nth-last-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A= },=0A= 'nth-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("position() ", m);=0A= },=0A= 'nth-last-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m);=0A= },=0A= 'first-of-type': function(m) {=0A= m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A= },=0A= 'last-of-type': function(m) {=0A= m[6] =3D "1"; return = Selector.xpath.pseudos['nth-last-of-type'](m);=0A= },=0A= 'only-of-type': function(m) {=0A= var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + = p['last-of-type'](m);=0A= },=0A= nth: function(fragment, m) {=0A= var mm, formula =3D m[6], predicate;=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A= return '[' + fragment + "=3D " + mm[1] + ']';=0A= if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A= if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A= var a =3D mm[1] ? Number(mm[1]) : 1;=0A= var b =3D mm[2] ? Number(mm[2]) : 0;=0A= predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A= "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A= return new Template(predicate).evaluate({=0A= fragment: fragment, a: a, b: b });=0A= }=0A= }=0A= }=0A= },=0A= =0A= criteria: {=0A= tagName: 'n =3D h.tagName(n, r, "#{1}", c); c =3D false;',=0A= className: 'n =3D h.className(n, r, "#{1}", c); c =3D false;',=0A= id: 'n =3D h.id(n, r, "#{1}", c); c =3D false;',=0A= attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;',=0A= attr: function(m) {=0A= m[3] =3D (m[5] || m[6]);=0A= return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = =3D false;').evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A= return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m);=0A= },=0A= descendant: 'c =3D "descendant";',=0A= child: 'c =3D "child";',=0A= adjacent: 'c =3D "adjacent";',=0A= laterSibling: 'c =3D "laterSibling";'=0A= },=0A= =0A= patterns: {=0A= // combinators must be listed first=0A= // (and descendant needs to be last combinator)=0A= laterSibling: /^\s*~\s*/,=0A= child: /^\s*>\s*/,=0A= adjacent: /^\s*\+\s*/,=0A= descendant: /^\s/,=0A= =0A= // selectors follow=0A= tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,=0A= id: /^#([\w\-\*]+)(\b|$)/,=0A= className: /^\.([\w\-\*]+)(\b|$)/,=0A= pseudo: = /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|(?=3D\s)|(?=3D:))/,=0A= attrPresence: /^\[([\w]+)\]/,=0A= attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^= \]]*?)))?\]/=0A= },=0A= =0A= // for Selector.match and Element#match=0A= assertions: {=0A= tagName: function(element, matches) {=0A= return matches[1].toUpperCase() =3D=3D = element.tagName.toUpperCase();=0A= },=0A= =0A= className: function(element, matches) {=0A= return Element.hasClassName(element, matches[1]);=0A= },=0A= =0A= id: function(element, matches) {=0A= return element.id =3D=3D=3D matches[1];=0A= },=0A= =0A= attrPresence: function(element, matches) {=0A= return Element.hasAttribute(element, matches[1]);=0A= },=0A= =0A= attr: function(element, matches) {=0A= var nodeValue =3D Element.readAttribute(element, matches[1]);=0A= return Selector.operators[matches[2]](nodeValue, matches[3]);=0A= }=0A= },=0A= =0A= handlers: {=0A= // UTILITY FUNCTIONS=0A= // joins two collections=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= a.push(node);=0A= return a;=0A= },=0A= =0A= // marks an array of nodes for counting=0A= mark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._counted =3D true;=0A= return nodes;=0A= },=0A= =0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._counted =3D undefined;=0A= return nodes;=0A= },=0A= =0A= // mark each child node with its position (for nth calls)=0A= // "ofType" flag indicates whether we're indexing for nth-of-type=0A= // rather than nth-child=0A= index: function(parentNode, reverse, ofType) {=0A= parentNode._counted =3D true;=0A= if (reverse) {=0A= for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) {=0A= var node =3D nodes[i];=0A= if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++;=0A= }=0A= } else {=0A= for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++)=0A= if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++;=0A= }=0A= },=0A= =0A= // filters out duplicates and extends all nodes=0A= unique: function(nodes) {=0A= if (nodes.length =3D=3D 0) return nodes;=0A= var results =3D [], n;=0A= for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A= if (!(n =3D nodes[i])._counted) {=0A= n._counted =3D true;=0A= results.push(Element.extend(n));=0A= }=0A= return Selector.handlers.unmark(results);=0A= },=0A= =0A= // COMBINATOR FUNCTIONS=0A= descendant: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName('*'));=0A= return results;=0A= },=0A= =0A= child: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= for (var j =3D 0, children =3D [], child; child =3D = node.childNodes[j]; j++)=0A= if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child);=0A= }=0A= return results;=0A= },=0A= =0A= adjacent: function(nodes) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= var next =3D this.nextElementSibling(node);=0A= if (next) results.push(next);=0A= }=0A= return results;=0A= },=0A= =0A= laterSibling: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, Element.nextSiblings(node));=0A= return results;=0A= },=0A= =0A= nextElementSibling: function(node) {=0A= while (node =3D node.nextSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= previousElementSibling: function(node) {=0A= while (node =3D node.previousSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= // TOKEN FUNCTIONS=0A= tagName: function(nodes, root, tagName, combinator) {=0A= tagName =3D tagName.toUpperCase();=0A= var results =3D [], h =3D Selector.handlers;=0A= if (nodes) {=0A= if (combinator) {=0A= // fastlane for ordinary descendant combinators=0A= if (combinator =3D=3D "descendant") {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName(tagName));=0A= return results;=0A= } else nodes =3D this[combinator](nodes);=0A= if (tagName =3D=3D "*") return nodes;=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.tagName.toUpperCase() =3D=3D tagName) = results.push(node);=0A= return results;=0A= } else return root.getElementsByTagName(tagName);=0A= },=0A= =0A= id: function(nodes, root, id, combinator) {=0A= var targetNode =3D $(id), h =3D Selector.handlers;=0A= if (!targetNode) return [];=0A= if (!nodes && root =3D=3D document) return [targetNode];=0A= if (nodes) {=0A= if (combinator) {=0A= if (combinator =3D=3D 'child') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (targetNode.parentNode =3D=3D node) return [targetNode];=0A= } else if (combinator =3D=3D 'descendant') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.descendantOf(targetNode, node)) return = [targetNode];=0A= } else if (combinator =3D=3D 'adjacent') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node)=0A= return [targetNode];=0A= } else nodes =3D h[combinator](nodes);=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node =3D=3D targetNode) return [targetNode];=0A= return [];=0A= }=0A= return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : [];=0A= },=0A= =0A= className: function(nodes, root, className, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= return Selector.handlers.byClassName(nodes, root, className);=0A= },=0A= =0A= byClassName: function(nodes, root, className) {=0A= if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A= var needle =3D ' ' + className + ' ';=0A= for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) {=0A= nodeClassName =3D node.className;=0A= if (nodeClassName.length =3D=3D 0) continue;=0A= if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle))=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= attrPresence: function(nodes, root, attr) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= var results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.hasAttribute(node, attr)) results.push(node);=0A= return results;=0A= },=0A= =0A= attr: function(nodes, root, attr, value, operator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= var handler =3D Selector.operators[operator], results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= var nodeValue =3D Element.readAttribute(node, attr);=0A= if (nodeValue =3D=3D=3D null) continue;=0A= if (handler(nodeValue, value)) results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= pseudo: function(nodes, name, value, root, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= return Selector.pseudos[name](nodes, value, root);=0A= }=0A= },=0A= =0A= pseudos: {=0A= 'first-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.previousElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'last-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.nextElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'only-child': function(nodes, value, root) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!h.previousElementSibling(node) && = !h.nextElementSibling(node))=0A= results.push(node);=0A= return results;=0A= },=0A= 'nth-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root);=0A= },=0A= 'nth-last-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true);=0A= },=0A= 'nth-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, false, true);=0A= },=0A= 'nth-last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true, true);=0A= },=0A= 'first-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, false, true);=0A= },=0A= 'last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, true, true);=0A= },=0A= 'only-of-type': function(nodes, formula, root) {=0A= var p =3D Selector.pseudos;=0A= return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root);=0A= },=0A= =0A= // handles the an+b logic=0A= getIndices: function(a, b, total) {=0A= if (a =3D=3D 0) return b > 0 ? [b] : [];=0A= return $R(1, total).inject([], function(memo, i) {=0A= if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A= return memo;=0A= });=0A= },=0A= =0A= // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type=0A= nth: function(nodes, formula, root, reverse, ofType) {=0A= if (nodes.length =3D=3D 0) return [];=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A= h.mark(nodes);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= if (!node.parentNode._counted) {=0A= h.index(node.parentNode, reverse, ofType);=0A= indexed.push(node.parentNode);=0A= }=0A= }=0A= if (formula.match(/^\d+$/)) { // just a number=0A= formula =3D Number(formula);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.nodeIndex =3D=3D formula) results.push(node);=0A= } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b=0A= if (m[1] =3D=3D "-") m[1] =3D -1;=0A= var a =3D m[1] ? Number(m[1]) : 1;=0A= var b =3D m[2] ? Number(m[2]) : 0;=0A= var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A= for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) {=0A= for (var j =3D 0; j < l; j++)=0A= if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A= }=0A= }=0A= h.unmark(nodes);=0A= h.unmark(indexed);=0A= return results;=0A= },=0A= =0A= 'empty': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= // IE treats comments as element nodes=0A= if (node.tagName =3D=3D '!' || (node.firstChild && = !node.innerHTML.match(/^\s*$/))) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= 'not': function(nodes, selector, root) {=0A= var h =3D Selector.handlers, selectorType, m;=0A= var exclusions =3D new Selector(selector).findElements(root);=0A= h.mark(exclusions);=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node._counted) results.push(node);=0A= h.unmark(exclusions);=0A= return results;=0A= },=0A= =0A= 'enabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'disabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'checked': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.checked) results.push(node);=0A= return results;=0A= }=0A= },=0A= =0A= operators: {=0A= '=3D': function(nv, v) { return nv =3D=3D v; },=0A= '!=3D': function(nv, v) { return nv !=3D v; },=0A= '^=3D': function(nv, v) { return nv.startsWith(v); },=0A= '$=3D': function(nv, v) { return nv.endsWith(v); },=0A= '*=3D': function(nv, v) { return nv.include(v); },=0A= '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + = ' '); },=0A= '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + = '-').include('-' + v.toUpperCase() + '-'); }=0A= },=0A= =0A= matchElements: function(elements, expression) {=0A= var matches =3D new Selector(expression).findElements(), h =3D = Selector.handlers;=0A= h.mark(matches);=0A= for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++)=0A= if (element._counted) results.push(element);=0A= h.unmark(matches);=0A= return results;=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (Object.isNumber(expression)) {=0A= index =3D expression; expression =3D false;=0A= }=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= var exprs =3D expressions.join(','), expressions =3D [];=0A= exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {=0A= expressions.push(m[1].strip());=0A= });=0A= var results =3D [], h =3D Selector.handlers;=0A= for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A= selector =3D new Selector(expressions[i].strip());=0A= h.concat(results, selector.findElements(element));=0A= }=0A= return (l > 1) ? h.unique(results) : results;=0A= }=0A= });=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements, options) {=0A= if (typeof options !=3D 'object') options =3D { hash: !!options };=0A= else if (options.hash =3D=3D=3D undefined) options.hash =3D true;=0A= var key, value, submitted =3D false, submit =3D options.submit;=0A= =0A= var data =3D elements.inject({ }, function(result, element) {=0A= if (!element.disabled && element.name) {=0A= key =3D element.name; value =3D $(element).getValue();=0A= if (value !=3D null && (element.type !=3D 'submit' || = (!submitted &&=0A= submit !=3D=3D false && (!submit || key =3D=3D submit) && = (submitted =3D true)))) {=0A= if (key in result) {=0A= // a key is already present; construct an array of values=0A= if (!Object.isArray(result[key])) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= }=0A= else result[key] =3D value;=0A= }=0A= }=0A= return result;=0A= });=0A= =0A= return options.hash ? data : Object.toQueryString(data);=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form, options) {=0A= return Form.serializeElements(Form.getElements(form), options);=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name) return $A(inputs).map(Element.extend);=0A= =0A= for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('disable');=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('enable');=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= var elements =3D $(form).getElements().findAll(function(element) {=0A= return 'hidden' !=3D element.type && !element.disabled;=0A= });=0A= var firstByIndex =3D elements.findAll(function(element) {=0A= return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A= }).sortBy(function(element) { return element.tabIndex }).first();=0A= =0A= return firstByIndex ? firstByIndex : elements.find(function(element) = {=0A= return ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase());=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= form.findFirstElement().activate();=0A= return form;=0A= },=0A= =0A= request: function(form, options) {=0A= form =3D $(form), options =3D Object.clone(options || { });=0A= =0A= var params =3D options.parameters, action =3D = form.readAttribute('action') || '';=0A= if (action.blank()) action =3D window.location.href;=0A= options.parameters =3D form.serialize(true);=0A= =0A= if (params) {=0A= if (Object.isString(params)) params =3D params.toQueryParams();=0A= Object.extend(options.parameters, params);=0A= }=0A= =0A= if (form.hasAttribute('method') && !options.method)=0A= options.method =3D form.method;=0A= =0A= return new Ajax.Request(action, options);=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element =3D {=0A= focus: function(element) {=0A= $(element).focus();=0A= return element;=0A= },=0A= =0A= select: function(element) {=0A= $(element).select();=0A= return element;=0A= }=0A= };=0A= =0A= Form.Element.Methods =3D {=0A= serialize: function(element) {=0A= element =3D $(element);=0A= if (!element.disabled && element.name) {=0A= var value =3D element.getValue();=0A= if (value !=3D undefined) {=0A= var pair =3D { };=0A= pair[element.name] =3D value;=0A= return Object.toQueryString(pair);=0A= }=0A= }=0A= return '';=0A= },=0A= =0A= getValue: function(element) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= return Form.Element.Serializers[method](element);=0A= },=0A= =0A= setValue: function(element, value) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= Form.Element.Serializers[method](element, value);=0A= return element;=0A= },=0A= =0A= clear: function(element) {=0A= $(element).value =3D '';=0A= return element;=0A= },=0A= =0A= present: function(element) {=0A= return $(element).value !=3D '';=0A= },=0A= =0A= activate: function(element) {=0A= element =3D $(element);=0A= try {=0A= element.focus();=0A= if (element.select && (element.tagName.toLowerCase() !=3D 'input' = ||=0A= !['button', 'reset', 'submit'].include(element.type)))=0A= element.select();=0A= } catch (e) { }=0A= return element;=0A= },=0A= =0A= disable: function(element) {=0A= element =3D $(element);=0A= element.blur();=0A= element.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Field =3D Form.Element;=0A= var $F =3D Form.Element.Methods.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element, value) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element, value);=0A= default:=0A= return Form.Element.Serializers.textarea(element, value);=0A= }=0A= },=0A= =0A= inputSelector: function(element, value) {=0A= if (value =3D=3D=3D undefined) return element.checked ? = element.value : null;=0A= else element.checked =3D !!value;=0A= },=0A= =0A= textarea: function(element, value) {=0A= if (value =3D=3D=3D undefined) return element.value;=0A= else element.value =3D value;=0A= },=0A= =0A= select: function(element, index) {=0A= if (index =3D=3D=3D undefined)=0A= return this[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= else {=0A= var opt, value, single =3D !Object.isArray(index);=0A= for (var i =3D 0, length =3D element.length; i < length; i++) {=0A= opt =3D element.options[i];=0A= value =3D this.optionValue(opt);=0A= if (single) {=0A= if (value =3D=3D index) {=0A= opt.selected =3D true;=0A= return;=0A= }=0A= }=0A= else opt.selected =3D index.include(value);=0A= }=0A= }=0A= },=0A= =0A= selectOne: function(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? this.optionValue(element.options[index]) : = null;=0A= },=0A= =0A= selectMany: function(element) {=0A= var values, length =3D element.length;=0A= if (!length) return null;=0A= =0A= for (var i =3D 0, values =3D []; i < length; i++) {=0A= var opt =3D element.options[i];=0A= if (opt.selected) values.push(this.optionValue(opt));=0A= }=0A= return values;=0A= },=0A= =0A= optionValue: function(opt) {=0A= // extend element because hasAttribute may not be native=0A= return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A= initialize: function($super, element, frequency, callback) {=0A= $super(callback, frequency);=0A= this.element =3D $(element);=0A= this.lastValue =3D this.getValue();=0A= },=0A= =0A= execute: function() {=0A= var value =3D this.getValue();=0A= if (Object.isString(this.lastValue) && Object.isString(value) ?=0A= this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= });=0A= =0A= Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D Class.create({=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= Form.getElements(this.element).each(this.registerCallback, this);=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= });=0A= =0A= Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) var Event =3D { };=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= KEY_INSERT: 45,=0A= =0A= cache: { },=0A= =0A= relatedTarget: function(event) {=0A= var element;=0A= switch(event.type) {=0A= case 'mouseover': element =3D event.fromElement; break;=0A= case 'mouseout': element =3D event.toElement; break;=0A= default: return null;=0A= }=0A= return Element.extend(element);=0A= }=0A= });=0A= =0A= Event.Methods =3D (function() {=0A= var isButton;=0A= =0A= if (Prototype.Browser.IE) {=0A= var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A= isButton =3D function(event, code) {=0A= return event.button =3D=3D buttonMap[code];=0A= };=0A= =0A= } else if (Prototype.Browser.WebKit) {=0A= isButton =3D function(event, code) {=0A= switch (code) {=0A= case 0: return event.which =3D=3D 1 && !event.metaKey;=0A= case 1: return event.which =3D=3D 1 && event.metaKey;=0A= default: return false;=0A= }=0A= };=0A= =0A= } else {=0A= isButton =3D function(event, code) {=0A= return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code);=0A= };=0A= }=0A= =0A= return {=0A= isLeftClick: function(event) { return isButton(event, 0) },=0A= isMiddleClick: function(event) { return isButton(event, 1) },=0A= isRightClick: function(event) { return isButton(event, 2) },=0A= =0A= element: function(event) {=0A= var node =3D Event.extend(event).target;=0A= return Element.extend(node.nodeType =3D=3D Node.TEXT_NODE ? = node.parentNode : node);=0A= },=0A= =0A= findElement: function(event, expression) {=0A= var element =3D Event.element(event);=0A= return element.match(expression) ? element : = element.up(expression);=0A= },=0A= =0A= pointer: function(event) {=0A= return {=0A= x: event.pageX || (event.clientX +=0A= (document.documentElement.scrollLeft || = document.body.scrollLeft)),=0A= y: event.pageY || (event.clientY +=0A= (document.documentElement.scrollTop || = document.body.scrollTop))=0A= };=0A= },=0A= =0A= pointerX: function(event) { return Event.pointer(event).x },=0A= pointerY: function(event) { return Event.pointer(event).y },=0A= =0A= stop: function(event) {=0A= Event.extend(event);=0A= event.preventDefault();=0A= event.stopPropagation();=0A= event.stopped =3D true;=0A= }=0A= };=0A= })();=0A= =0A= Event.extend =3D (function() {=0A= var methods =3D Object.keys(Event.Methods).inject({ }, function(m, = name) {=0A= m[name] =3D Event.Methods[name].methodize();=0A= return m;=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(methods, {=0A= stopPropagation: function() { this.cancelBubble =3D true },=0A= preventDefault: function() { this.returnValue =3D false },=0A= inspect: function() { return "[object Event]" }=0A= });=0A= =0A= return function(event) {=0A= if (!event) return false;=0A= if (event._extendedByPrototype) return event;=0A= =0A= event._extendedByPrototype =3D Prototype.emptyFunction;=0A= var pointer =3D Event.pointer(event);=0A= Object.extend(event, {=0A= target: event.srcElement,=0A= relatedTarget: Event.relatedTarget(event),=0A= pageX: pointer.x,=0A= pageY: pointer.y=0A= });=0A= return Object.extend(event, methods);=0A= };=0A= =0A= } else {=0A= Event.prototype =3D Event.prototype || = document.createEvent("HTMLEvents").__proto__;=0A= Object.extend(Event.prototype, methods);=0A= return Prototype.K;=0A= }=0A= })();=0A= =0A= Object.extend(Event, (function() {=0A= var cache =3D Event.cache;=0A= =0A= function getEventID(element) {=0A= if (element._eventID) return element._eventID;=0A= arguments.callee.id =3D arguments.callee.id || 1;=0A= return element._eventID =3D ++arguments.callee.id;=0A= }=0A= =0A= function getDOMEventName(eventName) {=0A= if (eventName && eventName.include(':')) return "dataavailable";=0A= return eventName;=0A= }=0A= =0A= function getCacheForID(id) {=0A= return cache[id] =3D cache[id] || { };=0A= }=0A= =0A= function getWrappersForEventName(id, eventName) {=0A= var c =3D getCacheForID(id);=0A= return c[eventName] =3D c[eventName] || [];=0A= }=0A= =0A= function createWrapper(element, eventName, handler) {=0A= var id =3D getEventID(element);=0A= var c =3D getWrappersForEventName(id, eventName);=0A= if (c.pluck("handler").include(handler)) return false;=0A= =0A= var wrapper =3D function(event) {=0A= if (!Event || !Event.extend ||=0A= (event.eventName && event.eventName !=3D eventName))=0A= return false;=0A= =0A= Event.extend(event);=0A= handler.call(element, event)=0A= };=0A= =0A= wrapper.handler =3D handler;=0A= c.push(wrapper);=0A= return wrapper;=0A= }=0A= =0A= function findWrapper(id, eventName, handler) {=0A= var c =3D getWrappersForEventName(id, eventName);=0A= return c.find(function(wrapper) { return wrapper.handler =3D=3D = handler });=0A= }=0A= =0A= function destroyWrapper(id, eventName, handler) {=0A= var c =3D getCacheForID(id);=0A= if (!c[eventName]) return false;=0A= c[eventName] =3D c[eventName].without(findWrapper(id, eventName, = handler));=0A= }=0A= =0A= function destroyCache() {=0A= for (var id in cache)=0A= for (var eventName in cache[id])=0A= cache[id][eventName] =3D null;=0A= }=0A= =0A= if (window.attachEvent) {=0A= window.attachEvent("onunload", destroyCache);=0A= }=0A= =0A= return {=0A= observe: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var name =3D getDOMEventName(eventName);=0A= =0A= var wrapper =3D createWrapper(element, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.addEventListener) {=0A= element.addEventListener(name, wrapper, false);=0A= } else {=0A= element.attachEvent("on" + name, wrapper);=0A= }=0A= =0A= return element;=0A= },=0A= =0A= stopObserving: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var id =3D getEventID(element), name =3D = getDOMEventName(eventName);=0A= =0A= if (!handler && eventName) {=0A= getWrappersForEventName(id, eventName).each(function(wrapper) {=0A= element.stopObserving(eventName, wrapper.handler);=0A= });=0A= return element;=0A= =0A= } else if (!eventName) {=0A= Object.keys(getCacheForID(id)).each(function(eventName) {=0A= element.stopObserving(eventName);=0A= });=0A= return element;=0A= }=0A= =0A= var wrapper =3D findWrapper(id, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, wrapper, false);=0A= } else {=0A= element.detachEvent("on" + name, wrapper);=0A= }=0A= =0A= destroyWrapper(id, eventName, handler);=0A= =0A= return element;=0A= },=0A= =0A= fire: function(element, eventName, memo) {=0A= element =3D $(element);=0A= if (element =3D=3D document && document.createEvent && = !element.dispatchEvent)=0A= element =3D document.documentElement;=0A= =0A= if (document.createEvent) {=0A= var event =3D document.createEvent("HTMLEvents");=0A= event.initEvent("dataavailable", true, true);=0A= } else {=0A= var event =3D document.createEventObject();=0A= event.eventType =3D "ondataavailable";=0A= }=0A= =0A= event.eventName =3D eventName;=0A= event.memo =3D memo || { };=0A= =0A= if (document.createEvent) {=0A= element.dispatchEvent(event);=0A= } else {=0A= element.fireEvent(event.eventType, event);=0A= }=0A= =0A= return event;=0A= }=0A= };=0A= })());=0A= =0A= Object.extend(Event, Event.Methods);=0A= =0A= Element.addMethods({=0A= fire: Event.fire,=0A= observe: Event.observe,=0A= stopObserving: Event.stopObserving=0A= });=0A= =0A= Object.extend(document, {=0A= fire: Element.Methods.fire.methodize(),=0A= observe: Element.Methods.observe.methodize(),=0A= stopObserving: Element.Methods.stopObserving.methodize()=0A= });=0A= =0A= (function() {=0A= /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A= Matthias Miller, Dean Edwards and John Resig. */=0A= =0A= var timer, fired =3D false;=0A= =0A= function fireContentLoadedEvent() {=0A= if (fired) return;=0A= if (timer) window.clearInterval(timer);=0A= document.fire("dom:loaded");=0A= fired =3D true;=0A= }=0A= =0A= if (document.addEventListener) {=0A= if (Prototype.Browser.WebKit) {=0A= timer =3D window.setInterval(function() {=0A= if (/loaded|complete/.test(document.readyState))=0A= fireContentLoadedEvent();=0A= }, 0);=0A= =0A= Event.observe(window, "load", fireContentLoadedEvent);=0A= =0A= } else {=0A= document.addEventListener("DOMContentLoaded",=0A= fireContentLoadedEvent, false);=0A= }=0A= =0A= } else {=0A= document.write("