From: Subject: The Journal Times Online > Local News > WITH SLIDESHOW: Snowdance 10 Minute Comedy Festival around the corner Date: Sat, 13 Jun 2009 20:30:36 -0400 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0080_01C9EC65.CECAF7B0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.journaltimes.com/qwikcast/ico/2.gif R0lGODlhMAAjANUAAP////HNsnrJ/aSnsd+TNY6u5+eudN3hap3d/bzs/+u5jszy//HVk9d2MGq6 /ZHN/fTZx4jL/e66Rfbl2a3l/q3V/t6MVPHLOf36O47V/s9ZEtb3/9NmHfrt5Pnotfvy6H+8/Fqj /OXx/8Pv/uOeSfbiOfz28Np9QuOgeGCr/drr/qrHmfL5//78+v339P/+/lae/P77+P3+///+/d+R Y+y/opvC5MzQ0u32/5G7vv/9/Mji/oWd0Xyt2Xiv9qvC2iH5BAAAAAAALAAAAAAwACMAAAb/QIBw SCwaj8ik8ujqLJ9QpQnijFqtLUhg+eq0rtda7QuIVYcxCOQFtqJQEKGW2BGT21BUowYw1bZyNDQm eEZsRDFCBhooEzUWW34nDROFRjMQlXI1HQoaDXonARN6GnyWRhMBNZWkJycasRocKDQcjKhIEwoo CgENnwbCBgS3GhYuQi7JuUMQDQ0cHAYeHgwM1QzRNVoBAR/NRAHS2BLm59ivFhac4QAuH1oN1Of1 EtfSCu5yCiccDQzs2fNAQtQEQuFcqLJA4MCFhxAjMhjAo+KAAQE6HEI1gViJjyBDrugBIgKCDCB8 FJiwsc2HAMQaEMBAsybNEjlMPgDB0yQC/xAq8ExZNYyETZs5EDxIAaNp0xAgKIDA0cZEhw8mWuio QeDCgRw5VhzAsOJniBRo06YI4YBChSEiqF4xoYAEiQERKFD4mTRCCgeAAwdOkVfEDp4gKsiIEiOA rxttM0TIkCBBBsGYBSeI8IDCiAQI3kKJYWIGgB+ZIwhYzbo1awcZRlBQLYDCAzAmcrjezbs17dZg POTMQLy48ePIkQuAIkPFAxsDbGRAQL269evYsS9/4nzBBst6w4sfT778bCgVMmwYsb6y+/fw48t/ IAK9+gX48+vfz7//hg0PsAAFDhUgkMAI/SWo4AIjIJjBDlGwUMEDFFZo4YUYZkhhBQLu4wnhhyCG KKIlQQAAOw== ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://journaltimes.com/webcam/camera0.jpg /9j/2wCEAAsHCAkIBgsJCAkMCwsNEBsREA8PECEYGRMbJyMpKScjJiUsMT81LC47LyUmN0o3O0FD RkdGKjRNU01EUj9FRkQBCwwMEA4QIBERIEQtJi1ERERERERERERERERERERERERERERERERERERE RERERERERERERERERERERERERERERP/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYT UWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZX WFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE xcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMR BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAPABYAMBIgAC EQEDEQH/2gAMAwEAAhEDEQA/AL3iYebZ2lrjJubyNPyOT/Ktrq7EetY+onzfE+jwdQnmzkfQYFbC EbRXSjn6DhSikzS5oEOFKDTc0uaBXH5pc1GDS5oH0JM0ZpmaXNAXH5oFNzRmiwrjqWmilFADqXNJ mimIWlpBThSABSigU4ChgApaBS0gACloFKBTGKKeopuKctIaJo6lqKPrUtS9CkFFFFZ3NEgooopi bCiiiquSFFFFDYmFFFFK47BRRRRcVuwUUUUh2CiiigaR59EfO8Z3L54trJY/xY5rYB4rG0QibUdX uv790IgfZRWwK2Rmx2admmUoFArj88UZpopRQIdmlBpopwoGKDThTQKcBTAcKUU0U4CkAuKUCkFK KBC4paAaUGgAHFOHSkpRigaHgU7FMFPBpAwpRS4B6Uu00gDHpRilxiimAU4UlOGKQEiHFSjkVCKe rUNFJklFGc0Vi1Zmqd0FFFFA2gooopisFFFFAWCiiigLBRRRQAUUUUAFFFFAHnnhFWPh6GZ/vTu8 x98mtkVU0m3FrpNpb9PLhVaugVuY31AUoFAFOApCYBaXbSgc04UwQgWlApacBQIaBSgcU7FKBQMQ ClApQKUCgQmKUClxSgUgEApaXFKBQMTFKBSgUoFK4WAClApQKUCmFhQcU7JxSAUoFAIUZpRQBTgK BgB7U4CgCnAUhABilAoxTgKBgKdQBS1LBNhRRRUOJophRRRSsWpIKKKKRQUUUUAFFFFFwsFFFFAr BRRRQM5bGWJHrTwKEGBTxXTc5WIBzTsUYpe9K4rAKWiigBRThSAU4UDAUtGKUCkAUvalxS0xiCnA UYpQKQgFLijFLigAApwFAFKBQNABTgKUKacFNIBoFOA4pdtOCgUCEApQKeFFKAtFyrCAc804L604 EUtLUBNooxS0VN2Ukgooooux2QUUUUmx2QUUUUXGkgoooqR3Ciiiiw7hRRRRYOYKKKKYr3CiiigV zm1U4p4U0oBpwzW1zGwgSnbPajJpRmlcYoSnBQOtNAPrSEnNAEgC+lOGKiGacM0Ax+BSimCnDNAD wB6UuBimZNOBNIQuyjaaAeacCcUIEJtNKFpwNOXFO4WGgUuKkwDS7cUhjAKdjilxSgUxMQCnAUYp wFIYgFOAoApwFAAKWiii4BRRRSGFFFFIaCiiigaYUUUUgCiiigYUUUUgCiiigLBRRRRcAoooouOx jBRTtnrSqwx0pwZau5NiPZS7QO1SBk9KcNh60XCxDj2pCvPFWAEpQqUXFa5XCk0u3mrARPSlESe9 FxWK+2l21P5S9jSiEetHMHKQhaXbxU3le9L5R9aLoLMh204LUvlEdKURnvRcLMjxSgVJ5ZFG2i4k hgFOFO20oWi42hMUoFO20oFFwsNApwFOopXCwlLRRRcdgooopXCwUUUUDsFFFFIdgooooAKKKKAC iiigAooopDCiiigAooooAKKKKRZhKxxTw59BTAOKcK1MLskVx3FPDVEKUUDLC4I6UvFQDPrTxmkM lFP7dKhDEd6kEjY7UD0HDHpQPbNN3GlDGkA8ZpwNR7jS5oESg0uahzSigdybNLmohTgTQJofS8U0 HmloAdRSClpDQUUUUrj0YUUUUXHZBRRRRcVgoooouOwUUUUXCwUUUUmwsFFFFK47BRRRRcdgoooo uFgoooouKwUUUUrjsFFFFMZiAUoFOVeKXZzV3MuViAU4ClVaeFouOw0CnAU4LSgUrhYQCnAUoU0o 4p3CwgFOxQBS4pXCwmKUClApwFFwsNA5p2KUClxRcVhAKcBQBTgKLjsGKXFFLRcLCYpaKKVwsFFF FA7BRRRRcLBRRRRcYUUUUgCiiii4WCiiigdgooopBYKKKKRQUUUUrhYKKKKLhYKKKKBBRRRTuBlK acDzUSvTg1BViXPPWlzUYbilDUA0SinVCGpxOTSuOyJsUVGG4p26i4rIfSj6VHupwb3ouFiQdacM VEG96XdxSuOxNxigiog1LuouLlJQKKj30u6ncViSimhvejcKVx8o6im7hS5FO4WFopMijIo5hWFo pM0tHMFgoooouHKFFFFFwsFFFFDkHKFFFFFx8oUUUUrhyhRRRTuOwUUUUD5QooopBYKKKKCbBRRR RcVjAV6cHrnf+Et0gdJpT24hf/Cg+L9KXoblvpA1UVc6QPTg9cyfGGlDtdHntAaP+Ey0wE4jvWx1 xCP6miwXR04enCSuZXxjppOPKvRxnJhGP50i+M9MIGIr3PceSOPxzilYLnUh6UPXL/8ACZafni3v MepRf/iqUeM9PPS3vPqUX/4qizDQ6jfzSiSuT/4TO03f8eV1j1yn/wAVU3/CZaeFy1vd/gin/wBm osF0dQJKXzK5L/hMrYzs6xXHk7cKhjAbd653dKe/jSyXpaXTDuRt4/WizC6Oq30u+uS/4Ta1ZMrY 3OenJTj360w+N41RQunTSH+I+YqflyaTTC6Ox30vmVxreOQAdulM3pm4AP4/LQfHIxxpbDjvP/8A Y0crHdHZb6XfXFf8J05yf7MA9Mz/AP2NDeOJg3yaamPef/61HKxcyO230u+uFfxzdGT91p1uF/2p mJ/QCgeN745A0616cEzN/hRysLo7rfRv461wg8cXxBzp9qOP+erc/pQfG2pcFbayHthz/wCzUcrC 6O83UoeuCHjjUhwbezPPZX4/8epx8b6iXytraY6Yw3+NHKwujvA1KGrgU8caowwLSyz3JD4/LNIP HGqgZaCxOfRH4/8AHqOVhdHoAbmlBrztvGusbs5tBuUgKIiQp9etJ/wmGtOv+ugTj+GDn9SaOVg2 kejUteZx+LtaMuGvht56Qp/hSv4s1oSgi+wvp5af4UcjFdHpdFect4q1bI/04jH/AEzTn9Ke/ibV vKGy+PUH/Vpz+lHKx81z0OivNZfE2rtIM6hIuOAUVcH9KG8R6oU2/wBpTfUKoJ/HFHKwuj0qivL5 NZ1ORADqV0B14kI/UUh1O6MqTfa7kyqNocytnH50cocyPUaZNKkMLyyttRFLMfQCvMpNTvHdS99d Hb0/fN/jUYnJO4ySsT1ZnYlh7+tHKw5j1C2niurZJ4G3RyDcpwRkfjT8jOM815W8qFcbeBSwtGUU bRkDAOO1DQKR6iJom6Soe3DCkE8LEhZUJHUBhxXm9skYIIgQAcfdrXgmCxEIi+1Fh7nYPcwJ9+eN fq4FMF9ZnOLuA46/vBxXEz3OAQUXj9aFfybYtsAB9O9KzDQ422+yne91LsUcKgByxI45HSrtlp1p IqG4vmyy5KRp8y/jyP0rI3oEI53YwOKu6U485d8ioo4OX25/GtWSrbFm/wBLaKPfZtJMiEh2fC7f Tms7Y7ZBdFIOCS49abeOJ7uRpCJMSNtJ5x9KiCs7bR3oRD3L0lrdw2v2hk/cB/LMmcru9M1CrsR8 vP6UPcF0ETj5RwQcHOKSF0VxuRZFzyrjg/WjUofI/KhgFPXk0rBlOGAZevDZq1a3FpG536daHK8/ uhx+FVnmXz3dIlVWJwijAX6UIVhUeMH5o5XA5O1wv9DSqInBLSyr2ABBqBnIJKnGRim9utMNCeZU jA8lnY55J6U1JXWMpgcnOabGzZ+bGKVxGM5BDUgsOSQqwPB9qv2sKTWys5O7nOKzQy7sCpI3lPyx vKP9lSf5ChjRchsbia3DxbM9gzbSfzqvcJLbzPDKAWQ4JU5BqEwu3Jjkz7qaesMpAVYZWJ6BUJot YLi7ZCflHy56mnIkjMFVk5yACT2oVJnCiQTIB8vzg8e2DVoW1rs+ea5Lf7Kqv65p2Az9x34zyeBU 6JOz4SJ2PoAc1esEhszK6NdMzLtBMg498Af1qeLUGgmRRMFdjjLJ8oz60ncLIoPBNHA8kls6gL1P GDVVzJ0/Diuh1ZnjtJLW/wBStzJLgKkKFiOc+vT61leVapINz3DkEE4Cr/jQmEkkUt7jHPSpImYu MZOa0GXT3Q7bSUk9/MAwaLe0t4XDGQ5xjG4GnbuSUgsu/CIx79KURXG/iNs/StUtZqoyGZiOd0gU A/hzUUlxZoCn2dmY8h45cY9uQc0BqUTDcFsiI5p6JMFOYmz3rStxZS2Czy3JhlLkeUAGIHqc4okk scII1Q7VAJbC7j6kD/Gi6HbqZYgnB4hJ980G3nOSYiPxFaa+RMeJIIFBwcE/y5NTKNMVMNcSlj3V Ux+rZouFjF+z3B+8n6ipBDdbcGM47citONrZcljG+T3bjH0pwltXcr50UQXBOSf09aVwSMeQGNyj 5DA0mR68e9bd0NPuZWkkl3s2D8zAD9KiWHSVYbjE2DkKznGfcZ5+lCG1qZeMrlenSkVyMitZ104y xgyQqvViilVH5d6aYtILZjyoPLB33c+vtRcLGarjueP5U5csp7jtzWiU0rYU3qM+isaep0+aRkhg QN9791AQqgd6WoJGcJiybfenwyqvB/GrMl1aI+IrS3kXAO4o/J/OnW1xDIxH2G2/CI/1oAfbuCOW Huas+eYvlGOeapSTqsxYgL2AAxTUkMx3ZpWsO5ZJ8yYbunU0+4AUBSRx1qIuI03N9ag8wyN8ze9C QX6HNeWpxhsfWhkIyQeNtN8vIOw1JGQEO7JOMjjrTEQZJC5AHrT2GOVzTTkngYpZHwoHcim7sRHv 55pyNyDUXOacDmnYRcD7sCpDLGyIoyGGdxx19Kqpv4x09aVASKVhkrRgsMSe/IpPLQKWySCelOBT HP3unPSo/MbkcdaSTY3ZEm1ARwTSXI2sCQMEcVNbrLKyCMbpG4VdoOTVW5eVn2zZBXjBGMGqtYm9 xRz0qeJJcgqCQelVlYBgVGOKu2bxs2ZHWIqOCQcH8qTQ0CwXeQAR+eKnga4tGFwxXK5B3McD3qtJ csJ2JZck/wAPSrKXDS2bQvKpD5BB68985pqwCQxXF0pMc6OQ2489/WpJbaaKIyPcRLgZCqCxb2qG BfJQx2ssaGQABrhioUj1wO9NgvdjBmjjZ1HIYE80WY9LEiThjhQ/4qacs0ZJJIPrmqzT3LzeYJHV x/ECRSrJOyASlGA+6NoGPy61VyHYmMsYOVA9+KglnJlyvSpdpIBCr04wc01oZFQMyEA9DincWw2N 94O71p78Pz6VCpVG3OCR7Zodt8jGMHHUA0rgTB1AANOzkEjHFUx5gUnnrT2csDt4FK6HYtHGM0gY Y5FVHMhOMsQPftSbyD1PSncTRe3ZoyCarJJ8uT2HNAuSG4AxSGWs0oPPNQx3GUJYAge1DXCdduKV 9R2LLYIFJuGKiSRGXcGwfQ0F1xnPHtQmNomzwKTOOlRfaEzjBp6lTkq3GO9FwsOLYHSkM8ioY0Yq p6gcZ+tMdx5fBGahLsTmhWYbFiENJLtZ8AirsJaL7rkH1BIzWbEWZ+tWy21MAkntUvcaEunV3ABB z+tWLZkRAc9DzVNIyZMt3/SntnGBSY1oW55gxGCOD+dRhsSZDAgd8VXAIbmpNvpnFA9TBhJBA/2h XQPZ24jKrGq8jnGaw1jjU5Mh4OatPeeY5L3BA7jOAKpok1ZNIt5bOe6ACeXgALx+nSsTU7Nbe6Cw yGVWGQTjj24q2l9I8RRLqUxuQNisSrE+wqu8lsg2AOjxuQwKYx7Y9alMGU0tnaKZwyjywOCeWycY HvUYBDkenFayQSM0ggt5ZmRTI4jAJ2jqRzz+FZiyRuzMD8pOfcCrE12JYQ5O0yMqqM4zSAANgkVM buPHEPbruqNJUEjOcnd29KVwBQBlWj3Zxg7sYqf7OTHuUKjE9M5BH9KI5tzY9TSTyYQFSeeKObWw WQk8btGoYx4B5IGCagkZjgMvTv60GR+5NN3fMSadxaAF9qsRrCMgvyBnOcCofvMAOCeOae9vJE2J CgzxyaA2GyeUOUYk56YqxDJbIjCUGTjp2NVzCAm9pY+uMZ5NRj72Mj/GmCLKTCNsxxxx56gKKsrf KIwWClx/s8flVKNAWy6yEY7Cjy3wP3be/FICzLe78fIgx0woH5461GbjJ4GKY8RfPlwlOO7Zp8cT hgfLTjseRQw1HRzFVKkkg+tMmcKcRrtJPSpBHO23LJhemFAxTvJnyCZSpz1HWpSGQF5EPltkHHKm geYpHGOKnaB5G3Szu7HqzHJNDRZ+9Ixx05qkBCWlDEMSAe1NzhsHpVoWisODzjPrQLaP+IsfwpaB qQRPt+Y8npUZUk1cEUCjJVjT1EIGdvTpRcLMohcAgHNAikboprQ8yMDhf0pROgP8+KTY+UppBN02 nB96etrK3UYq19qj9RQJ0zgNzS5mFkQrZsOrYqRLQAYLGpDKgHJxzSNcxjowP0FK7HoJ9miHX+dP ESAYAGKrtdddoJ+tMe5cjAwPoKeotC8kSegqvdhfM+XHSq+8sMFifxp4Hy800mgbuP4RPemq7bva mq+XwacSFHGKolNol8xsgmkM+eKid2IGMdKQEiQelKxVyTzTnJzViGVSeVI9s1XXLNjHFSxh1XJ7 UNApMrhdKuppZFkjtRj93AS7bz6bucVC+n2wtozFFslXPnFiwMuSMZ3HAx6DrStJPIAVVUcfMzLw Sf5flTWW6mjLyyySDOQGYnJ/Gi1w5tGTS+WrGWGJLZ2IdlUALuH8QUcD6CormWC4lknn3rNJjPlK BGx7sQecn61ONMEbAO6M3Byp4qtqEfly7VHAosK+gy3uJoJvMikMbDoynBH4irBkmuEiSa6dkiBC AhRtB7Zxn86z92Gz3qVZMphj3pO7GiV5Cg2uw+tMmQOfM6Z4OKglfe+fSpIX+XHXHOKLW1BsntkR ZgXUsnfHGanuJIpF2CNV5yO5NQnkqpfYG6mrKqkK4RMnGSTzSAgW1DgbVdieoPAFH2MNjeVXA7c1 YZ3YDJ/DtTfmHIXIqraBoR/Zo1HOTTlt4yeY1J96kDZPKfnTix5A70tQ0GiFV/gQY9qf5aoR8wOR n5abnj1pAcZ+tAxxQHoSKRB8uDzkUhbjmkBAAxn86Yh+35hgUEYFNV2I6k/jTWLYOaAQ7AA4FHJJ 4oUtQDjPPWgBNhyKXZ60ocryD+gpS5boBTATYoAxRj5SBSZPGfWnFyAelIBGXg59KTb3JwKRpGYH YucDkgdKhZix5prcTZMzKON2ab5ygHqaiwe1IAA3PSiwXJvNOeAKDKdvUVGxRfukkepGKjZiTzQK 7HthzkmkAXHemA4FKD6UhjiwB6UnJ4AAp8gj+Xy9/wB35t2Pve2O1LGBmmIUQsMHipCSFwcVZtok lbBOKfeWscSA7qV0O3UztvfigAk0ufSlI7UxDgO3FSRxgqTioxgH8OKkRyFKjHNA0KBjkU9csOvF NH3hUqYApDIEUAmpAoC1FAswUtJEwHY4qwkZJIPY1ZLQvGPlBNVtRhdkMmOKvrgcCo7n54SpoEjn cjcc01m44p9xGUfB61D3xUlEqx7o896lgCoMtUSHEfNBYsOKTGXgElQr3FJG0sR2OQy+/UVWSU5y TyKJJGbnNIC/5iAD5xzx1pWb5QFwfpWSzEsKnhclu/rTewky/uIA24z6HvShyeq896pTzAzIVOcV YRiwBFK1x3J/MB4IApAc1CM7vwpwkP8AFGR/Knaw7ju/NAAoWeED5gSf0pDPGZgvAz+lJO4DlGB+ NKSO4phekDb5NinnGaYmP3elIST1NBUA8kk0xpY0fa1K4x54UY5o34HzIaUAHvTjtPWlzBYhaZfQ 5BpjOzdamZVPACj8KaI1HJOafMhNMgpxYVOI4x27UqxxFRkKcjrRzC5SvvGMUhcCrJSL+6Kb5cXU qDRzhylUkk0E81b8tOy8UeTGR0o5h8pVPSlAqdoBkbRmmmJl5I4ouKzGU9elIAM9acGQdeapMVhU kMbZU4pZJHkHzMT+NKNrpx0o+UDpRcaRGtPUDrmnYU/w0DYGwRRcLDehFSqPWm5j3Y71ICm72pXC xIFGM5pwQsw2jihdgOSeMVMsiMMAkd6Vy7WP/9k= ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.journaltimes.com/art/horiz_pwrlogo_red.gif R0lGODlhgQAUANUqAEBAQKmpqZ+fn/9/me/v74+Pj9/f31RUVFBQUM/PzzAwMP/f5WBgYHBwcP9A Zv+fstTU1P+/zOrq6q+vr19fXyAgIP8QQP/v8v9ggP/P2Wlpaf8gTfT09JSUlHR0dP+vv/8wWcnJ yf9wjf9Qc7S0tP+PpRAQEH9/f7+/v/8AM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACoALAAAAACBABQAAAb/QJVw SCwaj8ikcslsOp9QpIEQXRIM1ax2a2QkVKeGysAonlBGAQCg+EJRJ658/hQUVAyEqiBQwdEnAmdE CkNUfyoJJwVUAop+gSgNBRN0lpdEBHoMDJoGCQwoAARholRCAA0CWKCmKCgTegBnCQB/CigIbpi8 crYCAhMAYAoAFYiDQwkFABMnxceiayrDYGiQ1r3aWw0IBgape30qpGgMWELXEwV8QgSj1PHi5HDZ 2/dQExVCFZXva4rYiBmCoBgCAv8AJBCggMGwagnrJcNHsaLFixgzatzIsaPHOQuJDERyYcAHFSVP ZjApJMIAIQ8eCFlZYsGQDwMeXFCxYIDN/yESAgQIwQGC0ADXQgRAh+KoBCESSCz1cy0ABIv1hlRL MsLCAhEpbGJIsUHIgBRCHDhQ8SCFiK4ZVGCwMAAEiAsRUkQYAuFAhwAajB4Qek2DXyEnNATwoGEM hUAUwMRRMbgICgUFESIIN4xdPDW4VFRAoIoNmgYKFEzmV1ASoEpCFlhwkOLlBQtj956NEAHE2g0Y hABfkEIm8Qd59woJcAAFFg7MIUB42rcDBQ6SVQiI3KHxGDAepFcmIknFunZeziHwVsZWLBWFqMFi j00rOfpbzZLd2XYBcBVnqTWbCrWl5UByQtSWQQpxQeXBAQdoENQBJwzSnQTNgfEYBYCspvJhheMN UQ8cg5xhRwOT9FFBhX1Us2IkcWSFyowIeFZEgSrQ5oAFFpSEVo6/BafCcMXxVORaQ2AnAQqDMZck BY9RCJ4AB4SgQndCYFGhECGmg4AoCeRyGUIVJJCACVgAIAAKd1SjJpsE4NKAh8dMYl4FpxBRIHEi RNDWA2cZyJZbcMlFl10X9PSTCosF0MEBghHGJAoQUCnBlh5cZ8Bj22VHWQCWMZAMHOjcsYc7BZzw xTgEpPqFIq8Qwc44ZBwxwF4r/WSSSzDJpAJNi+KkE08+JdkUCdQdhYJSUC0Va1BWRjVVrIxeRZ6H Fp3z0bbcdrtFEAA7 ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.journaltimes.com/art/SellItWi.jpg /9j/4AAQSkZJRgABAgEASABIAAD/4QwGRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMiBXaW5kb3dz ADIwMDk6MDM6MTAgMTU6MDA6MjkAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAxaADAAQAAAAB AAAAIwAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAArQAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAHACgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A0/rh9Zsh/UvQ6TnvGMyoMu9A7R6oe7dttA3fQ2e6p6p9C+uP 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 y0Nvb/c9Hvf9S/m/fcK/6pYVxsm+1otw24JA2CGMcyzeNtYb6jnV/wBRKz6o4djMphvtjLxqsVx9 ujaQ1tb2+z6TvT963Ukj7Xgkf6RoVxdK+T97Hw/872XEv+q9GU7ptuXk2239MILbYY02Q5ljG3Na z6LPT/MT0/VXCpPVS22wnrG8XE7fYHmxzhT7f3r/AM9bSSX6q/H/ANB/7xb/AE/g04vb6cPBwfz3 6PD+j95civ6u0NpZjOyL34jMQ4TsYuArc0/4dzGj+kf8IgN+qldmJZhZudk5WK6luPVU4tY2tjC1 9T2srYGPya9jf09i3kkj7X4f81Ufv1nhu+IbcHH7vFp7f6XucX+beeP1PotryfteZfkZGVS3FN52 NLKWObY2tjGs2e702+o96LkfVTEyGZrHX2gZ7cdthG32/ZdvpbPZ+ft9+5biSH6r+V/1v/Q1/wDw jYq948PD7fD82Hg4OH0cPH92+R//2f/tEMRQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAABxwCAAAC AAIAOEJJTQQlAAAAAAAQRgzyiSa4VtqwnAGhsKeQdzhCSU0D7QAAAAAAEABIAAAAAQABAEgAAAAB AAE4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAB44QklNBBkAAAAAAAQA AAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0ECgAAAAAAAQAAOEJJTScQAAAAAAAKAAEAAAAA AAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAA AQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA//////////////// /////////////wPoAAAAAP////////////////////////////8D6AAAAAD///////////////// ////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAgAAAAAABAAAAAB AAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADVQAAAAYAAAAAAAAAAAAAACMA AADFAAAAEABTAGUAbABsAEkAdABXAGkAcwBfADEAOQA4AHgAMwA1AAAAAQAAAAAAAAAAAAAAAAAA AAAAAAABAAAAAAAAAAAAAADFAAAAIwAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA ABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABU b3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAIwAAAABSZ2h0bG9uZwAA AMUAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAA DWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5k c09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAA AABCdG9tbG9uZwAAACMAAAAAUmdodGxvbmcAAADFAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRF WFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4 dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VT bGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFs aWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAA AE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRv bU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/w AAAAAAAAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAAK7AAAAAEAAACgAAAAHAAAAeAAADSAAAAK 0AAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/b AIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAHACgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEB AAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQC BQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKy gyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3 h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLh coKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1 VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A0/rh9Zsh/UvQ6TnvGMyoMu9A7R6o e7dttA3fQ2e6p6p9C+uPUelbabQMvDE/ojDbAXHe6wXQXWO3O/wqzOs412L1XKrupOOXW2Prr27G +mXu9N1I+j6W36PpqkqEsk+Mysg29nh5LljysMRhGcDEHiqPFI/v8cP0v6z6bhfXv6vZIHq2uw3k huy9sc9/Ur9SrZ/bW8+6tlLr53VtaXy3WWgbvbH0l4oeCOfJenfVTMy8nEqp3V2YmDUMd19Yhttz Y0o+j+gxqdlfqen+nu/mv0dSnw5jI1L8HG+KfCsXLwGXDI1Z4ozN1+7wJaeu5ezCvyKK209Qa62p tdm94rFXr1Nc5zaqnX2u2M9r/S9/86/6amPrT011fqNbcWlldmrNvttOyXeoWbGY7v6XfZ+r4383 Zd6itM6J0mtjq2YrGsLi8NEgNc76TqR/gP8ArPp+9YmBldHyMWoX9PLLclja6MWtpj0XvyHUYk72 1fpK8G/IzK/0eO/Z+sf4L1LDitofWcMyLXXtFeFjtG67a8l7i7KEU/nez7Hs22VfprLP0b/5v1y2 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 DwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAAABMAQQBkAG8AYgBlACAAUABoAG8AdABv AHMAaABvAHAAIABDAFMAMgAAAAEAOEJJTQQGAAAAAAAHAAgAAQABAQD/4TqwaHR0cDovL25zLmFk b2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJl U3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRr PSIzLjEuMS0xMTIiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5 OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91 dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEu MS8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL2pwZWc8L2RjOmZvcm1hdD4KICAgICAgPC9y ZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAg ICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAg IDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENTMiBXaW5kb3dzPC94YXA6Q3JlYXRv clRvb2w+CiAgICAgICAgIDx4YXA6Q3JlYXRlRGF0ZT4yMDA5LTAzLTEwVDE1OjAwOjI5LTA1OjAw PC94YXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhhcDpNb2RpZnlEYXRlPjIwMDktMDMtMTBUMTU6 MDA6MjktMDU6MDA8L3hhcDpNb2RpZnlEYXRlPgogICAgICAgICA8eGFwOk1ldGFkYXRhRGF0ZT4y MDA5LTAzLTEwVDE1OjAwOjI5LTA1OjAwPC94YXA6TWV0YWRhdGFEYXRlPgogICAgICA8L3JkZjpE ZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAg ICAgeG1sbnM6eGFwTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAg ICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3Vy Y2VSZWYjIj4KICAgICAgICAgPHhhcE1NOkRvY3VtZW50SUQ+dXVpZDoxQUNCRDhGOUFEMERERTEx OTMwOENDRThBM0I0NDRDNzwveGFwTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhhcE1NOkluc3Rh bmNlSUQ+dXVpZDoxQkNCRDhGOUFEMERERTExOTMwOENDRThBM0I0NDRDNzwveGFwTU06SW5zdGFu Y2VJRD4KICAgICAgICAgPHhhcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNl Ij4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+dXVpZDpDRjcwRDZDNkFEMERERTExODlB RkQwRDUzMDNGNjZCNDwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3Vt ZW50SUQ+dXVpZDpDRTcwRDZDNkFEMERERTExODlBRkQwRDUzMDNGNjZCNDwvc3RSZWY6ZG9jdW1l bnRJRD4KICAgICAgICAgPC94YXBNTTpEZXJpdmVkRnJvbT4KICAgICAgPC9yZGY6RGVzY3JpcHRp b24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5z OnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyI+CiAgICAgICAg IDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxw aG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2Zp bGU+CiAgICAgICAgIDxwaG90b3Nob3A6SGlzdG9yeS8+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9u PgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0 aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVu dGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcy MDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+ NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9u VW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpOYXRpdmVEaWdlc3Q+ MjU2LDI1NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4MiwyODMsMjk2LDMwMSwz MTgsMzE5LDUyOSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7MUZDMkJFNTg4REE1 RjczQzIxM0FCOTA2RkQwQUY2NUU8L3RpZmY6TmF0aXZlRGlnZXN0PgogICAgICA8L3JkZjpEZXNj cmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAg eG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhp ZjpQaXhlbFhEaW1lbnNpb24+MTk3PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4 aWY6UGl4ZWxZRGltZW5zaW9uPjM1PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4 aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOk5hdGl2ZURp Z2VzdD4zNjg2NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2 NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3Nywz NzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4NiwzNzM5 Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0 MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5 Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIs MTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7NzJENjEyMkE4OUQ1 MjZBQjYwMzFDNkJCRjcwOTY1N0M8L2V4aWY6TmF0aXZlRGlnZXN0PgogICAgICA8L3JkZjpEZXNj cmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAK PD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0Ig WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAA ANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNw cnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAA FGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANM AAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMA AAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4 IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAA AAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAA D4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0 dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0g c1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0g c1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBD b25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAA E6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAA AAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoA DwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIB OAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIM AhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyED LQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSM BJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghG CFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgK rgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1a DXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQ fhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPl FAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X 0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwC HCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJgg xCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYr aSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFK MYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w3 1zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6g PuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5G IkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03c TiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9W XFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8P X2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJL cqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF8 4X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4ef iASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOT TZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8d n4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr 6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjR uUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbG w8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL 1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj 6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ 86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////uAA5BZG9iZQBk QAAAAAH/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgIC AgICAgICAgMDAwMDAwMDAwMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIACMAxQMBEQACEQEDEQH/3QAEABn/xAC5AAAB AwUBAQEAAAAAAAAAAAAABwgJAgMEBQoGCwEBAQAABgMBAAAAAAAAAAAAAAABAgUGBwgDBAkKEAAA BgIABAMFBAYIBwAAAAACAwQFBgcBCAAREhMUFQkhIjUWFzEyMxhBUWMkNGRhocFCYlNlJ1IjQ3Ol NgoRAAIBAwMDAQUFBAcGBwAAAAECAxEEBQASBiETBzFBUSIUCGFxgTIVQnIWCZFSYiMzJDTwweHx gqJTY6O0tTYY/9oADAMBAAIRAxEAPwCdb1u95Ng9X5bR0R15t8mCmymNWArnjW1NkOe3oAijoylj ytZ540PDix4MSuKoSQZXYyMYBDDnOQYzjC/lXlmZwFzirbC5IRGSOQyABGb9kKTuDFehNKU9/s16 tfy5vpu8WeZsH5IzvlXgbZJLK8sVspJJLqGEgi4adU7MsUc1GjjEobfQEKQA1DAhrp6ne1eu1pSe 208sItqUTZI3NUsUXMc+zZS4MbcsUrwtDa6mvaR2j6Q1Up7mQoziy+skrmAQC8AziDCc85DhchPk VuBc3EoAcz7nJUEnaDuBUVP7JA6DpQU16d+Wfo38JeV+F4bg0uDbBYbHSSSWy4kQ2ipNIip3ZIxC 0U7BV2gyqzUZ6MGbdrqWoj1t9GbfSMaOVzhypOYOKREFwZLIZV6VhRuxpZWFqZNOGolxjOW0hSIW ClS45vyYVjAxll5zkGM/4jypxPJLEtxdta3LAVWVSFB9oEgqtK+hYr09g14teTP5dH1JcDnyVxg+ Nw8iwETvsmsJUaZogTsZrOQx3HcK0LRwrPtY7VZxRjKzHJfEpglyuiUojspRBAnMEsjj22PaUJas kKhKPKhsUqisAUkCwMvPPkMGcCxzx7eMgwXNtcrvtrhJF96sGHXqPQn11pLlsDnMBMLfO4W7srgl htnhkhaqnaw2yKpqrdG6dD0PXVuazGNV3DZZYEzdSGKHwaNPswlT2qCcNMzxyNNap5e3Q8tOWcoM JQNiI00QSwDHnAOQQ5zyxxz6pI69NNLRbfyEn6QuM313sWsI5edoxmva/XzWSQHD4JuklaWfZ/zL KIrHH+QuMTUNLPW3bVNasYVZRjkUEWcGkqSSmptvrQ6Vxj2m15koIkJitqIuR85lzrA4w2J1h3nj hL2ILeN8YjWAacD22K2Yp4QjV5VpyC0xbgkGYIIVSfJrUNp69NIFdnqL0BUNcPVptz23WND2uFWH JUbnF5IxElvrzCH2sIy3x9iTuCkp0fWySvdstYMP7cmWsaAgwJqhQHB6bBzUQpJppToxt9UpjFGF VmS2B1tI5TJHOJtrGGftEtblzq0ObOxrFaB+bkyExOxeeP6JHhQ7I2g4lUsTkKSE6g8snLUNp9mq WPcemphsXHtb4BI2idylxiFyyiRukbeUixDDVNMSqtoc9MbkWEGfMFa1+sE1Jk1IYaUiWs6pMoyA 8PQFptIFTq7GdwKnfJZsmxPKhXA41rGpbi5dZk4VMrFAJCgGjcASh6izuc6CPPaIDKmVewO5yolN gl4RGkg7mOkQmo7T0+3XnKh3qoa3F0hRoJO3s4k95yGi4GFYrGpXWW8RiMVzIHl9YWchGF2bmlrX WUjbVolhJQUK3oAeMvKggI2hUj+jTzeGpdHDTRw00cNNHDTRw00cNNHDTRw00cNNHDTRw00cNNf/ 0GubYASk7OX+jQyaYTNI22/YDQRK7AcCHWZP5bPJnFrw5yBxShLTK1ynwfV1gAWHIOnkAH3MaPci CjPZhUnllVbmQB5DV22sRViOhJp9n3DX12+D2nk8OeLp7nD2GPnmwNjK1tZI0dpAZbeOTtwRsSyo u6lCWNa1ZvzFvvFG1lLRw007/Q++XnXTaqmrDQv8lZWMqbsDXNUcccD0fzJEnJyTpnNheU5RKsDk yq+4ER5WSDzMBB1kg74S84uTiOXlwnIcZepNIsIlUOFNNyE0KsOtVPtFD7wK01gb6mPGWP8ALHhP yBxS5xdncZJsdPJaPcIG+XuY42aOaJiVMcy0IRg6KSdsjdtnB73XB8qfZ1m2IoQ8pxk8Ta0TvSFu KkxZ6BkPcZtDjPmyEs7+WYA1TIGCMSFNlwGmx0ID15RWDMqSzyydx7TI217cX9vbEsbZwjtT4d5A YoD7WUFd1OgLAVrUD5a+R8Gz/EsLw3OZ2KOBM7aPd2kRas5tFlaGO6kjA/u4riWOYW5YhpVheQKI mieRCHbTy0ZtEoBD7O2mk8pxUkvTyqtpuxV3HoXZiE9LUduVGS4ymSoXhwZX6YhQ2gU5YdELUzlB cGksYUgcHmYD39WfuA9BpBKy04hKOxHyERvYxAttOvb9hmw9pK4RWRsek8RWqK6o6Lpa0jUuTy10 DCWSy4VUKDMqanZXIlshZXwY1ZQe4hWAaiW6dR0prfKPTBbXZqkDe93a9piHlksqOtEchcLRxet6 8ZrHkGtciWtdYQRxksoBB2Ypz1xKVnNyVb5Ya4v648hOkBgogLTf9mvayX06Ig9WuotguUsjuufn mdDmcYsmuU09ib1FZpZ2bTJZmptTymKmMb5HnpWsIIcDTFyVUnVY8UgPMTpxltQ3GlNUUFq9F6ev Kt2RHsViaGUNSdvNVRVCfFI4gfWCndgbMiD2XI5hKEC090nChoeqoKaEDngpvAsIJMGqKOW5MVmN Cag9NeTV+lXWYY00JGCypmwTo6HyVusixsI0T042vYrvcEF2LZbTlbA9KVkeLdY3fMGw+BQEEhRK 0js4oDcdpT1gajvPu6a9ek0GffNEkkdL0EOar9klWyEtn0crVPEZsFyXJaeb3Sv60f2yamKIFAJS y1AQ1v6BfiRkvjWtGWqAI8hOpLahu9lPZpzezm0FR6jVarty5XZwbYyU7N8fbkbK2GvD/IJC6AUm oGNjbSxkgUL1CZEebzNNJJLKJGMZgcY58UbPZ/Hccx7ZLJyMsG4KAo3MzGtFUe00BPUgUBqdZS8O eGudeduaQcF8f2MU2YaB55HmkEUMEEZUPNNIQSqKzovwq7szqqqSdNtpf1L6dta4o9QsrrS+9eLR mzQN+r2O7BV0CCinrXglUpLNjqhO8vIMnqCECjJQFOE+DRkDKAIR2O3mh4vnWMyGThxFxY3llkJV 3RrcR9vuDqfhIZvcaVpWhA69NZd8hfR/z7hPAcr5NwnL+Mcr4ZjpxDfT4S/N58lJVVInVoojRWdA xj3lQ6uwWP49SL8XrrU7UdMu9T/WyFqtpUjwiswRuoK2MoLX8FFW08J58rmiGBteYnkcjJy8FhfH AvJojsJOhPzHjq5dPFlXPPcHatyBZVnrjSomog/bcRjZ8XxfERWtOnXW2OC+jTy7yGHwtPYXOHCc 8juHxu+5kXaLa0e9k+ZpAe0eyjBQndq9FNK117+H770bNbXqinmtLPEskuKhmTYyLuTrHEiONIq9 fmFxkaQMhdQvJxjW/EtrYbk5Pgk0ssfIPdzz58dy25fibrI4/GRrMJ7mzW5QlQFEbKWG47ujUBqK Efbq1899MXkjjvB+b8+vZ8Y+IwHJ5sDcxxzs1w99DNHAxgj7QEkJkkXY5ZWIqdgpqi0vUG1mq+s4 FceJcfY1Y2HZ6GomiaVUBqmLC3zBcnXKQkva4DwhJQok5Tcb3TAZNGAQeXRnOcc4ZDmWCsLGzyfz JnsJrgQh4qOoc1PxHcKDoa+v3ajwv6WfMPM+Ycm4AcEuJ5jisM+UltMkZLWZ7VGRSYUMTl3Yuu1T tBBruoDrGQeoTrw4bTTfUItXLCLTgDI8Pr6vUsiIuFiTsEVQzF4TIXsLwNYoXIGVZkQwCSFhwYQa Hq93GRQTmeFfkF3xsNIMhCjMxKjZRUDsA26tQp93sOua6+lbyta+FeOeeGgsW4XlLiKGFFmc3e6e 5e1iZ4e0EVHmQAESk0dDTqQEeafVy1aeIlSE1IZ7gIY9g7RkFSV2YrhTSSepkkZXQ1sc1rkWGVGA SMWF84SlFngEcYMZKjHbx2vepkfkfj8ltiroRXIivLhoY6oOrKUBJ+PotZAK9fRunTV/X30KeabD O+R+Oy3+AbJcWwsGTvgt3KQtvcJdyRpGflgWm2WcjMhCqA8R3nf0lE4v7WmOjhpo4aaOGmjhpr// 0Zk/Ul9EZHIirA2G1MPkCycuDo9TWY0m4n+cgla56dMub4srhzUDKcEDqA1UoVeVKhqwK+eSkgyR 4KTm4K5x4rWcXmZ46XN2zM7wH4t5Y1Yxk9QepOw1r6KR0U+wv0i/zGLjEycX8Veco7WPjcUMVpa5 eMdo2yRR9uFL+NQUeMhUj+ZjERi/POsil5U5VXNscmVwWtDy3rml1bVRyJxbHNIoQOCBYmMEUoSL USospSlVEGhyEZZgQjCLGcZxjPGvkkbxO0cqFZFNCCKEEeoIPUHXtjZ3lnkbW3v8fdRz2MyB45I2 V0dGFVZHUlWVh1DKSCOoOsHiXXZ0qNMzuw65siNyap1OUFkYPPZIc5kN6RxdGt6kyU6Op18fAsIU gRSQjDmLwCssHiUanIDiBAOAWMPfxd3e2V9BPjmpfV2oaAkMw2grWtG6/CR1U0IoQDqzPIPGuKct 4jl8PziHu8R2rNdRl2jjkit2E7JOUZS9ue2O9Ex7csYaOUNGzKfoua4Uoxa9UtAqpZA4POjrInHJ 3w0Rp7lL5w5Bw4TWavi1QYcrcXuVyVQpWqDjjBjyI3p59IQ4xuthMVFhsXZ4+LqUT429ryHq7sT1 LOxLEn36+Try35EyXlTyHyfm+RO2O7uGFvCABHa2cfwWlpCigLHDbW6xxIiqAAtaVJJXDiq6xxqK BNqPdaO5rQlEdVPENYLD3QsC61bkgs9/A0ucVxpnGoNWL7Jok3yYoD03NWw7ZhQcxGF9s4CFOM8k SQogIGp6ig+7/fpNIdrluA9NlSMcgbrXg7S2SDV5DsUndtkT3xXbb9Ds2LnYS0WB/j89XO6eFTdO 4tJBqDPkq99LGEJ7SkChLwNqJK9fx0tOpmvGx9aTRH9TnqYuMMkNCWJE52VJ7ifLBwpsNHer3mpF ZJbpInZekWoaDXkojHBFkkQySSSVQzFBBYgtQJB9Pfpntc6NbPxGuqqVRmGyeubLpzTfW2mY/wCC vAksZ9u1PsStf7IcQq2mbOLa+QmVwDKhYgIdsiSibXMxANGmNGclA1EsKn3V0+jS+nNkYDYNnSLY Kb2e/OqwcqaR4c18GcKkm3jbKfnyJzmIZbpw/wA6QOrVCBpW7CNcyxxOgRm4RhLWYSknhagxBApq RvhqTUSXrMIqXXaqspd8RG33mCkWnHFRcypgpgUyGrn7DTIErdLnlHIjAIVcZOTK1CBQXnpyMxUU AJhRoih4xz5OXFvx6IZe2uWtBcKd8G0tE1GAdg3QrQlT9pAqDQ63o/l+XHkK282ZBvGedwNvyVsL OptMsZ1gyMPdgaS1ieAF1uAypMjdaLG7FXQOpinou0rajW8usldUDuAP1E6/f8FGydRN67PdHip4 gmNyWuUrJfLSZDIYkqbG4IlhKtG5Ix4OKwSoIz3QlnY+xGQyMHLMDZYfkv61Zv8Am3xkmFB6ku+5 kIHxAqy9RRh1od2vJXC+DZf6bfMXLPKHgUeKOU2tRbrZ3yxxZO6YVRUtbYwQXKySUiaKWCUFWMkU g2F40Eht7bayF+SPkk2UQ1/tf+Z82Mq4XKbc2YVWQYpKUFkl1WbrDC4VJ6wT1SsOHgBawCfHSPGS xmgD7nFHtcvyOaVJZ84IeQ/P7SjzXRlr/wCF8qiNEIj7Gp9hPs1k7kHjTwZisZPjcR4hkynhD+DB cLd22M4+tgFKknJDkN3d2+RbJKBVoi/UEOqMfi1u9gwi899eL3Re9IaR+wIs88/mRjHVy9ntxjP9 Xt45cz/i+Xf34P8A3Kap3iwj9M/lndR0tcv/APAXGnXVzJ7JlOx2o+viSzLQjdZzX0h4UoWxmFSt 2ZCk8hWU/LSy5GzoyMnIUsrIMRkZIV+HGcEZYOXPljHFw2NxfXGb43hlv547GXjaEqjlfiML/Eo9 A/QUNK9BrCHLMNxHC+JPOvlOfh+Gu+YY7zvdqlxd20UxaBMpbE28rNR2tiHffFvCkM3vOmga213C rP8AR227amGwZi/21Vz9HLRfqxc3dxUxmrU8Mlbg8NskikfUNxCRidZpEiX0DioTqDxqcogYMCXk rGM23g7K1v8AxpySOG8lfI27rK0RJKxbHLBkWlFLoJNxBNdorSms9eXeV8h4b9fPgi+yfFsfa8Fz VrPjocjHFGtxkWu7ZIpLe5nWRmmjtLo2ZgR0QR91ipcP0R9+fJ0i1/VeptlAaTZlu7TbFVc6LCzD gixDLV1/XxZCX4jpx3UzI7Gu/Z93GMGlhxjln7KZNNdrh253s/z1zkLmIn+xLblB19ynfT7Rq/cZ jeNXHlGH6O/mVbh2B4VgsjGhA/1eNzaXLnb7GmiFru612knr7XWbB1XmnaH9C2GDR+EXHT4E1eSe 30mgebGmlNz1xAq5Y55UJzpD2RdXtxgrGP0cXDmcf+mYjxNalaOZt7fvSvDIa/aN1Pw1hHxZzYc+ 8mfzKOQLcdy2XFm0iNehisLTK2UZX+ywg3inrur7dSybi72O0vobe2BajAnyW/8AVsqPs02dAx0K c5maXWYCZpdIoGrTrlqhwVMcaaHNThT2STEhQPEl4yIGM4yJyblslziOW2fG+8Mxj9qyHbTaC+12 jIJJKqGNaCg+IemtHvAX002OB8m/TTyfzq2LfxdzRp5bSPv7hLJHa921gvVZEVFmuJbePt73WRj2 X6MasHoa6WROxLM6e7V7ZXnsa7aRP06l1XSE98tmsEVvkQN0Wur06OczEYrik8aZaAoDegREnJ1K zwyTrMArGXm0MRlIlib+GuQ5G7zbYppHibdNEJu2SWJfqkgem1VBBO1akMRrZ3yb48yMuStx578J 8G414mg8jQ2drkYFhxmRfFtexpHFHHaUW5spbYsZ5pXWSOLvT7UaBW00+q9jLSMI0TfaK2V2Dszc yxrkljPsxU8in06ljCNgR2CjStjdKYM9DURxgYQRovGRHFgB20xik8RhIk+Mk27j83kCOJTYnOXk /J57pxdQtJI67RIAA8bVVV2+0ezcajb0zhzXxNwtZfqWxvkrxBxbD/T7ieP20vH8nBZWdtMJ3sXa SS2vIQs88xuDQIxO6RYYgsglIk2ewVo7ArGz1KrXQ7O7IM7jrRunHY5UUaZLXkiCEtDNJ7OsZnNT nMITBeJTNTawpS0BADSkpAAZxkoeB5xxyZm/zDR85yK56+V7DKKsKrMwRVaWRabfcAo2ioA9xrrp eLeGeLbe8+kLg9z4b4jcWnMPHk8+UuJsbbvdyy2+OsJQwmp8LSyTSNM5VpHJBDqVGvWlNVvA3ucN ew7Y7a/JSilmjYM10zdD6KT/AFIRayPdokKS3ASfLaQzfNa8wQ0AEgU5qXpIGEWCyxB7IjyQ5c+F /iLI/Km1W4r32390WrS1rSm3eT8NKEdD6DVDe94I300WvlQ+DuC/xEnIZcGI/wBJhFv8g/IYccVK bu4ZflkUCYymRZN0ikF2Df/S7+OGmuIr16oYzRjfFe9tq8Z7hYFXQKVPbdlnE3lNatGQuhyfsr+v Jb35gjioDxnBCHJZghFC55Bz41W8vWsUHLnlR6vNbxuwpShFUHX9qoStfZ6ezX0ZfyyOQZDM/TNa 467tQtri81e20Mnd3mRXZLpqpSsOx7koFJO5QHFA2oV+MXa9DdPu9MeDMlib76uxyQLkyBtJs5vl WRKsdRS1dA0LhOWlo6c5wHI3p1jpKQOM59ojsfbnljN28DtIr3l+AgmcCMTh+vtMYMgX/qKgfjrW j6xuSZHin0xeZsti7Z5bxsM9t8PqiXrpZyy/dFHO8p+xPZ66+hfxubr5V9c9gtnp5UGxd4zB5tKQ PEVZc7up32NQubS64X2DqYjb8VY6lkVx01PX5orWn4TGmg7wUcXNTgxJ1xK7vOh/gizzyWuWgIHT 3aTq6N8th7N1wl8eerFgVNPBFe2GBnksfZHlY+7LSeFbdzuh1bdSkji80JRMrgwV/CGt+cDmU14w abKUy0nAWYkWT2gUA+lf+Wlzn/qN7ExCT2AUzCraTP7fHNyHFbQIYK9JJtRhevd41VVldyecyEUz CKQMUlradKZ4591I2FLm4sA208CAI1QmoBR0/DTl9cNi9mLWuaoIFJJHUgoIuqu57Ukkqh6ZgsJV ZLTDrSi9ewFE2S6v5471tDHNQmlR5r2SjNehBVNAQE9gKg0KdqBAAPv0z+wb+sWo5VeDDBdkmWWy w21K/mb1s2yWA+W5DqkqCRbsVfXMwqK96DlElHT1CyWvIHYqxG2urOJFl6j8aclaottUpz1ImpgA aVH+1NbG6/UDvVXI9g4nU9nsUUjtdq4a6F2S7VxDlzzXSGC7iVpr9cxclh5k0f8ACGDvkRk7g+pH ORFs605lQjdEhRbepTqimoBR0qOv/DTzNcNmL0tLaCfV4+Lapca2iptosri0pJFCG2ymP5Gk7AwV vO22Htc3f5w5Re22I9S9KT3JqQICE7k1ib1BxIxCUNQIAFfbqStQnTqyDkqoglSmUFjJPTqCgHEH lGByEwo4kwIizCxhzyyEWM4zjiBUMCrAFT7NRillgljmgkZJkIKspIYEehBHUEewjWkYYjE4rhSG MRiPRwKwYTFmGFlbWfCoYefSNThvTJ8HjDzzyyLnnHPjihtre33fL26JX12qFr99ANVHJ53OZswn M5m7uzGKL3ppJdo9y72ag+6mr/y3HcPfzLhgZcSPJHhcv/lSHzvKbo7fh/Nex47sdv3ejudPT7OX LiPYg7vf7Kd+lN1Bup7q+uuP9Xy36d+j/qlx+k7t3Y7j9ndWu7t7tla9a7a166yRtDSZlVkxrbh5 XZDlbkaJMLKzIB4MBlV1FZ8RkBmOrHXz5Z9v28TGOM7qxr19eg6/f79cK398vZC3koEf5KO3wVFD t6/DUdOlOmrgG1uKOJUloERahOQFKnPAlIAcQmDjIQpyTQl4GUQEOeWABzgOMfo4iEQEMEG4Clae z3aka7u3jkhe5kMTtuZSxILf1iK0LfaeusFBGo41Zc8tcfZG3L2cNS85QNSBHl3UGYGEw9zynIL8 ecZgwWBCN6xZwLPPPt4kSCCPuduFF3mrUAFT9tPX8ddm6zGWvRZi9ylzMLZQsW+R37SilFj3MdgF BQLQCg1k5Z2gSQKATU2iQgMyaBFlClykCbnq5mBT5K7ITM9efbjHP254m7UW3Z212e6gp/RrhGQv xObkXswuSKF97biPdurWnQdK6vHtzep8P4lAjUeDzgSTvpSDfCix0chJ+4AXYzjth5ZDy+zH6uIl EbbuQGnp09Pu1JHd3UPd7NzIvc/NRiN3r+ah6+p9fedVEoUSc1QoIRpSD1eepUcSnJLNUixkWcCU GAAEZ2cZFn2izn7c8AiAsQoBPr09fv1LJc3EqRRS3DtGn5QWJC/ugmg/DWtZoxGo5lWKPR5jYhOB vfXiZmlA15Wn8xZ7yvKFORlSbzFn3h9WfbniSK3gg3dmFE3Gp2gCv309ddzIZnL5YQDK5W5uREu1 O7K8mwe5d7HaOnoKDX6kjMbb3Va+oI+yIntyxnDi8pGpAmdV+MiwLOFrgSnArVYyLHP3xi9vBYIE keZIUErerAAE/efU6hPmMvdWVvjbnKXMmOh/w4mldo0/cQsVX8ANZImdoGFSAbU2jAsNCesAJClE FUeEQhBOUhyVnB5oRCznAhc84znPExijO4GNaH16Dr9+uEZC/Uwst7MGjWine3wj3L16D7BQar8r bPEeL8uQeK7fZ8T4RP4js4KyTgrvdvudvBOejp58un2fZw7cdd2wbvfTUvzt52ux83L2a127m21r WtK0rXrX1r19df/T7+OGmuXP/wChX5e85rHx35c/PPlVr8r81+p/5mvC/Mcq8b5V8uf7dfSPly5e cfvnmXifCe3q4wF5m7PdsN/yXd7YpXu/NU3PWm3+77P7/wAW7dt17Pfyrf1X9P5j8t/Fv6b87J3O 1+nfw9u7Fts7nf8A89+p+v8Apf7rsdnv9Ka5hf3P/SP/AD3GBvh/s/8Adr2S/wAx/wCf/wCjp3/p /eC/PBqb8P5/X6r+nw3n/e6vmxt6OX93p6uXV1e508+r3efFycO2/wAV8d9P9ZF6bv641gb6o/mP /wA4+cP8X/6vkfzdin+mkr+Pup1rSnWmvoj8bpa+UjWoB995+Efo+59/+Fx8Z/s/ZcNNXTPvN/w3 8Uf4n3vhx/w/9r+v+X6uGmmMRf5G/POLyPzr5n+lty+dfWj8xXzT0fO9Q+J/K59RP9oPpN5hz+bv l/8A5nifl/w/7ly4am67dPiZPhyP4R+CP4J8O/GH/B/sf+L/AB8+GpTqx/0JF8B/EUf9j4cT/wCx ftP8z+X6eGmr2fwnj4P90X2/hfDEvxj/AA/r/lujhpqhH8UO+CfC0P8AB/FPvnfjf6X/AJH9PVw0 1u+Gmjhpo4aaOGmjhpo4aaOGmjhpo4aaOGmjhpo4aaOGmv/Z ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.journaltimes.com/art/print_icon.gif R0lGODlhEgAOALMAAM3MvJaZmFVVWFVUWM3Lu5eZmXp6es3Mu1ZVWHl5ec7MvJeamf///wAAAAAA AAAAACH5BAAAAAAALAAAAAASAA4AAARXkEmWqrk2zU35RJ6kLWRQLAwYaqHqGcxynugQMnB7jyad ehWWZ1DZJEilRQB5cuEOUIXiIJVSnQkFAiEFIElao4JwAIy7VSwBQFCwD+20cbCl1+sJgSQCADs= ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.journaltimes.com/art/email_icon.gif R0lGODlhEgAOAOYAAOnk4NXMxp6amJ6cnpyXkv//+/726r+4uP/++mFgZICAg+/j0piSjv3w2YWC hf337v/56//13v/58f/+9398fvHs6Pr28f779V5dYJ2amOHa1frx5O/k0/369Mq/utDHvvrs19XQ z//9+v305drRy//75Lqys4GAhP7x2qSfpaCfoPz37MW9ufLt6ffx6vjx6//u1p+eoF1cX7Wsqv/5 7LSussvAutvRy/bp1PTp3cG8vv715vPp3cO9vODUxf315mFhZMrDwv/03/nx4//33/vw3vjz7Pvv 28rEw//y2/fx6/737vnr1sO8u8W7tf/03srAuvXp1J2cnYB9f//48NXR0Pzz4v/14Kaipbuzs5OL hP/68LWus/Tp3uHVxqajpeDZ1P/v1/n18J2Zl/vx3/r07p2bne/j04B/g2JhZP///wAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAAAAAAALAAAAAASAA4AAAe8gGqCg4SFhoeIamgqMQNmA1ICAwIZAgRjDoMKEghiFhZlQxsbZEdM MFqDaAEABQgiF1RbBhAlOAEUgychBxoXEx0PKxBFXiZZU6oFADpVGgUTNDksKQccDJodCBUfXCEA JFhfPhwRBKouImBBADc1Mx89TlFE54JoFQsHLRJKC2ddeEDxACKDqgBNjDwwMGKJAStCGtjwgO0e khcRrvzY8QRFgyRhQATIJIiCjDRpEqBECQQlhgQYEslUEwgAOw== ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://images.townnews.com/journaltimesonline.com/art/icon-comment.gif R0lGODlhEgAOAKIAAP///97e3qOjo5mZmYmJiXFxcVxcXAAAACH5BAEHAAAALAAAAAASAA4AAAMy CLrcDiTK+cpblokAhv8eEAgMcZUoqA4QeirmsnUrOzbGmzURNPUXU+y1CACJGqRykQAAOw== ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://images.townnews.com/journaltimesonline.com/art/smaller.gif R0lGODlhIAAOANUAAJSUlFxcXPT09HZ2dsLCwqqqqnBwcKSkpKCgoP39/cjIyI6Ojq2trYiIiKKi ot7e3rS0tHx8fNTU1MrKylRUVIuLi5mZmYKCgvf393l5eeHh4Z6entnZ2c7OzszMzISEhK+vr3Jy cpycnIaGhkRERMbGxtzc3Ojo6N3d3dDQ0Ovr62ZmZunp6fPz8/n5+dHR0aioqJubm9vb29PT039/ f9bW1rq6uvj4+Kenp8fHx7u7u6ampqmpqW9vbwAAAP///yH5BAAAAAAALAAAAAAgAA4AAAb/QJWl ItogHIfkbsls7pIHBwKxiV10PwDhx+16v2CwAPcacXW+wcrna6zD8G7nUDkzfmgfdxWP12INXChn bIIkAyQ+KxSBfRIWF195XRY/DT5YlX0zADQJCV2TXpdYeG4rDaVcCR0AES2wAgIQbBg3LrgfPhC4 JzcfHxgnsgKwCgsDLCfLJwVsLCwq0hE+DNLTEcsFARE2LAQLIRoPDygmCGwm6igoAz4O7OoDAzIy JgMODxo2FT0cNRJmQOjBpgKBFCkgJOpxMAUBChQOvqBAQwIHCA0C5EjRYcIEBTlylBhZIqRJkSRz KFAwwUOHFzEQFIjgAAQDBgUK8OABA8bOIJ8/fe7MycAmgAAsfoALYaBp0x5Qo0qV6tRAiAwbkgYB ADs= ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://images.townnews.com/journaltimesonline.com/art/larger.gif R0lGODlhIAAOANUAAIWFhZSUlFxcXPT09HZ2dqqqqnBwcKSkpKCgoNTU1P39/cjIyI6Ojq2trYiI iKKiot7e3nx8fMrKylRUVIuLi8PDw5mZmYKCgnl5eeHh4Z6entnZ2c7OzszMzLe3t6+vr3Jycpyc nERERMbGxtDQ0Ovr6+jo6N3d3enp6WZmZtzc3Pn5+fPz86ioqNvb25ubm7S0tMHBwff399bW1n9/ f9HR0bq6uvj4+BEREcfHx7u7u6ampqmpqW9vbwAAAP///yH5BAAAAAAALAAAAAAgAA4AAAb/wJKF EtIgHofkbsls7pKHBwKheV10v0Dlx+16v2DwoFUDhM9eX8rhUxNwWM6Bgq6nuG1sATt7OepcDhMp PiIEIid4Plg/iQkWF4A/Fj86Pn+UioxcCQE0CgpeOg4pa4yWf2mLXQocAREssQOzJjIAACsmKyse PrgrNzcybTCzsQsMBCgmNhECBSYmEREl1SUNPtTVKCht0NEoMQwgGRAQDwQqLi4E6SfvDz4EJyr1 Lm0IKicQGTYUPRtmJKAxgQSJGBMmVDBYoUchGAZjUGjTw0OCBBtgOBCQgwQHCRIW5MgxouSIkShJ msyxYIGEDhxqvEBQIMKDDw0aFCjAg0eLIhY9gwYF2nNnA5wBBKD4UWGcgadPe0idSpUqVAMgMGhY GgQAOw== ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://images.townnews.com/journaltimesonline.com/art/previous-article.gif R0lGODlhawAOANUAAHFxcZmZmaqqqj09PdXV1fT09LGxsZSUlKKiokNDQ6SkpLy8vPv7++3t7cnJ yWVlZbW1tbm5uX5+flJSUvz8/IaGhuTk5K2trcHBwVlZWY6Ojq6uroKCglVVVYiIiM7Oznd3d52d nYuLi+np6eLi4uDg4NjY2IyMjMTExHp6ejMzMy4uLl5eXmpqaiIiIk9PTxAQEB4eHt3d3d/f397e 3ru7u8fHx9LS0qmpqW9vb9HR0cjIyJCQkMzMzAAAAP///yH5BAAAAAAALAAAAABrAA4AAAb/wN+v EeBwKh7RScPU8J7QqHRKrVqv2OyzeRJ5KhXjQig8oMjotHrNbrvf8Pi7gNMJG5V4o1brydUNHg1/ bQ2Db4GHaSB+bjoKQhYncTU+li6Kfz0+jYRqICBsAgJCm51oPjVvBAGReXCVPzIuHj89Mj2NMjWD e2S3PbxCu4e4QsK7MoAwMMW3vCoPqsGKfUKpdzXKaayRHGl+pz+xs7UJMD4JPwGWPq0urTI+MgnY IJYwfh7qP6kCl2oCJEjQ6ocHdDD+WfpRbxo6H6Sw9Xj4IM2NA5EkULiTwEMAF2kqWVIxaOAgeR5q PICxrlmCiv20QWRYcd+1Gge3pVEhIIAK/yE5hXQkg81FxR6DikrzwAnNB4w/LKQoQBWBDxQqJjDY ujWCjwgOKIhNUEGs14EDt8Lo4MPB1q9et1ZIwGDu2wgMPtLlysBBunpu7Y4tK/YrBcNiGXxVrAIt CqpUd2iIBGKE5RECJJhgMcKQoQ0+PBsaIMGQPAkbQsgwJMHHAM8+LpwOESNHAwkwQrSWHSJEbNEs SEsYwOL269EvNnxo4GNDgxUDNmhY/nvFiwsCIly2jGHyDxIASJSYQUOG+fM0aMxQ4GOGe/cDQLw/ EMMHDAXkP8BAkJ6GD/4VoDPABzRgUN8K/yEgoAz9feCDAekZ4MMHIAyg3gwBPjiDD/gZgOLgfTPE AAINBgxgCQjmqVdCBCJEkoMJJhBwww061GjjjDjmqOOOM9ro449ABinkjTwWmWOQMxJAgAkQtPhD ARnYoMMHPTjgwA42ZLnDllx26eWXXmYp5phklmmmlmCmqeaYWzrQwwcf3BAAAmRkhoABG2A3Cg4C XLABBBBEUMMChBZqKKEQYIfDoow26uijkEbaqAAGRHCooTVEEAEEBijK6Ch94nkAZ2igoAEAqKaa Qw4tPMBCBhl0MMGstNY6awYtrKrrrrz26uuvvj6Qga21dtBBBiw8kKuuqaaaQggjCBEEADs= ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://images.townnews.com/journaltimesonline.com/art/next-article.gif R0lGODlhawAOANUAAGpqanFxcdXV1bGxsZSUlMzMzGVlZZmZmfT09KqqqrW1tbm5uYaGhu7u7urq 6uTk5FJSUqKiollZWY6Ojvz8/HZ2dq2trcPDw1VVVcnJyURERKampvj4+K6urvb29j09PYKCgn5+ foiIiNnZ2S4uLouLi+Li4uDg4M/Pz4yMjJ6ennp6el5eXjMzMxAQECAgIPv7+97e3t/f393d3by8 vOzs7Lu7u8fHx9LS0qmpqW9vb9HR0cjIyJCQkAAAAP///yH5BAAAAAAALAAAAABrAA4AAAb/wN+v cQCBGKJSasKc9J7QqHRKrVqv2OyzmSqJGAwjTSgkXMjotHrNbrvf8PgbsdkJGwz5fXa36d18cCIF awcHf3EoG0IPKX82Lnw2PnIFImwJLWyWZC6XahqfiG4Chz8PeXqTLQ2TZAV+QjZ8rQ0GLTYNoD6x tbm3uTOzZDaEP6HExqNopYwgjz4uBq4/Bj7RhCIuNi0YP9e8aTMuFQay0bzgNiI+lwUu1wnHlw0t 16xoM7rKbzgEjCEoqEpn7ccBFwm4efuBwcULXSI0rKlQYYYPXZPk/YhIBtkLcwV0IQOWwBOaAi8K YKiQ6N+pFQhiIvDggYNNGDhhUNi5wAeF/wrXKDBwoaFoBZwMfGBAqiGnUxctNLhgAKNnTgZNcWqg 6mOB060UNLwoquGAzp0OXlQYOiKnTZseZCLgMYFRBQd48+qtwbeB3w4XG5C4qMLFhA4q/NJwEcJw jRAvLNDgy3fCixAhWLyoYcEHZciSG3wIIfiDhQkhRzfQQUJFhw5+Y3cgraMAZb24HVyo+8NEABMn ZMSYQbx4jBgyksuI4CP5ABfJK8B7gQIFCQkxhg4Y8MJHhePHSXw/7oIAc/Dcvcf48H3AYBcRYkj4 EAOFhGsaTCjfnxz88OLEIXfCAiUwosMIAgiAAw47NOjgghBGKOGECzpo4YUYZqjhgxR2GLOhhSg0 uGCCIyhQ4A8ISHBDdQVkkAEPN8TIw4w01mjjjTbGqOOOPPboo4w4BinkjjNmUEABKOBwQARkJBBC BAN0YEECVOaQgAUdKKDAAjbQ4OWXYHqpwJQ5lGnmmWimqeaaZyYwwAJhgmnDAgsoMACZZlJ5ZZQE sOAAGrsFIOigOugAgAEsSCABBhA06uijjUoAQKGUVmrppZhmiqkBEkD6KAYYSMCCAZNSOuigK6jw 5w9BAAA7 ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://images.townnews.com/journaltimesonline.com/art/blue_arrow.gif R0lGODlhBAAHAIABADlgkxM3TyH5BAEAAAEALAAAAAAEAAcAAAIIRA4WaeyrVCgAOw== ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/mainstyles2.css * { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } BODY { FONT-SIZE: 12px; MARGIN: 0px; FONT-FAMILY: Arial, Verdana, Geneva, = Helvetica, sans-serif; BACKGROUND-COLOR: #abb2bc; TEXT-ALIGN: center } BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } DD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } DT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } DL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } OL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } BODY#popup { MARGIN: 5px } TD { FONT-SIZE: 12px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif } TH { FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } TD { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } TH { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } TABLE { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } .bodystyle { FONT-SIZE: 12px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif } .small { FONT-WEIGHT: normal; FONT-SIZE: 9px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } .medium { FONT-SIZE: 12px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif } .big { FONT-SIZE: 16px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif } .xbig { FONT-SIZE: 24px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif } .expanded { FONT-SIZE: 12px; LINE-HEIGHT: 16px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif; LETTER-SPACING: 2px } .justified { FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, sans-serif; TEXT-ALIGN: = justify } FORM { MARGIN: 0px } INPUT { FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } TEXTAREA { FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } SELECT { FONT-WEIGHT: normal; FONT-SIZE: 11px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } A:link { COLOR: #000; TEXT-DECORATION: none } A:visited { COLOR: #000; TEXT-DECORATION: none } A:hover { COLOR: #000; TEXT-DECORATION: underline } A:active { COLOR: #a3b3ca; TEXT-DECORATION: none } H1 { FONT-WEIGHT: bold; FONT-SIZE: 26px; MARGIN: 0px; FONT-FAMILY: Arial, = Verdana, Geneva, Helvetica, sans-serif } H4 { MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: = 5px; COLOR: #666666; FONT-STYLE: italic; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } H6 { =09 } .navigacja { BACKGROUND: url(http://www.journaltimes.com/art/nav.gif) #f1f3f8 = repeat-x left top; MARGIN: 0px auto; WIDTH: 1000px; HEIGHT: 34px } .leftnav { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FLOAT: left; PADDING-BOTTOM: = 0px; WIDTH: 520px; PADDING-TOP: 0px; HEIGHT: 34px } .leftnav UL { MARGIN: 2px 0px 0px 10px } .leftnav LI { BACKGROUND: url(http://www.journaltimes.com/art/border2.gif) no-repeat = right center; FLOAT: left } .leftnav LI.end { BACKGROUND: none transparent scroll repeat 0% 0% } .leftnav A { DISPLAY: block; FONT: bold 11px Arial, Helvetica, sans-serif; COLOR: = #ffffff; TEXT-DECORATION: none } .leftnav A SPAN { PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; = PADDING-BOTTOM: 11px; FONT: bold 11px Arial, Helvetica, sans-serif; = COLOR: #ffffff; PADDING-TOP: 8px; TEXT-DECORATION: none } .leftnav A:hover { BACKGROUND: url(http://www.journaltimes.com/art/left.gif) no-repeat = right top; COLOR: #000 } .leftnav A:hover SPAN { BACKGROUND: url(/art/leftspan.gif) no-repeat left bottom; COLOR: #000 } .leftnav A.current { BACKGROUND: url(http://www.journaltimes.com/art/left.gif) no-repeat = right top; COLOR: #000 } .leftnav A.current SPAN { BACKGROUND: url(http://www.journaltimes.com/art/leftspan.gif) no-repeat = left bottom; COLOR: #000 } .rightnav LI { BACKGROUND: url(http://www.journaltimes.com/art/border1.gif) no-repeat = right center; FLOAT: left } .rightnav LI.end { BACKGROUND: none transparent scroll repeat 0% 0% } .rightnav { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: = url(http://www.journaltimes.com/art/curve.gif) #e6f5fe no-repeat left = top; FLOAT: right; PADDING-BOTTOM: 0px; WIDTH: 440px; PADDING-TOP: 0px; = HEIGHT: 34px } .rightnav UL { MARGIN: 2px 0px 0px 25px } .rightnav A { DISPLAY: block; FONT: bold 11px Arial, Helvetica, sans-serif; COLOR: = #000; TEXT-DECORATION: none } .rightnav A SPAN { PADDING-RIGHT: 11px; DISPLAY: block; PADDING-LEFT: 11px; = PADDING-BOTTOM: 10px; FONT: bold 11px Arial, Helvetica, sans-serif; = COLOR: #000; PADDING-TOP: 8px; TEXT-DECORATION: none } #jt_infolinks { RIGHT: 42px; FONT: 11px Arial, Helvetica, sans-serif; POSITION: = absolute; TOP: 10px; TEXT-DECORATION: none } #jt_infolinks LI { FLOAT: left } #jt_infolinks LI A { PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 11px; BACKGROUND: = url(http://www.journaltimes.com/art/border2.gif) no-repeat right center; = PADDING-BOTTOM: 10px; COLOR: #396093; PADDING-TOP: 8px } #jt_infolinks LI A:hover { COLOR: #a3b3ca } #masthead_home #jt_infolinks .jt_end { BACKGROUND: none transparent scroll repeat 0% 0% } #jt_infolinks_new { LEFT: 8px; FONT: 9px Arial, Helvetica, sans-serif; POSITION: absolute; = TOP: 1px; TEXT-DECORATION: none } #jt_infolinks_new LI { FLOAT: left } #jt_infolinks_new LI A { PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 7px; BACKGROUND: = url(http://www.journaltimes.com/art/border2a.gif) no-repeat right = center; PADDING-BOTTOM: 10px; COLOR: #396093; PADDING-TOP: 8px } #jt_infolinks_new LI A:hover { COLOR: #a3b3ca } #jt_infolinks_new LI A.jt_end { PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 7px; BACKGROUND: = url(http://www.journaltimes.com/art/infolinksend.gif) no-repeat right = center; PADDING-BOTTOM: 10px; COLOR: #396093; PADDING-TOP: 8px } #header_bar2 { RIGHT: 310px; POSITION: absolute; TOP: 12px } #survey165 { RIGHT: 320px; POSITION: absolute; TOP: 12px } #header_editorial { LEFT: 700px; WIDTH: 300px; POSITION: absolute; TOP: 8px; TEXT-ALIGN: = left } #header_editorial A { COLOR: #396093 } #jt_search_area { RIGHT: 10px; FONT: 11px Arial, Helvetica, sans-serif; POSITION: = absolute; TOP: 60px; TEXT-DECORATION: none } #jt_search_area_new { Z-INDEX: 99; RIGHT: 290px; POSITION: absolute; TOP: 50px } #header_ad { Z-INDEX: 99; LEFT: 342px; POSITION: absolute; TOP: 45px } #header_edit { FONT-SIZE: 9px; MARGIN-BOTTOM: 3px } #header_edit A { FONT-SIZE: 9px; TEXT-DECORATION: none } #jt_search_area LI { FLOAT: left } #jt_search_area LI A { PADDING-RIGHT: 18px; DISPLAY: block; PADDING-LEFT: 11px; = PADDING-BOTTOM: 10px; COLOR: #396093; PADDING-TOP: 8px } #jt_search_area LI A:hover { COLOR: #a3b3ca } #masthead_home #jt_search_area .jt_end { BACKGROUND: none transparent scroll repeat 0% 0% } #header_weather_icon { RIGHT: 14px; POSITION: absolute; TOP: 10px } IMG#header_weather_icon { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } #header_weather_icon .icon_more { RIGHT: 0px; FONT: bold 11px Arial, Helvetica, sans-serif; COLOR: = #396093; POSITION: absolute; TOP: 27px; TEXT-DECORATION: none } #header_weather_icon .icon_more A { COLOR: #396093 } #header_weather_icon .icon_more A:hover { COLOR: #a3b3ca } .wheels { RIGHT: -35px; POSITION: absolute; TOP: -8px } .rightnav A:hover { BACKGROUND: url(http://www.journaltimes.com/art/right.gif) no-repeat = right top; COLOR: #000 } .rightnav A:hover SPAN { BACKGROUND: url(http://www.journaltimes.com/art/rightspan.gif) = no-repeat left bottom; COLOR: #000 } .rightnav A.current { BACKGROUND: url(http://www.journaltimes.com/art/right.gif) no-repeat = right top; COLOR: #000 } .rightnav A.current SPAN { BACKGROUND: url(http://www.journaltimes.com/art/rightspan.gif) = no-repeat left bottom; COLOR: #000 } .submenus { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #f1f3f8; = PADDING-BOTTOM: 7px; MARGIN: 0px auto; FONT: 11px Arial, Helvetica, = sans-serif; WIDTH: 1000px; PADDING-TOP: 4px; HEIGHT: 20px; TEXT-ALIGN: = left } #tabcontentcontainer { WIDTH: 100% } .tabcontent { DISPLAY: none } .tabcontent UL { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = MARGIN: 0px; FONT: 11px Arial, Verdana, Geneva, Helvetica, sans-serif; = PADDING-TOP: 0px; BACKGROUND-COLOR: transparent; BORDER-RIGHT-WIDTH: 0px } .tabcontent LI { DISPLAY: inline; LIST-STYLE-TYPE: none } .tabcontent LI A { BORDER-RIGHT: #a3b3ca 1px solid; PADDING-RIGHT: 5px; DISPLAY: block; = PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 2px; COLOR: #000; = BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-LEFT-STYLE: none; = TEXT-DECORATION: none; BORDER-BOTTOM-STYLE: none } .tabcontent LI.first A { DISPLAY: inline-block; MARGIN-LEFT: 5px } .tabcontent LI.last A { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } .tabcontent LI.last_school A { BACKGROUND: url(http://www.journaltimes.com/art/bus.jpg) no-repeat left = bottom; BORDER-TOP-STYLE: none; TEXT-INDENT: 30px; BORDER-RIGHT-STYLE: = none; BORDER-LEFT-STYLE: none; TEXT-ALIGN: right; BORDER-BOTTOM-STYLE: = none } .tabcontent LI A:hover { TEXT-DECORATION: underline } .tabcontent LI A:active { TEXT-DECORATION: underline } .tabcontent LI A:focus { TEXT-DECORATION: underline } .tabcontent LI SPAN { BORDER-RIGHT: #a3b3ca 1px solid; PADDING-RIGHT: 7px; DISPLAY: block; = PADDING-LEFT: 7px; FLOAT: left; PADDING-BOTTOM: 2px; MARGIN: 0px; COLOR: = #000; BORDER-TOP-STYLE: none; PADDING-TOP: 2px; BORDER-LEFT-STYLE: none; = TEXT-DECORATION: none; BORDER-BOTTOM-STYLE: none } #JournalTimesHeader { MARGIN: 0px auto; WIDTH: 1000px; POSITION: relative } #masthead_home { BACKGROUND-IMAGE: = url(http://www.journaltimes.com/art/20061214_102322_bg_header.gif); = WIDTH: 1000px; HEIGHT: 84px } #JournalTimesHeader_FRONT4 { MARGIN: 0px auto; WIDTH: 1000px; POSITION: relative } #masthead_home2 { BORDER-TOP-WIDTH: thin; WIDTH: 1000px; BORDER-TOP-COLOR: #999999; = HEIGHT: 84px; BACKGROUND-COLOR: #ffffff } #JournalTimesHeader .header_search_box { COLOR: #a3b3ca } #logo { BACKGROUND: url(http://www.journaltimes.com/art/logo.gif) no-repeat 0px = 0px; LEFT: 5px; WIDTH: 455px; CURSOR: hand; TEXT-INDENT: -5000px; = POSITION: absolute; TOP: 7px; HEIGHT: 81px } #logo_new { BACKGROUND: url(http://www.journaltimes.com/art/jtDOTcomLOGO.gif) = no-repeat 0px 0px; LEFT: 0px; WIDTH: 350px; CURSOR: hand; TEXT-INDENT: = -5000px; POSITION: absolute; TOP: 17px; HEIGHT: 80px } #carslogo { BACKGROUND: url(http://www.journaltimes.com/art/wheels_masthead.gif) = 0px 0px; LEFT: 15px; WIDTH: 425px; CURSOR: hand; TEXT-INDENT: -5000px; = POSITION: absolute; TOP: 10px; HEIGHT: 71px } #homeslogo { BACKGROUND: url(http://www.journaltimes.com/art/homes_masthead.gif) 0px = 0px; LEFT: 15px; WIDTH: 425px; CURSOR: hand; TEXT-INDENT: -5000px; = POSITION: absolute; TOP: 10px; HEIGHT: 71px } #jt_page { MARGIN-LEFT: auto; WIDTH: 1000px; MARGIN-RIGHT: auto; PADDING-TOP: = 10px; BACKGROUND-COLOR: #ffffff } #jt_main_content { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; BACKGROUND: #fff; = PADDING-BOTTOM: 20px; MARGIN-LEFT: auto; WIDTH: 960px; MARGIN-RIGHT: = auto; PADDING-TOP: 20px } #jt_editorial_content { FLOAT: left; WIDTH: 620px } #jt_interactive_content { FLOAT: left; WIDTH: 322px } #jt_story_content { FLOAT: right; WIDTH: 277px } #jt_advertising_content { FLOAT: right; WIDTH: 320px } #jt_clear { CLEAR: both } #jt_footer { BORDER-RIGHT: #8ca0bd 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #8ca0bd 1px solid; PADDING-LEFT: 0px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_footer.gif) #a3b3ca repeat-x 0px = 0px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px 0px; FONT: 11px Arial, = Verdana, Geneva, Helvetica, sans-serif; BORDER-LEFT: #8ca0bd 1px solid; = WIDTH: 998px; PADDING-TOP: 10px; BORDER-BOTTOM: #8ca0bd 1px solid; = TEXT-ALIGN: center } #jt_indexstory_content { FLOAT: left; WIDTH: 277px } #jt_indexpromo_content { FLOAT: right; WIDTH: 322px } #jt_highlight_section #jt_list_content { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } #standings { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: = auto; WIDTH: 125px; PADDING-TOP: 4px } #jt_highlight_section { BORDER-RIGHT: #c3d6e1 1px solid; BORDER-TOP: #c3d6e1 1px solid; = BACKGROUND: #e5e9f2; MARGIN: 0px 0px 20px; BORDER-LEFT: #c3d6e1 1px = solid; BORDER-BOTTOM: #c3d6e1 1px solid } #jt_story_section { MARGIN: 0px 0px 20px; WIDTH: 100% } #jt_story_political .headlinks { MARGIN: 0px 0px 20px; WIDTH: 425px; PADDING-TOP: 40px } .headlinks#jt_story_political P A { MARGIN-TOP: 20px; PADDING-TOP: 20px } #jt_highlight_section H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_sectionhead_highlight.gif) = #a3b3ca repeat-x 0px 0px; PADDING-BOTTOM: 0px; FONT: bolder 14px Arial, = Verdana, Geneva, Helvetica, sans-serif; COLOR: #fff; PADDING-TOP: 2px; = HEIGHT: 21px; TEXT-ALIGN: left; TEXT-DECORATION: none } #jt_subsection_links { PADDING-LEFT: 10px; FONT: 12px Arial, Verdana, Geneva, Helvetica, = sans-serif; COLOR: #0b3772; BORDER-BOTTOM: #d5dae2 1px solid; = TEXT-ALIGN: left } .entertainment_subsection#jt_subsection_links A { COLOR: #000; TEXT-DECORATION: none } #jt_subsection_links A { COLOR: #0b3772; TEXT-DECORATION: none } #jt_subsection_links A:hover { COLOR: #0b3772; TEXT-DECORATION: underline } #jt_highlightlist_content { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px; TEXT-ALIGN: left } #jt_list_content { PADDING-RIGHT: 0px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; = PADDING-TOP: 5px; TEXT-ALIGN: left } #jt_indexpromo_content .headline { COLOR: #000; TEXT-DECORATION: none } #jt_indexstory_content .headline { COLOR: #000; TEXT-DECORATION: none } #jt_indexpromo_content .headline A { COLOR: #000; TEXT-DECORATION: none } #jt_indexstory_content .headline A { COLOR: #000; TEXT-DECORATION: none } #jt_interactive_content .headline A { COLOR: #000; TEXT-DECORATION: none } #jt_story_content .headline A { COLOR: #000; TEXT-DECORATION: none } #jt_indexpromo_content .headline A:hover { COLOR: #000; TEXT-DECORATION: underline } #jt_indexstory_content .headline A:hover { COLOR: #000; TEXT-DECORATION: underline } #jt_interactive_content .headline A:hover { COLOR: #000; TEXT-DECORATION: underline } #jt_story_content .headline A:hover { COLOR: #000; TEXT-DECORATION: underline } #jt_story_section #jt_list_content .content { MARGIN: 0px; FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif } #jt_highlight_section #jt_highlightlist_content .content { MARGIN: 0px; FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif } #jt_story_section #jt_list_content .content A { COLOR: #d5dae2; TEXT-DECORATION: none } #jt_highlight_section #jt_highlightlist_content .content A { COLOR: #d5dae2; TEXT-DECORATION: none } #jt_story_section #jt_list_content .content A:hover { COLOR: #d5dae2; TEXT-DECORATION: underline } #jt_highlight_section #jt_highlightlist_content .content A:hover { COLOR: #d5dae2; TEXT-DECORATION: underline } #jt_story_section .headline { FONT: bolder 14px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #000 } #jt_indexstory_content #jt_story_section .content { DISPLAY: block; MARGIN: 0px 0px 10px; FONT: 12px Arial, Verdana, = Geneva, Helvetica, sans-serif } #jt_indexstory_content #jt_story_section .content A { COLOR: #d5dae2; TEXT-DECORATION: none } #jt_indexstory_content #jt_story_section .content A:hover { COLOR: #d5dae2; TEXT-DECORATION: underline } #jt_list_content A.obits { PADDING-LEFT: 5px; FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #0b3772 } #jt_bridal_link A { PADDING-LEFT: 5px; FONT-WEIGHT: bolder; FLOAT: left; COLOR: #0b3772 } #jt_bridal_link A.b_link { PADDING-LEFT: 5px; FONT-WEIGHT: bolder; FONT-SIZE: 14px; FLOAT: left; = COLOR: #0b3772 } #jt_story_section H4 { PADDING-RIGHT: 0px; BORDER-TOP: #d5dae2 1px solid; DISPLAY: block; = PADDING-LEFT: 10px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_storytabheader.gif) #fff repeat-x = 0px 0px; PADDING-BOTTOM: 0px; FONT: bolder 14px Arial, Verdana, Geneva, = Helvetica, sans-serif; COLOR: #0b3772; PADDING-TOP: 2px; BORDER-BOTTOM: = #d5dae2 1px solid; POSITION: relative; HEIGHT: 21px; TEXT-ALIGN: left; = TEXT-DECORATION: none } #jt_indexpromo_content H4 { PADDING-RIGHT: 0px; BORDER-TOP: #d5dae2 1px solid; DISPLAY: block; = PADDING-LEFT: 10px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_storytabheader.gif) #fff repeat-x = 0px 0px; PADDING-BOTTOM: 0px; FONT: bolder 14px Arial, Verdana, Geneva, = Helvetica, sans-serif; COLOR: #0b3772; PADDING-TOP: 2px; BORDER-BOTTOM: = #d5dae2 1px solid; POSITION: relative; HEIGHT: 21px; TEXT-ALIGN: left; = TEXT-DECORATION: none } #jt_yahoo { DISPLAY: block; RIGHT: 10px; POSITION: absolute; TOP: 2px } #jt_list_content UL { LIST-STYLE-TYPE: none } #jt_list_content LI { FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif } #jt_list_content LI A { COLOR: #396093; TEXT-DECORATION: none } #jt_list_content LI A:hover { COLOR: #396093; TEXT-DECORATION: underline } #jt_list_content LI.headline_adjust { LINE-HEIGHT: 150% } .pub_header_football { FONT-WEIGHT: bold; FONT-SIZE: 12px; TEXT-ALIGN: left } .pub_link_football { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #396093; TEXT-ALIGN: left } #jt_topstory H2 { MARGIN: 8px 0px 3px; FONT: bolder 14px Arial, Verdana, Geneva, = Helvetica, sans-serif; COLOR: #000; dislay: block } #jt_topstory H2 A { COLOR: #000; TEXT-DECORATION: none } #jt_topstory H2 A:hover { COLOR: #000; TEXT-DECORATION: underline } .tabberlive .tabbertabhide { DISPLAY: none } .tabber { =09 } .tabberlive { MARGIN-BOTTOM: 20px } UL.tabbernav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(http://www.journaltimes.com/art/tabber_background.jpg) #ffffff = repeat-x 0px 0px; PADDING-BOTTOM: 3px; MARGIN: 0px; FONT: bold 12px = Verdana, sans-serif; PADDING-TOP: 3px; BORDER-BOTTOM: #c3d6e1 1px solid } UL.tabbernav LI { DISPLAY: inline; MARGIN: 0px; LIST-STYLE-TYPE: none } UL.tabbernav LI A { BORDER-RIGHT: #c3d6e1 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: = #c3d6e1 1px solid; PADDING-LEFT: 0.5em; BACKGROUND: #e5e9f2; = PADDING-BOTTOM: 3px; MARGIN-LEFT: 3px; BORDER-LEFT: #c3d6e1 1px solid; = PADDING-TOP: 3px; BORDER-BOTTOM: #c3d6e1 1px; TEXT-DECORATION: none } UL.tabbernav LI A:link { COLOR: #0b3772 } UL.tabbernav LI A:visited { COLOR: #396093 } UL.tabbernav LI A:hover { BORDER-LEFT-COLOR: #c3d6e1; BORDER-BOTTOM-COLOR: #c3d6e1; COLOR: = #396093; BORDER-TOP-COLOR: #c3d6e1; TEXT-DECORATION: underline; = BORDER-RIGHT-COLOR: #c3d6e1 } UL.tabbernav LI.tabberactive A { BORDER-BOTTOM: #fff 1px solid; BACKGROUND-COLOR: #fff } UL.tabbernav LI.tabberactive A:hover { BACKGROUND: white; COLOR: #396093; BORDER-BOTTOM: white 1px solid } .tabberlive .tabbertab { BORDER-RIGHT: #a3b3ca 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #a3b3ca 0px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: = #a3b3ca 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #a3b3ca 1px solid } .tabberlive .tabbertab H2 { DISPLAY: none } .tabberlive .tabbertab H3 { DISPLAY: none } #div1 { FLOAT: left; WIDTH: 160px } #div2 { FLOAT: right; WIDTH: 135px } #div3 { PADDING-RIGHT: 75px; FLOAT: right; WIDTH: 160px } #div4 { FLOAT: right; WIDTH: 160px } #div5 { FLOAT: right; WIDTH: 160px } #clear { CLEAR: both } #jt_page .jt_advertisement IMG { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } .jt_smalltype { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; FONT: 10px = Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #999999; = PADDING-TOP: 10px } #jt_middlead { BORDER-RIGHT: #c3d6e1 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #c3d6e1 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = BORDER-LEFT: #c3d6e1 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: = #c3d6e1 1px solid; TEXT-ALIGN: center } #jt_middlead_searchracine { BORDER-RIGHT: #c3d6e1 1px solid; PADDING-RIGHT: 10px; = BACKGROUND-POSITION: 3px 3px; BORDER-TOP: #c3d6e1 1px solid; = PADDING-LEFT: 10px; BACKGROUND-IMAGE: = url(http://www.journaltimes.com/art/search_racine2.jpg); PADDING-BOTTOM: = 10px; BORDER-LEFT: #c3d6e1 1px solid; PADDING-TOP: 20px; BORDER-BOTTOM: = #c3d6e1 1px solid; BACKGROUND-REPEAT: no-repeat; TEXT-ALIGN: right } #jt_middlead_searchracine SELECT { BORDER-RIGHT: #669966 1px solid; BORDER-TOP: #669966 1px solid; = BORDER-LEFT: #669966 1px solid; BORDER-BOTTOM: #669966 1px solid; = BACKGROUND-COLOR: #ececec } #jt_middlead_searchracine_div { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #jt_middlead_searchracine INPUT { BORDER-RIGHT: #669966 1px solid; BORDER-TOP: #669966 1px solid; = MARGIN-TOP: 10px; MARGIN-BOTTOM: 5px; BORDER-LEFT: #669966 1px solid; = BORDER-BOTTOM: #669966 1px solid; BACKGROUND-COLOR: #ececec } #jt_middlead_searchracine TEXTAREA { BORDER-RIGHT: #669966 1px solid; BORDER-TOP: #669966 1px solid; = FONT-SIZE: 15px; BORDER-LEFT: #669966 1px solid; BORDER-BOTTOM: #669966 = 1px solid; HEIGHT: 15px; BACKGROUND-COLOR: #ececec } #logo_search { BACKGROUND: url(http://www.journaltimes.com/art/logo.gif) 0px 0px; = WIDTH: 250px; CURSOR: hand; HEIGHT: 35px } #jt_bottomskyad { BORDER-RIGHT: #c3d6e1 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #c3d6e1 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = BORDER-LEFT: #c3d6e1 1px solid; WIDTH: 170px; PADDING-TOP: 10px; = BORDER-BOTTOM: #c3d6e1 1px solid; TEXT-ALIGN: center } #jt_popular { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; FONT: = 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #000; = PADDING-TOP: 10px; TEXT-ALIGN: left } #jt_popular A { COLOR: #000; TEXT-DECORATION: none } #jt_popular A:hover { COLOR: #000; TEXT-DECORATION: underline } #jt_popular .popular-count { COLOR: #666 } #css_topjobs_frontad { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #fff; = PADDING-BOTTOM: 5px; MARGIN: 5px; PADDING-TOP: 5px } #css_topjobs_popuptopper { BACKGROUND: #0b3772; WIDTH: 300px; HEIGHT: 20px } #css_topjobs_popupbackground { BACKGROUND: #006699 } #css_topjobs_popupbottom { BACKGROUND: #009966; WIDTH: 300px; HEIGHT: 20px } .css_topjobs_frontpositiontitle { DISPLAY: block; FONT: bold 12px Arial, Verdana, Geneva, Helvetica, = sans-serif; COLOR: #666 } .css_topjobs_frontpositiontitle A { FONT: bold 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #396093; TEXT-DECORATION: none } .css_topjobs_frontpositiontitle A:hover { COLOR: #a3b3ca } .css_topjobs_frontcompanyname { DISPLAY: block; FONT: 10px Arial, Verdana, Geneva, Helvetica, = sans-serif; COLOR: #999 } #css_tophomes_frontad { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; BACKGROUND: #fff; = PADDING-BOTTOM: 8px; MARGIN: 5px; PADDING-TOP: 8px } #css_tophomes_frontad hover { BACKGROUND: none transparent scroll repeat 0% 0% } .css_tophomes_frontmedia { FLOAT: left } #css_tophomes_frontdetailsdiv { FLOAT: right; TEXT-ALIGN: right } .css_tophomes_frontprice { DISPLAY: block; FONT: bold 16px Arial, Verdana, Geneva, Helvetica, = sans-serif } .css_tophomes_frontprice A { COLOR: #396093; TEXT-DECORATION: none } .css_tophomes_frontprice A:hover { COLOR: #a3b3ca; TEXT-DECORATION: none } .css_tophomes_frontcity { FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #999 } .css_tophomes_frontstate { FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #999 } .css_tophomes_frontmls { DISPLAY: block; FONT: 12px Arial, Verdana, Geneva, Helvetica, = sans-serif; COLOR: #999 } .css_tophomes_frontmls A { COLOR: #396093; TEXT-DECORATION: none } .css_tophomes_frontmls A:hover { COLOR: #a3b3ca; TEXT-DECORATION: none } .css_tophomes_frontbeds { FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #999 } .css_tophomes_frontbaths { FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #999 } .css_tophomes_frontadvertiserwebsite { DISPLAY: block; FONT: bold 10px Arial, Verdana, Geneva, Helvetica, = sans-serif; COLOR: #999; TEXT-ALIGN: center } .css_tophomes_frontadvertiserwebsite A { COLOR: #396093; TEXT-DECORATION: none } .css_tophomes_frontadvertiserwebsite A:hover { COLOR: #a3b3ca; TEXT-DECORATION: none } #story { TEXT-ALIGN: left } #story H1 { MARGIN-TOP: 20px; FONT-WEIGHT: bold; FONT-SIZE: 24px; MARGIN-BOTTOM: = 5px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, sans-serif } .story-tools { FONT-SIZE: 9px; MARGIN: 0px 0px 10px; FONT-FAMILY: Verdana, Arial, = Verdana, Geneva, Helvetica, sans-serif; TEXT-ALIGN: center } .story-tools A:link { COLOR: #666666 } .story-tools A:visited { COLOR: #666666 } .story-tools A:hover { COLOR: #000099 } .story-tools A:active { COLOR: #000099 } #instory { FLOAT: right } #instory IMG { MARGIN: 7px 1px 10px 5px } #instory OBJECT { MARGIN: 7px 1px 10px 5px } #instory IFRAME { MARGIN: 7px 1px 10px 5px } #photo IMG { WIDTH: 300px } .photobox { BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; MARGIN: = 0px 0px 0px 10px; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc = 1px solid } .photocell { BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; = BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid } .photocutline { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 11px; PADDING-BOTTOM: = 3px; WIDTH: 300px; COLOR: #000000; PADDING-TOP: 3px; FONT-FAMILY: Arial, = Verdana, Geneva, Helvetica, sans-serif } #videonews .photobox { BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; MARGIN: = 0px; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid } #videonews .photocell { BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; = BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid } #videonews .photocutline { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 11px; PADDING-BOTTOM: = 3px; COLOR: #000000; PADDING-TOP: 3px; FONT-FAMILY: Arial, Verdana, = Geneva, Helvetica, sans-serif } #emailform { MARGIN: 0px auto } #printstory { =09 } .comments { FONT-SIZE: 12px; COLOR: #336981; FONT-FAMILY: Arial, Verdana, Geneva, = Helvetica, sans-serif } .simpleblog { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #cccccc 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: = 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: = #cccccc 1px solid; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif; BACKGROUND-COLOR: #ececec } .simpleblog-form { =09 } .simpleblog-form-block { CLEAR: both; DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; = FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, sans-serif } .simpleblog-results P { FONT-SIZE: 11px; FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, = sans-serif } .simpleblog-results { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #cccccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px = 0px 0px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: 5px; = BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #ffffff } .simpleblog-results P { MARGIN: 0px 0px 3px } .simpleblog-response { DISPLAY: block; FONT-SIZE: 11px; PADDING-BOTTOM: 3px; MARGIN: 3px 0px; = COLOR: #000000; BORDER-BOTTOM: #999999 1px dotted; FONT-FAMILY: Arial, = Verdana, Geneva, Helvetica, sans-serif } .simpleblog-confirmation { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #990000; FONT-FAMILY: = Verdana, Arial, Verdana, Geneva, Helvetica, sans-serif } .simpleblog-name { FONT-WEIGHT: bold } .simpleblog-date { FONT-WEIGHT: normal; COLOR: #666666 } .simpleblog-form-label { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Arial, = Verdana, Geneva, Helvetica, sans-serif } .simpleblog-form-block INPUT { FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 0px 0px 10px; = FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, sans-serif } .simpleblog-form-block TEXTAREA { FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 0px 0px 10px; = FONT-FAMILY: Arial, Verdana, Geneva, Helvetica, sans-serif } #simpleblog-captcha { MARGIN: 0px 5px 0px 0px } #footer { PADDING-RIGHT: 10px; MARGIN-TOP: 15px; PADDING-LEFT: 10px; FONT-SIZE: = 11px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 10px; COLOR: #666; = PADDING-TOP: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; = TEXT-ALIGN: left } #footer A { FONT-SIZE: 11px; COLOR: #666; FONT-FAMILY: Arial, Helvetica, = sans-serif; TEXT-DECORATION: none } #footer A:hover { TEXT-DECORATION: underline } .copyright { FONT-SIZE: 11px; PADDING-BOTTOM: 10px; COLOR: #333333; PADDING-TOP: = 10px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center } .copyright A { FONT-WEIGHT: bold; COLOR: #000000; TEXT-DECORATION: underline } #footer_ads { MARGIN: auto; WIDTH: 712px } #bottom_ad1 { FLOAT: left; WIDTH: 468px } #bottom_ad2 { FLOAT: right; WIDTH: 234px } .jt_topads_more { FONT: bold 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #396093; TEXT-ALIGN: center } .jt_topads_more A { FONT: bold 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #396093; TEXT-DECORATION: none } .jt_topads_more A:hover { COLOR: #a3b3ca; TEXT-DECORATION: none } #jt_topads_highlight_section #jt_topads_list_content { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } #jt_topads_highlight_section { BORDER-RIGHT: #c3d6e1 1px solid; BORDER-TOP: #c3d6e1 1px solid; = BACKGROUND: #e5e9f2; MARGIN: 0px 0px 20px; BORDER-LEFT: #c3d6e1 1px = solid; BORDER-BOTTOM: #c3d6e1 1px solid } #jt_topads_highlight_section H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_sectionhead_highlight.gif) = #a3b3ca repeat-x 0px 0px; PADDING-BOTTOM: 0px; FONT: bolder 14px Arial, = Verdana, Geneva, Helvetica, sans-serif; COLOR: #fff; PADDING-TOP: 2px; = HEIGHT: 21px; TEXT-ALIGN: left; TEXT-DECORATION: none } #jt_topads_highlight_section #jt_topads_highlightlist_content .content { MARGIN: 0px; FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif } #jt_topads_highlight_section #jt_topads_highlightlist_content .content A = { COLOR: #d5dae2; TEXT-DECORATION: none } #jt_topads_highlight_section #jt_topads_highlightlist_content .content = A:hover { COLOR: #d5dae2; TEXT-DECORATION: underline } #jt_topads_highlightlist_content { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px; TEXT-ALIGN: left } .gallerypad { MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 10px } .headings { FLOAT: left } .searchsite { VERTICAL-ALIGN: -8px } .photo-left { PADDING-RIGHT: 10px; FLOAT: left; PADDING-BOTTOM: 10px } #photo-right { PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: 10px } .icon-comments { VERTICAL-ALIGN: -2px } .icon-media { VERTICAL-ALIGN: 3px } .icon-footer-arrow { VERTICAL-ALIGN: -1px } DIV#flashcontent { =09 } DIV#flashcontent2 { =09 } .ads-top { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } #jt_readercomments INPUT { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } #special_bloat_jtphotos { WIDTH: 620px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left } #special_bloat_softball { WIDTH: 620px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left } #special_bloat { WIDTH: 620px; PADDING-TOP: 10px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: = left } #special_bloat_search_pages { WIDTH: 300px; PADDING-TOP: 10px; BACKGROUND-COLOR: #fff } #special_bloat_search_page .heading-links { COLOR: #396093; BACKGROUND-COLOR: #ececec } #special_bloat_search_page .heading-links A { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 11px; COLOR: #396093 } #special_bloat_search_pages .small { FONT-SIZE: 9px } .img#special_bloat IMG { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } #special_bloat .form_header { FONT-WEIGHT: bold; FONT-SIZE: 12px } #special_bloat .form_links { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #396093 } #special_bloat .pub_header { FONT-WEIGHT: bold; FONT-SIZE: 12px } #special_bloat .pub_links { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #396093 } #archives { =09 } #archives A { FONT-SIZE: 16px; PADDING-BOTTOM: 15px; COLOR: #396093; TEXT-ALIGN: left } #archives P { PADDING-LEFT: 100px; PADDING-BOTTOM: 15px } #archives INPUT { BORDER-RIGHT: #0b3772 1px solid; BORDER-TOP: #0b3772 1px solid; = BORDER-LEFT: #0b3772 1px solid; BORDER-BOTTOM: #0b3772 1px solid; = BACKGROUND-COLOR: #ececec } #archives OPTION { BORDER-RIGHT: #0b3772 1px solid; BORDER-TOP: #0b3772 1px solid; = BORDER-LEFT: #0b3772 1px solid; BORDER-BOTTOM: #0b3772 1px solid; = BACKGROUND-COLOR: #ececec } #archives SELECT { BORDER-RIGHT: #0b3772 1px solid; BORDER-TOP: #0b3772 1px solid; = BORDER-LEFT: #0b3772 1px solid; BORDER-BOTTOM: #0b3772 1px solid; = BACKGROUND-COLOR: #ececec } #center_bloat { FLOAT: left; WIDTH: 620px; PADDING-TOP: 10px; BACKGROUND-COLOR: = #ffffff; TEXT-ALIGN: left } #center_bloat P { FLOAT: left; PADDING-BOTTOM: 5px; TEXT-ALIGN: left } #center_bloat A { FONT-WEIGHT: bolder; COLOR: #0b3772 } #center_bloat_center_stage_admin { FLOAT: left; WIDTH: 980px; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left } #center_bloat_center_stage_admin INPUT { BORDER-RIGHT: #0b3772 1px solid; BORDER-TOP: #0b3772 1px solid; = MARGIN-BOTTOM: 5px; BORDER-LEFT: #0b3772 1px solid; BORDER-BOTTOM: = #0b3772 1px solid; BACKGROUND-COLOR: #ececec } #center_bloat_center_stage_admin A { FONT-WEIGHT: bolder; COLOR: #0b3772 } #center_bloat_center_stage_admin TD { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } #center_bloat .center_stage A { FONT-WEIGHT: bolder; COLOR: #0b3772 } #center_bloat .center_stage TD.center_stage_header A { FONT-WEIGHT: bolder; FONT-SIZE: 14px; COLOR: #fff } #center_bloat .center_stage TR.center_stage_header { BACKGROUND-COLOR: #0b3772 } #center_bloat .center_stage TD { TEXT-ALIGN: left } INPUT.control-button { BORDER-RIGHT: #333 1px solid; BORDER-TOP: #333 1px solid; BORDER-LEFT: = #333 1px solid; COLOR: #0b3772; BORDER-BOTTOM: #333 1px solid } INPUT.control-button:hover { BORDER-RIGHT: #333 1px solid; BORDER-TOP: #333 1px solid; BORDER-LEFT: = #333 1px solid; CURSOR: pointer; COLOR: #a3b3ca; BORDER-BOTTOM: #333 1px = solid } INPUT.timer_control { BORDER-RIGHT: #333 1px solid; BORDER-TOP: #333 1px solid; BORDER-LEFT: = #333 1px solid; COLOR: #0b3772; BORDER-BOTTOM: #333 1px solid } #jt_date_weather { HEIGHT: 55px } .cool { MARGIN-TOP: 18px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; FLOAT: left } #hot { PADDING-RIGHT: 10px; Z-INDEX: 1; FLOAT: right; MARGIN-RIGHT: 5px } #forms { FLOAT: left; WIDTH: 450px; TEXT-ALIGN: left } #forms A { FONT-WEIGHT: bolder; COLOR: #0b3772 } #forms OPTION { BACKGROUND-COLOR: #ececec } #forms INPUT { BORDER-RIGHT: #c3d6e1 1px solid; BORDER-TOP: #c3d6e1 1px solid; = MARGIN-BOTTOM: 5px; BORDER-LEFT: #c3d6e1 1px solid; BORDER-BOTTOM: = #c3d6e1 1px solid; BACKGROUND-COLOR: #ececec } #forms TEXTAREA { BORDER-RIGHT: #c3d6e1 1px solid; BORDER-TOP: #c3d6e1 1px solid; = BORDER-LEFT: #c3d6e1 1px solid; BORDER-BOTTOM: #c3d6e1 1px solid; = BACKGROUND-COLOR: #ececec } #forms .radio { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM-STYLE: none } #forms SELECT { BACKGROUND-COLOR: #ececec } #contact_us { FLOAT: left; MARGIN-BOTTOM: 20px; WIDTH: 470px; BACKGROUND-COLOR: = #ececec; TEXT-ALIGN: left } #contact_us A { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 11px; COLOR: #396093 } .insidejt { FONT-WEIGHT: bolder } #contact_us_tables { MARGIN-BOTTOM: 50px; PADDING-BOTTOM: 50px } #contact_us_tables OPTION { BACKGROUND-COLOR: #ececec } #contact_us_tables SELECT { BACKGROUND-COLOR: #ececec } #about_info { FLOAT: left; WIDTH: 620px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left } .policy#about_info { FLOAT: left; WIDTH: 970px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left } #about_info A { FONT-WEIGHT: bolder; COLOR: #0b3772 } #about_info SELECT.dept { BACKGROUND-COLOR: #ececec } #about_info OPTION.dept { BACKGROUND-COLOR: #ececec } #rain { DISPLAY: block; Z-INDEX: 100; LEFT: 860px; POSITION: absolute; TOP: = 255px } #padding { FLOAT: left; COLOR: #0b3772 } #dining_link { PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; TEXT-ALIGN: left } #dining_link A { FONT-SIZE: 14px; FLOAT: left; COLOR: #396093 } #carrier_apps_link { PADDING-RIGHT: 25px; PADDING-LEFT: 25px; FLOAT: left; MARGIN-BOTTOM: = 20px; PADDING-BOTTOM: 25px; MARGIN-RIGHT: 200px; PADDING-TOP: 25px; = TEXT-ALIGN: left } #carrier_apps_link A { FONT-SIZE: 14px; COLOR: #396093; PADDING-TOP: 25px } #rss_ul { DISPLAY: block } #rss_ul LI { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 13px; PADDING-BOTTOM: = 5px; PADDING-TOP: 5px } #rss_ul .rss_ugh { PADDING-LEFT: 5px } UL.rss-list { LIST-STYLE-TYPE: none; TEXT-ALIGN: left } LI.rss-item { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; = LIST-STYLE-IMAGE: none; PADDING-BOTTOM: 10px; FONT: 12px/150% Arial, = Verdana, Geneva, Helvetica, sans-serif; WIDTH: 255px; TEXT-INDENT: -7px; = PADDING-TOP: 0px } A .jt_headlinelist_content { COLOR: #396093 } LI.rss-item A { FONT-WEIGHT: bold; COLOR: #396093; TEXT-DECORATION: none } LI.rss-item A:hover { COLOR: #396093; TEXT-DECORATION: underline } #center_bloat .headline-smbold { FONT-SIZE: 10px } #center_bloat .sub-name { FONT-WEIGHT: bold } .port_headline { FONT-WEIGHT: bold; COLOR: #0b3772; PADDING-TOP: 7px } .port_headline A { COLOR: #0b3772 } .port_timestamp { DISPLAY: inline; PADDING-LEFT: 10px; FONT-SIZE: 9px } .port_header { DISPLAY: inline } .more { PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 0px; COLOR: #0b3772; PADDING-TOP: 0px } .more A { FONT-WEIGHT: bold; COLOR: #0b3772 } .more A:hover { COLOR: #0b3772; TEXT-DECORATION: none } .timestamp { FONT: italic 10px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #9d9d9d } #breaking_news_headline .headline { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 16px; = PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; COLOR: #f37021; = PADDING-TOP: 10px } .UPE-InputText { BORDER-RIGHT: #c3d6e1 1px solid; BORDER-TOP: #c3d6e1 1px solid; = MARGIN-BOTTOM: 5px; BORDER-LEFT: #c3d6e1 1px solid; BORDER-BOTTOM: = #c3d6e1 1px solid; BACKGROUND-COLOR: #ececec } .UPE-Text INPUT { BORDER-RIGHT: #c3d6e1 1px solid; BORDER-TOP: #c3d6e1 1px solid; = MARGIN-BOTTOM: 5px; BORDER-LEFT: #c3d6e1 1px solid; BORDER-BOTTOM: = #c3d6e1 1px solid; BACKGROUND-COLOR: #ececec } .pickem_link { MARGIN-LEFT: 60px } .tag1 { FONT-SIZE: 9px; COLOR: #003562; TEXT-DECORATION: none } .tag1:hover { FONT-SIZE: 9px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag2 { FONT-SIZE: 10px; COLOR: #003562; TEXT-DECORATION: none } .tag2:hover { FONT-SIZE: 10px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag3 { FONT-SIZE: 11px; COLOR: #003562; TEXT-DECORATION: none } .tag3:hover { FONT-SIZE: 11px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag4 { FONT-SIZE: 12px; COLOR: #003562; TEXT-DECORATION: none } .tag4:hover { FONT-SIZE: 12px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag5 { FONT-SIZE: 13px; COLOR: #003562; TEXT-DECORATION: none } .tag5:hover { FONT-SIZE: 13px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag6 { FONT-SIZE: 14px; COLOR: #003562; TEXT-DECORATION: none } .tag6:hover { FONT-SIZE: 14px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag7 { FONT-SIZE: 15px; COLOR: #003562; TEXT-DECORATION: none } .tag7:hover { FONT-SIZE: 15px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag8 { FONT-SIZE: 16px; COLOR: #003562; TEXT-DECORATION: none } .tag8:hover { FONT-SIZE: 16px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag9 { FONT-SIZE: 17px; COLOR: #003562; TEXT-DECORATION: none } .tag9:hover { FONT-SIZE: 17px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } .tag10 { FONT-SIZE: 18px; COLOR: #003562; TEXT-DECORATION: none } .tag10:hover { FONT-SIZE: 18px; BACKGROUND: #003562; COLOR: #ffffff; TEXT-DECORATION: = none } #poll_archive .poll_archive_block { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; = PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid } #poll_archive .poll_archive_question { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; FONT: bold = 14px arial, helvetica, sans-serif; COLOR: #000; PADDING-TOP: 5px } #poll_archive .poll_archive_date { PADDING-BOTTOM: 10px; FONT: italic 10px arial, helvetica, sans-serif; = COLOR: #333 } #poll_archive .poll_archive_answer_text { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; FONT: = 12px arial, helvetica, sans-serif; COLOR: #000; PADDING-TOP: 0px } #poll_archive .poll_archive_answer_perc { PADDING-LEFT: 60px; FONT: bold 14px arial, helvetica, sans-serif; = COLOR: #333 } .admarket-search { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; MARGIN-BOTTOM: 3px; = PADDING-BOTTOM: 7px; PADDING-TOP: 7px; BACKGROUND-COLOR: #396093 } .admarket-category-table { BORDER-RIGHT: #396093 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #396093 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = BORDER-LEFT: #396093 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: = #396093 1px solid } .admarket-body { MARGIN-TOP: 5px } .admarket-body-content { =09 } .admarket-body-sidebar { VERTICAL-ALIGN: top; WIDTH: 150px } .admarket-ad { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 30px; MARGIN: = 10px 0px; PADDING-TOP: 15px; BORDER-BOTTOM: #396093 1px dashed } .admarket-category-table-header { FONT-WEIGHT: bold } .admarket-ad-text { =09 } .admarket-ad-extra { TEXT-ALIGN: right } .ad-date { =09 } LI.admarket-category-table { FONT-WEIGHT: bold; MARGIN-BOTTOM: 5px } .admarket-category-list LI.admarket-box { BACKGROUND-COLOR: #396093 } .employment { BACKGROUND-COLOR: #ffffff } .p1 { MARGIN: auto } #nhfooter { BACKGROUND-COLOR: #eeb0b0 } .pnl { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #photodiv { BORDER-RIGHT: #a3b3ca 1px solid; BORDER-TOP: #a3b3ca 1px solid; = MARGIN-LEFT: 5px; BORDER-LEFT: #a3b3ca 1px solid; WIDTH: 370px; = BORDER-BOTTOM: #a3b3ca 1px solid; BACKGROUND-COLOR: #d5dae2; TEXT-ALIGN: = left } #photodiv_weddings { BORDER-RIGHT: #a3b3ca 1px solid; BORDER-TOP: #a3b3ca 1px solid; = MARGIN-LEFT: 5px; OVERFLOW: auto; BORDER-LEFT: #a3b3ca 1px solid; = MARGIN-RIGHT: 5px; BORDER-BOTTOM: #a3b3ca 1px solid; BACKGROUND-COLOR: = #d5dae2 } #photocutline { FONT-SIZE: 10px; WIDTH: 350px } #photodiv_photo { WIDTH: 350px; MARGIN-RIGHT: 5px; TEXT-ALIGN: center } #photodiv_photo_weddings { MARGIN-RIGHT: 5px } #too_deep { WIDTH: 300px; HEIGHT: 300px } #breakoutdiv { BORDER-RIGHT: #396093 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #396093 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 10px; PADDING-BOTTOM: = 5px; BORDER-LEFT: #396093 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: = #396093 1px solid; BACKGROUND-COLOR: #f1f3f8 } #jt_green_content { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; BACKGROUND-IMAGE: = url(http://www.journaltimes.com/gogreen/images/pattern3.gif); = PADDING-BOTTOM: 20px; MARGIN-LEFT: auto; WIDTH: 960px; MARGIN-RIGHT: = auto; PADDING-TOP: 20px } .timestamp2 { FONT: bold 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #9d9d9d } .jt_frontcomment { FONT: italic 11px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #396093 } .jt_frontcomment A { FONT: italic 11px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #396093 } .jt_frontcomment_list { FONT: italic 11px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #a3b3ca } .jt_frontcomment_list A { FONT: italic 11px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #396093 } #jt_list_content2 UL { LIST-STYLE-TYPE: none } #jt_list_content2 { PADDING-RIGHT: 0px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; = PADDING-TOP: 5px; TEXT-ALIGN: left } #jt_list_content2 LI { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: = 10px; FONT: 12px Arial, Verdana, Geneva, Helvetica, sans-serif; WIDTH: = 255px; TEXT-INDENT: -7px; PADDING-TOP: 0px } #jt_list_content2 LI A { COLOR: #0b3772; TEXT-DECORATION: none } #jt_list_content2 LI A:hover { COLOR: #396093; TEXT-DECORATION: underline } #jt_list_content2 LI.headline_adjust { LINE-HEIGHT: 150% } #storytext A { COLOR: blue } TEXTAREA.red { BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; = BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; = BACKGROUND-COLOR: #efefef } TABLE.qc_obs_table { BORDER-RIGHT: #bbbbcc 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #bbbbcc 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; = BORDER-LEFT: #bbbbcc 0px solid; WIDTH: 75px; PADDING-TOP: 1px; = BORDER-BOTTOM: #bbbbcc 0px solid; HEIGHT: 30px } IMG.qc_obs_table { PADDING-TOP: 3px } IMG.qc_obs_icon { BORDER-RIGHT: #ccccdd 0px solid; BORDER-TOP: #ccccdd 0px solid; = BORDER-LEFT: #ccccdd 0px solid; BORDER-BOTTOM: #ccccdd 0px solid } TD.qc_obs_temp { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; COLOR: #444455; = PADDING-TOP: 0px; FONT-FAMILY: Verdana, Arial, sans-serif; TEXT-ALIGN: = left } A.severe_link { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 0px; PADDING-BOTTOM: 0px; COLOR: #cddbe7; PADDING-TOP: 0px; FONT-FAMILY: = Verdana, Arial,sans-serif; TEXT-DECORATION: underline } #search { FLOAT: left; WIDTH: 610px; TEXT-ALIGN: left } #search FORM { WIDTH: 100%; TEXT-ALIGN: center } #search TABLE { WIDTH: 100%; TEXT-ALIGN: center } #search INPUT { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; BORDER-LEFT: #000 1px = solid; PADDING-TOP: 3px; BORDER-BOTTOM: #000 1px solid } .ArchiveSearchResults A { FONT: bold 100% "Trebuchet MS",Arial,Helvetica,sans-serif } .ArchiveSearchResults P { MARGIN-BOTTOM: 20px; TEXT-ALIGN: left } .poll-default-table { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .poll-default-question { FONT: bold 14px Arial, Verdana, Geneva, Helvetica, sans-serif } .poll-default-row1 { DISPLAY: block; MARGIN: 5px 0px 0px 10px; FONT: 10px Arial, Verdana, = Geneva, Helvetica, sans-serif; COLOR: #000 } .poll-default-row2 { DISPLAY: block; MARGIN: 5px 0px 0px 10px; FONT: 10px Arial, Verdana, = Geneva, Helvetica, sans-serif; COLOR: #000 } .poll-default-view { FONT: 9px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #00f } .poll-default-results { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .poll-default-resultstitle { FONT: bold 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: = #000 } .poll-default-resultsanswers { DISPLAY: block; MARGIN: 5px 0px 0px 10px; FONT: 10px Arial, Verdana, = Geneva, Helvetica, sans-serif; COLOR: #000 } .poll-default-resultsbar { COLOR: #00f; HEIGHT: 8px } .poll-Ddefault-close { FONT: 9px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #00f } A.poll-default-view:link { FONT: 9px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #00f; = TEXT-DECORATION: none } A.poll-default-view:visited { FONT: 9px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #000; = TEXT-DECORATION: none } A.poll-default-view:hover { FONT: 9px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #f00; = TEXT-DECORATION: underline } #poll_archive .poll_archive_block { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; = PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid } #poll_archive .poll_archive_question { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; FONT: bold = 14px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #000; = PADDING-TOP: 5px } #poll_archive .poll_archive_date { PADDING-BOTTOM: 10px; FONT: italic 10px Arial, Verdana, Geneva, = Helvetica, sans-serif; COLOR: #333 } #poll_archive .poll_archive_answer_text { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; FONT: = 12px Arial, Verdana, Geneva, Helvetica, sans-serif; COLOR: #000; = PADDING-TOP: 0px } #poll_archive .poll_archive_answer_perc { PADDING-LEFT: 60px; FONT: bold 14px Arial, Verdana, Geneva, Helvetica, = sans-serif; COLOR: #333 } .text_head A { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000099; TEXT-DECORATION: = underline } INPUT.red_button { BORDER-RIGHT: #ff0000 2px solid; BORDER-TOP: #ff0000 2px solid; = BORDER-LEFT: #ff0000 2px solid; CURSOR: pointer; BORDER-BOTTOM: #ff0000 = 2px solid } #weather_img { BACKGROUND: url(http://www.journaltimes.com/art/weather_button2.gif) = no-repeat; WIDTH: 200px; PADDING-TOP: 3px } #weather_img A { PADDING-BOTTOM: 3px } #poll_header_left { FLOAT: left; WIDTH: 75px } #poll_header_right { FLOAT: right } #poll_header_right A { PADDING-RIGHT: 5px; COLOR: #fff } #tabmenu { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; Z-INDEX: 1; PADDING-BOTTOM: = 0px; MARGIN: 12px 0px 0px; WIDTH: 323px; COLOR: #000; PADDING-TOP: 0px; = BORDER-BOTTOM: black 1px solid } #tabmenu LI { DISPLAY: inline; OVERFLOW: hidden; LIST-STYLE-TYPE: none } #tabmenu A { BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black = 1px solid; PADDING-LEFT: 5px; BACKGROUND: #ececec; PADDING-BOTTOM: 0px; = MARGIN: 0px; FONT: 1em verdana, Arial, sans-serif; BORDER-LEFT: black = 1px solid; CURSOR: hand; COLOR: #000000; PADDING-TOP: 2px; = BORDER-BOTTOM: black 1px solid; TEXT-DECORATION: none } A.active { BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black = 1px solid; PADDING-LEFT: 5px; BACKGROUND: #ececec; PADDING-BOTTOM: 0px; = MARGIN: 0px; FONT: 1em verdana, Arial, sans-serif; BORDER-LEFT: black = 1px solid; CURSOR: hand; COLOR: #000000; PADDING-TOP: 2px; = BORDER-BOTTOM: black 1px solid; TEXT-DECORATION: none } #tabmenu A.active { FONT-WEIGHT: bolder; BACKGROUND: #ffffff; COLOR: #800000; = BORDER-BOTTOM: #ffffff 3px solid } #tabmenu A:hover { FONT-WEIGHT: bold; BACKGROUND: #a3b3ca; COLOR: #fff } #tabmenu A:visited { COLOR: #e8e9be } #tabmenu A.active:hover { FONT-WEIGHT: bold; BACKGROUND: #ffffff; COLOR: #800000 } .ocho { PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-BOTTOM: = 10px } .ocho LI { DISPLAY: inline; PADDING-LEFT: 12px; FONT-WEIGHT: bold } #citylist LI { DISPLAY: inline; OVERFLOW: hidden; LIST-STYLE-TYPE: none } #citylist A { PADDING-RIGHT: 10px; FONT-WEIGHT: bold } UL.gangli { PADDING-LEFT: 20px } LI.gangli { LIST-STYLE-TYPE: disc } .shadetabs { PADDING-RIGHT: 0px; MARGIN-TOP: 1px; PADDING-LEFT: 0px; MARGIN-BOTTOM: = 0px; PADDING-BOTTOM: 3px; FONT: bold 12px Verdana; MARGIN-LEFT: 0px; = PADDING-TOP: 3px; LIST-STYLE-TYPE: none; TEXT-ALIGN: left } .shadetabs LI { DISPLAY: inline; MARGIN: 0px } .shadetabs LI A { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; Z-INDEX: 1; BACKGROUND: = url(http://www.journaltimes.com/onthisdate/ajaxtabs/shade.gif) white = repeat-x left top; PADDING-BOTTOM: 3px; COLOR: #2d2b2b; MARGIN-RIGHT: = 3px; PADDING-TOP: 3px; POSITION: relative; TEXT-DECORATION: none } .shadetabs LI A:visited { COLOR: #2d2b2b } .shadetabs LI A:hover { COLOR: #2d2b2b; TEXT-DECORATION: underline } .shadetabs LI A.selected { POSITION: relative; TOP: 1px } .shadetabs LI A.selected { BACKGROUND-IMAGE: = url(http://www.journaltimes.com/onthisdate/ajaxtabs/shadeactive.gif); = BORDER-BOTTOM-COLOR: white } .shadetabs LI A.selected:hover { TEXT-DECORATION: none } #greeting { FONT-WEIGHT: bolder; COLOR: #000000 } DIV.yahoo_content_match { BOTTOM: 15px; POSITION: relative; TEXT-ALIGN: left; hasLayout: true } DIV.yahoo_content_match P A EM { FONT: 12px Arial; COLOR: #008000 } DIV.yahoo_content_match H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: = 0px; MARGIN: 10px 0px 0px; COLOR: #2e436d; PADDING-TOP: 0px; = TEXT-DECORATION: underline } DIV.yahoo_content_match P A:hover { TEXT-DECORATION: none } DIV.yahoo_content_match H1 A { FONT-SIZE: 14px; LEFT: 460px; COLOR: black; POSITION: relative; TOP: = 200px } DIV.yahoo_content_match H1 A.side_ads { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 10px 0px 0px; COLOR: #000; TEXT-INDENT: 5px; LINE-HEIGHT: = 24px; PADDING-TOP: 0px; POSITION: static! important } DIV.yahoo_content_match P A { COLOR: black } DIV.yahoo_content_match P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 5px; = PADDING-BOTTOM: 0px; LINE-HEIGHT: 20px; PADDING-TOP: 0px } .marketplace-icon { FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px } A.marketplace-link:link { FONT-SIZE: 14px; COLOR: #000000! important } A.marketplace-link:visited { FONT-SIZE: 14px; COLOR: #000000! important } A.marketplace-link:hover { FONT-SIZE: 14px; COLOR: #000000! important } A.marketplace-link:active { FONT-SIZE: 14px; COLOR: #000000! important } .marketplace-td { PADDING-RIGHT: 3px; PADDING-TOP: 10px } ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/moviestyles.css .tnent-list-headline-index { FONT: bold 90% arial, helvetica, sans-serif; COLOR: #000; = TEXT-DECORATION: none } .tnent-list-headline-index A { DISPLAY: inline; COLOR: #000; PADDING-TOP: 10px; TEXT-DECORATION: none } .tnent-list-headline-index A:hover { COLOR: #ad8c0a; TEXT-DECORATION: none } .tnent-ul-headline-index { PADDING-LEFT: 1em; MARGIN: 1em 0px; TEXT-INDENT: -1em; LINE-HEIGHT: = 90%; LIST-STYLE-TYPE: none } #tnent_movie_index_content .tnent-list-headline { BACKGROUND-POSITION: 50% top; DISPLAY: inline; BACKGROUND-IMAGE: = url(/background_dotted.gif); FONT: bold 100% arial, helvetica, = sans-serif; COLOR: #000; PADDING-TOP: 15px; BACKGROUND-REPEAT: repeat-x; = TEXT-DECORATION: none } #tnent_movie_index_content .tnent-list-headline A { COLOR: #000; TEXT-DECORATION: none } #tnent_movie_index_content .tnent-list-headline A:hover { COLOR: #ad8c0a } #tnent_movie_index_content .tnent-list-story { MARGIN-BOTTOM: 5px; FONT: 80% arial, helvetica, sans-serif; TEXT-ALIGN: = center } .tnent-list-headline { FONT: 70% arial, helvetica, sans-serif; COLOR: #000; TEXT-DECORATION: = none } .tnent-list-headline A { BACKGROUND-POSITION: left center; DISPLAY: block; PADDING-LEFT: 10px; = BACKGROUND-IMAGE: url(/grey_foursquares.gif); COLOR: #333; = BACKGROUND-REPEAT: no-repeat; TEXT-DECORATION: none } .tnent-list-headline A:hover { COLOR: #ad8c0a; TEXT-DECORATION: none } .tnent_movie_box { FONT: 70% arial, helvetica, sans-serif; COLOR: #000; TEXT-DECORATION: = none } .tnent_movie_box A { COLOR: #333; HEIGHT: 15px; TEXT-DECORATION: none } .tnent_movie_box A:hover { COLOR: #ad8c0a; TEXT-DECORATION: none } #tnent_movie_index_content IMG { BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; FLOAT: = left; MARGIN-BOTTOM: 5px; BORDER-LEFT: #333333 1px solid; MARGIN-RIGHT: = 10px; BORDER-BOTTOM: #333333 1px solid } #tnent_movie_index_content .tnent_story_pixel { FLOAT: none; MARGIN: 0px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: = none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none } #tnent_container { BORDER-RIGHT: #ebe8d7 1px solid; BACKGROUND: = url(background_greydiagonal_only.gif) #333333; MARGIN-LEFT: auto; = BORDER-LEFT: #ebe8d7 1px solid; WIDTH: 978px; MARGIN-RIGHT: auto; = BORDER-BOTTOM: #ebe8d7 1px solid; TEXT-ALIGN: left } #tnent_movie_index_container { BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; = MARGIN-TOP: 10px; DISPLAY: inline; BACKGROUND: = url(background_white_black.gif) #fff repeat-y; FLOAT: left; MARGIN-LEFT: = 10px; BORDER-LEFT: #333333 1px solid; WIDTH: 978px; MARGIN-RIGHT: 10px; = BORDER-BOTTOM: #333333 1px solid } #tnent_main_photo { PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: = #e8e8e8; FLOAT: right; PADDING-BOTTOM: 10px; FONT: 70% arial, helvetica, = sans-serif; WIDTH: 200px; COLOR: #333; PADDING-TOP: 10px; TEXT-ALIGN: = left } #tnent_movie_index_content { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FLOAT: left; PADDING-BOTTOM: = 20px; MARGIN-LEFT: auto; WIDTH: 365px; MARGIN-RIGHT: auto; PADDING-TOP: = 20px; TEXT-ALIGN: left } #tnent_secondary_content { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: right; WIDTH: 150px; = PADDING-TOP: 20px } #tnent_thirdondary_content { BORDER-RIGHT: #d8d4d3 1px solid; PADDING-RIGHT: 35px; PADDING-LEFT: = 5px; FLOAT: right; BORDER-LEFT: #d8d4d3 1px solid; WIDTH: 130px; = PADDING-TOP: 20px } #tnent_secondary_content_index { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: right; WIDTH: 150px; = PADDING-TOP: 20px } #tnent_thirdondary_content_index { BORDER-RIGHT: #d8d4d3 1px solid; PADDING-LEFT: 5px; FLOAT: right; = BORDER-LEFT: #d8d4d3 1px solid; WIDTH: 165px; PADDING-TOP: 20px } #tnent_movie_index_content { FONT: 12px arial, helvetica, sans-serif; COLOR: #000 } #tnent_form { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; FONT: 9px arial, helvetica, sans-serif; COLOR: #fff; = PADDING-TOP: 0px } #tnent_movie_times .tnent_zipcode { PADDING-RIGHT: 0px; MARGIN-TOP: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; FONT: 8px arial, helvetica, sans-serif; COLOR: #000; PADDING-TOP: = 0px } #tnent_movie_times .tnent_miles { PADDING-RIGHT: 0px; MARGIN-TOP: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; FONT: 8px arial, helvetica, sans-serif; COLOR: #000; PADDING-TOP: = 0px } #tnent_movie_times .tnent_submit { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 10px 0px 0px; FONT: 10px arial, helvetica, sans-serif; = COLOR: #fff; PADDING-TOP: 0px; BACKGROUND-COLOR: #666; align: center } #tnent_container .subhead { DISPLAY: block; MARGIN-BOTTOM: 25px; FONT: bolder 100% arial, = helvetica, sans-serif; COLOR: #000; TEXT-DECORATION: none } #tnent_container .byline { DISPLAY: block; MARGIN-BOTTOM: 5px; FONT: bold 80% arial, helvetica, = sans-serif; COLOR: #000 } #tnent_container .timestamp { DISPLAY: block; MARGIN-BOTTOM: 5px; FONT: 80% arial, helvetica, = sans-serif; COLOR: #333 } #tnent_container .cutline { DISPLAY: block; MARGIN-BOTTOM: 15px; FONT: 70% arial, helvetica, = sans-serif; COLOR: #333 } #tnent_secondary_content .cutline { DISPLAY: block; MARGIN-BOTTOM: 15px; FONT: 70% arial, helvetica, = sans-serif; WIDTH: 200px; COLOR: #333; TEXT-ALIGN: left } #tnent_container .content { FONT: 80% arial, helvetica, sans-serif; COLOR: #000 } #tnent_container .content A { COLOR: #ad8c0a; TEXT-DECORATION: none } #tnent_container .content A:hover { COLOR: #000; TEXT-DECORATION: none } #tnent_movie_synopsis .tnent_details { FONT: 70% arial, helvetica, sans-serif; COLOR: #333 } #tnent_movie_details .tnent_details { FONT: 70% arial, helvetica, sans-serif; COLOR: #333 } #tnent_movie_synopsis .tnent_details { COLOR: #ad8c0a; TEXT-DECORATION: none } #tnent_movie_details .tnent_details A { COLOR: #ad8c0a; TEXT-DECORATION: none } #tnent_movie_synopsis .tnent_details { COLOR: #000; TEXT-DECORATION: none } #tnent_movie_details .tnent_details A:hover { COLOR: #000; TEXT-DECORATION: none } .emailprint { DISPLAY: block; FONT: 12px arial, helvetica, sans-serif; COLOR: #333; = PADDING-TOP: 15px; TEXT-ALIGN: center } .emailprint A { FONT: 12px arial, helvetica, sans-serif; VERTICAL-ALIGN: middle; COLOR: = #333; TEXT-DECORATION: none } .emailprint A:hover { FONT: 12px arial, helvetica, sans-serif; COLOR: #333; TEXT-DECORATION: = none } #tnent_container .small_print { DISPLAY: block; MARGIN-BOTTOM: 5px; FONT: 60% arial, helvetica, = sans-serif; COLOR: #ccc; TEXT-ALIGN: center } .tnent-list-headline { FONT: 70% arial, helvetica, sans-serif; COLOR: #000; TEXT-DECORATION: = none } .tnent-list-headline A { BACKGROUND-POSITION: left center; DISPLAY: block; PADDING-LEFT: 10px; = BACKGROUND-IMAGE: url(/grey_foursquares.gif); COLOR: #333; = BACKGROUND-REPEAT: no-repeat; TEXT-DECORATION: none } .tnent-list-headline A:hover { COLOR: #ad8c0a; TEXT-DECORATION: none } .emailprint IMG { PADDING-RIGHT: 3px; PADDING-LEFT: 10px; VERTICAL-ALIGN: middle } #tnent_main_photo { PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: = #e8e8e8; FLOAT: right; PADDING-BOTTOM: 10px; FONT: 70% arial, helvetica, = sans-serif; WIDTH: 200px; COLOR: #333; PADDING-TOP: 10px; TEXT-ALIGN: = left } #tnent_movie_photo { DISPLAY: block; PADDING-LEFT: 10px; FLOAT: right; FONT: 70% arial, = helvetica, sans-serif; COLOR: #333; TEXT-ALIGN: left } #tnent_story_content { PADDING-RIGHT: 20px; DISPLAY: block; PADDING-LEFT: 20px; FONT-SIZE: = 71%; FLOAT: left; PADDING-BOTTOM: 20px; WIDTH: 365px; PADDING-TOP: 20px; = TEXT-ALIGN: left } #tnent_movie_details { PADDING-RIGHT: 20px; DISPLAY: block; PADDING-LEFT: 20px; FONT-SIZE: = 14px; BACKGROUND: url(http://www.journaltimes.com/art/bluegrade.gif) = #fff repeat-x 50% top; PADDING-BOTTOM: 20px; WIDTH: 325px; PADDING-TOP: = 20px; TEXT-ALIGN: left } A.tnent_link { FONT: 90% arial, helvetica, sans-serif } #tnent_movie_synopsis { DISPLAY: block; MARGIN-BOTTOM: 1px; WIDTH: 365px } #tnent_movie_photos { PADDING-RIGHT: 20px; DISPLAY: inline; PADDING-LEFT: 20px; = PADDING-BOTTOM: 20px; WIDTH: 628px; PADDING-TOP: 20px; TEXT-ALIGN: = center } #tnent_movie_details .tnent_details { FONT: 70% arial, helvetica, sans-serif; COLOR: #333 } #tnent_movie_details .tnent_details A { COLOR: #ad8c0a; TEXT-DECORATION: none } #tnent_movie_details .tnent_details A:hover { COLOR: #000; TEXT-DECORATION: none } .tnent_title { FONT: bold 14px arial, helvetica, sans-serif; COLOR: #003399 } .tnent_title A { COLOR: #003399; TEXT-DECORATION: none } .tnent_title A:hover { COLOR: #ff6600; TEXT-DECORATION: none } .tnent_sound { FONT: italic 10px arial, helvetica, sans-serif; COLOR: #999 } .tnent_time { FONT: 12px arial, helvetica, sans-serif; MARGIN-LEFT: 12px; COLOR: #000 } HR { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; COLOR: #ccc; HEIGHT: 1px; = BACKGROUND-COLOR: #ccc } #tnent_story_container { MARGIN-TOP: 10px; BACKGROUND: url(background_white_black.gif) #fff = repeat-y; FLOAT: left; MARGIN-LEFT: 10px; WIDTH: 600px; MARGIN-RIGHT: = 10px } #tnent_listing_content { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FLOAT: left; PADDING-BOTTOM: = 20px; WIDTH: 365px; PADDING-TOP: 20px; TEXT-ALIGN: left } #tnent_rightside_index { FLOAT: right; WIDTH: 155px } #tnent_box { PADDING-RIGHT: 20px; MARGIN-TOP: 80px; DISPLAY: block; PADDING-LEFT: = 20px; FLOAT: left; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 20px; FONT: 80% = arial, helvetica, sans-serif; WIDTH: 180px; PADDING-TOP: 20px; = TEXT-ALIGN: left } .tnent_movie_top10_box { PADDING-RIGHT: 10px; MARGIN-TOP: 20px; DISPLAY: block; PADDING-LEFT: = 10px; BACKGROUND: url(http://www.journaltimes.com/art/bluegrade.gif) = #fff repeat-x 50% top; PADDING-BOTTOM: 10px; MARGIN-LEFT: 30px; WIDTH: = 190px; PADDING-TOP: 10px; TEXT-ALIGN: left } #tnent_movie_top10_box_index { MARGIN-TOP: 80px; DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 20px; = FONT: 80% arial, helvetica, sans-serif; WIDTH: 180px; TEXT-ALIGN: left } .tnent_form_content { PADDING-RIGHT: 20px; MARGIN-TOP: 20px; PADDING-LEFT: 20px; BACKGROUND: = url(http://www.journaltimes.com/art/bluegrade.gif) #fff repeat-x 50% = top; FLOAT: left; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 20px; FONT: 80% = arial, helvetica, sans-serif; WIDTH: 150px; PADDING-TOP: 20px; = TEXT-ALIGN: left } .tnent_movie_top10_box { BORDER-RIGHT: #a3b3ca 2px solid; BORDER-TOP: #a3b3ca 2px solid; = BACKGROUND: #efefef; FLOAT: right; BORDER-LEFT: #a3b3ca 2px solid; = MARGIN-RIGHT: 10px; BORDER-BOTTOM: #a3b3ca 2px solid } .tnent_movie_top10_box H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_sectionhead_highlight.gif) = #a3b3ca repeat-x 0px 0px; PADDING-BOTTOM: 0px; FONT: bolder 14px Arial, = Verdana, Geneva, Helvetica, sans-serif; COLOR: #fff; PADDING-TOP: 2px; = HEIGHT: 21px; TEXT-ALIGN: left; TEXT-DECORATION: none } .tnent_movie_top10_box A { COLOR: #003399; TEXT-DECORATION: none } .tnent_movie_top10_box A:hover { COLOR: #ff6600; TEXT-DECORATION: none } .tnent_movie_top10_box_index { BORDER-RIGHT: #a3b3ca 2px solid; PADDING-RIGHT: 3px; BORDER-TOP: = #a3b3ca 2px solid; PADDING-LEFT: 3px; BACKGROUND: #efefef; FLOAT: right; = PADDING-BOTTOM: 3px; BORDER-LEFT: #a3b3ca 2px solid; WIDTH: 200px; = MARGIN-RIGHT: 60px; PADDING-TOP: 3px; BORDER-BOTTOM: #a3b3ca 2px solid; = TEXT-ALIGN: left } .tnent_movie_top10_box_index H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: = url(http://www.journaltimes.com/art/bg_sectionhead_highlight.gif) = #a3b3ca repeat-x 0px 0px; PADDING-BOTTOM: 0px; FONT: bolder 14px Arial, = Verdana, Geneva, Helvetica, sans-serif; COLOR: #fff; PADDING-TOP: 2px; = HEIGHT: 21px; TEXT-ALIGN: left; TEXT-DECORATION: none } .tnent_movie_top10_box_index A { COLOR: #003399; TEXT-DECORATION: none } .tnent_movie_top10_box_index A:hover { COLOR: #ff6600; TEXT-DECORATION: none } .tnent_date { FONT-SIZE: 14px; PADDING-TOP: 7px; TEXT-DECORATION: underline } .tnent_listing A { FONT: bold 11px arial, helvetica, sans-serif; COLOR: #003399 } ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://stats.townnews.com/shared-content/stats/common/tracker.js function = TNStats_Tracker(a){this._domain=3Da;this._trackerDomain=3D"stats.townnews= .com";this._trackerURI=3D"/shared-content/stats/common/tracker.gif";this.= _plugins=3D["DetectFlash","DetectRes","DetectVisitor","DetectPageTitle"];= this._globalvars=3D[];this._trackvars=3D[];this._uriPrefix=3D"";this._ses= sionTimeout=3D1800;this._cookieTimeout=3D43800;this._pageStart=3Dnew = Date();this._ignoreURI=3Dnew = Array();this._ignoreURI["/shared-content/firebuglite/firebug.html"]=3D1;t= his._cookiePath=3D"/";this.crossDomain=3Dtrue;if(document.getElementsByTa= gName){$options=3Ddocument.getElementsByTagName("meta");for($i=3D0;$i<$op= tions.length;$i++){if($options[$i].name!=3D"murlinstats"){continue}if($op= tions[$i].content.substr(0,6)=3D=3D"ignore"){$ignorelist=3D$options[$i].c= ontent.substr(7).split(",");for($x=3D0;$x<$ignorelist.length;$x++){this._= ignoreURI[$ignorelist[$x]]=3D1}}}}this._setGlobalVar=3Dfunction(c,b){this= ._globalvars[c]=3Db};this._getGlobalVar=3Dfunction(b){if(this._globalvars= [b]){return = this._globalvars[b]}return""};this._addTrackVar=3Dfunction(c,b){c=3Descap= e(c);b=3Descape(b);this._trackvars[c]=3Db};this._clearTrackVars=3Dfunctio= n(){this._trackvars=3D[]};this._joinGlobalVars=3Dfunction(){var c=3Dnew = Array;for(var b in = this._globalvars){if(typeof(this._globalvars[b])=3D=3D"string"){c[c.lengt= h]=3D(escape(b)+"=3D"+escape(this._globalvars[b]))}}return = c.join("&")};this._joinTrackVars=3Dfunction(){var c=3Dnew Array;for(var = b in = this._trackvars){if(typeof(this._trackvars[b])=3D=3D"string"){c[c.length]= =3D(b+"=3D"+this._trackvars[b])}}return = c.join("&")};this._addCookie=3Dfunction(g,c,b){var = e=3Dg+"=3D"+escape(c)+"; path=3D"+this._cookiePath+";";if(b>0){var = f=3Dnew Date();var d=3Df.getTime();f.setTime((b*3600*1000)+d);e=3De+" = expires=3D"+f.toGMTString()+";"}document.cookie=3De};this._getCookie=3Dfu= nction(f){var b=3Ddocument.cookie;var d=3Db.split("; ");for(var = e=3D0;ethis._sessionTimeout)){c=3D2;e=3Db.g= etTime()/1000}}this._addCookie("tnms_vsst",Math.ceil(e));this._addCookie(= "tnms_vssl",Math.ceil((b.getTime()/1000)));this._addCookie("tnms_vpuri",t= his._uri,this._cookieTimeout);this._addCookie("tnms_vid",h,this._cookieTi= meout);var i=3Dthis._getCookie("tnms_vtumt");var = a=3DString(b.getFullYear())+String(b.getMonth());if(i!=3Da){this._addTrac= kVar("tnms_vtum",1);this._addCookie("tnms_vtumt",a,this._cookieTimeout)}i= f(d){this._addTrackVar("tnms_vpuri",f);if(c){g=3D0}else{g=3D(b.getTime()/= 1000)-d}this._addTrackVar("tnms_vplen",Math.ceil(g))}this._addTrackVar("t= nms_vt",c);this._addTrackVar("tnms_vid",h)};TNStats_Tracker.prototype.plu= ginDetectFlash=3Dfunction(){var = c=3Dfalse;if(navigator.plugins["Shockwave = Flash"]&&navigator.plugins["Shockwave Flash"].description){var b=3Dnew = String(navigator.plugins["Shockwave Flash"].description);var = a=3Db.split(" ");c=3Da[2]}else{if(window.ActiveXObject){axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.5");if(axo){var b=3Dnew = String(axo.GetVariable("$version"));var a=3Db.split(/[, = ]/);c=3Da[1]+"."+a[2]}}}if(c){this._addTrackVar("tnms_fl",c)}};TNStats_Tr= acker.prototype.runPlugins=3Dfunction(){for(var = $x=3D0;$x')}else{this.runPlugins()}}else{this.runPlugins()}};TNStat= s_Tracker.prototype.trackPageViewCD=3Dfunction(){var e=3Dnew = String(document.location);var = b=3De.match(/\?(.*)$/);if(!b||!b[1]){return}var = g=3Db[1].split("&");for(var f in g){var d=3Dg[f].split("=3D");var = c=3Dunescape(d[0]);var = a=3Dunescape(d[1]);this._setGlobalVar(c,a);if(c=3D=3D"uri"){this._uri=3Da= }else{if(c=3D=3D"domain"){this._domain=3Da}}}if(!this._uri||!this._domain= ){return}this.runPlugins()}; ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_009F_01C9EC65.CECFB2A0" ------=_NextPart_001_009F_01C9EC65.CECFB2A0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://stats.townnews.com/journaltimesonline.com/?title=The%20Journal%20Times%20Online%20%3E%20Local%20News%20%3E%20WITH%20SLIDESHOW%3A%20Snowdance%2010%20Minute%20Comedy%20Festival%20around%20the%20corner&referrer=http%3A//ca.search.yahoo.com/search%3Fourmark%3D1%26ei%3Dutf-8%26fr%3Dfreecause-caam%26slv8-%26type%3D60179%26p%3Denigmatic%2520lucidity%2520len%2520cuthbert&domain=journaltimesonline.com&uri=/articles/2008/01/29/local_news/doc479fbb0dc2309187754345.txt =EF=BB=BF ------=_NextPart_001_009F_01C9EC65.CECFB2A0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/articles/2008/01/29/local_news/doc479fbb0dc2309187754345.txt =EF=BB=BF The Journal = Times Online > Local News > WITH SLIDESHOW: Snowdance 10 Minute Comedy = Festival around the corner
Journal Times
66=C2=B0F
Racine Weather Cam=20
  • My=20 Profile=20
  • Newsreader<= /A>=20
  • Groups=20
  • Photos=20
  • Video=20
  • Find=20 Others=20
  • Calendar=20
  • In= vite a=20 Friend
=
Search=20 Archives
  3D"Sell=20
printable version | e-mail this story | ()=20 Comments | Text Size

WITH SLIDESHOW: Snowdance 10 Minute Comedy Festival around the = corner

BY JOURNAL TIMES STAFF
Tuesday,=20 January 29, 2008 5:51 PM CST

SLIDESHOW

RACINE =E2=80=94 The work of = a group of Racine=20 playwrights is among those chosen by the Racine Over Our Head Players as = a=20 finalist for the 2008 Snowdance 10 Minute Comedy Festival in=20 February.

The play =E2=80=9CShtick Therapy,=E2=80=9D written by = Lori and Marc Barbeau and=20 Jean and John Lowry, will be one of 10 to compete during the annual = event to be=20 held from Feb. 1 to Feb. 24. The play details Mr. and Mrs. Stick = Figure=E2=80=99s=20 therapy session with Dr. Shtick, world-renowned stick-figure = couples=E2=80=99 therapist.=20 It was one of 15 entrees from Racine authors that the Players=20 received.

=E2=80=9CWe have a number of different types of humor = represented by=20 the finalists. Sitcom-style comedy, poignant endings, light romance, = twisted=20 viewpoints, dark humor, political statements and classic one-liners will = all be=20 part of the evening,=E2=80=9D OOHP artistic director Rich Smith said. = =E2=80=9CUtah has the=20 Sundance, we=E2=80=99re proud Racine now has = Snowdance.=E2=80=9D

The other winning titles=20 and their authors include =E2=80=9CEnigmatic Lucidity=E2=80=9D by Len = Cuthbert, London, Ontario;=20 =E2=80=9CThe Saga of Ginny=E2=80=9D by Ian August, Highland Park, N.J.; = =E2=80=9CShopko=E2=80=9D by Joe=20 Thompson, Madison; and =E2=80=9CRats=E2=80=9D by Shaun Raviv, = Washington.


The finalists also include =E2=80=9CThe = Crucifixion of Moe=20 and Ira=E2=80=9D by Lynn-Steven Johanson, Macomb, Ill.; = =E2=80=9CYuppies=E2=80=9D by Sean Kenealy,=20 Brooklyn, N.Y.; =E2=80=9CHostage Negotiator=E2=80=9D by Matt Solomon, = Madison; =E2=80=9CSecond to Last=E2=80=9D=20 by Ignacio Zulueta, Oakland, Calif.; and =E2=80=9CToys in the = Attic=E2=80=9D by Michael Burgan,=20 Chicago.

The finalists were chosen from among 182 scripts from 29 = states,=20 the District of Columbia and three foreign countries.

The = festival will=20 run four shows on Saturdays and Sundays along with shows on Wednesdays. = Audience=20 members will be able to vote for their favorite individual comedy during = the=20 festival. The votes will be tallied throughout the festival and the Best = in Snow=20 will be awarded after the final performance on Feb. 24. A cash award of = $300=20 will go to Best in Snow and a $100 award will go to both second and = third=20 place.


In its 16th year, Over Our Head Players, a nonprofit = organization of=20 volunteer talent, operates in the Sixth Street Theatre in Racine. Show=20 reservations can be made by calling (262) 632-6802.


Special Offer: Get 5 Weeks of the Journal Times for=20 $7!

 
SAFE=20 receives $1 million transitional living program   Feeling=20 safer during traffic stops

Article Rating =

Current Rating: 0 of 0 votes! Rate File: =

Ads=20 by Yahoo!

Online Forex - Canada

Free $100,000 Practice Account. Start Forex Trading Today = !
www.ac-markets.com

BYK-Gardner Abrasion

Taber, Gardner abrasion testers, wheels Discount Prices=20 online.
www.byk.com/instruments

Oreck Official Site

Offering superior air purifiers, canister and upright=20 vacuums.
www.Oreck.com

Obama Wants You to Return to School

Get Your Degree with Government Grants and=20 Scholarships.
www.classesusa.com

Reader = Comments

Return to: Loca= l=20 News =C2=AB | Home = =C2=AB | Top=20 of Page ^

JT Blogs

  •  View = all JT=20 Staff Blogs

Hot Blogs

  •  View = All=20 Blogs

Neighborhoods

  •  Vie= w all=20 Neighborhood Blogs

Calendar

Want to save money??

Name:   =

Email:  

I=20 would like to receive emails for the following:
=20   Automotive Service Specials
  = Coupons
  Home=20 Improvement Service Specials
  Dining=20 Specials
  Local Events
  Shopping = Deals
=


------=_NextPart_001_009F_01C9EC65.CECFB2A0-- ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://my.journaltimes.com/apis/scripts/remoteBulkViewer.ashx document.write("");/* = Prototype JavaScript framework, version 1.6.0.3=0A= * (c) 2005-2008 Sam Stephenson=0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://www.prototypejs.org/=0A= *=0A= = *------------------------------------------------------------------------= --*/=0A= =0A= var Prototype =3D {=0A= Version: '1.6.0.3',=0A= =0A= Browser: {=0A= IE: !!(window.attachEvent &&=0A= navigator.userAgent.indexOf('Opera') =3D=3D=3D -1),=0A= Opera: navigator.userAgent.indexOf('Opera') > -1,=0A= WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A= Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&=0A= navigator.userAgent.indexOf('KHTML') =3D=3D=3D -1,=0A= MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A= },=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= SelectorsAPI: !!document.querySelector,=0A= ElementExtensions: !!window.HTMLElement,=0A= SpecificElementExtensions:=0A= document.createElement('div')['__proto__'] &&=0A= document.createElement('div')['__proto__'] !=3D=3D=0A= document.createElement('form')['__proto__']=0A= },=0A= =0A= ScriptFragment: ']*>([\\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= =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;=0A= value =3D (function(m) {=0A= return function() { return ancestor[m].apply(this, arguments) = };=0A= })(property).wrap(method);=0A= =0A= value.valueOf =3D method.valueOf.bind(method);=0A= value.toString =3D method.toString.bind(method);=0A= }=0A= this.prototype[property] =3D value;=0A= }=0A= =0A= return this;=0A= }=0A= };=0A= =0A= var Abstract =3D { };=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= };=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (Object.isUndefined(object)) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : String(object);=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= toJSON: function(object) {=0A= var type =3D typeof object;=0A= switch (type) {=0A= case 'undefined':=0A= case 'function':=0A= case 'unknown': return;=0A= case 'boolean': return object.toString();=0A= }=0A= =0A= if (object =3D=3D=3D null) return 'null';=0A= if (object.toJSON) return object.toJSON();=0A= if (Object.isElement(object)) return;=0A= =0A= var results =3D [];=0A= for (var property in object) {=0A= var value =3D Object.toJSON(object[property]);=0A= if (!Object.isUndefined(value))=0A= results.push(property.toJSON() + ': ' + value);=0A= }=0A= =0A= return '{' + results.join(', ') + '}';=0A= },=0A= =0A= toQueryString: function(object) {=0A= return $H(object).toQueryString();=0A= },=0A= =0A= toHTML: function(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({ }, object);=0A= },=0A= =0A= isElement: function(object) {=0A= return !!(object && object.nodeType =3D=3D 1);=0A= },=0A= =0A= isArray: function(object) {=0A= return object !=3D null && typeof object =3D=3D "object" &&=0A= 'splice' in object && 'join' in object;=0A= },=0A= =0A= isHash: function(object) {=0A= return object instanceof Hash;=0A= },=0A= =0A= isFunction: function(object) {=0A= return typeof object =3D=3D "function";=0A= },=0A= =0A= isString: function(object) {=0A= return typeof object =3D=3D "string";=0A= },=0A= =0A= isNumber: function(object) {=0A= return typeof object =3D=3D "number";=0A= },=0A= =0A= isUndefined: function(object) {=0A= return typeof object =3D=3D "undefined";=0A= }=0A= });=0A= =0A= Object.extend(Function.prototype, {=0A= argumentNames: function() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]=0A= .replace(/\s+/g, '').split(',');=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= },=0A= =0A= bind: function() {=0A= if (arguments.length < 2 && Object.isUndefined(arguments[0])) return = this;=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= bindAsEventListener: function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function(event) {=0A= return __method.apply(object, [event || = window.event].concat(args));=0A= }=0A= },=0A= =0A= curry: function() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D $A(arguments);=0A= return function() {=0A= return __method.apply(this, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= delay: function() {=0A= var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= },=0A= =0A= defer: function() {=0A= var args =3D [0.01].concat($A(arguments));=0A= return this.delay.apply(this, args);=0A= },=0A= =0A= wrap: function(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments)));=0A= }=0A= },=0A= =0A= methodize: function() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= return __method.apply(null, [this].concat($A(arguments)));=0A= };=0A= }=0A= });=0A= =0A= Date.prototype.toJSON =3D function() {=0A= return '"' + this.getUTCFullYear() + '-' +=0A= (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A= this.getUTCDate().toPaddedString(2) + 'T' +=0A= this.getUTCHours().toPaddedString(2) + ':' +=0A= this.getUTCMinutes().toPaddedString(2) + ':' +=0A= this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A= };=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) { }=0A= }=0A= =0A= return returnValue;=0A= }=0A= };=0A= =0A= RegExp.prototype.match =3D RegExp.prototype.test;=0A= =0A= RegExp.escape =3D function(str) {=0A= return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create({=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= execute: function() {=0A= this.callback(this);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.execute();=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= });=0A= Object.extend(String, {=0A= interpret: function(value) {=0A= return value =3D=3D null ? '' : String(value);=0A= },=0A= specialChar: {=0A= '\b': '\\b',=0A= '\t': '\\t',=0A= '\n': '\\n',=0A= '\f': '\\f',=0A= '\r': '\\r',=0A= '\\': '\\\\'=0A= }=0A= });=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D Object.isUndefined(count) ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : = String(this);=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { 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;=0A= if (str.blank()) return false;=0A= str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A= return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A= },=0A= =0A= evalJSON: function(sanitize) {=0A= var json =3D this.unfilterJSON();=0A= try {=0A= if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A= } catch (e) { }=0A= 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.stripTags().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= String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.t= ext);=0A= =0A= var Template =3D Class.create({=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= if (Object.isFunction(object.toTemplateReplacements))=0A= object =3D object.toTemplateReplacements();=0A= =0A= return this.template.gsub(this.pattern, function(match) {=0A= if (object =3D=3D null) return '';=0A= =0A= var before =3D match[1] || '';=0A= if (before =3D=3D '\\') return match[2];=0A= =0A= var ctx =3D object, expr =3D match[3];=0A= var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A= match =3D pattern.exec(expr);=0A= if (match =3D=3D null) return before;=0A= =0A= while (match !=3D null) {=0A= var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1];=0A= ctx =3D ctx[comp];=0A= if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A= expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length);=0A= match =3D pattern.exec(expr);=0A= }=0A= =0A= return before + String.interpret(ctx);=0A= });=0A= }=0A= });=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= =0A= var $break =3D { };=0A= =0A= var Enumerable =3D {=0A= each: function(iterator, context) {=0A= var index =3D 0;=0A= try {=0A= this._each(function(value) {=0A= iterator.call(context, value, index++);=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator, context) {=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= if (number < 1) return array;=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator, context);=0A= },=0A= =0A= all: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!iterator.call(context, value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!iterator.call(context, value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator.call(context, value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator, context) {=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator.call(context, value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator, context) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator.call(context, value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(filter, iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(filter);=0A= =0A= this.each(function(value, index) {=0A= if (filter.match(value))=0A= results.push(iterator.call(context, value, index));=0A= });=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= if (Object.isFunction(this.indexOf))=0A= if (this.indexOf(object) !=3D -1) return true;=0A= =0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator, context) {=0A= this.each(function(value, index) {=0A= memo =3D iterator.call(context, memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator.call(context, value, index);=0A= if (result =3D=3D null || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator.call(context, value, index);=0A= if (result =3D=3D null || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= (iterator.call(context, value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator, context) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator.call(context, value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator, context) {=0A= return this.map(function(value, index) {=0A= return {=0A= value: value,=0A= criteria: iterator.call(context, value, index)=0A= };=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (Object.isFunction(args.last()))=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= };=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= filter: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray,=0A= every: Enumerable.all,=0A= some: Enumerable.any=0A= });=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= =0A= if (Prototype.Browser.WebKit) {=0A= $A =3D function(iterable) {=0A= if (!iterable) return [];=0A= // In Safari, only use the `toArray` method if it's not a NodeList.=0A= // A NodeList is a function, has an function `item` property, and a = numeric=0A= // `length` property. Adapted from Google Doctype.=0A= if (!(typeof iterable =3D=3D=3D 'function' && typeof iterable.length = =3D=3D=3D=0A= 'number' && typeof iterable.item =3D=3D=3D 'function') && = iterable.toArray)=0A= return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= };=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(Object.isArray(value) ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function(sorted) {=0A= return this.inject([], function(array, value, index) {=0A= if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value)))=0A= array.push(value);=0A= return array;=0A= });=0A= },=0A= =0A= intersect: function(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { 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 (!Object.isUndefined(value)) results.push(value);=0A= });=0A= return '[' + results.join(', ') + ']';=0A= }=0A= });=0A= =0A= // use native browser JS 1.6 implementation if available=0A= if (Object.isFunction(Array.prototype.forEach))=0A= Array.prototype._each =3D Array.prototype.forEach;=0A= =0A= if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) {=0A= i || (i =3D 0);=0A= var length =3D this.length;=0A= if (i < 0) i =3D length + i;=0A= for (; i < length; i++)=0A= if (this[i] =3D=3D=3D item) return i;=0A= return -1;=0A= };=0A= =0A= if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) {=0A= i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A= var n =3D this.slice(0, i).reverse().indexOf(item);=0A= return (n < 0) ? n : i - n - 1;=0A= };=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if (Prototype.Browser.Opera){=0A= Array.prototype.concat =3D function() {=0A= var array =3D [];=0A= for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if (Object.isArray(arguments[i])) {=0A= for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= };=0A= }=0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= return this.toPaddedString(2, 16);=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator, context) {=0A= $R(0, this, true).each(iterator, context);=0A= return this;=0A= },=0A= =0A= toPaddedString: function(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= },=0A= =0A= toJSON: function() {=0A= return isFinite(this) ? this.toString() : 'null';=0A= }=0A= });=0A= =0A= $w('abs round ceil floor').each(function(method){=0A= Number.prototype[method] =3D Math[method].methodize();=0A= });=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= =0A= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= return {=0A= initialize: function(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= },=0A= =0A= _each: function(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= },=0A= =0A= set: function(key, value) {=0A= return this._object[key] =3D value;=0A= },=0A= =0A= get: function(key) {=0A= // simulating poorly supported hasOwnProperty=0A= if (this._object[key] !=3D=3D Object.prototype[key])=0A= return this._object[key];=0A= },=0A= =0A= unset: function(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= },=0A= =0A= toObject: function() {=0A= return Object.clone(this._object);=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= index: function(value) {=0A= var match =3D this.detect(function(pair) {=0A= return pair.value =3D=3D=3D value;=0A= });=0A= return match && match.key;=0A= },=0A= =0A= merge: function(object) {=0A= return this.clone().update(object);=0A= },=0A= =0A= update: function(object) {=0A= return new Hash(object).inject(this, function(result, pair) {=0A= result.set(pair.key, pair.value);=0A= return result;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.inject([], function(results, pair) {=0A= var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A= =0A= if (values && typeof values =3D=3D 'object') {=0A= if (Object.isArray(values))=0A= return results.concat(values.map(toQueryPair.curry(key)));=0A= } else results.push(toQueryPair(key, values));=0A= return results;=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#';=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= =0A= if (Object.isString(this.options.parameters))=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= else if (Object.isHash(this.options.parameters))=0A= this.options.parameters =3D this.options.parameters.toObject();=0A= }=0A= });=0A= =0A= Ajax.Request =3D Class.create(Ajax.Base, {=0A= _complete: false,=0A= =0A= initialize: function($super, url, options) {=0A= $super(options);=0A= this.transport =3D Ajax.getTransport();=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D Object.clone(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= this.parameters =3D params;=0A= =0A= if (params =3D Object.toQueryString(params)) {=0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get')=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= params +=3D '&_=3D';=0A= }=0A= =0A= try {=0A= var response =3D new Ajax.Response(this);=0A= if (this.options.onCreate) this.options.onCreate(response);=0A= Ajax.Responders.dispatch('onCreate', this, response);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null;=0A= this.transport.send(this.body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (Object.isFunction(extras.push))=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { 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 && this.isSameOrigin() && contentType=0A= && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i)))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON);=0A= Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= isSameOrigin: function() {=0A= var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A= return !m || (m[0] =3D=3D = '#{protocol}//#{domain}#{port}'.interpolate({=0A= protocol: location.protocol,=0A= domain: document.domain,=0A= port: location.port ? ':' + location.port : ''=0A= }));=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name) || null;=0A= } catch (e) { 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 Object.isUndefined(xml) ? null : xml;=0A= this.responseJSON =3D this._getResponseJSON();=0A= }=0A= },=0A= =0A= status: 0,=0A= statusText: '',=0A= =0A= getStatus: Ajax.Request.prototype.getStatus,=0A= =0A= getStatusText: function() {=0A= try {=0A= return this.transport.statusText || '';=0A= } catch (e) { 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= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= },=0A= =0A= _getResponseJSON: function() {=0A= var options =3D this.request.options;=0A= if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A= !(this.getHeader('Content-type') || = '').include('application/json')) ||=0A= this.responseText.blank())=0A= return null;=0A= try {=0A= return this.responseText.evalJSON(options.sanitizeJSON ||=0A= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create(Ajax.Request, {=0A= initialize: function($super, container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= };=0A= =0A= options =3D Object.clone(options);=0A= var onComplete =3D options.onComplete;=0A= options.onComplete =3D (function(response, json) {=0A= this.updateContent(response.responseText);=0A= if (Object.isFunction(onComplete)) onComplete(response, json);=0A= }).bind(this);=0A= =0A= $super(url, options);=0A= },=0A= =0A= updateContent: function(responseText) {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'],=0A= options =3D this.options;=0A= =0A= if (!options.evalScripts) responseText =3D = responseText.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (options.insertion) {=0A= if (Object.isString(options.insertion)) {=0A= var insertion =3D { }; insertion[options.insertion] =3D = responseText;=0A= receiver.insert(insertion);=0A= }=0A= else options.insertion(receiver, responseText);=0A= }=0A= else receiver.update(responseText);=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A= initialize: function($super, container, url, options) {=0A= $super(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D { };=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(response) {=0A= if (this.options.decay) {=0A= this.decay =3D (response.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D response.responseText;=0A= }=0A= this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (Object.isString(element))=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(Element.extend(query.snapshotItem(i)));=0A= return results;=0A= };=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=0A= // DOM level 2 ECMAScript Language Binding=0A= Object.extend(Node, {=0A= ELEMENT_NODE: 1,=0A= ATTRIBUTE_NODE: 2,=0A= TEXT_NODE: 3,=0A= CDATA_SECTION_NODE: 4,=0A= ENTITY_REFERENCE_NODE: 5,=0A= ENTITY_NODE: 6,=0A= PROCESSING_INSTRUCTION_NODE: 7,=0A= COMMENT_NODE: 8,=0A= DOCUMENT_NODE: 9,=0A= DOCUMENT_TYPE_NODE: 10,=0A= DOCUMENT_FRAGMENT_NODE: 11,=0A= NOTATION_NODE: 12=0A= });=0A= }=0A= =0A= (function() {=0A= var element =3D this.Element;=0A= this.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= if (Prototype.Browser.IE && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes);=0A= };=0A= Object.extend(this.Element, element || { });=0A= if (element) this.Element.prototype =3D element.prototype;=0A= }).call(window);=0A= =0A= Element.cache =3D { };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= element =3D $(element);=0A= element.style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= element =3D $(element);=0A= element.style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= content =3D Object.toHTML(content);=0A= element.innerHTML =3D content.stripScripts();=0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= },=0A= =0A= replace: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= else if (!Object.isElement(content)) {=0A= content =3D Object.toHTML(content);=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNode(element);=0A= content.evalScripts.bind(content).defer();=0A= content =3D range.createContextualFragment(content.stripScripts());=0A= }=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= },=0A= =0A= insert: function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D {bottom:insertions};=0A= =0A= var content, insert, tagName, childNodes;=0A= =0A= for (var position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= insert =3D Element._insertionTranslations[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A= ? element.parentNode : element).tagName.toUpperCase();=0A= =0A= childNodes =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= =0A= if (position =3D=3D 'top' || position =3D=3D 'after') = childNodes.reverse();=0A= childNodes.each(insert.curry(element));=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= },=0A= =0A= wrap: function(element, wrapper, attributes) {=0A= element =3D $(element);=0A= if (Object.isElement(wrapper))=0A= $(wrapper).writeAttribute(attributes || { });=0A= else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes);=0A= else wrapper =3D new Element('div', wrapper);=0A= if (element.parentNode)=0A= element.parentNode.replaceChild(wrapper, element);=0A= wrapper.appendChild(element);=0A= return wrapper;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $(element).select("*");=0A= },=0A= =0A= firstDescendant: function(element) {=0A= element =3D $(element).firstChild;=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= return $(element);=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (Object.isString(selector))=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return $(element.parentNode);=0A= var ancestors =3D element.ancestors();=0A= return Object.isNumber(expression) ? ancestors[expression] :=0A= Selector.findElement(ancestors, expression, index);=0A= },=0A= =0A= down: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= return Object.isNumber(expression) ? = element.descendants()[expression] :=0A= Element.select(element, expression)[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element));=0A= var previousSiblings =3D element.previousSiblings();=0A= return Object.isNumber(expression) ? previousSiblings[expression] :=0A= Selector.findElement(previousSiblings, expression, index);=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element));=0A= var nextSiblings =3D element.nextSiblings();=0A= return Object.isNumber(expression) ? nextSiblings[expression] :=0A= Selector.findElement(nextSiblings, expression, index);=0A= },=0A= =0A= select: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= adjacent: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element.parentNode, = args).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D element.readAttribute('id'), self =3D arguments.callee;=0A= if (id) return id;=0A= do { 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 Object.isUndefined(value) ? true : value;=0A= =0A= for (var attr in attributes) {=0A= name =3D t.names[attr] || attr;=0A= value =3D attributes[attr];=0A= if (t.values[attr]) name =3D t.values[attr](element, value);=0A= if (value =3D=3D=3D false || value =3D=3D=3D null)=0A= element.removeAttribute(name);=0A= else if (value =3D=3D=3D true)=0A= element.setAttribute(name, name);=0A= else element.setAttribute(name, value);=0A= }=0A= return element;=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= return (elementClassName.length > 0 && (elementClassName =3D=3D = className ||=0A= new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName)));=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= if (!element.hasClassName(className))=0A= element.className +=3D (element.className ? ' ' : '') + className;=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= element.className =3D element.className.replace(=0A= new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= return element[element.hasClassName(className) ?=0A= 'removeClassName' : 'addClassName'](className);=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.blank();=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= =0A= if (element.compareDocumentPosition)=0A= return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A= =0A= if (ancestor.contains)=0A= return ancestor.contains(element) && ancestor !=3D=3D element;=0A= =0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= =0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D element.cumulativeOffset();=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value || value =3D=3D 'auto') {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= }=0A= if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= getOpacity: function(element) {=0A= return $(element).getStyle('opacity');=0A= },=0A= =0A= setStyle: function(element, styles) {=0A= element =3D $(element);=0A= var elementStyle =3D element.style, match;=0A= if (Object.isString(styles)) {=0A= element.style.cssText +=3D ';' + styles;=0A= return styles.include('opacity') ?=0A= element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element;=0A= }=0A= for (var property in styles)=0A= if (property =3D=3D 'opacity') = element.setOpacity(styles[property]);=0A= else=0A= elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ?=0A= (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : = 'styleFloat') :=0A= property] =3D styles[property];=0A= =0A= return element;=0A= },=0A= =0A= setOpacity: function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D element.getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (Prototype.Browser.Opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto';=0A= if (element._overflow !=3D=3D 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p !=3D=3D 'static') break;=0A= }=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'absolute') return element;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= var offsets =3D element.positionedOffset();=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= return element;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'relative') return element;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= return element;=0A= },=0A= =0A= cumulativeScrollOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= getOffsetParent: function(element) {=0A= if (element.offsetParent) return $(element.offsetParent);=0A= if (element =3D=3D document.body) return $(element);=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return $(element);=0A= =0A= return $(document.body);=0A= },=0A= =0A= viewportOffset: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent =3D=3D document.body &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!Prototype.Browser.Opera || (element.tagName && = (element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= clonePosition: function(element, source) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || { });=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D source.viewportOffset();=0A= =0A= // find coordinate system to use=0A= element =3D $(element);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D element.getOffsetParent();=0A= delta =3D parent.viewportOffset();=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px';=0A= if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px';=0A= return element;=0A= }=0A= };=0A= =0A= Element.Methods.identify.counter =3D 1;=0A= =0A= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= childElements: Element.Methods.immediateDescendants=0A= });=0A= =0A= Element._attributeTranslations =3D {=0A= write: {=0A= names: {=0A= className: 'class',=0A= htmlFor: 'for'=0A= },=0A= values: { }=0A= }=0A= };=0A= =0A= if (Prototype.Browser.Opera) {=0A= Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A= function(proceed, element, style) {=0A= switch (style) {=0A= case 'left': case 'top': case 'right': case 'bottom':=0A= if (proceed(element, 'position') =3D=3D=3D 'static') return = null;=0A= case 'height': case 'width':=0A= // returns '0px' for hidden elements; we want it to return null=0A= if (!Element.visible(element)) return null;=0A= =0A= // returns the border-box dimensions rather than the = content-box=0A= // dimensions, so we subtract padding and borders from the = value=0A= var dim =3D parseInt(proceed(element, style), 10);=0A= =0A= if (dim !=3D=3D element['offset' + style.capitalize()])=0A= return dim + 'px';=0A= =0A= var properties;=0A= if (style =3D=3D=3D 'height') {=0A= properties =3D ['border-top-width', 'padding-top',=0A= 'padding-bottom', 'border-bottom-width'];=0A= }=0A= else {=0A= properties =3D ['border-left-width', 'padding-left',=0A= 'padding-right', 'border-right-width'];=0A= }=0A= return properties.inject(dim, function(memo, property) {=0A= var val =3D proceed(element, property);=0A= return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A= }) + 'px';=0A= default: return proceed(element, style);=0A= }=0A= }=0A= );=0A= =0A= Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A= function(proceed, element, attribute) {=0A= if (attribute =3D=3D=3D 'title') return element.title;=0A= return proceed(element, attribute);=0A= }=0A= );=0A= }=0A= =0A= else if (Prototype.Browser.IE) {=0A= // IE doesn't report offsets correctly for static elements, so we = change them=0A= // to "relative" to get the values, then change them back.=0A= Element.Methods.getOffsetParent =3D = Element.Methods.getOffsetParent.wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= // IE throws an error if element is not in document=0A= try { element.offsetParent }=0A= catch(e) { return $(document.body) }=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= =0A= $w('positionedOffset viewportOffset').each(function(method) {=0A= Element.Methods[method] =3D Element.Methods[method].wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= try { element.offsetParent }=0A= catch(e) { return Element._returnOffset(0,0) }=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= // Trigger hasLayout on the offset parent so that IE6 reports=0A= // accurate offsetTop and offsetLeft values for position: fixed.=0A= var offsetParent =3D element.getOffsetParent();=0A= if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D = 'fixed')=0A= offsetParent.setStyle({ zoom: 1 });=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= });=0A= =0A= Element.Methods.cumulativeOffset =3D = Element.Methods.cumulativeOffset.wrap(=0A= function(proceed, element) {=0A= try { element.offsetParent }=0A= catch(e) { return Element._returnOffset(0,0) }=0A= return proceed(element);=0A= }=0A= );=0A= =0A= Element.Methods.getStyle =3D function(element, style) {=0A= element =3D $(element);=0A= style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value && element.currentStyle) value =3D = element.currentStyle[style];=0A= =0A= if (style =3D=3D 'opacity') {=0A= if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if (value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= =0A= if (value =3D=3D 'auto') {=0A= if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none'))=0A= return element['offset' + style.capitalize()] + 'px';=0A= return null;=0A= }=0A= return value;=0A= };=0A= =0A= Element.Methods.setOpacity =3D function(element, value) {=0A= function stripAlpha(filter){=0A= return filter.replace(/alpha\([^\)]*\)/gi,'');=0A= }=0A= element =3D $(element);=0A= var currentStyle =3D element.currentStyle;=0A= if ((currentStyle && !currentStyle.hasLayout) ||=0A= (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A= element.style.zoom =3D 1;=0A= =0A= var filter =3D element.getStyle('filter'), style =3D element.style;=0A= if (value =3D=3D 1 || value =3D=3D=3D '') {=0A= (filter =3D stripAlpha(filter)) ?=0A= style.filter =3D filter : style.removeAttribute('filter');=0A= return element;=0A= } else if (value < 0.00001) value =3D 0;=0A= style.filter =3D stripAlpha(filter) +=0A= 'alpha(opacity=3D' + (value * 100) + ')';=0A= return element;=0A= };=0A= =0A= Element._attributeTranslations =3D {=0A= read: {=0A= names: {=0A= 'class': 'className',=0A= 'for': 'htmlFor'=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= _getAttrNode: function(element, attribute) {=0A= var node =3D element.getAttributeNode(attribute);=0A= return node ? node.value : "";=0A= },=0A= _getEv: function(element, attribute) {=0A= attribute =3D element.getAttribute(attribute);=0A= return attribute ? attribute.toString().slice(23, -2) : null;=0A= },=0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= title: function(element) {=0A= return element.title;=0A= }=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.write =3D {=0A= names: Object.extend({=0A= cellpadding: 'cellPadding',=0A= cellspacing: 'cellSpacing'=0A= }, Element._attributeTranslations.read.names),=0A= values: {=0A= checked: function(element, value) {=0A= element.checked =3D !!value;=0A= },=0A= =0A= style: function(element, value) {=0A= element.style.cssText =3D value ? value : '';=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.has =3D {};=0A= =0A= $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A= 'encType maxLength readOnly longDesc = frameBorder').each(function(attr) {=0A= Element._attributeTranslations.write.names[attr.toLowerCase()] =3D = attr;=0A= Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A= });=0A= =0A= (function(v) {=0A= Object.extend(v, {=0A= href: v._getAttr,=0A= src: v._getAttr,=0A= type: v._getAttr,=0A= action: v._getAttrNode,=0A= disabled: v._flag,=0A= checked: v._flag,=0A= readonly: v._flag,=0A= multiple: v._flag,=0A= onload: v._getEv,=0A= onunload: v._getEv,=0A= onclick: v._getEv,=0A= ondblclick: v._getEv,=0A= onmousedown: v._getEv,=0A= onmouseup: v._getEv,=0A= onmouseover: v._getEv,=0A= onmousemove: v._getEv,=0A= onmouseout: v._getEv,=0A= onfocus: v._getEv,=0A= onblur: v._getEv,=0A= onkeypress: v._getEv,=0A= onkeydown: v._getEv,=0A= onkeyup: v._getEv,=0A= onsubmit: v._getEv,=0A= onreset: v._getEv,=0A= onselect: v._getEv,=0A= onchange: v._getEv=0A= });=0A= })(Element._attributeTranslations.read.values);=0A= }=0A= =0A= else if (Prototype.Browser.Gecko && = /rv:1\.8\.0/.test(navigator.userAgent)) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A= (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A= return element;=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.WebKit) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= =0A= if (value =3D=3D 1)=0A= if(element.tagName.toUpperCase() =3D=3D 'IMG' && element.width) {=0A= element.width++; 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 = Element#cumulativeOffset for=0A= // KHTML/WebKit only.=0A= Element.Methods.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= };=0A= }=0A= =0A= if (Prototype.Browser.IE || Prototype.Browser.Opera) {=0A= // IE and Opera are missing .innerHTML support for TABLE-related and = SELECT elements=0A= Element.Methods.update =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= =0A= content =3D Object.toHTML(content);=0A= var tagName =3D element.tagName.toUpperCase();=0A= =0A= if (tagName in Element._insertionTranslations.tags) {=0A= $A(element.childNodes).each(function(node) { = 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 ('outerHTML' in document.createElement('div')) {=0A= Element.Methods.replace =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= var parent =3D element.parentNode, tagName =3D = parent.tagName.toUpperCase();=0A= =0A= if (Element._insertionTranslations.tags[tagName]) {=0A= var nextSibling =3D element.next();=0A= var fragments =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= parent.removeChild(element);=0A= if (nextSibling)=0A= fragments.each(function(node) { 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= if (t) {=0A= div.innerHTML =3D t[0] + html + t[1];=0A= t[2].times(function() { div =3D div.firstChild });=0A= } else div.innerHTML =3D html;=0A= return $A(div.childNodes);=0A= };=0A= =0A= Element._insertionTranslations =3D {=0A= before: function(element, node) {=0A= element.parentNode.insertBefore(node, element);=0A= },=0A= top: function(element, node) {=0A= element.insertBefore(node, element.firstChild);=0A= },=0A= bottom: function(element, node) {=0A= element.appendChild(node);=0A= },=0A= after: function(element, node) {=0A= element.parentNode.insertBefore(node, element.nextSibling);=0A= },=0A= tags: {=0A= TABLE: ['', '
', 1],=0A= TBODY: ['', '
', 2],=0A= TR: ['', '
', 3],=0A= TD: ['
', '
', 4],=0A= SELECT: ['', 1]=0A= }=0A= };=0A= =0A= (function() {=0A= Object.extend(this.tags, {=0A= THEAD: this.tags.TBODY,=0A= TFOOT: this.tags.TBODY,=0A= TH: this.tags.TD=0A= });=0A= }).call(Element._insertionTranslations);=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= attribute =3D Element._attributeTranslations.has[attribute] || = attribute;=0A= var node =3D $(element).getAttributeNode(attribute);=0A= return !!(node && node.specified);=0A= }=0A= };=0A= =0A= Element.Methods.ByTag =3D { };=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= if (!Prototype.BrowserFeatures.ElementExtensions &&=0A= document.createElement('div')['__proto__']) {=0A= window.HTMLElement =3D { };=0A= window.HTMLElement.prototype =3D = document.createElement('div')['__proto__'];=0A= Prototype.BrowserFeatures.ElementExtensions =3D true;=0A= }=0A= =0A= Element.extend =3D (function() {=0A= if (Prototype.BrowserFeatures.SpecificElementExtensions)=0A= return Prototype.K;=0A= =0A= var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A= =0A= var extend =3D Object.extend(function(element) {=0A= if (!element || element._extendedByPrototype ||=0A= element.nodeType !=3D 1 || element =3D=3D window) return element;=0A= =0A= var methods =3D Object.clone(Methods),=0A= tagName =3D element.tagName.toUpperCase(), property, value;=0A= =0A= // extend methods for specific tags=0A= if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A= =0A= for (property in methods) {=0A= value =3D methods[property];=0A= if (Object.isFunction(value) && !(property in element))=0A= element[property] =3D value.methodize();=0A= }=0A= =0A= element._extendedByPrototype =3D Prototype.emptyFunction;=0A= return element;=0A= =0A= }, {=0A= refresh: function() {=0A= // extend methods for all tags (Safari doesn't need this)=0A= if (!Prototype.BrowserFeatures.ElementExtensions) {=0A= Object.extend(Methods, Element.Methods);=0A= Object.extend(Methods, Element.Methods.Simulated);=0A= }=0A= }=0A= });=0A= =0A= extend.refresh();=0A= return extend;=0A= })();=0A= =0A= Element.hasAttribute =3D function(element, attribute) {=0A= if (element.hasAttribute) return element.hasAttribute(attribute);=0A= return Element.Methods.Simulated.hasAttribute(element, attribute);=0A= };=0A= =0A= Element.addMethods =3D function(methods) {=0A= var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A= =0A= if (!methods) {=0A= Object.extend(Form, Form.Methods);=0A= Object.extend(Form.Element, Form.Element.Methods);=0A= Object.extend(Element.Methods.ByTag, {=0A= "FORM": Object.clone(Form.Methods),=0A= "INPUT": Object.clone(Form.Element.Methods),=0A= "SELECT": Object.clone(Form.Element.Methods),=0A= "TEXTAREA": Object.clone(Form.Element.Methods)=0A= });=0A= }=0A= =0A= if (arguments.length =3D=3D 2) {=0A= var tagName =3D methods;=0A= methods =3D arguments[1];=0A= }=0A= =0A= if (!tagName) Object.extend(Element.Methods, methods || { });=0A= else {=0A= if (Object.isArray(tagName)) tagName.each(extend);=0A= else extend(tagName);=0A= }=0A= =0A= function extend(tagName) {=0A= tagName =3D tagName.toUpperCase();=0A= if (!Element.Methods.ByTag[tagName])=0A= Element.Methods.ByTag[tagName] =3D { };=0A= Object.extend(Element.Methods.ByTag[tagName], methods);=0A= }=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!Object.isFunction(value)) continue;=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D value.methodize();=0A= }=0A= }=0A= =0A= function findDOMClass(tagName) {=0A= var klass;=0A= var trans =3D {=0A= "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A= "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList",=0A= "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading",=0A= "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A= "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION":=0A= "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A= "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR":=0A= "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A= "FrameSet", "IFRAME": "IFrame"=0A= };=0A= if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A= if (window[klass]) return window[klass];=0A= =0A= window[klass] =3D { };=0A= window[klass].prototype =3D = document.createElement(tagName)['__proto__'];=0A= return window[klass];=0A= }=0A= =0A= if (F.ElementExtensions) {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= }=0A= =0A= if (F.SpecificElementExtensions) {=0A= for (var tag in Element.Methods.ByTag) {=0A= var klass =3D findDOMClass(tag);=0A= if (Object.isUndefined(klass)) continue;=0A= copy(T[tag], klass.prototype);=0A= }=0A= }=0A= =0A= Object.extend(Element, Element.Methods);=0A= delete Element.ByTag;=0A= =0A= if (Element.extend.refresh) Element.extend.refresh();=0A= Element.cache =3D { };=0A= };=0A= =0A= document.viewport =3D {=0A= getDimensions: function() {=0A= var dimensions =3D { }, B =3D Prototype.Browser;=0A= $w('width height').each(function(d) {=0A= var D =3D d.capitalize();=0A= if (B.WebKit && !document.evaluate) {=0A= // Safari <3.0 needs self.innerWidth/Height=0A= dimensions[d] =3D self['inner' + D];=0A= } else if (B.Opera && parseFloat(window.opera.version()) < 9.5) {=0A= // Opera <9.5 needs document.body.clientWidth/Height=0A= dimensions[d] =3D document.body['client' + D]=0A= } else {=0A= dimensions[d] =3D document.documentElement['client' + D];=0A= }=0A= });=0A= return dimensions;=0A= },=0A= =0A= getWidth: function() {=0A= return this.getDimensions().width;=0A= },=0A= =0A= getHeight: function() {=0A= return this.getDimensions().height;=0A= },=0A= =0A= getScrollOffsets: function() {=0A= return Element._returnOffset(=0A= window.pageXOffset || document.documentElement.scrollLeft || = document.body.scrollLeft,=0A= window.pageYOffset || document.documentElement.scrollTop || = document.body.scrollTop);=0A= }=0A= };=0A= /* Portions of the Selector class are derived from Jack Slocum's = DomQuery,=0A= * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style=0A= * license. Please see http://www.yui-ext.com/ for more information. */=0A= =0A= var Selector =3D Class.create({=0A= initialize: function(expression) {=0A= this.expression =3D expression.strip();=0A= =0A= if (this.shouldUseSelectorsAPI()) {=0A= this.mode =3D 'selectorsAPI';=0A= } else if (this.shouldUseXPath()) {=0A= this.mode =3D 'xpath';=0A= this.compileXPathMatcher();=0A= } else {=0A= this.mode =3D "normal";=0A= this.compileMatcher();=0A= }=0A= =0A= },=0A= =0A= shouldUseXPath: function() {=0A= if (!Prototype.BrowserFeatures.XPath) return false;=0A= =0A= var e =3D this.expression;=0A= =0A= // Safari 3 chokes on :*-of-type and :empty=0A= if (Prototype.Browser.WebKit &&=0A= (e.include("-of-type") || e.include(":empty")))=0A= return false;=0A= =0A= // XPath can't do namespaced attributes, nor can it read=0A= // the "checked" property from DOM nodes=0A= if ((/(\[[\w-]*?:|:checked)/).test(e))=0A= return false;=0A= =0A= return true;=0A= },=0A= =0A= shouldUseSelectorsAPI: function() {=0A= if (!Prototype.BrowserFeatures.SelectorsAPI) return false;=0A= =0A= if (!Selector._div) Selector._div =3D new Element('div');=0A= =0A= // Make sure the browser treats the selector as valid. Test on an=0A= // isolated element to minimize cost of this check.=0A= try {=0A= Selector._div.querySelector(this.expression);=0A= } catch(e) {=0A= return false;=0A= }=0A= =0A= return true;=0A= },=0A= =0A= compileMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers,=0A= c =3D Selector.criteria, le, p, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.matcher =3D Selector._cache[e];=0A= return;=0A= }=0A= =0A= this.matcher =3D ["this.matcher =3D function(root) {",=0A= "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"];=0A= =0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :=0A= new Template(c[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.matcher.push("return h.unique(n);\n}");=0A= eval(this.matcher.join('\n'));=0A= Selector._cache[this.expression] =3D this.matcher;=0A= },=0A= =0A= compileXPathMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.xpath =3D Selector._cache[e]; return;=0A= }=0A= =0A= this.matcher =3D ['.//*'];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= if (m =3D e.match(ps[i])) {=0A= this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :=0A= new Template(x[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.xpath =3D this.matcher.join('');=0A= Selector._cache[this.expression] =3D this.xpath;=0A= },=0A= =0A= findElements: function(root) {=0A= root =3D root || document;=0A= var e =3D this.expression, results;=0A= =0A= switch (this.mode) {=0A= case 'selectorsAPI':=0A= // querySelectorAll queries document-wide, then filters to = descendants=0A= // of the context element. That's not what we want.=0A= // Add an explicit context to the selector if necessary.=0A= if (root !=3D=3D document) {=0A= var oldId =3D root.id, id =3D $(root).identify();=0A= e =3D "#" + id + " " + e;=0A= }=0A= =0A= results =3D $A(root.querySelectorAll(e)).map(Element.extend);=0A= root.id =3D oldId;=0A= =0A= return results;=0A= case 'xpath':=0A= return document._getElementsByXPath(this.xpath, root);=0A= default:=0A= return this.matcher(root);=0A= }=0A= },=0A= =0A= match: function(element) {=0A= this.tokens =3D [];=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, as =3D = Selector.assertions;=0A= var le, p, m;=0A= =0A= while (e && le !=3D=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= // use the Selector.assertions methods unless the selector=0A= // is too complex.=0A= if (as[i]) {=0A= this.tokens.push([i, Object.clone(m)]);=0A= e =3D e.replace(m[0], '');=0A= } else {=0A= // reluctantly do a document-wide search=0A= // and look for a match in the array=0A= return this.findElements(document).include(element);=0A= }=0A= }=0A= }=0A= }=0A= =0A= var match =3D true, name, matches;=0A= for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A= name =3D token[0], matches =3D token[1];=0A= if (!Selector.assertions[name](element, matches)) {=0A= match =3D false; 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: function(m) {=0A= m[1] =3D m[1].toLowerCase();=0A= return new Template("[@#{1}]").evaluate(m);=0A= },=0A= attr: function(m) {=0A= m[1] =3D m[1].toLowerCase();=0A= m[3] =3D m[5] || m[6];=0A= return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= var h =3D Selector.xpath.pseudos[m[1]];=0A= if (!h) return '';=0A= if (Object.isFunction(h)) return h(m);=0A= return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A= },=0A= operators: {=0A= '=3D': "[@#{1}=3D'#{3}']",=0A= '!=3D': "[@#{1}!=3D'#{3}']",=0A= '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A= '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']",=0A= '*=3D': "[contains(@#{1}, '#{3}')]",=0A= '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A= '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A= },=0A= pseudos: {=0A= 'first-child': '[not(preceding-sibling::*)]',=0A= 'last-child': '[not(following-sibling::*)]',=0A= 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]',=0A= 'empty': "[count(*) =3D 0 and (count(text()) =3D 0)]",=0A= 'checked': "[@checked]",=0A= 'disabled': "[(@disabled) and (@type!=3D'hidden')]",=0A= 'enabled': "[not(@disabled) and (@type!=3D'hidden')]",=0A= 'not': function(m) {=0A= var e =3D m[6], p =3D Selector.patterns,=0A= x =3D Selector.xpath, le, v;=0A= =0A= var exclusion =3D [];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in p) {=0A= if (m =3D e.match(p[i])) {=0A= v =3D Object.isFunction(x[i]) ? x[i](m) : new = Template(x[i]).evaluate(m);=0A= exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= return "[not(" + exclusion.join(" and ") + ")]";=0A= },=0A= 'nth-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A= },=0A= 'nth-last-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A= },=0A= 'nth-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("position() ", m);=0A= },=0A= 'nth-last-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m);=0A= },=0A= 'first-of-type': function(m) {=0A= m[6] =3D "1"; 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); c =3D false;',=0A= attr: function(m) {=0A= m[3] =3D (m[5] || m[6]);=0A= return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", = c); c =3D false;').evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A= return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m);=0A= },=0A= descendant: 'c =3D "descendant";',=0A= child: 'c =3D "child";',=0A= adjacent: 'c =3D "adjacent";',=0A= laterSibling: 'c =3D "laterSibling";'=0A= },=0A= =0A= patterns: {=0A= // combinators must be listed first=0A= // (and descendant needs to be last combinator)=0A= laterSibling: /^\s*~\s*/,=0A= child: /^\s*>\s*/,=0A= adjacent: /^\s*\+\s*/,=0A= descendant: /^\s/,=0A= =0A= // selectors follow=0A= tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,=0A= id: /^#([\w\-\*]+)(\b|$)/,=0A= className: /^\.([\w\-\*]+)(\b|$)/,=0A= pseudo:=0A= /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/,=0A= attrPresence: /^\[((?:[\w]+:)?[\w]+)\]/,=0A= attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^= \]]*?)))?\]/=0A= },=0A= =0A= // for Selector.match and Element#match=0A= assertions: {=0A= tagName: function(element, matches) {=0A= return matches[1].toUpperCase() =3D=3D = element.tagName.toUpperCase();=0A= },=0A= =0A= className: function(element, matches) {=0A= return Element.hasClassName(element, matches[1]);=0A= },=0A= =0A= id: function(element, matches) {=0A= return element.id =3D=3D=3D matches[1];=0A= },=0A= =0A= attrPresence: function(element, matches) {=0A= return Element.hasAttribute(element, matches[1]);=0A= },=0A= =0A= attr: function(element, matches) {=0A= var nodeValue =3D Element.readAttribute(element, matches[1]);=0A= return nodeValue && Selector.operators[matches[2]](nodeValue, = matches[5] || matches[6]);=0A= }=0A= },=0A= =0A= handlers: {=0A= // UTILITY FUNCTIONS=0A= // joins two collections=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= a.push(node);=0A= return a;=0A= },=0A= =0A= // marks an array of nodes for counting=0A= mark: function(nodes) {=0A= var _true =3D Prototype.emptyFunction;=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._countedByPrototype =3D _true;=0A= return nodes;=0A= },=0A= =0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._countedByPrototype =3D undefined;=0A= return nodes;=0A= },=0A= =0A= // mark each child node with its position (for nth calls)=0A= // "ofType" flag indicates whether we're indexing for nth-of-type=0A= // rather than nth-child=0A= index: function(parentNode, reverse, ofType) {=0A= parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A= if (reverse) {=0A= for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) {=0A= var node =3D nodes[i];=0A= if (node.nodeType =3D=3D 1 && (!ofType || = node._countedByPrototype)) node.nodeIndex =3D j++;=0A= }=0A= } else {=0A= for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++)=0A= if (node.nodeType =3D=3D 1 && (!ofType || = node._countedByPrototype)) node.nodeIndex =3D j++;=0A= }=0A= },=0A= =0A= // filters out duplicates and extends all nodes=0A= unique: function(nodes) {=0A= if (nodes.length =3D=3D 0) return nodes;=0A= var results =3D [], n;=0A= for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A= if (!(n =3D nodes[i])._countedByPrototype) {=0A= n._countedByPrototype =3D Prototype.emptyFunction;=0A= results.push(Element.extend(n));=0A= }=0A= return Selector.handlers.unmark(results);=0A= },=0A= =0A= // COMBINATOR FUNCTIONS=0A= descendant: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName('*'));=0A= return results;=0A= },=0A= =0A= child: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= for (var j =3D 0, child; child =3D node.childNodes[j]; j++)=0A= if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child);=0A= }=0A= return results;=0A= },=0A= =0A= adjacent: function(nodes) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= var next =3D this.nextElementSibling(node);=0A= if (next) results.push(next);=0A= }=0A= return results;=0A= },=0A= =0A= laterSibling: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, Element.nextSiblings(node));=0A= return results;=0A= },=0A= =0A= nextElementSibling: function(node) {=0A= while (node =3D node.nextSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= previousElementSibling: function(node) {=0A= while (node =3D node.previousSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= // TOKEN FUNCTIONS=0A= tagName: function(nodes, root, tagName, combinator) {=0A= var uTagName =3D tagName.toUpperCase();=0A= var results =3D [], h =3D Selector.handlers;=0A= if (nodes) {=0A= if (combinator) {=0A= // fastlane for ordinary descendant combinators=0A= if (combinator =3D=3D "descendant") {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName(tagName));=0A= return results;=0A= } else nodes =3D this[combinator](nodes);=0A= if (tagName =3D=3D "*") return nodes;=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.tagName.toUpperCase() =3D=3D=3D uTagName) = results.push(node);=0A= return results;=0A= } else return root.getElementsByTagName(tagName);=0A= },=0A= =0A= id: function(nodes, root, id, combinator) {=0A= var targetNode =3D $(id), h =3D Selector.handlers;=0A= if (!targetNode) return [];=0A= if (!nodes && root =3D=3D document) return [targetNode];=0A= if (nodes) {=0A= if (combinator) {=0A= if (combinator =3D=3D 'child') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (targetNode.parentNode =3D=3D node) return [targetNode];=0A= } else if (combinator =3D=3D 'descendant') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.descendantOf(targetNode, node)) return = [targetNode];=0A= } else if (combinator =3D=3D 'adjacent') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node)=0A= return [targetNode];=0A= } else nodes =3D h[combinator](nodes);=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node =3D=3D targetNode) return [targetNode];=0A= return [];=0A= }=0A= return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : [];=0A= },=0A= =0A= className: function(nodes, root, className, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= return Selector.handlers.byClassName(nodes, root, className);=0A= },=0A= =0A= byClassName: function(nodes, root, className) {=0A= if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A= var needle =3D ' ' + className + ' ';=0A= for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) {=0A= nodeClassName =3D node.className;=0A= if (nodeClassName.length =3D=3D 0) continue;=0A= if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle))=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= attrPresence: function(nodes, root, attr, combinator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= var results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.hasAttribute(node, attr)) results.push(node);=0A= return results;=0A= },=0A= =0A= attr: function(nodes, root, attr, value, operator, combinator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= var handler =3D Selector.operators[operator], results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= var nodeValue =3D Element.readAttribute(node, attr);=0A= if (nodeValue =3D=3D=3D null) continue;=0A= if (handler(nodeValue, value)) results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= pseudo: function(nodes, name, value, root, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= return Selector.pseudos[name](nodes, value, root);=0A= }=0A= },=0A= =0A= pseudos: {=0A= 'first-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.previousElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'last-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.nextElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'only-child': function(nodes, value, root) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!h.previousElementSibling(node) && = !h.nextElementSibling(node))=0A= results.push(node);=0A= return results;=0A= },=0A= 'nth-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root);=0A= },=0A= 'nth-last-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true);=0A= },=0A= 'nth-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, false, true);=0A= },=0A= 'nth-last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true, true);=0A= },=0A= 'first-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, false, true);=0A= },=0A= 'last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, true, true);=0A= },=0A= 'only-of-type': function(nodes, formula, root) {=0A= var p =3D Selector.pseudos;=0A= return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root);=0A= },=0A= =0A= // handles the an+b logic=0A= getIndices: function(a, b, total) {=0A= if (a =3D=3D 0) return b > 0 ? [b] : [];=0A= return $R(1, total).inject([], function(memo, i) {=0A= if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A= return memo;=0A= });=0A= },=0A= =0A= // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type=0A= nth: function(nodes, formula, root, reverse, ofType) {=0A= if (nodes.length =3D=3D 0) return [];=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A= h.mark(nodes);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= if (!node.parentNode._countedByPrototype) {=0A= h.index(node.parentNode, reverse, ofType);=0A= indexed.push(node.parentNode);=0A= }=0A= }=0A= if (formula.match(/^\d+$/)) { // just a number=0A= formula =3D Number(formula);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.nodeIndex =3D=3D formula) results.push(node);=0A= } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b=0A= if (m[1] =3D=3D "-") m[1] =3D -1;=0A= var a =3D m[1] ? Number(m[1]) : 1;=0A= var b =3D m[2] ? Number(m[2]) : 0;=0A= var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A= for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) {=0A= for (var j =3D 0; j < l; j++)=0A= if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A= }=0A= }=0A= h.unmark(nodes);=0A= h.unmark(indexed);=0A= return results;=0A= },=0A= =0A= 'empty': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= // IE treats comments as element nodes=0A= if (node.tagName =3D=3D '!' || node.firstChild) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= 'not': function(nodes, selector, root) {=0A= var h =3D Selector.handlers, selectorType, m;=0A= var exclusions =3D new Selector(selector).findElements(root);=0A= h.mark(exclusions);=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node._countedByPrototype) results.push(node);=0A= h.unmark(exclusions);=0A= return results;=0A= },=0A= =0A= 'enabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node.disabled && (!node.type || node.type !=3D=3D 'hidden'))=0A= results.push(node);=0A= return results;=0A= },=0A= =0A= 'disabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'checked': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.checked) results.push(node);=0A= return results;=0A= }=0A= },=0A= =0A= operators: {=0A= '=3D': function(nv, v) { return nv =3D=3D v; },=0A= '!=3D': function(nv, v) { return nv !=3D v; },=0A= '^=3D': function(nv, v) { return nv =3D=3D v || nv && = nv.startsWith(v); },=0A= '$=3D': function(nv, v) { return nv =3D=3D v || nv && = nv.endsWith(v); },=0A= '*=3D': function(nv, v) { return nv =3D=3D v || nv && nv.include(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() +=0A= '-').include('-' + (v || "").toUpperCase() + '-'); }=0A= },=0A= =0A= split: function(expression) {=0A= var expressions =3D [];=0A= expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, = function(m) {=0A= expressions.push(m[1].strip());=0A= });=0A= return expressions;=0A= },=0A= =0A= matchElements: function(elements, expression) {=0A= var matches =3D $$(expression), h =3D Selector.handlers;=0A= h.mark(matches);=0A= for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++)=0A= if (element._countedByPrototype) results.push(element);=0A= h.unmark(matches);=0A= return results;=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (Object.isNumber(expression)) {=0A= index =3D expression; expression =3D false;=0A= }=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= expressions =3D Selector.split(expressions.join(','));=0A= var results =3D [], h =3D Selector.handlers;=0A= for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A= selector =3D new Selector(expressions[i].strip());=0A= h.concat(results, selector.findElements(element));=0A= }=0A= return (l > 1) ? h.unique(results) : results;=0A= }=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(Selector.handlers, {=0A= // IE returns comment nodes on getElementsByTagName("*").=0A= // Filter them out.=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= if (node.tagName !=3D=3D "!") a.push(node);=0A= return a;=0A= },=0A= =0A= // IE improperly serializes _countedByPrototype in (inner|outer)HTML.=0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node.removeAttribute('_countedByPrototype');=0A= return nodes;=0A= }=0A= });=0A= }=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements, options) {=0A= if (typeof options !=3D 'object') options =3D { hash: !!options };=0A= else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A= var key, value, submitted =3D false, submit =3D options.submit;=0A= =0A= var data =3D elements.inject({ }, function(result, element) {=0A= if (!element.disabled && element.name) {=0A= key =3D element.name; value =3D $(element).getValue();=0A= if (value !=3D null && element.type !=3D 'file' && (element.type = !=3D 'submit' || (!submitted &&=0A= submit !=3D=3D false && (!submit || key =3D=3D submit) && = (submitted =3D true)))) {=0A= if (key in result) {=0A= // a key is already present; construct an array of values=0A= if (!Object.isArray(result[key])) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= }=0A= else result[key] =3D value;=0A= }=0A= }=0A= return result;=0A= });=0A= =0A= return options.hash ? data : Object.toQueryString(data);=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form, options) {=0A= return Form.serializeElements(Form.getElements(form), options);=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name) return $A(inputs).map(Element.extend);=0A= =0A= for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('disable');=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('enable');=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= var elements =3D $(form).getElements().findAll(function(element) {=0A= return 'hidden' !=3D element.type && !element.disabled;=0A= });=0A= var firstByIndex =3D elements.findAll(function(element) {=0A= return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A= }).sortBy(function(element) { 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.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Field =3D Form.Element;=0A= var $F =3D Form.Element.Methods.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element, value) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element, value);=0A= default:=0A= return Form.Element.Serializers.textarea(element, value);=0A= }=0A= },=0A= =0A= inputSelector: function(element, value) {=0A= if (Object.isUndefined(value)) return element.checked ? = element.value : null;=0A= else element.checked =3D !!value;=0A= },=0A= =0A= textarea: function(element, value) {=0A= if (Object.isUndefined(value)) return element.value;=0A= else element.value =3D value;=0A= },=0A= =0A= select: function(element, value) {=0A= if (Object.isUndefined(value))=0A= return this[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= else {=0A= var opt, currentValue, single =3D !Object.isArray(value);=0A= for (var i =3D 0, length =3D element.length; i < length; i++) {=0A= opt =3D element.options[i];=0A= currentValue =3D this.optionValue(opt);=0A= if (single) {=0A= if (currentValue =3D=3D value) {=0A= opt.selected =3D true;=0A= return;=0A= }=0A= }=0A= else opt.selected =3D value.include(currentValue);=0A= }=0A= }=0A= },=0A= =0A= selectOne: function(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? this.optionValue(element.options[index]) : = null;=0A= },=0A= =0A= selectMany: function(element) {=0A= var values, length =3D element.length;=0A= if (!length) return null;=0A= =0A= for (var i =3D 0, values =3D []; i < length; i++) {=0A= var opt =3D element.options[i];=0A= if (opt.selected) values.push(this.optionValue(opt));=0A= }=0A= return values;=0A= },=0A= =0A= optionValue: function(opt) {=0A= // extend element because hasAttribute may not be native=0A= return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A= initialize: function($super, element, frequency, callback) {=0A= $super(callback, frequency);=0A= this.element =3D $(element);=0A= this.lastValue =3D this.getValue();=0A= },=0A= =0A= execute: function() {=0A= var value =3D this.getValue();=0A= if (Object.isString(this.lastValue) && Object.isString(value) ?=0A= this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= });=0A= =0A= Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D Class.create({=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= Form.getElements(this.element).each(this.registerCallback, this);=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= });=0A= =0A= Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) var Event =3D { };=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= KEY_INSERT: 45,=0A= =0A= cache: { },=0A= =0A= relatedTarget: function(event) {=0A= var element;=0A= switch(event.type) {=0A= case 'mouseover': element =3D event.fromElement; break;=0A= case 'mouseout': element =3D event.toElement; break;=0A= default: return null;=0A= }=0A= return Element.extend(element);=0A= }=0A= });=0A= =0A= Event.Methods =3D (function() {=0A= var isButton;=0A= =0A= if (Prototype.Browser.IE) {=0A= var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A= isButton =3D function(event, code) {=0A= return event.button =3D=3D buttonMap[code];=0A= };=0A= =0A= } else if (Prototype.Browser.WebKit) {=0A= isButton =3D function(event, code) {=0A= switch (code) {=0A= case 0: return event.which =3D=3D 1 && !event.metaKey;=0A= case 1: return event.which =3D=3D 1 && event.metaKey;=0A= default: return false;=0A= }=0A= };=0A= =0A= } else {=0A= isButton =3D function(event, code) {=0A= return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code);=0A= };=0A= }=0A= =0A= return {=0A= isLeftClick: function(event) { 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= event =3D Event.extend(event);=0A= =0A= var node =3D event.target,=0A= type =3D event.type,=0A= currentTarget =3D event.currentTarget;=0A= =0A= if (currentTarget && currentTarget.tagName) {=0A= // Firefox screws up the "click" event when moving between radio = buttons=0A= // via arrow keys. It also screws up the "load" and "error" = events on images,=0A= // reporting the document as the target instead of the original = image.=0A= if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A= (type =3D=3D=3D 'click' && currentTarget.tagName.toLowerCase() = =3D=3D=3D 'input'=0A= && currentTarget.type =3D=3D=3D 'radio'))=0A= node =3D currentTarget;=0A= }=0A= if (node.nodeType =3D=3D Node.TEXT_NODE) node =3D node.parentNode;=0A= return Element.extend(node);=0A= },=0A= =0A= findElement: function(event, expression) {=0A= var element =3D Event.element(event);=0A= if (!expression) return element;=0A= var elements =3D [element].concat(element.ancestors());=0A= return Selector.findElement(elements, expression, 0);=0A= },=0A= =0A= pointer: function(event) {=0A= var docElement =3D document.documentElement,=0A= body =3D document.body || { scrollLeft: 0, scrollTop: 0 };=0A= return {=0A= x: event.pageX || (event.clientX +=0A= (docElement.scrollLeft || body.scrollLeft) -=0A= (docElement.clientLeft || 0)),=0A= y: event.pageY || (event.clientY +=0A= (docElement.scrollTop || body.scrollTop) -=0A= (docElement.clientTop || 0))=0A= };=0A= },=0A= =0A= pointerX: function(event) { 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._prototypeEventID) return element._prototypeEventID[0];=0A= arguments.callee.id =3D arguments.callee.id || 1;=0A= return element._prototypeEventID =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= =0A= // Internet Explorer needs to remove event handlers on page unload=0A= // in order to avoid memory leaks.=0A= if (window.attachEvent) {=0A= window.attachEvent("onunload", destroyCache);=0A= }=0A= =0A= // Safari has a dummy event handler on page unload so that it won't=0A= // use its bfcache. Safari <=3D 3.1 has an issue with restoring the = "document"=0A= // object when page is returned to via the back button using its = bfcache.=0A= if (Prototype.Browser.WebKit) {=0A= window.addEventListener('unload', Prototype.emptyFunction, false);=0A= }=0A= =0A= return {=0A= observe: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var name =3D getDOMEventName(eventName);=0A= =0A= var wrapper =3D createWrapper(element, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.addEventListener) {=0A= element.addEventListener(name, wrapper, false);=0A= } else {=0A= element.attachEvent("on" + name, wrapper);=0A= }=0A= =0A= return element;=0A= },=0A= =0A= stopObserving: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var id =3D getEventID(element), name =3D = getDOMEventName(eventName);=0A= =0A= if (!handler && eventName) {=0A= getWrappersForEventName(id, eventName).each(function(wrapper) {=0A= element.stopObserving(eventName, wrapper.handler);=0A= });=0A= return element;=0A= =0A= } else if (!eventName) {=0A= Object.keys(getCacheForID(id)).each(function(eventName) {=0A= element.stopObserving(eventName);=0A= });=0A= return element;=0A= }=0A= =0A= var wrapper =3D findWrapper(id, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, wrapper, false);=0A= } else {=0A= element.detachEvent("on" + name, wrapper);=0A= }=0A= =0A= destroyWrapper(id, eventName, handler);=0A= =0A= return element;=0A= },=0A= =0A= fire: function(element, eventName, memo) {=0A= element =3D $(element);=0A= if (element =3D=3D document && document.createEvent && = !element.dispatchEvent)=0A= element =3D document.documentElement;=0A= =0A= var event;=0A= if (document.createEvent) {=0A= event =3D document.createEvent("HTMLEvents");=0A= event.initEvent("dataavailable", true, true);=0A= } else {=0A= event =3D document.createEventObject();=0A= event.eventType =3D "ondataavailable";=0A= }=0A= =0A= event.eventName =3D eventName;=0A= event.memo =3D memo || { };=0A= =0A= if (document.createEvent) {=0A= element.dispatchEvent(event);=0A= } else {=0A= element.fireEvent(event.eventType, event);=0A= }=0A= =0A= return Event.extend(event);=0A= }=0A= };=0A= })());=0A= =0A= Object.extend(Event, Event.Methods);=0A= =0A= Element.addMethods({=0A= fire: Event.fire,=0A= observe: Event.observe,=0A= stopObserving: Event.stopObserving=0A= });=0A= =0A= Object.extend(document, {=0A= fire: Element.Methods.fire.methodize(),=0A= observe: Element.Methods.observe.methodize(),=0A= stopObserving: Element.Methods.stopObserving.methodize(),=0A= loaded: false=0A= });=0A= =0A= (function() {=0A= /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A= Matthias Miller, Dean Edwards and John Resig. */=0A= =0A= var timer;=0A= =0A= function fireContentLoadedEvent() {=0A= if (document.loaded) return;=0A= if (timer) window.clearInterval(timer);=0A= document.fire("dom:loaded");=0A= document.loaded =3D true;=0A= }=0A= =0A= if (document.addEventListener) {=0A= if (Prototype.Browser.WebKit) {=0A= timer =3D window.setInterval(function() {=0A= if (/loaded|complete/.test(document.readyState))=0A= fireContentLoadedEvent();=0A= }, 0);=0A= =0A= Event.observe(window, "load", fireContentLoadedEvent);=0A= =0A= } else {=0A= document.addEventListener("DOMContentLoaded",=0A= fireContentLoadedEvent, false);=0A= }=0A= =0A= } else {=0A= document.write("'); var ProtoProxy =3D { =20 // proxy the call to prototype's '$' function. tp_GetID: function (nodeName) {=20 var nodeResult; try { nodeResult =3D $tp_GetID(nodeName); } catch(e){ try { nodeResult =3D $(nodeName) } catch(e){} } return nodeResult; }, =20 tp_Show: function (nodeName) { try { var node =3D ProtoProxy.tp_GetID(nodeName); node.style.display=3D'' } catch(e) {} }, =20 tp_Hide: function (nodeName) { try { var node =3D ProtoProxy.tp_GetID(nodeName); node.style.display=3D'none' } catch(e) {} }, // ********************************************************* // Added this function for detecting WHEN the onload event=20 // occurs for different browser types -SMS July 9 2008 // ********************************************************* tp_registerInitHandler: function (onLoadFunction) { =20 // Moziller=20 if (document.addEventListener) { document.addEventListener("DOMContentLoaded", onLoadFunction, = false); return; } // IE=20 if (document.getElementById) { var deferScript =3D = document.getElementById("_port_start_script_"); if (deferScript) { deferScript.onreadystatechange =3D function() { if (this.readyState =3D=3D "complete") { onLoadFunction(); // Doc is loaded. Call our func } }; // Immediate check, right away... deferScript.onreadystatechange(); // Stop IE leaks=20 deferScript =3D null; } return; } // Safari=20 if (/WebKit/i.test(navigator.userAgent)) {=20 var _timer =3D setInterval(function() { =20 if (/loaded|complete/.test(document.readyState)) { =20 clearInterval(_timer); =20 onLoadFunction(); // Doc is loaded. Call our func } =20 }, 10); return; } // Other browsers=20 window.onload =3D callback; } =20 } ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/js/tabber.js /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D $Id: tabber.js,v 1.9 2006/04/27 20:51:51 pat Exp $ tabber.js by Patrick Fitzgerald pat@barelyfitz.com Documentation can be found at the following URL: http://www.barelyfitz.com/projects/tabber/ License (http://www.opensource.org/licenses/mit-license.php) Copyright (c) 2006 Patrick Fitzgerald Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= */ function tabberObj(argsObj) { var arg; /* name of an argument to override */ /* Element for the main tabber div. If you supply this in argsObj, then the init() method will be called. */ this.div =3D null; /* Class of the main tabber div */ this.classMain =3D "tabber"; /* Rename classMain to classMainLive after tabifying (so a different style can be applied) */ this.classMainLive =3D "tabberlive"; /* Class of each DIV that contains a tab */ this.classTab =3D "tabbertab"; /* Class to indicate which tab should be active on startup */ this.classTabDefault =3D "tabbertabdefault"; /* Class for the navigation UL */ this.classNav =3D "tabbernav"; /* When a tab is to be hidden, instead of setting display=3D'none', we set the class of the div to classTabHide. In your screen stylesheet you should set classTabHide to display:none. In your print stylesheet you should set display:block to ensure that all the information is printed. */ this.classTabHide =3D "tabbertabhide"; /* Class to set the navigation LI when the tab is active, so you can use a different style on the active tab. */ this.classNavActive =3D "tabberactive"; /* Elements that might contain the title for the tab, only used if a title is not specified in the TITLE attribute of DIV classTab. */ this.titleElements =3D ['h2','h3','h4','h5','h6']; /* Should we strip out the HTML from the innerHTML of the title = elements? This should usually be true. */ this.titleElementsStripHTML =3D true; /* If the user specified the tab names using a TITLE attribute on the DIV, then the browser will display a tooltip whenever the mouse is over the DIV. To prevent this tooltip, we can remove the TITLE attribute after getting the tab name. */ this.removeTitle =3D true; /* If you want to add an id to each link set this to true */ this.addLinkId =3D false; /* If addIds=3D=3Dtrue, then you can set a format for the ids. will be replaced with the id of the main tabber div. will be replaced with the tab number (tab numbers starting at zero) will be replaced with the tab number (tab numbers starting at one) will be replaced by the tab title (with all non-alphanumeric characters removed) */ this.linkIdFormat =3D 'nav'; /* You can override the defaults listed above by passing in an object: var mytab =3D new tabber({property:value,property:value}); */ for (arg in argsObj) { this[arg] =3D argsObj[arg]; } /* Create regular expressions for the class names; Note: if you change the class names after a new object is created you must also change these regular expressions. */ this.REclassMain =3D new RegExp('\\b' + this.classMain + '\\b', 'gi'); this.REclassMainLive =3D new RegExp('\\b' + this.classMainLive + = '\\b', 'gi'); this.REclassTab =3D new RegExp('\\b' + this.classTab + '\\b', 'gi'); this.REclassTabDefault =3D new RegExp('\\b' + this.classTabDefault + = '\\b', 'gi'); this.REclassTabHide =3D new RegExp('\\b' + this.classTabHide + '\\b', = 'gi'); /* Array of objects holding info about each tab */ this.tabs =3D new Array(); /* If the main tabber div was specified, call init() now */ if (this.div) { this.init(this.div); /* We don't need the main div anymore, and to prevent a memory leak in IE, we must remove the circular reference between the div and the tabber object. */ this.div =3D null; } } /*-------------------------------------------------- Methods for tabberObj --------------------------------------------------*/ tabberObj.prototype.init =3D function(e) { /* Set up the tabber interface. e =3D element (the main containing div) Example: init(document.getElementById('mytabberdiv')) */ var childNodes, /* child nodes of the tabber div */ i, i2, /* loop indices */ t, /* object to store info about a single tab */ defaultTab=3D0, /* which tab to select by default */ DOM_ul, /* tabbernav list */ DOM_li, /* tabbernav list item */ DOM_a, /* tabbernav link */ aId, /* A unique id for DOM_a */ headingElement; /* searching for text to use in the tab */ /* Verify that the browser supports DOM scripting */ if (!document.getElementsByTagName) { return false; } /* If the main DIV has an ID then save it. */ if (e.id) { this.id =3D e.id; } /* Clear the tabs array (but it should normally be empty) */ this.tabs.length =3D 0; /* Loop through an array of all the child nodes within our tabber = element. */ childNodes =3D e.childNodes; for(i=3D0; i < childNodes.length; i++) { /* Find the nodes where class=3D"tabbertab" */ if(childNodes[i].className && childNodes[i].className.match(this.REclassTab)) { =20 /* Create a new object to save info about this tab */ t =3D new Object(); =20 /* Save a pointer to the div for this tab */ t.div =3D childNodes[i]; =20 /* Add the new object to the array of tabs */ this.tabs[this.tabs.length] =3D t; /* If the class name contains classTabDefault, then select this tab by default. */ if (childNodes[i].className.match(this.REclassTabDefault)) { defaultTab =3D this.tabs.length-1; } } } /* Create a new UL list to hold the tab headings */ DOM_ul =3D document.createElement("ul"); DOM_ul.className =3D this.classNav; =20 /* Loop through each tab we found */ for (i=3D0; i < this.tabs.length; i++) { t =3D this.tabs[i]; /* Get the label to use for this tab: From the title attribute on the DIV, Or from one of the this.titleElements[] elements, Or use an automatically generated number. */ t.headingText =3D t.div.title; /* Remove the title attribute to prevent a tooltip from appearing */ if (this.removeTitle) { t.div.title =3D ''; } if (!t.headingText) { /* Title was not defined in the title of the DIV, So try to get the title from an element within the DIV. Go through the list of elements in this.titleElements (typically heading elements ['h2','h3','h4']) */ for (i2=3D0; i2/gi," "); t.headingText =3D t.headingText.replace(/<[^>]+>/g,""); } break; } } } if (!t.headingText) { /* Title was not found (or is blank) so automatically generate a number for the tab. */ t.headingText =3D i + 1; } /* Create a list element for the tab */ DOM_li =3D document.createElement("li"); /* Save a reference to this list item so we can later change it to the "active" class */ t.li =3D DOM_li; /* Create a link to activate the tab */ DOM_a =3D document.createElement("a"); DOM_a.appendChild(document.createTextNode(t.headingText)); DOM_a.href =3D "javascript:void(null);"; DOM_a.title =3D t.headingText; DOM_a.onclick =3D this.navClick; /* Add some properties to the link so we can identify which tab was clicked. Later the navClick method will need this. */ DOM_a.tabber =3D this; DOM_a.tabberIndex =3D i; /* Do we need to add an id to DOM_a? */ if (this.addLinkId && this.linkIdFormat) { /* Determine the id name */ aId =3D this.linkIdFormat; aId =3D aId.replace(//gi, this.id); aId =3D aId.replace(//gi, i); aId =3D aId.replace(//gi, i+1); aId =3D aId.replace(//gi, = t.headingText.replace(/[^a-zA-Z0-9\-]/gi, '')); DOM_a.id =3D aId; } /* Add the link to the list element */ DOM_li.appendChild(DOM_a); /* Add the list element to the list */ DOM_ul.appendChild(DOM_li); } /* Add the UL list to the beginning of the tabber div */ e.insertBefore(DOM_ul, e.firstChild); /* Make the tabber div "live" so different CSS can be applied */ e.className =3D e.className.replace(this.REclassMain, = this.classMainLive); /* Activate the default tab, and do not call the onclick handler */ this.tabShow(defaultTab); /* If the user specified an onLoad function, call it now. */ if (typeof this.onLoad =3D=3D 'function') { this.onLoad({tabber:this}); } return this; }; tabberObj.prototype.navClick =3D function(event) { /* This method should only be called by the onClick event of an element, in which case we will determine which tab was clicked by examining a property that we previously attached to the element. Since this was triggered from an onClick event, the variable "this" refers to the element that triggered the onClick event (and not to the tabberObj). When tabberObj was initialized, we added some extra properties to the element, for the purpose of retrieving them now. Get the tabberObj object, plus the tab number that was clicked. */ var rVal, /* Return value from the user onclick function */ a, /* element that triggered the onclick event */ self, /* the tabber object */ tabberIndex, /* index of the tab that triggered the event */ onClickArgs; /* args to send the onclick function */ a =3D this; if (!a.tabber) { return false; } self =3D a.tabber; tabberIndex =3D a.tabberIndex; /* Remove focus from the link because it looks ugly. I don't know if this is a good idea... */ a.blur(); /* If the user specified an onClick function, call it now. If the function returns false then do not continue. */ if (typeof self.onClick =3D=3D 'function') { onClickArgs =3D {'tabber':self, 'index':tabberIndex, 'event':event}; /* IE uses a different way to access the event object */ if (!event) { onClickArgs.event =3D window.event; } rVal =3D self.onClick(onClickArgs); if (rVal =3D=3D=3D false) { return false; } } self.tabShow(tabberIndex); return false; }; tabberObj.prototype.tabHideAll =3D function() { var i; /* counter */ /* Hide all tabs and make all navigation links inactive */ for (i =3D 0; i < this.tabs.length; i++) { this.tabHide(i); } }; tabberObj.prototype.tabHide =3D function(tabberIndex) { var div; if (!this.tabs[tabberIndex]) { return false; } /* Hide a single tab and make its navigation link inactive */ div =3D this.tabs[tabberIndex].div; /* Hide the tab contents by adding classTabHide to the div */ if (!div.className.match(this.REclassTabHide)) { div.className +=3D ' ' + this.classTabHide; } this.navClearActive(tabberIndex); return this; }; tabberObj.prototype.tabShow =3D function(tabberIndex) { /* Show the tabberIndex tab and hide all the other tabs */ var div; if (!this.tabs[tabberIndex]) { return false; } /* Hide all the tabs first */ this.tabHideAll(); /* Get the div that holds this tab */ div =3D this.tabs[tabberIndex].div; /* Remove classTabHide from the div */ div.className =3D div.className.replace(this.REclassTabHide, ''); /* Mark this tab navigation link as "active" */ this.navSetActive(tabberIndex); /* If the user specified an onTabDisplay function, call it now. */ if (typeof this.onTabDisplay =3D=3D 'function') { this.onTabDisplay({'tabber':this, 'index':tabberIndex}); } return this; }; tabberObj.prototype.navSetActive =3D function(tabberIndex) { /* Note: this method does *not* enforce the rule that only one nav item can be active at a time. */ /* Set classNavActive for the navigation list item */ this.tabs[tabberIndex].li.className =3D this.classNavActive; return this; }; tabberObj.prototype.navClearActive =3D function(tabberIndex) { /* Note: this method does *not* enforce the rule that one nav should always be active. */ /* Remove classNavActive from the navigation list item */ this.tabs[tabberIndex].li.className =3D ''; return this; }; /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D*/ function tabberAutomatic(tabberArgs) { /* This function finds all DIV elements in the document where class=3Dtabber.classMain, then converts them to use the tabber interface. tabberArgs =3D an object to send to "new tabber()" */ var tempObj, /* Temporary tabber object */ divs, /* Array of all divs on the page */ i; /* Loop index */ if (!tabberArgs) { tabberArgs =3D {}; } /* Create a tabber object so we can get the value of classMain */ tempObj =3D new tabberObj(tabberArgs); /* Find all DIV elements in the document that have class=3Dtabber */ /* First get an array of all DIV elements and loop through them */ divs =3D document.getElementsByTagName("div"); for (i=3D0; i < divs.length; i++) { =20 /* Is this DIV the correct class? */ if (divs[i].className && divs[i].className.match(tempObj.REclassMain)) { =20 /* Now tabify the DIV */ tabberArgs.div =3D divs[i]; divs[i].tabber =3D new tabberObj(tabberArgs); } } =20 return this; } /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D*/ function tabberAutomaticOnLoad(tabberArgs) { /* This function adds tabberAutomatic to the window.onload event, so it will run after the document has finished loading. */ var oldOnLoad; if (!tabberArgs) { tabberArgs =3D {}; } /* Taken from: = http://simon.incutio.com/archive/2004/05/26/addLoadEvent */ oldOnLoad =3D window.onload; if (typeof window.onload !=3D 'function') { window.onload =3D function() { tabberAutomatic(tabberArgs); }; } else { window.onload =3D function() { oldOnLoad(); tabberAutomatic(tabberArgs); }; } } /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D*/ /* Run tabberAutomaticOnload() unless the "manualStartup" option was = specified */ if (typeof tabberOptions =3D=3D 'undefined') { tabberAutomaticOnLoad(); } else { if (!tabberOptions['manualStartup']) { tabberAutomaticOnLoad(tabberOptions); } } ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/js/dynamic.js // JavaScript Document /*********************************************** * DD Tab Menu script- =A9 Dynamic Drive DHTML code library = (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source = code ***********************************************/ //Set tab to intially be selected when page loads: //[which tab (1=3Dfirst tab), ID of tab content to display (or "" if no = corresponding tab content)]: var initialtab=3D[1, "sc1"] //Turn menu into single level image tabs (completely hides 2nd level)? var turntosingle=3D0 //0 for no (default), 1 for yes //Disable hyperlinks in 1st level tab images? var disabletablinks=3D0 //0 for no (default), 1 for yes ////////Stop editting//////////////// var previoustab=3D"" if (turntosingle=3D=3D1) document.write('') function expandcontent(cid, aobject){ if (disabletablinks=3D=3D1) aobject.onclick=3Dnew Function("return false") if (document.getElementById && turntosingle=3D=3D0){ highlighttab(aobject) if (previoustab!=3D"") document.getElementById(previoustab).style.display=3D"none" if (cid!=3D""){ document.getElementById(cid).style.display=3D"block" previoustab=3Dcid } } } function highlighttab(aobject){ if (typeof tabobjlinks=3D=3D"undefined") collectddtabs() for (i=3D0; i 14) {fontSize =3D 14}=0A= var toggle =3D eval(pre + 'storytext' + post);=0A= toggle.fontSize=3D fontSize+"pt";=0A= =0A= }=0A= function eventFaceSmaller() {=0A= fontSize =3D fontSize-1;=0A= if (fontSize < 8) {fontSize =3D 8}=0A= var toggle =3D eval(pre + 'storytext' + post);=0A= toggle.fontSize=3D fontSize+"pt";=0A= }=0A= =0A= // --> =0A= ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/s_code.js /* SiteCatalyst code version: H.7.=0A= Copyright 1997-2006 Omniture, Inc. More info available at=0A= http://www.omniture.com */=0A= /* Specify the Report Suite ID(s) to track here */=0A= var s_account=3D"lee-journaltimescom"=0A= var s=3Ds_gi(s_account)=0A= /************************** CONFIG SECTION **************************/=0A= /* You may add or alter any code config here. */=0A= /* E-commerce Config */=0A= s.currencyCode=3D"USD"=0A= /* Link Tracking Config */=0A= s.trackDownloadLinks=3Dtrue=0A= s.trackExternalLinks=3Dtrue=0A= s.trackInlineStats=3Dtrue=0A= s.linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls"=0A= s.linkInternalFilters=3D"javascript:,."=0A= s.linkLeaveQueryString=3Dfalse=0A= s.linkTrackVars=3D"None"=0A= s.linkTrackEvents=3D"None"=0A= =0A= /* WARNING: Changing the visitor namespace will cause drastic changes=0A= to how your visitor data is collected. Changes should only be made=0A= when instructed to do so by your account manager.*/=0A= s.visitorNamespace=3D"leeenterprises"=0A= =0A= /* Plugin Config */=0A= s.usePlugins=3Dtrue=0A= function s_doPlugins(s) {=0A= /* Add calls to plugins here */=0A= =0A= /* Plugin Example: getQueryParam v2.0=0A= s.campaign=3Ds.getQueryParam('cid')=0A= */=0A= =0A= /* Plugin Example: getValOnce v0.2=0A= s.campaign=3Ds.getValOnce(s.campaign,"s_campaign",0)=0A= */=0A= =0A= }=0A= s.doPlugins=3Ds_doPlugins=0A= =0A= /************************** PLUGINS SECTION *************************/=0A= /*=0A= * Plugin: getQueryParam 2.0 - return query string parameter(s)=0A= */=0A= s.getQueryParam=3Dnew Function("p","d","u",""=0A= +"var = s=3Dthis,v=3D'',i,t;d=3Dd?d:'';u=3Du?u:(s.pageURL?s.pageURL:''+s.wd.loc"=0A= +"ation);u=3Du=3D=3D'f'?''+s.gtfs().location:u;while(p){i=3Dp.indexOf(','= );i=3D"=0A= +"i<0?p.length:i;t=3Ds.p_gpv(p.substring(0,i),u);if(t)v+=3Dv?d+t:t;p=3Dp.= su"=0A= +"bstring(i=3D=3Dp.length?i:i+1)}return v");=0A= s.p_gpv=3Dnew Function("k","u",""=0A= +"var = s=3Dthis,v=3D'',i=3Du.indexOf('?'),q;if(k&&i>-1){q=3Du.substring(i+1);v"=0A= +"=3Ds.pt(q,'&','p_gvf',k)}return v");=0A= s.p_gvf=3Dnew Function("t","k",""=0A= +"if(t){var = s=3Dthis,i=3Dt.indexOf('=3D'),p=3Di<0?t:t.substring(0,i),v=3Di<0?'T"=0A= +"rue':t.substring(i+1);if(p.toLowerCase()=3D=3Dk.toLowerCase())return = s."=0A= +"epa(v)}return ''");=0A= /*=0A= * Plugin: getValOnce 0.2 - get a value once per session or number of = days=0A= */=0A= s.getValOnce=3Dnew Function("v","c","e",""=0A= +"var s=3Dthis,k=3Ds.c_r(c),a=3Dnew = Date;e=3De?e:0;if(v){a.setTime(a.getTime("=0A= +")+e*86400000);s.c_w(c,v,e?a:0);}return v=3D=3Dk?'':v");=0A= =0A= /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/=0A= var s_objectID;function s_c2fe(f){var x=3D'',s=3D0,e,a,b,c;while(1){e=3D=0A= f.indexOf('"',s);b=3Df.indexOf('\\',s);c=3Df.indexOf("\n",s);if(e<0||(b>=3D=0A= 0&&b=3D0&&c=3D0){x+=3D(e>s?f.substrin= g(s,e):=0A= '')+(e=3D=3Dc?'\\n':'\\'+f.substring(e,e+1));s=3De+1}else return x=0A= +f.substring(s)}return f}function s_c2fa(f){var s=3Df.indexOf('(')+1,e=3D=0A= f.indexOf(')'),a=3D'',c;while(s>=3D0&&s=3D0){d=3D1;q=3D'';x=3D0;f=3Dc.substring(s)= ;a=3D=0A= s_c2fa(f);e=3Do=3Dc.indexOf('{',s);e++;while(d>0){h=3Dc.substring(e,e+1);= if(=0A= q){if(h=3D=3Dq&&!x)q=3D'';if(h=3D=3D'\\')x=3Dx?0:1;else = x=3D0}else{if(h=3D=3D'"'||h=3D=3D"'"=0A= )q=3Dh;if(h=3D=3D'{')d++;if(h=3D=3D'}')d--}if(d>0)e++}c=3Dc.substring(0,s= )=0A= +'new Function('+(a?a+',':'')+'"'+s_c2fe(c.substring(o+1,e))+'")'=0A= +c.substring(e+1);s=3Dc.indexOf('function')}fc+=3Ds_c2fe(c)+';return = s");'=0A= eval(fc);return f}function s_gi(un,pg,ss){var c=3D"function s_c(un,pg,s"=0A= +"s){var s=3Dthis;s.wd=3Dwindow;if(!s.wd.s_c_in){s.wd.s_c_il=3Dnew = Array;s."=0A= +"wd.s_c_in=3D0;}s._il=3Ds.wd.s_c_il;s._in=3Ds.wd.s_c_in;s._il[s._in]=3Ds= ;s.w"=0A= +"d.s_c_in++;s.m=3Dfunction(m){return = (''+m).indexOf('{')<0};s.fl=3Dfunct"=0A= +"ion(x,l){return x?(''+x).substring(0,l):x};s.co=3Dfunction(o){if(!o)r"=0A= +"eturn o;var n=3Dnew Object,x;for(x in o)if(x.indexOf('select')<0&&x.i"=0A= +"ndexOf('filter')<0)n[x]=3Do[x];return = n};s.num=3Dfunction(x){x=3D''+x;for"=0A= +"(var p=3D0;p0?n.length:1;while(x&&i>=3D0){x=3Dx.substring(0,i)+n+x.substri= "=0A= +"ng(i+o.length);i=3Dx.indexOf(o,i+l)}return x};s.ape=3Dfunction(x){var = s"=0A= +"=3Dthis,i;x=3Dx?s.rep(escape(''+x),'+','%2B'):x;if(x&&s.charSet&&s.em=3D= =3D"=0A= +"1&&x.indexOf('%u')<0&&x.indexOf('%U')<0){i=3Dx.indexOf('%');while(i>=3D= "=0A= +"0){i++;if(('89ABCDEFabcdef').indexOf(x.substring(i,i+1))>=3D0)return "=0A= +"x.substring(0,i)+'u00'+x.substring(i);i=3Dx.indexOf('%',i)}}return x}"=0A= +";s.epa=3Dfunction(x){var s=3Dthis;return x?unescape(s.rep(''+x,'+',' = ')"=0A= +"):x};s.pt=3Dfunction(x,d,f,a){var = s=3Dthis,t=3Dx,z=3D0,y,r;while(t){y=3Dt.ind"=0A= +"exOf(d);y=3Dy<0?t.length:y;t=3Dt.substring(0,y);r=3Ds.m(f)?s[f](t,a):f(= t,"=0A= +"a);if(r)return = r;z+=3Dy+d.length;t=3Dx.substring(z,x.length);t=3Dz=3D0"=0A= +")a=3Da.substring(0,c);if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(2);= retu"=0A= +"rn (t!=3D''&&t=3D=3Da)};s.fsf=3Dfunction(t,a){var = s=3Dthis;if(s.pt(a,',','isf"=0A= +"',t))s.fsg+=3D(s.fsg!=3D''?',':'')+t;return = 0};s.fs=3Dfunction(x,f){var s"=0A= +"=3Dthis;s.fsg=3D'';s.pt(x,',','fsf',f);return = s.fsg};s.c_d=3D'';s.c_gdf=3Df"=0A= +"unction(t,a){var s=3Dthis;if(!s.num(t))return 1;return = 0};s.c_gd=3Dfunc"=0A= +"tion(){var = s=3Dthis,d=3Ds.wd.location.hostname,n=3Ds.fpCookieDomainPeriod"=0A= +"s,p;if(!n)n=3Ds.cookieDomainPeriods;if(d&&!s.c_d){n=3Dn?parseInt(n):2;n= "=0A= +"=3Dn>2?n:2;p=3Dd.lastIndexOf('.');if(p>=3D0){while(p>=3D0&&n>1){p=3Dd.l= astInd"=0A= +"exOf('.',p-1);n--}s.c_d=3Dp>0&&s.pt(d,'.','c_gdf',0)?d.substring(p):d"=0A= +"}}return s.c_d};s.c_r=3Dfunction(k){var s=3Dthis;k=3Ds.ape(k);var = c=3D' '+s"=0A= +".d.cookie,i=3Dc.indexOf(' = '+k+'=3D'),e=3Di<0?i:c.indexOf(';',i),v=3Di<0?'':"=0A= +"s.epa(c.substring(i+2+k.length,e<0?c.length:e));return v!=3D'[[B]]'?v"=0A= +":''};s.c_w=3Dfunction(k,v,e){var = s=3Dthis,d=3Ds.c_gd(),l=3Ds.cookieLifetime"=0A= +",t;v=3D''+v;l=3Dl?(''+l).toUpperCase():'';if(e&&l!=3D'SESSION'&&l!=3D'N= ONE'"=0A= +"){t=3D(v!=3D''?parseInt(l?l:0):-60);if(t){e=3Dnew = Date;e.setTime(e.getTim"=0A= +"e()+(t*1000))}}if(k&&l!=3D'NONE'){s.d.cookie=3Dk+'=3D'+s.ape(v!=3D''?v:= '[[B"=0A= +"]]')+'; path=3D/;'+(e&&l!=3D'SESSION'?' = expires=3D'+e.toGMTString()+';':'"=0A= +"')+(d?' domain=3D'+d+';':'');return s.c_r(k)=3D=3Dv}return = 0};s.eh=3Dfuncti"=0A= +"on(o,e,r,f){var = s=3Dthis,b=3D's_'+e+'_'+s._in,n=3D-1,l,i,x;if(!s.ehl)s.eh"=0A= +"l=3Dnew = Array;l=3Ds.ehl;for(i=3D0;i=3D5&&(!s.isopera||"=0A= +"s.apv>=3D7))eval('try{r=3Ds.m(f)?s[f](a):f(a)}catch(e){r=3Ds.m(t)?s[t](= e)"=0A= +":t(e)}');else{if(s.ismac&&s.u.indexOf('MSIE = 4')>=3D0)r=3Ds.m(b)?s[b](a)"=0A= +":b(a);else{s.eh(s.wd,'onerror',0,o);r=3Ds.m(f)?s[f](a):f(a);s.eh(s.wd"=0A= +",'onerror',1)}}return r};s.gtfset=3Dfunction(e){var s=3Dthis;return = s.t"=0A= +"fs};s.gtfsoe=3Dnew Function('e','var = s=3Ds_c_il['+s._in+'];s.eh(window,"=0A= +"\"onerror\",1);s.etfs=3D1;var = c=3Ds.t();if(c)s.d.write(c);s.etfs=3D0;retu"=0A= +"rn true');s.gtfsfb=3Dfunction(a){return = window};s.gtfsf=3Dfunction(w){v"=0A= +"ar = s=3Dthis,p=3Dw.parent,l=3Dw.location;s.tfs=3Dw;if(p&&p.location!=3Dl&&p.l= o"=0A= +"cation.host=3D=3Dl.host){s.tfs=3Dp;return s.gtfsf(s.tfs)}return = s.tfs};s."=0A= +"gtfs=3Dfunction(){var = s=3Dthis;if(!s.tfs){s.tfs=3Ds.wd;if(!s.etfs)s.tfs=3Ds"=0A= +".cet('gtfsf',s.tfs,'gtfset',s.gtfsoe,'gtfsfb')}return s.tfs};s.ca=3Df"=0A= +"unction(){var = s=3Dthis,imn=3D's_i_'+s.fun;if(s.d.images&&s.apv>=3D3&&(!s."=0A= +"isopera||s.apv>=3D7)&&(s.ns6<0||s.apv>=3D6.1)){s.ios=3D1;if(!s.d.images= [i"=0A= +"mn]&&(!s.isns||(s.apv<4||s.apv>=3D5))){s.d.write('');if(!s.d.images[imn])s.i"=0A= +"os=3D0}}};s.mr=3Dfunction(sess,q,ta){var = s=3Dthis,ns=3Ds.visitorNamespace,u"=0A= +"nc=3Ds.rep(s.fun,'_','-'),imn=3D's_i_'+s.fun,im,b,e,rs=3D'http'+(s.ssl?= 's"=0A= +"':'')+'://'+(ns?ns:(s.ssl?'102':unc))+'.112.2O7.net/b/ss/'+s.un+'/1"=0A= +"/H.7-pdv-2/'+sess+'?[AQB]&ndh=3D1'+(q?q:'')+(s.q?s.q:'')+'&[AQE]';if("=0A= +"s.isie&&!s.ismac){if(s.apv>5.5)rs=3Ds.fl(rs,4095);else = rs=3Ds.fl(rs,204"=0A= +"7)}if(s.ios||s.ss){if (!s.ss)s.ca();im=3Ds.wd[imn]?s.wd[imn]:s.d.imag"=0A= +"es[imn];if(!im)im=3Ds.wd[imn]=3Dnew = Image;im.src=3Drs;if(rs.indexOf('&pe=3D"=0A= +"')>=3D0&&(!ta||ta=3D=3D'_self'||ta=3D=3D'_top'||(s.wd.name&&ta=3D=3Ds.w= d.name))){"=0A= +"b=3De=3Dnew Date;while(e.getTime()-b.getTime()<500)e=3Dnew Date}return = ''"=0A= +"}return ''};s.gg=3Dfunction(v){var s=3Dthis;return = s.wd['s_'+v]};s.glf=3Dfuncti"=0A= +"on(t,a){if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(2);var = s=3Dthis,v=3Ds.g"=0A= +"g(t);if(v)s[t]=3Dv};s.gl=3Dfunction(v){var = s=3Dthis;s.pt(v,',','glf',0)};"=0A= +"s.gv=3Dfunction(v){var s=3Dthis;return = s['vpm_'+v]?s['vpv_'+v]:(s[v]?s["=0A= +"v]:'')};s.havf=3Dfunction(t,a){var = s=3Dthis,b=3Dt.substring(0,4),x=3Dt.subs"=0A= +"tring(4),n=3DparseInt(x),k=3D'g_'+t,m=3D'vpm_'+t,q=3Dt,v=3Ds.linkTrackV= ars,e=3D"=0A= +"s.linkTrackEvents;s[k]=3Ds.gv(t);if(s.lnk||s.eo){v=3Dv?v+','+s.vl_l:'';= "=0A= +"if(v&&!s.pt(v,',','isf',t))s[k]=3D'';if(t=3D=3D'events'&&e)s[k]=3Ds.fs(= s[k]"=0A= +",e)}s[m]=3D0;if(t=3D=3D'pageURL')q=3D'g';else = if(t=3D=3D'referrer')q=3D'r';else i"=0A= +"f(t=3D=3D'vmk')q=3D'vmt';else = if(t=3D=3D'charSet'){q=3D'ce';if(s[k]&&s.em=3D=3D2)s["=0A= +"k]=3D'UTF-8'}else if(t=3D=3D'visitorNamespace')q=3D'ns';else = if(t=3D=3D'cookieD"=0A= +"omainPeriods')q=3D'cdp';else if(t=3D=3D'cookieLifetime')q=3D'cl';else = if(t=3D"=0A= +"=3D'variableProvider')q=3D'vvp';else = if(t=3D=3D'currencyCode')q=3D'cc';else i"=0A= +"f(t=3D=3D'channel')q=3D'ch';else if(t=3D=3D'campaign')q=3D'v0';else = if(s.num(x)"=0A= +") {if(b=3D=3D'prop')q=3D'c'+n;else if(b=3D=3D'eVar')q=3D'v'+n;else = if(b=3D=3D'hier'"=0A= +"){q=3D'h'+n;s[k]=3Ds.fl(s[k],255)}}if(s[k]&&t!=3D'linkName'&&t!=3D'link= Type"=0A= +"')s.qav+=3D'&'+q+'=3D'+s.ape(s[k]);return ''};s.hav=3Dfunction(){var = s=3Dth"=0A= +"is;s.qav=3D'';s.pt(s.vl_t,',','havf',0);return = s.qav};s.lnf=3Dfunction("=0A= +"t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLowerCase():'';var = te=3Dt.indexOf"=0A= +"('=3D');if(t&&te>0&&h.indexOf(t.substring(te+1))>=3D0)return = t.substrin"=0A= +"g(0,te);return ''};s.ln=3Dfunction(h){var = s=3Dthis,n=3Ds.linkNames;if(n)r"=0A= +"eturn s.pt(n,',','lnf',h);return = ''};s.ltdf=3Dfunction(t,h){t=3Dt?t.toL"=0A= +"owerCase():'';h=3Dh?h.toLowerCase():'';var = qi=3Dh.indexOf('?');h=3Dqi>=3D0?"=0A= +"h.substring(0,qi):h;if(t&&h.substring(h.length-(t.length+1))=3D=3D'.'+t= "=0A= +")return 1;return = 0};s.ltef=3Dfunction(t,h){t=3Dt?t.toLowerCase():'';h=3Dh"=0A= +"?h.toLowerCase():'';if(t&&h.indexOf(t)>=3D0)return 1;return = 0};s.lt=3Df"=0A= +"unction(h){var = s=3Dthis,lft=3Ds.linkDownloadFileTypes,lef=3Ds.linkExterna"=0A= +"lFilters,lif=3Ds.linkInternalFilters;lif=3Dlif?lif:s.wd.location.hostna= "=0A= +"me;h=3Dh.toLowerCase();if(s.trackDownloadLinks&&lft&&s.pt(lft,',','lt"=0A= +"df',h))return 'd';if(s.trackExternalLinks&&(lef||lif)&&(!lef||s.pt("=0A= +"lef,',','ltef',h))&&(!lif||!s.pt(lif,',','ltef',h)))return 'e';retu"=0A= +"rn ''};s.lc=3Dnew Function('e','var = s=3Ds_c_il['+s._in+'],b=3Ds.eh(this,"=0A= +"\"onclick\");s.lnk=3Ds.co(this);s.t();s.lnk=3D0;if(b)return = this[b](e);"=0A= +"return true');s.bc=3Dnew Function('e','var = s=3Ds_c_il['+s._in+'],f;if(s"=0A= +".d&&s.d.all&&s.d.all.cppXYctnr)return;s.eo=3De.srcElement?e.srcElemen"=0A= +"t:e.target;eval(\"try{if(s.eo&&(s.eo.tagName||s.eo.parentElement||s"=0A= +".eo.parentNode))s.t()}catch(f){}\");s.eo=3D0');s.ot=3Dfunction(o){var = a"=0A= +"=3Do.type,b=3Do.tagName;return = (a&&a.toUpperCase?a:b&&b.toUpperCase?b:o"=0A= +".href?'A':'').toUpperCase()};s.oid=3Dfunction(o){var = s=3Dthis,t=3Ds.ot(o)"=0A= +",p=3Do.protocol,c=3Do.onclick,n=3D'',x=3D0;if(!o.s_oid){if(o.href&&(t=3D= =3D'A'|"=0A= +"|t=3D=3D'AREA')&&(!c||!p||p.toLowerCase().indexOf('javascript')<0))n=3D= o."=0A= +"href;else if(c){n=3Ds.rep(s.rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\","=0A= +"''),\"\\t\",''),' ','');x=3D2}else = if(o.value&&(t=3D=3D'INPUT'||t=3D=3D'SUBMI"=0A= +"T')){n=3Do.value;x=3D3}else = if(o.src&&t=3D=3D'IMAGE')n=3Do.src;if(n){o.s_oid=3D"=0A= +"s.fl(n,100);o.s_oidt=3Dx}}return o.s_oid};s.rqf=3Dfunction(t,un){var = s=3D"=0A= +"this,e=3Dt.indexOf('=3D'),u=3De>=3D0?','+t.substring(0,e)+',':'';return= u&&"=0A= +"u.indexOf(','+un+',')>=3D0?s.epa(t.substring(e+1)):''};s.rq=3Dfunction(= "=0A= +"un){var = s=3Dthis,c=3Dun.indexOf(','),v=3Ds.c_r('s_sq'),q=3D'';if(c<0)return"=0A= +" s.pt(v,'&','rqf',un);return s.pt(un,',','rq',0)};s.sqp=3Dfunction(t,"=0A= +"a){var = s=3Dthis,e=3Dt.indexOf('=3D'),q=3De<0?'':s.epa(t.substring(e+1));s.s"=0A= +"qq[q]=3D'';if(e>=3D0)s.pt(t.substring(0,e),',','sqs',q);return = 0};s.sqs"=0A= +"=3Dfunction(un,q){var s=3Dthis;s.squ[un]=3Dq;return = 0};s.sq=3Dfunction(q){v"=0A= +"ar s=3Dthis,k=3D's_sq',v=3Ds.c_r(k),x,c=3D0;s.sqq=3Dnew = Object;s.squ=3Dnew Obje"=0A= +"ct;s.sqq[q]=3D'';s.pt(v,'&','sqp',0);s.pt(s.un,',','sqs',q);v=3D'';for(= "=0A= +"x in s.squ)s.sqq[s.squ[x]]+=3D(s.sqq[s.squ[x]]?',':'')+x;for(x in s.s"=0A= +"qq)if(x&&s.sqq[x]&&(x=3D=3Dq||c<2)){v+=3D(v?'&':'')+s.sqq[x]+'=3D'+s.ap= e(x)"=0A= +";c++}return s.c_w(k,v,0)};s.wdl=3Dnew Function('e','var = s=3Ds_c_il['+s."=0A= +"_in+'],r=3Dtrue,b=3Ds.eh(s.wd,\"onload\"),i,o,oc;if(b)r=3Dthis[b](e);fo= r("=0A= +"i=3D0;i=3D0)&&o"=0A= +"c.indexOf(\".tl(\")<0)s.eh(o,\"onclick\",0,s.lc);}return r');s.wds=3D"=0A= +"function(){var = s=3Dthis;if(s.apv>3&&(!s.isie||!s.ismac||s.apv>=3D5)){if"=0A= +"(s.b&&s.b.attachEvent)s.b.attachEvent('onclick',s.bc);else if(s.b&&"=0A= +"s.b.addEventListener)s.b.addEventListener('click',s.bc,false);else "=0A= +"s.eh(s.wd,'onload',0,s.wdl)}};s.vs=3Dfunction(x){var = s=3Dthis,v=3Ds.visit"=0A= +"orSampling,g=3Ds.visitorSamplingGroup,k=3D's_vsn_'+s.un+(g?'_'+g:''),n=3D= "=0A= +"s.c_r(k),e=3Dnew = Date,y=3De.getYear();e.setYear(y+10+(y<1900?1900:0));i"=0A= +"f(v){v*=3D100;if(!n){if(!s.c_w(k,x,e))return = 0;n=3Dx}if(n%10000>v)retur"=0A= +"n 0}return = 1};s.dyasmf=3Dfunction(t,m){if(t&&m&&m.indexOf(t)>=3D0)retur"=0A= +"n 1;return 0};s.dyasf=3Dfunction(t,m){var = s=3Dthis,i=3Dt?t.indexOf('=3D'):-"=0A= +"1,n,x;if(i>=3D0&&m){var = n=3Dt.substring(0,i),x=3Dt.substring(i+1);if(s.pt"=0A= +"(x,',','dyasmf',m))return n}return 0};s.uns=3Dfunction(){var = s=3Dthis,x"=0A= +"=3Ds.dynamicAccountSelection,l=3Ds.dynamicAccountList,m=3Ds.dynamicAcco= un"=0A= +"tMatch,n,i;s.un.toLowerCase();if(x&&l){if(!m)m=3Ds.wd.location.host;i"=0A= +"f(!m.toLowerCase)m=3D''+m;l=3Dl.toLowerCase();m=3Dm.toLowerCase();n=3Ds= .pt("=0A= +"l,';','dyasf',m);if(n)s.un=3Dn}i=3Ds.un.indexOf(',');s.fun=3Di<0?s.un:s= .u"=0A= +"n.substring(0,i)};s.t=3Dfunction(){var s=3Dthis,trk=3D1,tm=3Dnew = Date,sed=3DM"=0A= +"ath&&Math.random?Math.floor(Math.random()*10000000000000):tm.getTim"=0A= +"e(),sess=3D's'+Math.floor(tm.getTime()/10800000)%10+sed,yr=3Dtm.getYear= "=0A= +"(),vt=3Dtm.getDate()+'/'+tm.getMonth()+'/'+(yr<1900?yr+1900:yr)+' '+t"=0A= +"m.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' '+tm.getDay("=0A= +")+' = '+tm.getTimezoneOffset(),tfs=3Ds.gtfs(),ta=3D'',q=3D'',qs=3D'';s.uns();"=0A= +"if(!s.q){var = tl=3Dtfs.location,x=3D'',c=3D'',v=3D'',p=3D'',bw=3D'',bh=3D'',j=3D'1.0"=0A= +"',k=3Ds.c_w('s_cc','true',0)?'Y':'N',hp=3D'',ct=3D'',pn=3D0,ps;if(s.apv= >=3D4)"=0A= +"x=3Dscreen.width+'x'+screen.height;if(s.isns||s.isopera){if(s.apv>=3D3)= "=0A= +"{j=3D'1.1';v=3Ds.n.javaEnabled()?'Y':'N';if(s.apv>=3D4){j=3D'1.2';c=3Ds= creen."=0A= +"pixelDepth;bw=3Ds.wd.innerWidth;bh=3Ds.wd.innerHeight;if(s.apv>=3D4.06)= j=3D"=0A= +"'1.3'}}s.pl=3Ds.n.plugins}else = if(s.isie){if(s.apv>=3D4){v=3Ds.n.javaEnab"=0A= +"led()?'Y':'N';j=3D'1.2';c=3Dscreen.colorDepth;if(s.apv>=3D5){bw=3Ds.d.d= ocum"=0A= +"entElement.offsetWidth;bh=3Ds.d.documentElement.offsetHeight;j=3D'1.3';= "=0A= +"if(!s.ismac&&s.b){s.b.addBehavior('#default#homePage');hp=3Ds.b.isHom"=0A= +"ePage(tl)?\"Y\":\"N\";s.b.addBehavior('#default#clientCaps');ct=3Ds.b"=0A= +".connectionType}}}else r=3D''}if(s.pl)while(pn=3D0&&oc.inde= "=0A= +"xOf(\".s_oc(\")<0)||oc.indexOf(\".tl(\")>=3D0)return = ''}ta=3Dn?o.target"=0A= +":1;h=3Do.href?o.href:'';i=3Dh.indexOf('?');h=3Ds.linkLeaveQueryString||= i<"=0A= +"0?h:h.substring(0,i);l=3Ds.linkName?s.linkName:s.ln(h);t=3Ds.linkType?s= "=0A= +".linkType.toLowerCase():s.lt(h);if(t&&(h||l))q+=3D'&pe=3Dlnk_'+(t=3D=3D= 'd'|"=0A= +"|t=3D=3D'e'?s.ape(t):'o')+(h?'&pev1=3D'+s.ape(h):'')+(l?'&pev2=3D'+s.ap= e(l)"=0A= +":'');else = trk=3D0;if(s.trackInlineStats){if(!p){p=3Ds.gv('pageURL');w=3D0"=0A= +"}t=3Ds.ot(o);i=3Do.sourceIndex;if(s.gg('objectID')){n=3Ds.gg('objectID'= );"=0A= +"x=3D1;i=3D1}if(p&&n&&t)qs=3D'&pid=3D'+s.ape(s.fl(p,255))+(w?'&pidt=3D'+= w:'')+"=0A= +"'&oid=3D'+s.ape(s.fl(n,100))+(x?'&oidt=3D'+x:'')+'&ot=3D'+s.ape(t)+(i?'= &o"=0A= +"i=3D'+i:'')}}if(!trk&&!qs)return '';var = code=3D'';if(trk&&s.vs(sed))cod"=0A= +"e=3Ds.mr(sess,(vt?'&t=3D'+s.ape(vt):'')+s.hav()+q+(qs?qs:s.rq(s.un)),ta= "=0A= +");s.sq(trk?'':qs);s.lnk=3Ds.eo=3Ds.linkName=3Ds.linkType=3Ds.wd.s_objec= tID=3D"=0A= +"'';return code};s.tl=3Dfunction(o,t,n){var = s=3Dthis;s.lnk=3Ds.co(o);s.lin"=0A= +"kType=3Dt;s.linkName=3Dn;s.t()};s.ssl=3D(s.wd.location.protocol.toLower= Ca"=0A= +"se().indexOf('https')>=3D0);s.d=3Ddocument;s.b=3Ds.d.body;s.n=3Dnavigat= or;s"=0A= +".u=3Ds.n.userAgent;s.ns6=3Ds.u.indexOf('Netscape6/');var = apn=3Ds.n.appNam"=0A= +"e,v=3Ds.n.appVersion,ie=3Dv.indexOf('MSIE '),o=3Ds.u.indexOf('Opera = '),i;"=0A= +"if(v.indexOf('Opera')>=3D0||o>0)apn=3D'Opera';s.isie=3D(apn=3D=3D'Micro= soft I"=0A= +"nternet = Explorer');s.isns=3D(apn=3D=3D'Netscape');s.isopera=3D(apn=3D=3D'Opera'"=0A= +");s.ismac=3D(s.u.indexOf('Mac')>=3D0);if(o>0)s.apv=3DparseFloat(s.u.sub= st"=0A= +"ring(o+6));else = if(ie>0){s.apv=3DparseInt(i=3Dv.substring(ie+5));if(s.a"=0A= +"pv>3)s.apv=3DparseFloat(i)}else = if(s.ns6>0)s.apv=3DparseFloat(s.u.subst"=0A= +"ring(s.ns6+10));else = s.apv=3DparseFloat(v);s.em=3D0;if(String.fromCharC"=0A= +"ode){i=3Descape(String.fromCharCode(256)).toUpperCase();s.em=3D(i=3D=3D= '%C4"=0A= +"%80'?2:(i=3D=3D'%U0100'?1:0))}s.un=3Dun;s.uns();s.vl_l=3D'vmk,charSet,v= isit"=0A= +"orNamespace,cookieDomainPeriods,cookieLifetime,pageName,pageURL,ref"=0A= +"errer,currencyCode,purchaseID';s.vl_t=3Ds.vl_l+',variableProvider,cha"=0A= +"nnel,server,pageType,campaign,state,zip,events,products,linkName,li"=0A= +"nkType';for(var = n=3D1;n<51;n++)s.vl_t+=3D',prop'+n+',eVar'+n+',hier'+n;"=0A= +"s.vl_g=3Ds.vl_t+',trackDownloadLinks,trackExternalLinks,trackInlineSt"=0A= +"ats,linkLeaveQueryString,linkDownloadFileTypes,linkExternalFilters,"=0A= +"linkInternalFilters,linkNames';if(pg)s.gl(s.vl_g);s.ss=3Dss;if(!ss){s"=0A= +".wds();s.ca()}}",=0A= l=3Dwindow.s_c_il,n=3Dnavigator,u=3Dn.userAgent,v=3Dn.appVersion,e=3Dv.in= dexOf(=0A= 'MSIE = '),m=3Du.indexOf('Netscape6/'),a,i,s;if(l)for(i=3D0;i0){a=3DparseInt(i=3Dv.substring(e=0A= +5));if(a>3)a=3DparseFloat(i)}else = if(m>0)a=3DparseFloat(u.substring(m+10)=0A= );else a=3DparseFloat(v);if(a>=3D5&&v.indexOf('Opera')<0&&u.indexOf(=0A= 'Opera')<0){eval(c);return new s_c(un,pg,ss)}else s=3Ds_c2f(c);return s(=0A= un,pg,ss)}=0A= =0A= ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.journaltimes.com/shared-content/adsys/creative.js function adsys_getAdCount(nAdID)=0A= {var sAllCookies=3Ddocument.cookie;var nAdCount=3D0;var = sIndexString=3D"tnadsys_adcount_"+nAdID+"=3D";var = nPos=3DsAllCookies.indexOf(sIndexString);if(nPos!=3D-1)=0A= {var nStart=3DnPos+sIndexString.length;var = nEnd=3DsAllCookies.indexOf(";",nStart);if(nEnd=3D=3D-1)=0A= {nEnd=3DsAllCookies.length;}=0A= var sDataString=3DsAllCookies.substring(nStart,nEnd);var = aAdData=3DsDataString.split("&");nAdCount=3DparseInt(aAdData[0],10);if(is= NaN(nAdCount))=0A= {nAdCount=3D0;}}=0A= return nAdCount;}=0A= function adsys_hasReachedFreqCap(nAdID,nLimit)=0A= {var nAdCount=3Dadsys_getAdCount(nAdID);if(nAdCount>=3DnLimit)=0A= {return true;}=0A= return false;}=0A= function adsys_incrementAdView(nAdID,nMinutes)=0A= {var sAllCookies=3Ddocument.cookie;var = sIndexString=3D"tnadsys_adcount_"+nAdID+"=3D";var = nPos=3DsAllCookies.indexOf(sIndexString);if(nPos=3D=3D-1)=0A= {var expdate=3Dnew Date((new = Date()).getTime()+nMinutes*60000);document.cookie=3DsIndexString+"1&"+esc= ape(expdate.toGMTString())+"; expires=3D"+expdate.toGMTString();}=0A= else=0A= {var sCookieData=3DsAllCookies.substring(nPos+sIndexString.length);var = aCookieData=3DsCookieData.split(";");var = sDataString=3DaCookieData[0];var = aData=3DsDataString.split("&");nAdCount=3DparseInt(aData[0],10)+1;documen= t.cookie=3DsIndexString+nAdCount+"&"+aData[1]+"; = expires=3D"+unescape(aData[1]);}}=0A= function adsys_displayAd(sAdsURL,sDomain,aAdSet,aCampaigns)=0A= {var adNumber=3Dnull;var adLink=3D"";var aAds=3Dnew Array();var = sAdUniqueURL=3DsSubURL=3DsAdsURL;var sAdsBaseURL=3D""=0A= var sFlashVars=3D""=0A= var nTotalWeight=3D0;var aCampaignTotals=3Dnew Array();var = nHighestCampaign=3D0;var nCampaignID=3D0;if(!document.adsys)=0A= {document.adsys=3Dnew Array();}=0A= for(var i=3D0;i=3DaCampaignTot= als[nHighestCampaign])=0A= {nHighestCampaign=3DnCampaignID;}}=0A= for(var i=3D0;i=3DaAds[i][8])=0A= {adNumber=3Di;}=0A= else=0A= {break;}}}=0A= var temp=3DaAds[adNumber][1].split("-");var = nAdId=3Dtemp[0];document.adsys[nAdId]=3D1;if(aAds[adNumber][11]&&(aAds[ad= Number][11]>0))=0A= {adsys_incrementAdView(nAdId,aAds[adNumber][11]);}=0A= sAdsBaseURL=3D"/creative/"+sDomain+"/"+aAds[adNumber][0];sAdsBaseURL+=3D"= /"+aAds[adNumber][1]+"."+aAds[adNumber][2];sAdUniqueURL+=3D"/"+Math.floor= (Math.random()*100000000)+sAdsBaseURL;sAdClickURL=3D"/c"+Math.floor(Math.= random()*100000000);sAdExtURL=3D"/e"+Math.floor(Math.random()*100000000);= sAdsBaseExtURL=3D"/creative/"+sDomain+"/"+aAds[adNumber][0]+"/"+aAds[adNu= mber][1]+".external";switch(aAds[adNumber][2])=0A= {case"swf":if(aAds[adNumber][5][0]!=3D'')=0A= {sSubURL+=3DsAdClickURL;sSubURL+=3D"/creative/"+sDomain+"/"+aAds[adNumber= ][6];sSubURL+=3D"/"+aAds[adNumber][1]+"."+aAds[adNumber][2];sFlashVars=3D= "clickTAG=3D"+sSubURL+"%3Fr%3D"+aAds[adNumber][5][0];for(var = x=3D1;x';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'= ';adLink+=3D'';break;case"js":adLink=3D'';adLink+=3D'';break;case"flv":if(do= cument.usePlayer)=0A= {var theSkin=3D"FlowPlayer.swf";var = sClickLink=3D"";if(aAds[adNumber][12])=0A= {var = sMovie=3DsAdsURL+sAdExtURL+sAdsBaseExtURL+'?o=3D'+aAds[adNumber][12];sCli= ckLink=3DsAdsURL+sAdClickURL+sAdsBaseExtURL+'?r=3D'+aAds[adNumber][5];}=0A= else=0A= {var = sMovie=3DsAdUniqueURL;sClickLink=3DsAdsURL+sAdClickURL+sAdsBaseURL+'?r=3D= '+aAds[adNumber][5];}=0A= adLink+=3D'';adLink+=3D= '';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';adLink+=3D'';}=0A= else=0A= {var sClickLink=3D"";if(aAds[adNumber][12])=0A= {var = sMovie=3DsAdsURL+sAdExtURL+sAdsBaseExtURL+'?o=3D'+aAds[adNumber][12];sCli= ckLink=3DsAdsURL+sAdClickURL+sAdsBaseExtURL+'?r=3D'+aAds[adNumber][5];}=0A= else=0A= {var = sMovie=3DsAdUniqueURL;sClickLink=3DsAdsURL+sAdClickURL+sAdsBaseURL+'?r=3D= '+aAds[adNumber][5];}=0A= adLink=3D'';adLink+=3D"document.embededAd =3D {itemUrl: = '"+sMovie+"', itemLink: '"+sClickLink+"', preRoll: = '"+aAds[adNumber][6]+"', itemType: 'flv'};\n";adLink+=3D'';}=0A= break;default:if(!document.usePlayer&&aAds[adNumber][2]=3D=3D"jpg")=0A= {var = sClickLink=3D"";sClickLink=3DsAdsURL+sAdClickURL+sAdsBaseURL+'?r=3D'+aAds= [adNumber][3];adLink=3D'';adLink+=3D"document.embededAd =3D {itemUrl: = '"+sAdUniqueURL+"', itemLink: '"+sClickLink+"', preRoll: = '"+aAds[adNumber][6]+"', itemType: 'jpg'};\n";adLink+=3D'';}=0A= else=0A= {if(aAds[adNumber][3]!=3D"")=0A= {if(aAds[adNumber][3].substring(0,7)=3D=3D"mailto:")=0A= {adLink=3D'';}=0A= else=0A= {adLink=3D'';}}=0A= adLink+=3D'3D"*"';if(aAds[adNumber][3]!=3D"")=0A= {adLink+=3D'';}}=0A= break;}=0A= document.write(adLink);} ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://adsys.townnews.com/global/capped.js if (!document.adsys)=0A= {=0A= document.adsys =3D new Array();=0A= }=0A= document.adsys[17480] =3D 1;=0A= document.adsys[20253] =3D 1;=0A= document.adsys[49410] =3D 1;=0A= document.adsys[52922] =3D 1;=0A= document.adsys[61802] =3D 1;=0A= document.adsys[64711] =3D 1;=0A= document.adsys[68116] =3D 1;=0A= document.adsys[71145] =3D 1;=0A= document.adsys[72284] =3D 1;=0A= document.adsys[81134] =3D 1;=0A= document.adsys[81136] =3D 1;=0A= document.adsys[81452] =3D 1;=0A= document.adsys[81455] =3D 1;=0A= document.adsys[83066] =3D 1;=0A= document.adsys[84377] =3D 1;=0A= document.adsys[85332] =3D 1;=0A= document.adsys[87989] =3D 1;=0A= document.adsys[88524] =3D 1;=0A= document.adsys[107411] =3D 1;=0A= document.adsys[109548] =3D 1;=0A= document.adsys[113019] =3D 1;=0A= document.adsys[114260] =3D 1;=0A= document.adsys[116955] =3D 1;=0A= document.adsys[117484] =3D 1;=0A= document.adsys[119225] =3D 1;=0A= document.adsys[119456] =3D 1;=0A= document.adsys[120369] =3D 1;=0A= document.adsys[120419] =3D 1;=0A= document.adsys[121020] =3D 1;=0A= document.adsys[121840] =3D 1;=0A= document.adsys[121969] =3D 1;=0A= document.adsys[123275] =3D 1;=0A= document.adsys[123439] =3D 1;=0A= document.adsys[124913] =3D 1;=0A= document.adsys[124973] =3D 1;=0A= document.adsys[126489] =3D 1;=0A= document.adsys[127498] =3D 1;=0A= document.adsys[127657] =3D 1;=0A= document.adsys[128758] =3D 1;=0A= document.adsys[128838] =3D 1;=0A= document.adsys[128903] =3D 1;=0A= document.adsys[128971] =3D 1;=0A= document.adsys[129298] =3D 1;=0A= document.adsys[129660] =3D 1;=0A= document.adsys[130629] =3D 1;=0A= document.adsys[131155] =3D 1;=0A= document.adsys[131417] =3D 1;=0A= document.adsys[131538] =3D 1;=0A= document.adsys[134031] =3D 1;=0A= document.adsys[134614] =3D 1;=0A= document.adsys[134927] =3D 1;=0A= document.adsys[135578] =3D 1;=0A= document.adsys[135600] =3D 1;=0A= document.adsys[135813] =3D 1;=0A= document.adsys[136171] =3D 1;=0A= document.adsys[136919] =3D 1;=0A= document.adsys[138349] =3D 1;=0A= document.adsys[138980] =3D 1;=0A= document.adsys[140121] =3D 1;=0A= document.adsys[140252] =3D 1;=0A= document.adsys[140288] =3D 1;=0A= document.adsys[140376] =3D 1;=0A= document.adsys[140403] =3D 1;=0A= document.adsys[140412] =3D 1;=0A= document.adsys[140556] =3D 1;=0A= document.adsys[140732] =3D 1;=0A= document.adsys[140741] =3D 1;=0A= document.adsys[140765] =3D 1;=0A= document.adsys[140813] =3D 1;=0A= document.adsys[141445] =3D 1;=0A= document.adsys[141952] =3D 1;=0A= document.adsys[141953] =3D 1;=0A= document.adsys[141954] =3D 1;=0A= document.adsys[142014] =3D 1;=0A= document.adsys[142330] =3D 1;=0A= document.adsys[142331] =3D 1;=0A= document.adsys[142949] =3D 1;=0A= document.adsys[143112] =3D 1;=0A= document.adsys[143911] =3D 1;=0A= document.adsys[145291] =3D 1;=0A= document.adsys[145313] =3D 1;=0A= document.adsys[145641] =3D 1;=0A= document.adsys[145784] =3D 1;=0A= document.adsys[145785] =3D 1;=0A= document.adsys[146346] =3D 1;=0A= document.adsys[147062] =3D 1;=0A= document.adsys[147063] =3D 1;=0A= document.adsys[147074] =3D 1;=0A= document.adsys[147079] =3D 1;=0A= document.adsys[147083] =3D 1;=0A= document.adsys[147084] =3D 1;=0A= document.adsys[147085] =3D 1;=0A= document.adsys[147086] =3D 1;=0A= document.adsys[147286] =3D 1;=0A= document.adsys[147791] =3D 1;=0A= document.adsys[147828] =3D 1;=0A= document.adsys[147996] =3D 1;=0A= document.adsys[148002] =3D 1;=0A= document.adsys[148007] =3D 1;=0A= document.adsys[148021] =3D 1;=0A= document.adsys[148024] =3D 1;=0A= document.adsys[148028] =3D 1;=0A= document.adsys[148890] =3D 1;=0A= document.adsys[149041] =3D 1;=0A= document.adsys[149043] =3D 1;=0A= document.adsys[149051] =3D 1;=0A= document.adsys[149419] =3D 1;=0A= document.adsys[149429] =3D 1;=0A= document.adsys[149445] =3D 1;=0A= document.adsys[149539] =3D 1;=0A= document.adsys[149694] =3D 1;=0A= document.adsys[149970] =3D 1;=0A= document.adsys[150365] =3D 1;=0A= document.adsys[151025] =3D 1;=0A= document.adsys[151438] =3D 1;=0A= document.adsys[151781] =3D 1;=0A= document.adsys[152094] =3D 1;=0A= document.adsys[152435] =3D 1;=0A= document.adsys[152468] =3D 1;=0A= document.adsys[152665] =3D 1;=0A= document.adsys[152677] =3D 1;=0A= document.adsys[152680] =3D 1;=0A= document.adsys[152682] =3D 1;=0A= document.adsys[152685] =3D 1;=0A= document.adsys[152688] =3D 1;=0A= document.adsys[152970] =3D 1;=0A= document.adsys[153033] =3D 1;=0A= document.adsys[153047] =3D 1;=0A= document.adsys[153070] =3D 1;=0A= document.adsys[153250] =3D 1;=0A= document.adsys[153251] =3D 1;=0A= document.adsys[153253] =3D 1;=0A= document.adsys[153254] =3D 1;=0A= document.adsys[153287] =3D 1;=0A= document.adsys[154271] =3D 1;=0A= document.adsys[154277] =3D 1;=0A= document.adsys[154430] =3D 1;=0A= document.adsys[157894] =3D 1;=0A= document.adsys[157896] =3D 1;=0A= document.adsys[158221] =3D 1;=0A= document.adsys[158644] =3D 1;=0A= document.adsys[159270] =3D 1;=0A= document.adsys[159361] =3D 1;=0A= document.adsys[159363] =3D 1;=0A= document.adsys[159367] =3D 1;=0A= document.adsys[159372] =3D 1;=0A= document.adsys[159511] =3D 1;=0A= document.adsys[160023] =3D 1;=0A= document.adsys[160295] =3D 1;=0A= document.adsys[161747] =3D 1;=0A= document.adsys[162216] =3D 1;=0A= document.adsys[162217] =3D 1;=0A= document.adsys[162218] =3D 1;=0A= document.adsys[162286] =3D 1;=0A= document.adsys[162800] =3D 1;=0A= document.adsys[162805] =3D 1;=0A= document.adsys[162811] =3D 1;=0A= document.adsys[162884] =3D 1;=0A= document.adsys[163008] =3D 1;=0A= document.adsys[163732] =3D 1;=0A= document.adsys[163733] =3D 1;=0A= document.adsys[163734] =3D 1;=0A= document.adsys[163737] =3D 1;=0A= document.adsys[164053] =3D 1;=0A= document.adsys[164320] =3D 1;=0A= document.adsys[164868] =3D 1;=0A= document.adsys[164871] =3D 1;=0A= document.adsys[165351] =3D 1;=0A= document.adsys[165418] =3D 1;=0A= document.adsys[165741] =3D 1;=0A= document.adsys[165867] =3D 1;=0A= document.adsys[165873] =3D 1;=0A= document.adsys[166011] =3D 1;=0A= document.adsys[166465] =3D 1;=0A= document.adsys[166704] =3D 1;=0A= document.adsys[166912] =3D 1;=0A= document.adsys[166914] =3D 1;=0A= document.adsys[166916] =3D 1;=0A= document.adsys[167375] =3D 1;=0A= document.adsys[167377] =3D 1;=0A= document.adsys[167558] =3D 1;=0A= document.adsys[167560] =3D 1;=0A= document.adsys[168054] =3D 1;=0A= document.adsys[168224] =3D 1;=0A= document.adsys[168230] =3D 1;=0A= document.adsys[168694] =3D 1;=0A= document.adsys[169206] =3D 1;=0A= document.adsys[169665] =3D 1;=0A= document.adsys[169667] =3D 1;=0A= document.adsys[169778] =3D 1;=0A= document.adsys[169838] =3D 1;=0A= document.adsys[169850] =3D 1;=0A= document.adsys[169918] =3D 1;=0A= document.adsys[169986] =3D 1;=0A= document.adsys[169989] =3D 1;=0A= document.adsys[170165] =3D 1;=0A= document.adsys[170406] =3D 1;=0A= document.adsys[170536] =3D 1;=0A= document.adsys[170577] =3D 1;=0A= document.adsys[170578] =3D 1;=0A= document.adsys[170579] =3D 1;=0A= document.adsys[170580] =3D 1;=0A= document.adsys[170581] =3D 1;=0A= document.adsys[170582] =3D 1;=0A= document.adsys[170823] =3D 1;=0A= document.adsys[170840] =3D 1;=0A= document.adsys[171601] =3D 1;=0A= document.adsys[171682] =3D 1;=0A= document.adsys[172236] =3D 1;=0A= document.adsys[172488] =3D 1;=0A= document.adsys[172512] =3D 1;=0A= document.adsys[172690] =3D 1;=0A= document.adsys[172989] =3D 1;=0A= document.adsys[173533] =3D 1;=0A= document.adsys[173660] =3D 1;=0A= document.adsys[174074] =3D 1;=0A= document.adsys[174094] =3D 1;=0A= document.adsys[174121] =3D 1;=0A= document.adsys[174217] =3D 1;=0A= document.adsys[174229] =3D 1;=0A= document.adsys[174359] =3D 1;=0A= document.adsys[174366] =3D 1;=0A= document.adsys[174512] =3D 1;=0A= document.adsys[174516] =3D 1;=0A= document.adsys[174587] =3D 1;=0A= document.adsys[174652] =3D 1;=0A= document.adsys[174883] =3D 1;=0A= document.adsys[174950] =3D 1;=0A= document.adsys[174968] =3D 1;=0A= document.adsys[175186] =3D 1;=0A= document.adsys[175188] =3D 1;=0A= document.adsys[175196] =3D 1;=0A= document.adsys[175199] =3D 1;=0A= document.adsys[175237] =3D 1;=0A= document.adsys[175326] =3D 1;=0A= document.adsys[175625] =3D 1;=0A= document.adsys[175626] =3D 1;=0A= document.adsys[175628] =3D 1;=0A= document.adsys[175984] =3D 1;=0A= document.adsys[175990] =3D 1;=0A= document.adsys[176155] =3D 1;=0A= document.adsys[176179] =3D 1;=0A= document.adsys[176222] =3D 1;=0A= document.adsys[176236] =3D 1;=0A= document.adsys[176237] =3D 1;=0A= document.adsys[176930] =3D 1;=0A= document.adsys[177334] =3D 1;=0A= document.adsys[177716] =3D 1;=0A= document.adsys[178042] =3D 1;=0A= document.adsys[178131] =3D 1;=0A= document.adsys[178132] =3D 1;=0A= document.adsys[178133] =3D 1;=0A= document.adsys[179066] =3D 1;=0A= document.adsys[179436] =3D 1;=0A= document.adsys[179437] =3D 1;=0A= document.adsys[179438] =3D 1;=0A= document.adsys[179439] =3D 1;=0A= document.adsys[179441] =3D 1;=0A= document.adsys[179442] =3D 1;=0A= document.adsys[179443] =3D 1;=0A= document.adsys[179444] =3D 1;=0A= document.adsys[179505] =3D 1;=0A= document.adsys[179623] =3D 1;=0A= document.adsys[179810] =3D 1;=0A= document.adsys[179811] =3D 1;=0A= document.adsys[179910] =3D 1;=0A= document.adsys[179911] =3D 1;=0A= document.adsys[179988] =3D 1;=0A= document.adsys[179989] =3D 1;=0A= document.adsys[179990] =3D 1;=0A= document.adsys[179992] =3D 1;=0A= document.adsys[179993] =3D 1;=0A= document.adsys[180047] =3D 1;=0A= document.adsys[180057] =3D 1;=0A= document.adsys[180134] =3D 1;=0A= document.adsys[180172] =3D 1;=0A= document.adsys[180175] =3D 1;=0A= document.adsys[180681] =3D 1;=0A= document.adsys[180827] =3D 1;=0A= document.adsys[180831] =3D 1;=0A= document.adsys[180883] =3D 1;=0A= document.adsys[181306] =3D 1;=0A= document.adsys[181379] =3D 1;=0A= document.adsys[181416] =3D 1;=0A= document.adsys[181772] =3D 1;=0A= document.adsys[181901] =3D 1;=0A= document.adsys[182221] =3D 1;=0A= document.adsys[182238] =3D 1;=0A= document.adsys[182804] =3D 1;=0A= document.adsys[182915] =3D 1;=0A= document.adsys[182973] =3D 1;=0A= document.adsys[183017] =3D 1;=0A= document.adsys[183197] =3D 1;=0A= document.adsys[183223] =3D 1;=0A= document.adsys[183266] =3D 1;=0A= document.adsys[183270] =3D 1;=0A= document.adsys[183302] =3D 1;=0A= document.adsys[183438] =3D 1;=0A= document.adsys[183443] =3D 1;=0A= document.adsys[183465] =3D 1;=0A= document.adsys[183471] =3D 1;=0A= document.adsys[183580] =3D 1;=0A= document.adsys[183657] =3D 1;=0A= document.adsys[183660] =3D 1;=0A= document.adsys[183661] =3D 1;=0A= document.adsys[184257] =3D 1;=0A= document.adsys[184361] =3D 1;=0A= document.adsys[184363] =3D 1;=0A= document.adsys[184502] =3D 1;=0A= document.adsys[184605] =3D 1;=0A= document.adsys[184692] =3D 1;=0A= document.adsys[184749] =3D 1;=0A= document.adsys[184900] =3D 1;=0A= document.adsys[184902] =3D 1;=0A= document.adsys[184905] =3D 1;=0A= document.adsys[184976] =3D 1;=0A= document.adsys[184978] =3D 1;=0A= document.adsys[185138] =3D 1;=0A= document.adsys[185178] =3D 1;=0A= document.adsys[185416] =3D 1;=0A= document.adsys[185549] =3D 1;=0A= document.adsys[185647] =3D 1;=0A= document.adsys[185930] =3D 1;=0A= document.adsys[185973] =3D 1;=0A= document.adsys[186043] =3D 1;=0A= document.adsys[186466] =3D 1;=0A= document.adsys[186472] =3D 1;=0A= document.adsys[186473] =3D 1;=0A= document.adsys[186474] =3D 1;=0A= document.adsys[186593] =3D 1;=0A= document.adsys[186596] =3D 1;=0A= document.adsys[186659] =3D 1;=0A= document.adsys[186721] =3D 1;=0A= document.adsys[186778] =3D 1;=0A= document.adsys[186840] =3D 1;=0A= document.adsys[186844] =3D 1;=0A= document.adsys[186846] =3D 1;=0A= document.adsys[186852] =3D 1;=0A= document.adsys[186864] =3D 1;=0A= document.adsys[186865] =3D 1;=0A= document.adsys[186866] =3D 1;=0A= document.adsys[186868] =3D 1;=0A= document.adsys[186869] =3D 1;=0A= document.adsys[186870] =3D 1;=0A= document.adsys[186871] =3D 1;=0A= document.adsys[186872] =3D 1;=0A= document.adsys[186873] =3D 1;=0A= document.adsys[186874] =3D 1;=0A= document.adsys[187014] =3D 1;=0A= document.adsys[187112] =3D 1;=0A= document.adsys[187116] =3D 1;=0A= document.adsys[187119] =3D 1;=0A= document.adsys[187120] =3D 1;=0A= document.adsys[187121] =3D 1;=0A= document.adsys[187122] =3D 1;=0A= document.adsys[187123] =3D 1;=0A= document.adsys[187124] =3D 1;=0A= document.adsys[187128] =3D 1;=0A= document.adsys[187129] =3D 1;=0A= document.adsys[187189] =3D 1;=0A= document.adsys[187190] =3D 1;=0A= document.adsys[187284] =3D 1;=0A= document.adsys[187285] =3D 1;=0A= document.adsys[187363] =3D 1;=0A= document.adsys[187378] =3D 1;=0A= document.adsys[187526] =3D 1;=0A= document.adsys[187531] =3D 1;=0A= document.adsys[187613] =3D 1;=0A= document.adsys[187637] =3D 1;=0A= document.adsys[187741] =3D 1;=0A= document.adsys[187743] =3D 1;=0A= document.adsys[187773] =3D 1;=0A= document.adsys[187830] =3D 1;=0A= document.adsys[187912] =3D 1;=0A= document.adsys[187924] =3D 1;=0A= document.adsys[187960] =3D 1;=0A= document.adsys[187961] =3D 1;=0A= document.adsys[188088] =3D 1;=0A= document.adsys[188099] =3D 1;=0A= document.adsys[188103] =3D 1;=0A= document.adsys[188207] =3D 1;=0A= document.adsys[188265] =3D 1;=0A= document.adsys[188342] =3D 1;=0A= document.adsys[188343] =3D 1;=0A= document.adsys[188344] =3D 1;=0A= document.adsys[188349] =3D 1;=0A= document.adsys[188352] =3D 1;=0A= document.adsys[188429] =3D 1;=0A= document.adsys[188437] =3D 1;=0A= document.adsys[188506] =3D 1;=0A= document.adsys[188508] =3D 1;=0A= document.adsys[188519] =3D 1;=0A= document.adsys[188542] =3D 1;=0A= document.adsys[188555] =3D 1;=0A= document.adsys[188556] =3D 1;=0A= document.adsys[188557] =3D 1;=0A= document.adsys[188579] =3D 1;=0A= document.adsys[188673] =3D 1;=0A= document.adsys[188677] =3D 1;=0A= document.adsys[188697] =3D 1;=0A= document.adsys[188727] =3D 1;=0A= document.adsys[188729] =3D 1;=0A= document.adsys[188787] =3D 1;=0A= document.adsys[188813] =3D 1;=0A= document.adsys[188894] =3D 1;=0A= document.adsys[188954] =3D 1;=0A= document.adsys[188963] =3D 1;=0A= document.adsys[189123] =3D 1;=0A= document.adsys[189154] =3D 1;=0A= document.adsys[189179] =3D 1;=0A= document.adsys[189210] =3D 1;=0A= document.adsys[189297] =3D 1;=0A= document.adsys[189298] =3D 1;=0A= document.adsys[189340] =3D 1;=0A= document.adsys[189395] =3D 1;=0A= document.adsys[189435] =3D 1;=0A= document.adsys[189438] =3D 1;=0A= document.adsys[189440] =3D 1;=0A= document.adsys[189444] =3D 1;=0A= document.adsys[189445] =3D 1;=0A= document.adsys[189446] =3D 1;=0A= document.adsys[189478] =3D 1;=0A= document.adsys[189507] =3D 1;=0A= document.adsys[189602] =3D 1;=0A= document.adsys[189621] =3D 1;=0A= document.adsys[189670] =3D 1;=0A= document.adsys[189674] =3D 1;=0A= document.adsys[189715] =3D 1;=0A= document.adsys[189718] =3D 1;=0A= document.adsys[189825] =3D 1;=0A= document.adsys[189885] =3D 1;=0A= document.adsys[189886] =3D 1;=0A= document.adsys[189887] =3D 1;=0A= document.adsys[189904] =3D 1;=0A= document.adsys[189915] =3D 1;=0A= document.adsys[189920] =3D 1;=0A= document.adsys[189921] =3D 1;=0A= document.adsys[190045] =3D 1;=0A= document.adsys[190091] =3D 1;=0A= document.adsys[190096] =3D 1;=0A= document.adsys[190107] =3D 1;=0A= document.adsys[190137] =3D 1;=0A= document.adsys[190160] =3D 1;=0A= document.adsys[190238] =3D 1;=0A= document.adsys[190273] =3D 1;=0A= document.adsys[190382] =3D 1;=0A= document.adsys[190391] =3D 1;=0A= document.adsys[190510] =3D 1;=0A= document.adsys[190523] =3D 1;=0A= document.adsys[190525] =3D 1;=0A= document.adsys[190544] =3D 1;=0A= document.adsys[190549] =3D 1;=0A= document.adsys[190632] =3D 1;=0A= document.adsys[190633] =3D 1;=0A= document.adsys[190634] =3D 1;=0A= document.adsys[190637] =3D 1;=0A= document.adsys[190816] =3D 1;=0A= document.adsys[190852] =3D 1;=0A= document.adsys[190889] =3D 1;=0A= if (typeof adsys_displayStaticAds =3D=3D 'function') { = adsys_displayStaticAds(); adsys_displayStaticAds =3D null; } ------=_NextPart_000_0080_01C9EC65.CECAF7B0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://my.journaltimes.com/apis/scripts/remoteMgr.ashx document.write("");/* = Prototype JavaScript framework, version 1.6.0.3=0A= * (c) 2005-2008 Sam Stephenson=0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://www.prototypejs.org/=0A= *=0A= = *------------------------------------------------------------------------= --*/=0A= =0A= var Prototype =3D {=0A= Version: '1.6.0.3',=0A= =0A= Browser: {=0A= IE: !!(window.attachEvent &&=0A= navigator.userAgent.indexOf('Opera') =3D=3D=3D -1),=0A= Opera: navigator.userAgent.indexOf('Opera') > -1,=0A= WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A= Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&=0A= navigator.userAgent.indexOf('KHTML') =3D=3D=3D -1,=0A= MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A= },=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= SelectorsAPI: !!document.querySelector,=0A= ElementExtensions: !!window.HTMLElement,=0A= SpecificElementExtensions:=0A= document.createElement('div')['__proto__'] &&=0A= document.createElement('div')['__proto__'] !=3D=3D=0A= document.createElement('form')['__proto__']=0A= },=0A= =0A= ScriptFragment: ']*>([\\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= =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;=0A= value =3D (function(m) {=0A= return function() { return ancestor[m].apply(this, arguments) = };=0A= })(property).wrap(method);=0A= =0A= value.valueOf =3D method.valueOf.bind(method);=0A= value.toString =3D method.toString.bind(method);=0A= }=0A= this.prototype[property] =3D value;=0A= }=0A= =0A= return this;=0A= }=0A= };=0A= =0A= var Abstract =3D { };=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= };=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (Object.isUndefined(object)) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : String(object);=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= toJSON: function(object) {=0A= var type =3D typeof object;=0A= switch (type) {=0A= case 'undefined':=0A= case 'function':=0A= case 'unknown': return;=0A= case 'boolean': return object.toString();=0A= }=0A= =0A= if (object =3D=3D=3D null) return 'null';=0A= if (object.toJSON) return object.toJSON();=0A= if (Object.isElement(object)) return;=0A= =0A= var results =3D [];=0A= for (var property in object) {=0A= var value =3D Object.toJSON(object[property]);=0A= if (!Object.isUndefined(value))=0A= results.push(property.toJSON() + ': ' + value);=0A= }=0A= =0A= return '{' + results.join(', ') + '}';=0A= },=0A= =0A= toQueryString: function(object) {=0A= return $H(object).toQueryString();=0A= },=0A= =0A= toHTML: function(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({ }, object);=0A= },=0A= =0A= isElement: function(object) {=0A= return !!(object && object.nodeType =3D=3D 1);=0A= },=0A= =0A= isArray: function(object) {=0A= return object !=3D null && typeof object =3D=3D "object" &&=0A= 'splice' in object && 'join' in object;=0A= },=0A= =0A= isHash: function(object) {=0A= return object instanceof Hash;=0A= },=0A= =0A= isFunction: function(object) {=0A= return typeof object =3D=3D "function";=0A= },=0A= =0A= isString: function(object) {=0A= return typeof object =3D=3D "string";=0A= },=0A= =0A= isNumber: function(object) {=0A= return typeof object =3D=3D "number";=0A= },=0A= =0A= isUndefined: function(object) {=0A= return typeof object =3D=3D "undefined";=0A= }=0A= });=0A= =0A= Object.extend(Function.prototype, {=0A= argumentNames: function() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]=0A= .replace(/\s+/g, '').split(',');=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= },=0A= =0A= bind: function() {=0A= if (arguments.length < 2 && Object.isUndefined(arguments[0])) return = this;=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= bindAsEventListener: function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function(event) {=0A= return __method.apply(object, [event || = window.event].concat(args));=0A= }=0A= },=0A= =0A= curry: function() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D $A(arguments);=0A= return function() {=0A= return __method.apply(this, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= delay: function() {=0A= var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= },=0A= =0A= defer: function() {=0A= var args =3D [0.01].concat($A(arguments));=0A= return this.delay.apply(this, args);=0A= },=0A= =0A= wrap: function(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments)));=0A= }=0A= },=0A= =0A= methodize: function() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= return __method.apply(null, [this].concat($A(arguments)));=0A= };=0A= }=0A= });=0A= =0A= Date.prototype.toJSON =3D function() {=0A= return '"' + this.getUTCFullYear() + '-' +=0A= (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A= this.getUTCDate().toPaddedString(2) + 'T' +=0A= this.getUTCHours().toPaddedString(2) + ':' +=0A= this.getUTCMinutes().toPaddedString(2) + ':' +=0A= this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A= };=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) { }=0A= }=0A= =0A= return returnValue;=0A= }=0A= };=0A= =0A= RegExp.prototype.match =3D RegExp.prototype.test;=0A= =0A= RegExp.escape =3D function(str) {=0A= return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create({=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= execute: function() {=0A= this.callback(this);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.execute();=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= });=0A= Object.extend(String, {=0A= interpret: function(value) {=0A= return value =3D=3D null ? '' : String(value);=0A= },=0A= specialChar: {=0A= '\b': '\\b',=0A= '\t': '\\t',=0A= '\n': '\\n',=0A= '\f': '\\f',=0A= '\r': '\\r',=0A= '\\': '\\\\'=0A= }=0A= });=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D Object.isUndefined(count) ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : = String(this);=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { 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;=0A= if (str.blank()) return false;=0A= str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A= return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A= },=0A= =0A= evalJSON: function(sanitize) {=0A= var json =3D this.unfilterJSON();=0A= try {=0A= if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A= } catch (e) { }=0A= 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.stripTags().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= String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.t= ext);=0A= =0A= var Template =3D Class.create({=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= if (Object.isFunction(object.toTemplateReplacements))=0A= object =3D object.toTemplateReplacements();=0A= =0A= return this.template.gsub(this.pattern, function(match) {=0A= if (object =3D=3D null) return '';=0A= =0A= var before =3D match[1] || '';=0A= if (before =3D=3D '\\') return match[2];=0A= =0A= var ctx =3D object, expr =3D match[3];=0A= var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A= match =3D pattern.exec(expr);=0A= if (match =3D=3D null) return before;=0A= =0A= while (match !=3D null) {=0A= var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1];=0A= ctx =3D ctx[comp];=0A= if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A= expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length);=0A= match =3D pattern.exec(expr);=0A= }=0A= =0A= return before + String.interpret(ctx);=0A= });=0A= }=0A= });=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= =0A= var $break =3D { };=0A= =0A= var Enumerable =3D {=0A= each: function(iterator, context) {=0A= var index =3D 0;=0A= try {=0A= this._each(function(value) {=0A= iterator.call(context, value, index++);=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator, context) {=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= if (number < 1) return array;=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator, context);=0A= },=0A= =0A= all: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!iterator.call(context, value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!iterator.call(context, value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator.call(context, value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator, context) {=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator.call(context, value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator, context) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator.call(context, value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(filter, iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(filter);=0A= =0A= this.each(function(value, index) {=0A= if (filter.match(value))=0A= results.push(iterator.call(context, value, index));=0A= });=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= if (Object.isFunction(this.indexOf))=0A= if (this.indexOf(object) !=3D -1) return true;=0A= =0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator, context) {=0A= this.each(function(value, index) {=0A= memo =3D iterator.call(context, memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator.call(context, value, index);=0A= if (result =3D=3D null || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator.call(context, value, index);=0A= if (result =3D=3D null || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= (iterator.call(context, value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator, context) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator.call(context, value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator, context) {=0A= return this.map(function(value, index) {=0A= return {=0A= value: value,=0A= criteria: iterator.call(context, value, index)=0A= };=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (Object.isFunction(args.last()))=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= };=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= filter: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray,=0A= every: Enumerable.all,=0A= some: Enumerable.any=0A= });=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= =0A= if (Prototype.Browser.WebKit) {=0A= $A =3D function(iterable) {=0A= if (!iterable) return [];=0A= // In Safari, only use the `toArray` method if it's not a NodeList.=0A= // A NodeList is a function, has an function `item` property, and a = numeric=0A= // `length` property. Adapted from Google Doctype.=0A= if (!(typeof iterable =3D=3D=3D 'function' && typeof iterable.length = =3D=3D=3D=0A= 'number' && typeof iterable.item =3D=3D=3D 'function') && = iterable.toArray)=0A= return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= };=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(Object.isArray(value) ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function(sorted) {=0A= return this.inject([], function(array, value, index) {=0A= if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value)))=0A= array.push(value);=0A= return array;=0A= });=0A= },=0A= =0A= intersect: function(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { 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 (!Object.isUndefined(value)) results.push(value);=0A= });=0A= return '[' + results.join(', ') + ']';=0A= }=0A= });=0A= =0A= // use native browser JS 1.6 implementation if available=0A= if (Object.isFunction(Array.prototype.forEach))=0A= Array.prototype._each =3D Array.prototype.forEach;=0A= =0A= if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) {=0A= i || (i =3D 0);=0A= var length =3D this.length;=0A= if (i < 0) i =3D length + i;=0A= for (; i < length; i++)=0A= if (this[i] =3D=3D=3D item) return i;=0A= return -1;=0A= };=0A= =0A= if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) {=0A= i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A= var n =3D this.slice(0, i).reverse().indexOf(item);=0A= return (n < 0) ? n : i - n - 1;=0A= };=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if (Prototype.Browser.Opera){=0A= Array.prototype.concat =3D function() {=0A= var array =3D [];=0A= for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if (Object.isArray(arguments[i])) {=0A= for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= };=0A= }=0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= return this.toPaddedString(2, 16);=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator, context) {=0A= $R(0, this, true).each(iterator, context);=0A= return this;=0A= },=0A= =0A= toPaddedString: function(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= },=0A= =0A= toJSON: function() {=0A= return isFinite(this) ? this.toString() : 'null';=0A= }=0A= });=0A= =0A= $w('abs round ceil floor').each(function(method){=0A= Number.prototype[method] =3D Math[method].methodize();=0A= });=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= =0A= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= return {=0A= initialize: function(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= },=0A= =0A= _each: function(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= },=0A= =0A= set: function(key, value) {=0A= return this._object[key] =3D value;=0A= },=0A= =0A= get: function(key) {=0A= // simulating poorly supported hasOwnProperty=0A= if (this._object[key] !=3D=3D Object.prototype[key])=0A= return this._object[key];=0A= },=0A= =0A= unset: function(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= },=0A= =0A= toObject: function() {=0A= return Object.clone(this._object);=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= index: function(value) {=0A= var match =3D this.detect(function(pair) {=0A= return pair.value =3D=3D=3D value;=0A= });=0A= return match && match.key;=0A= },=0A= =0A= merge: function(object) {=0A= return this.clone().update(object);=0A= },=0A= =0A= update: function(object) {=0A= return new Hash(object).inject(this, function(result, pair) {=0A= result.set(pair.key, pair.value);=0A= return result;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.inject([], function(results, pair) {=0A= var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A= =0A= if (values && typeof values =3D=3D 'object') {=0A= if (Object.isArray(values))=0A= return results.concat(values.map(toQueryPair.curry(key)));=0A= } else results.push(toQueryPair(key, values));=0A= return results;=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#';=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= =0A= if (Object.isString(this.options.parameters))=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= else if (Object.isHash(this.options.parameters))=0A= this.options.parameters =3D this.options.parameters.toObject();=0A= }=0A= });=0A= =0A= Ajax.Request =3D Class.create(Ajax.Base, {=0A= _complete: false,=0A= =0A= initialize: function($super, url, options) {=0A= $super(options);=0A= this.transport =3D Ajax.getTransport();=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D Object.clone(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= this.parameters =3D params;=0A= =0A= if (params =3D Object.toQueryString(params)) {=0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get')=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= params +=3D '&_=3D';=0A= }=0A= =0A= try {=0A= var response =3D new Ajax.Response(this);=0A= if (this.options.onCreate) this.options.onCreate(response);=0A= Ajax.Responders.dispatch('onCreate', this, response);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null;=0A= this.transport.send(this.body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (Object.isFunction(extras.push))=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { 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 && this.isSameOrigin() && contentType=0A= && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i)))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON);=0A= Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= isSameOrigin: function() {=0A= var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A= return !m || (m[0] =3D=3D = '#{protocol}//#{domain}#{port}'.interpolate({=0A= protocol: location.protocol,=0A= domain: document.domain,=0A= port: location.port ? ':' + location.port : ''=0A= }));=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name) || null;=0A= } catch (e) { 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 Object.isUndefined(xml) ? null : xml;=0A= this.responseJSON =3D this._getResponseJSON();=0A= }=0A= },=0A= =0A= status: 0,=0A= statusText: '',=0A= =0A= getStatus: Ajax.Request.prototype.getStatus,=0A= =0A= getStatusText: function() {=0A= try {=0A= return this.transport.statusText || '';=0A= } catch (e) { 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= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= },=0A= =0A= _getResponseJSON: function() {=0A= var options =3D this.request.options;=0A= if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A= !(this.getHeader('Content-type') || = '').include('application/json')) ||=0A= this.responseText.blank())=0A= return null;=0A= try {=0A= return this.responseText.evalJSON(options.sanitizeJSON ||=0A= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create(Ajax.Request, {=0A= initialize: function($super, container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= };=0A= =0A= options =3D Object.clone(options);=0A= var onComplete =3D options.onComplete;=0A= options.onComplete =3D (function(response, json) {=0A= this.updateContent(response.responseText);=0A= if (Object.isFunction(onComplete)) onComplete(response, json);=0A= }).bind(this);=0A= =0A= $super(url, options);=0A= },=0A= =0A= updateContent: function(responseText) {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'],=0A= options =3D this.options;=0A= =0A= if (!options.evalScripts) responseText =3D = responseText.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (options.insertion) {=0A= if (Object.isString(options.insertion)) {=0A= var insertion =3D { }; insertion[options.insertion] =3D = responseText;=0A= receiver.insert(insertion);=0A= }=0A= else options.insertion(receiver, responseText);=0A= }=0A= else receiver.update(responseText);=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A= initialize: function($super, container, url, options) {=0A= $super(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D { };=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(response) {=0A= if (this.options.decay) {=0A= this.decay =3D (response.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D response.responseText;=0A= }=0A= this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (Object.isString(element))=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(Element.extend(query.snapshotItem(i)));=0A= return results;=0A= };=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=0A= // DOM level 2 ECMAScript Language Binding=0A= Object.extend(Node, {=0A= ELEMENT_NODE: 1,=0A= ATTRIBUTE_NODE: 2,=0A= TEXT_NODE: 3,=0A= CDATA_SECTION_NODE: 4,=0A= ENTITY_REFERENCE_NODE: 5,=0A= ENTITY_NODE: 6,=0A= PROCESSING_INSTRUCTION_NODE: 7,=0A= COMMENT_NODE: 8,=0A= DOCUMENT_NODE: 9,=0A= DOCUMENT_TYPE_NODE: 10,=0A= DOCUMENT_FRAGMENT_NODE: 11,=0A= NOTATION_NODE: 12=0A= });=0A= }=0A= =0A= (function() {=0A= var element =3D this.Element;=0A= this.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= if (Prototype.Browser.IE && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes);=0A= };=0A= Object.extend(this.Element, element || { });=0A= if (element) this.Element.prototype =3D element.prototype;=0A= }).call(window);=0A= =0A= Element.cache =3D { };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= element =3D $(element);=0A= element.style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= element =3D $(element);=0A= element.style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= content =3D Object.toHTML(content);=0A= element.innerHTML =3D content.stripScripts();=0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= },=0A= =0A= replace: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= else if (!Object.isElement(content)) {=0A= content =3D Object.toHTML(content);=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNode(element);=0A= content.evalScripts.bind(content).defer();=0A= content =3D range.createContextualFragment(content.stripScripts());=0A= }=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= },=0A= =0A= insert: function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D {bottom:insertions};=0A= =0A= var content, insert, tagName, childNodes;=0A= =0A= for (var position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= insert =3D Element._insertionTranslations[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A= ? element.parentNode : element).tagName.toUpperCase();=0A= =0A= childNodes =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= =0A= if (position =3D=3D 'top' || position =3D=3D 'after') = childNodes.reverse();=0A= childNodes.each(insert.curry(element));=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= },=0A= =0A= wrap: function(element, wrapper, attributes) {=0A= element =3D $(element);=0A= if (Object.isElement(wrapper))=0A= $(wrapper).writeAttribute(attributes || { });=0A= else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes);=0A= else wrapper =3D new Element('div', wrapper);=0A= if (element.parentNode)=0A= element.parentNode.replaceChild(wrapper, element);=0A= wrapper.appendChild(element);=0A= return wrapper;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $(element).select("*");=0A= },=0A= =0A= firstDescendant: function(element) {=0A= element =3D $(element).firstChild;=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= return $(element);=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (Object.isString(selector))=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return $(element.parentNode);=0A= var ancestors =3D element.ancestors();=0A= return Object.isNumber(expression) ? ancestors[expression] :=0A= Selector.findElement(ancestors, expression, index);=0A= },=0A= =0A= down: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= return Object.isNumber(expression) ? = element.descendants()[expression] :=0A= Element.select(element, expression)[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element));=0A= var previousSiblings =3D element.previousSiblings();=0A= return Object.isNumber(expression) ? previousSiblings[expression] :=0A= Selector.findElement(previousSiblings, expression, index);=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element));=0A= var nextSiblings =3D element.nextSiblings();=0A= return Object.isNumber(expression) ? nextSiblings[expression] :=0A= Selector.findElement(nextSiblings, expression, index);=0A= },=0A= =0A= select: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= adjacent: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element.parentNode, = args).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D element.readAttribute('id'), self =3D arguments.callee;=0A= if (id) return id;=0A= do { 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 Object.isUndefined(value) ? true : value;=0A= =0A= for (var attr in attributes) {=0A= name =3D t.names[attr] || attr;=0A= value =3D attributes[attr];=0A= if (t.values[attr]) name =3D t.values[attr](element, value);=0A= if (value =3D=3D=3D false || value =3D=3D=3D null)=0A= element.removeAttribute(name);=0A= else if (value =3D=3D=3D true)=0A= element.setAttribute(name, name);=0A= else element.setAttribute(name, value);=0A= }=0A= return element;=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= return (elementClassName.length > 0 && (elementClassName =3D=3D = className ||=0A= new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName)));=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= if (!element.hasClassName(className))=0A= element.className +=3D (element.className ? ' ' : '') + className;=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= element.className =3D element.className.replace(=0A= new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= return element[element.hasClassName(className) ?=0A= 'removeClassName' : 'addClassName'](className);=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.blank();=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= =0A= if (element.compareDocumentPosition)=0A= return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A= =0A= if (ancestor.contains)=0A= return ancestor.contains(element) && ancestor !=3D=3D element;=0A= =0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= =0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D element.cumulativeOffset();=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value || value =3D=3D 'auto') {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= }=0A= if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= getOpacity: function(element) {=0A= return $(element).getStyle('opacity');=0A= },=0A= =0A= setStyle: function(element, styles) {=0A= element =3D $(element);=0A= var elementStyle =3D element.style, match;=0A= if (Object.isString(styles)) {=0A= element.style.cssText +=3D ';' + styles;=0A= return styles.include('opacity') ?=0A= element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element;=0A= }=0A= for (var property in styles)=0A= if (property =3D=3D 'opacity') = element.setOpacity(styles[property]);=0A= else=0A= elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ?=0A= (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : = 'styleFloat') :=0A= property] =3D styles[property];=0A= =0A= return element;=0A= },=0A= =0A= setOpacity: function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D element.getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (Prototype.Browser.Opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto';=0A= if (element._overflow !=3D=3D 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p !=3D=3D 'static') break;=0A= }=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'absolute') return element;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= var offsets =3D element.positionedOffset();=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= return element;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'relative') return element;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= return element;=0A= },=0A= =0A= cumulativeScrollOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= getOffsetParent: function(element) {=0A= if (element.offsetParent) return $(element.offsetParent);=0A= if (element =3D=3D document.body) return $(element);=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return $(element);=0A= =0A= return $(document.body);=0A= },=0A= =0A= viewportOffset: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent =3D=3D document.body &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!Prototype.Browser.Opera || (element.tagName && = (element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= clonePosition: function(element, source) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || { });=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D source.viewportOffset();=0A= =0A= // find coordinate system to use=0A= element =3D $(element);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D element.getOffsetParent();=0A= delta =3D parent.viewportOffset();=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px';=0A= if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px';=0A= return element;=0A= }=0A= };=0A= =0A= Element.Methods.identify.counter =3D 1;=0A= =0A= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= childElements: Element.Methods.immediateDescendants=0A= });=0A= =0A= Element._attributeTranslations =3D {=0A= write: {=0A= names: {=0A= className: 'class',=0A= htmlFor: 'for'=0A= },=0A= values: { }=0A= }=0A= };=0A= =0A= if (Prototype.Browser.Opera) {=0A= Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A= function(proceed, element, style) {=0A= switch (style) {=0A= case 'left': case 'top': case 'right': case 'bottom':=0A= if (proceed(element, 'position') =3D=3D=3D 'static') return = null;=0A= case 'height': case 'width':=0A= // returns '0px' for hidden elements; we want it to return null=0A= if (!Element.visible(element)) return null;=0A= =0A= // returns the border-box dimensions rather than the = content-box=0A= // dimensions, so we subtract padding and borders from the = value=0A= var dim =3D parseInt(proceed(element, style), 10);=0A= =0A= if (dim !=3D=3D element['offset' + style.capitalize()])=0A= return dim + 'px';=0A= =0A= var properties;=0A= if (style =3D=3D=3D 'height') {=0A= properties =3D ['border-top-width', 'padding-top',=0A= 'padding-bottom', 'border-bottom-width'];=0A= }=0A= else {=0A= properties =3D ['border-left-width', 'padding-left',=0A= 'padding-right', 'border-right-width'];=0A= }=0A= return properties.inject(dim, function(memo, property) {=0A= var val =3D proceed(element, property);=0A= return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A= }) + 'px';=0A= default: return proceed(element, style);=0A= }=0A= }=0A= );=0A= =0A= Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A= function(proceed, element, attribute) {=0A= if (attribute =3D=3D=3D 'title') return element.title;=0A= return proceed(element, attribute);=0A= }=0A= );=0A= }=0A= =0A= else if (Prototype.Browser.IE) {=0A= // IE doesn't report offsets correctly for static elements, so we = change them=0A= // to "relative" to get the values, then change them back.=0A= Element.Methods.getOffsetParent =3D = Element.Methods.getOffsetParent.wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= // IE throws an error if element is not in document=0A= try { element.offsetParent }=0A= catch(e) { return $(document.body) }=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= =0A= $w('positionedOffset viewportOffset').each(function(method) {=0A= Element.Methods[method] =3D Element.Methods[method].wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= try { element.offsetParent }=0A= catch(e) { return Element._returnOffset(0,0) }=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= // Trigger hasLayout on the offset parent so that IE6 reports=0A= // accurate offsetTop and offsetLeft values for position: fixed.=0A= var offsetParent =3D element.getOffsetParent();=0A= if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D = 'fixed')=0A= offsetParent.setStyle({ zoom: 1 });=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= });=0A= =0A= Element.Methods.cumulativeOffset =3D = Element.Methods.cumulativeOffset.wrap(=0A= function(proceed, element) {=0A= try { element.offsetParent }=0A= catch(e) { return Element._returnOffset(0,0) }=0A= return proceed(element);=0A= }=0A= );=0A= =0A= Element.Methods.getStyle =3D function(element, style) {=0A= element =3D $(element);=0A= style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value && element.currentStyle) value =3D = element.currentStyle[style];=0A= =0A= if (style =3D=3D 'opacity') {=0A= if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if (value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= =0A= if (value =3D=3D 'auto') {=0A= if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none'))=0A= return element['offset' + style.capitalize()] + 'px';=0A= return null;=0A= }=0A= return value;=0A= };=0A= =0A= Element.Methods.setOpacity =3D function(element, value) {=0A= function stripAlpha(filter){=0A= return filter.replace(/alpha\([^\)]*\)/gi,'');=0A= }=0A= element =3D $(element);=0A= var currentStyle =3D element.currentStyle;=0A= if ((currentStyle && !currentStyle.hasLayout) ||=0A= (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A= element.style.zoom =3D 1;=0A= =0A= var filter =3D element.getStyle('filter'), style =3D element.style;=0A= if (value =3D=3D 1 || value =3D=3D=3D '') {=0A= (filter =3D stripAlpha(filter)) ?=0A= style.filter =3D filter : style.removeAttribute('filter');=0A= return element;=0A= } else if (value < 0.00001) value =3D 0;=0A= style.filter =3D stripAlpha(filter) +=0A= 'alpha(opacity=3D' + (value * 100) + ')';=0A= return element;=0A= };=0A= =0A= Element._attributeTranslations =3D {=0A= read: {=0A= names: {=0A= 'class': 'className',=0A= 'for': 'htmlFor'=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= _getAttrNode: function(element, attribute) {=0A= var node =3D element.getAttributeNode(attribute);=0A= return node ? node.value : "";=0A= },=0A= _getEv: function(element, attribute) {=0A= attribute =3D element.getAttribute(attribute);=0A= return attribute ? attribute.toString().slice(23, -2) : null;=0A= },=0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= title: function(element) {=0A= return element.title;=0A= }=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.write =3D {=0A= names: Object.extend({=0A= cellpadding: 'cellPadding',=0A= cellspacing: 'cellSpacing'=0A= }, Element._attributeTranslations.read.names),=0A= values: {=0A= checked: function(element, value) {=0A= element.checked =3D !!value;=0A= },=0A= =0A= style: function(element, value) {=0A= element.style.cssText =3D value ? value : '';=0A= }=0A