From: Subject: Adjective List & Adjectives List Date: Fri, 14 Sep 2012 08:49:02 -0500 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0026_01CD9255.CA55F9C0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 This is a multi-part message in MIME format. ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.keepandshare.com/graphics/images/please_wait.gif R0lGODlhIwAjAPUAANXV6SGnyLzO47PM4snR5qnJ4MrS59HT6K7K4bbM48DP5avK4M/T57LL4cTQ 5bnN46PI38PP5Hm915LD3CmpyWK303++2He81m661SGnyGa400uxz5fE3YrB2lW00D+uzZrF3ZvF 3YbA2le00V220onB2jSrygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpD cmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIwAjAAAG/0CAcEgsGo/IpFEx cCifSgGkUDBAr8QDlZrAegnbAsJrNDwUByJ4OyYqIBCr0lCYIhhD+nZALEguFyJpSQlhBYMACFQQ EUMIgBKRD0oKhl1ChVR4AAQXkZ8ETwuGcg5UbQATnpEXEFAMhg1CWgUCQg+rgBNYDA1bEKGJBU4H FqwSh2QKowULmAVCBZAgTmSzD3WNB40GfxMKWAcGBJtDvZdCAhOTQ9sNCwPBQwJbCwgCBIhJEQgd GB4bAnpIBoCeISoLElQzAkEDwA0fAkrcUELIgIO/IIArcgADxIkgMQhZY2hBgwfyOD7g8A/kBxLQ hBgYgMDkAwf6cgIbEiGEBZcNIzSISKnEwTs3FChw0AeAqRIGFzU2RZCmQoYMG5xZY4ANoZA3ThJc vYphIRRTYaoNgGALwIWxGShofeJgyhZZTU/JhHuVXRJaYTahLbCpA98P5Y4YXNQWQKZhsyjwjYlk cQG8QhRxmTdZyQHNfgHo0TskwYerGqCIS8wpzFyZVJxiGS3G2hVmbG1DWUNVNxQmRH0LLxIEACH5 BAkKAAAALAAAAAAjACMAAAb/QIBwSCwaj8ikUTFwKJ9KAaRQMECvxAOVmsB6CdsCwms0PBQHIng7 JjIEgrTSUJgiGEP6dkBU1MVPCWEFcgAIVBARQxFTWwRKfmFdQoJUeABag4VIC4NWAA5UbQADYRAC UAyDDUKZD0JriHxXDA1bEI+GBU4AnVsKZAAKvguUBUIKjQ+XwQcPdYoH0VQDzE8HBgTWALWTQgYD uXkCZ9sCWwsIAgSbSARSExYS8xavQueDVAsJvEYN8RcCzhsoAYKQUvkQQQBmZELACwQHXpgAK+GC Bg/EGYmwAKDAgCK8gUNw8YGDTe0QfAJgoEGIDhY6hNiWxEGDNngIbBhBKJibnlILAQgw4cTChw0Y vHlh8EyfkAsZOoDaQHWDiJVQQoXJ9SEDCSETjm74QGLWEweNqLASliGDCTwHPFSlyjBJpjCXJrTN MAuC2LEa2hXBhwiVkBF7pWIiMXeD2SOEC6xlaWKvh0WNHxs5cKiAPSEF9rotpEADVQtQsG0LIZqC tVqayYTea0KwTyIGKOzVcPsJiLZEeys5cMEDB+HIkQQBACH5BAkKAAAALAAAAAAjACMAAAb/QIBw SCwaj8ikUTFwKJ9KAaRQMECvxAOVmsB6CdsCwms0PBQHIng7JjIEgrTSUJgiGEP6dkBU1MVPCWEF cgAIVBARQxFTWwRKfmFdQoJUeABag4VIC4NWAA5UbQADYRACUAyDDUKZD0JriHxXDA1bEI+GBU4A nVsKZAARvguUBUIKjQ+XwQcPdYoH0VQDn1AHBgTMQrWTQgYDuUPYBAabAAJbCwgCBOdHBwQKDb4F C+Lpg1QLCbxGDqX0bUFFSiAiCMCMlGokcFasMAsaCLBmhEGEAfXYiAOHIOIDB4UYJBwSZ5yDB/Qa PHgHb8IHClbSGLBgwVswIQs2ZMiAARQJoyshLlyYMNLLABI7M1DA4zIEAAMSJFyQAGHbkw5Jd04Q ouGDBSEFpkq1oAiKiKwZPsDasIFEmgMWxE4VhyQB2gxtILDdQLCBWKkdnmhAq2GIhL1OhYj4K6Go EQxZTVxiMILtBwlDCMSN2lhJBAo7K4gbsLdtIQIdoiZW4gACKyI5947YdECBYzKk97q9qYSy5RK8 nxRgS4JucCMHOlw4drz5kSAAIfkECQoAAAAsAAAAACMAIwAABv9AgHBILBqPyKRRMXAon0oBpFAw QK/EA5WawHoJ2wLCazQ8FAcieDsmMgSCtNJQmCIYQ/p2QFTUxU8JYQVyAAhUEBFDEVNbBEp+YV1C glR4AFqDhUgLg1YADlRtAANhEAJQDIMNQpkPQmuIfFcMDVsQj4YFTgCdWwpkABG+C5QFQgqND5fB BwJ1igfRVAOfUFIhCdaYA5NCBgO5QwcGBAabBxoZ6xQmGCGoTwcECg2+BQviGOv8/BQeJbYNcVBq UJh4HvopXIfhSMFGBmdxWLjOBAkOm9wwucdGHIQNJih8IDEhwaUDvPJkcfDAXoMHGQEwOJARQoUR eNJoQSAuGCWdDBs+dABgQESaB1O0+VQgYYNTD2kWYGCViUocLyGcOv1wDECHCyGQQVwgEEmID1o3 aBDCQMIFo0I4EnqiIK3TeAkuSJDAywFEQEpEpP0gYggIvRdYCTkUpiyREmiDapBzQARiDuM8KSFA wqkFa0z3Sig8pJZVKAYQxBvyQLQEC2UcYwm9l7TPJAcsIIZw+0nrt8x6I4HAwZvw40WCAAAh+QQJ CgAAACwAAAAAIwAjAAAG/0CAcEgsGo/IpFExcCifSgGkUDBAr8QDlZrAegnbAsJrhGgsESJ4OyYy BILDs5CpUwZDQxg/VBSmbUkkdYROQghUEGlCEVNbBEoWhHUeQwlbDEJaYQVySQQUkxkQjFSBA2EQ AlAIoh+aVA9Ca4l8UA0mkxOHBYYLYQpkBpJ2mZdCCo4PmWRCAoMZEgAHaZsDVlcRDQsKzEILHyNE BgOQWQYEBp6aIhvuHiQiCIYA2EYHBArbWwvmAB0f3Al8dyGENyIOUHEKswoAhoEDP0jcZUSho4V8 CkAM6OFMJyQMmPzihMBfAwwkRpyB0C1PEXvTHDzY1uDBuiEHbgpJUMLCOpAtJZsViTDhAoYC0xDI eTAlAUwsDkBIuCDBJ4BkTjZRieOlwVQJU7sAGKAK2cUFT5EguEB1agdYYoaM3KLTCAGweC8YcoBJ iIOLcZVAaDuV1M4t9BCFSUtkMNgLHdYpLiB2GifGQxiIABtinR42bhpshfKG3qwwC4wYwHzlsymh UEaWha1kjVLaT5j4w827SBAAIfkECQoAAAAsAAAAACMAIwAABv9AgHBILBqPyGTxgBlNlFBlJUMt RK9EAYWa8WC/IW7GdPgWGxYOgRjmUspDhkAATw42n81IMCyIN3UKBRAFCFASG4kfHmsABiZcFkMR hAWWjUggeYkbGEMeXA1CB5alBXVHBiOceA9CHVQUDEIDphB8UAmsGxq0VL0ABLYDWA8VnB9WjxlP AAumCmYHEx6JI2Wga5SWD7NmQhEWeBwACSIApAUDBlgEAg8OqA8aF0QGA5ijBgQGqAAhFiRIsCAC wgN2QrwZOeBuwDNLCzBBuCBQ4IWLaRr4E+LAoamPuCZUHCnhIgYrRmoN+liKWLmSFTF2COEKCQMF Hj8iwKRgggieCzPx1fGHcJSDBw0WNHiwEQmBpERI7fxWhEEtCNEOICjzgFCCol8YPCi1QIgCCA7Q maLzxcHHtAAG3DJbqcACsEkc1C0gSm2hIQ9LNY3K0ptbS4b3GlIiwBaucqXgAkDwEW+RxqX6CqFs KcGQdKUsR+VcU4gBU4sTNrD0OMkBAwqFCCNrxIBoLKdLpaaa5OFc3kpmbwUOBWc+4siJBAEAIfkE CQoAAAAsAAAAACMAIwAABv9AgHBILBqPyGTx0LlAlFCl6LPZDKJYYsRT3Vyy4EV3QzqAi4LQgkEU d0fm4QKDUUAVksvF4hg2xhhEEhmEJgZKIBcSeRZsAAwkVR8cQyKElyBKC4qLF5RCF1QbD0IDl5ek SQcWnHl2ACFVJI4bpxkaURF5nR1CChsfIkIcthtxUBFNihcJj5EFjxSnGI5YBwuse2YXG4cXlyMN Z0MGIRIY4gohAAKEH0/WBgTVQg4dmUMQGxPHAAfyBvqxK0BwAQIBBI4JHPJPQYMFBAssIDBEQMSL EhP0OeJgAEaMAkp9jAgBwqsiHgtAGFngCgACIxc0eEARCQMFAyBiRFATgIGeAQhkPnDQT+Ahhg4e PJy5EImDh0QOFOA5rggDjyb9ITDzYGWCo2cYPIi4wBeEPlIjCmjqFOPGARBCAlCwsiBYJQ7qEhTn jyACORjZMvzoyEHEwnqnQrFIUi6ABBE3AkCA8a4RxnuJUCbYTEjaiJaXbE4lxMDFv0MYNCDoWJUB ei8vli1iIDQY0xFRV9VEMO5uKDCnCv7ta0BP4siLBAEAIfkECQoAAAAsAAAAACMAIwAABv9AgHBI LBqPyKQRwkkon8rQRSJRQK9Eg2V64WC/DypV9DUaHooDMSwWqYcJkcjxNBQgBQRjqBBfJkQTGxsf JHtJCQWKim8HIlwLQxwfg4ORSQqLik5CHFMSEUIKlZWhSguaBQZCDRcXbkIYpB8lUAypDUIErhBC CJSDHxhvTwwNixAEAI4XTgcjpBPEVwqoeUIgF2oTwBICZUMHD3ehBLkRgxgDWAcGBIdDxpysGAXE BwIQIQV0RAKLCxAIIDANST5ZFDIopBDizb9UihYk6GekwwaFGDNmwCBkAERkEKwUOXBRo0YPuj4u aPBA2ZEDBSSU1GgCxBADAxCsfOBgWsGXVULwdajwgcKHCqagOGhwKWgeoOEOFEzCwGPIZQjUPMCT AN4XBuMiioJAB+aib18cpOo3AAJaBXgiQlXiIK6iXMsUIRhibdHUkRAPqVUk2O41JQ8VuYWziCKC VHONJC6A19eieWYXRR75uMCDLJr2xjtWAK2Sdl4BENDU9ObmL3YWiQb3xNpi2k9W5/mLu4iCAS57 C0cSBAA7AAAAAAAAAAAA ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://s7.addthis.com/static/btn/sm-share-en.gif R0lGODlhUwAQALMOAOzs7Nra2tLS0tDQ0Pz8/PPz8/b29vr6+v9pOujo6O/v78DAwAAAAP////// /wAAACH5BAEAAA4ALAAAAABTABAAAATy0LlFq7046827X9IUNGRpnmiqrmzbBuAyunRt3yq8lEjv 97ig8EYh/Y6IoXKJKjZ+Rp+LQS0xrNYqiaptcK9MkhP6lLLA3i02rWaz0WHxrowCnlFocL79jpso BAR2Jj2BhoeGXIlfgV8MjYqQj4iUlZYUBwdkP5mdnp8HDJmio6WmoqSmoKusoBQGBps+sLS1sAy0 uAa6u7e5vr3AtsPExQYUBQVIP8nNzs1c0NIFDNPVyddfz9vc3RQK4MsI4OTl5ufo6err7OYUAu3x 8vPlAPb3+Pn6AjECCf8AAwocSLCgwYMIEQ4AIeGDw4cQI1qQEAEAOw== ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://s9.addthis.com/button0-bm.gif R0lGODlhUwAQALMOANra2tLS0tDQ0Pz8/PPz8/b29vr6+u/v7/9pOujo6Ozs7MDAwAAAAP////// /wAAACH5BAEAAA4ALAAAAABTABAAAAT/0LlFq7046827X9IENGRpnmiqrmzbAuAyunRt3yq8lEjv 97ig8EYh/Y6IoXKJKjZ+Rp+JQWWUqlcqybptcK9brRfrBduc0KfUXP5a3eW4eBxvg7nfGjp5ArLf d4FwgIBdg3VnCwMDfiY9i4tVDJGQk5OUVJADl5ybkp6ZnpqjpJoUBgZpP6ioDKyurq0GsbO1tLSy t7avtay+v78UBQWqPsPDDMfJycgFzM7Q0c/Nz8vN0sfZ2toUBARIP97ekuJV5VTj5QQM4uns7urv 6+309QQUB/ngCPn9/v8AAwocSLDgPwoBFChcyLChw4cQI0qcSFFBgBgCEmjcyLGjx48gEUOKHDlS AAgJH1KqXMnSgoQIADs= ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.keepandshare.com/graphics/buttons/help/tell_us.gif R0lGODlhQgAVAOZ/AOPvoTk8LN/uhnd6ZePxlOHvk+70y8bShA0OCs7VqMTExMnTk+nysu3zy+fn 5+zyxeryxOfwsdThi+DvjeLumdbW1qy1eIqJiXR5W9TU1K20grK3kt/wgkdLNL3EkoOIaPLy8o+W ZeHxiOjxuDs8MePwm+TwoqOniuryv9vitZylbLO3mefyq+vzwKinp93pn3+Bb97vgurzultdVXJ4 Unl5ee30xsHGop+meOLxjr3Hgnt9amVkYpOXfFdaRebwqenyueryuebxqrKyssjVfdfesh0eF2Rp SNrknTg7J6evdHp9Zr/FnFVaO2hoZmNiXistIu3zzO70zeDwg+/1zuDwh+70zt/ujOXwqe/1zeHw jeHwju30zObyo+TxnO/0zuz0weXvqe30yu70zO/0ze7zze7zzuLwk5GRkcjIyK+2i+TvodDVstHR 0W5tbJCXanFxcXF4TYGHX9XhkdbhmNvsgbjDfoyQciosHpSYgOrxw93on2pqamppaAAAAP///yH5 BAEAAH8ALAAAAABCABUAAAf/gH+Cgw5DF3B8iYqLjI2Oj5B8cBdDDoOXhC4wGgtIe5+goaKjpKUv p6ipSAsaMC6WmH9pTkx6tre4ubq7vLwQv8AQDw96TE5pmBVORVENzs/Q0dBR1NXW19jWXNvcXGPf YylOFZdoCWXoZWbrfu3ufiRW8vNWJPEDfvTy+FZf/it+Vvj7QqWgQRJ+DBZMgGaQgh5SIkqMOKCi ESMV80yUaM8Kvo1S8JEZSQbgiiwoU6KkglBhwR4KBNUoIi2aPTE4xXA5ccOAT3sG8PkcGtQPUZM+ 2Zw4wWYoQqIGshSp8QfEDGHDsmp9YC/rCSPtSNzgSuIBvgc20qbFp9bGBj8b/9y2Q+CnR1p7bdXO AJFhB4q/gAP/DUDibwI/HVIkuNjCXgsMflpIngx5cou3G1r4MCKZsGTHLcCIFr0jg4I7I1KrXp06 QIARQD748YEBA0IPJAIAgQykt2/IQYLLUONHjQzZUD4kkMHcNvPnzO8oyLAkgvXr2K27tg7ZtXcP 2yFjZxABMoPzDHD48XD+A5R2Ps5j6IC+/pIMVsPo34+lv/8ASfT3hh9v9KcBDQsA+AMNfvwgxIMP yuEHDhAe4QcLLLzxBgsLdODHAixooAGGJLIgxF5/1LAAACy2yOIaMCaRhAkm0IEAHiGogMCMMprA II1AArAAAgjQEIKHTdDIYPMIFiSBQBddHHEElFR2sQBVfyjwAQVcduklBTJ2qQJYiB1QgowlxOFH CWy2WYIdSbRjRBNtztEBXQio4IUXMu7ppxcfxCTIBToUYOihiCaq6KKGnuHoo2dIACmkBFRq6aWV 6nDBJW08ccAVoIYqKqgTlGrqqahOoMWqrK66xauwwprDrLTWmsMBT7SBiQI8WCDAr8AGK+ywwlZh 7LHIJqtsFSI022wVFvAgKCYOuLCDEkTUEcO23HLg7bfghivuFOSWa+655sZAhBI7vBLLJYVc4EYf 9NZr77345qvvvn24QQks7wYs8MAEF2zwwQgnrPAlgQAAOw== ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://keepn.com/global/styles.php?m=1346967627&app=doc TD.cal { BACKGROUND-COLOR: #d3d3d3; FONT-FAMILY: Arial, Helvetica, Sans-serif; = COLOR: #000000; FONT-SIZE: 11px } SELECT.month { WIDTH: 85px; FONT-FAMILY: Arial, Helvetica, Sans-serif; COLOR: #000000; = FONT-SIZE: 11px } INPUT.year { WIDTH: 30px; FONT-FAMILY: Arial, Helvetica, Sans-serif; COLOR: #000000; = FONT-SIZE: 11px } TD.calDaysColor { BACKGROUND-COLOR: #000000; FONT-FAMILY: Arial, Helvetica, Sans-serif; = COLOR: #ffffff; FONT-SIZE: 11px } TD.calWeekend { BACKGROUND-COLOR: #c0c0c0; FONT-FAMILY: Arial, Helvetica, Sans-serif; = COLOR: #ffffff; FONT-SIZE: 11px } TD.calBgColor { BACKGROUND-COLOR: #d3d3d3; FONT-FAMILY: Arial, Helvetica, Sans-serif; = COLOR: #ffffff; FONT-SIZE: 11px } .calBorderColor { BACKGROUND-COLOR: #a9a9a9; FONT-FAMILY: Arial, Helvetica, Sans-serif; = COLOR: #ffffff; FONT-SIZE: 11px } TD.calHighlightColor { BACKGROUND-COLOR: #ffffcc; FONT-FAMILY: Arial, Helvetica, Sans-serif; = COLOR: #ffffff; FONT-SIZE: 11px } A.cal { FONT-FAMILY: Arial, Helvetica, Sans-serif; COLOR: #000000; FONT-SIZE: = 11px; TEXT-DECORATION: none } A.cal:hover { FONT-FAMILY: Arial, Helvetica, Sans-serif; COLOR: #ff0000; FONT-SIZE: = 11px; TEXT-DECORATION: none } .disabled { FONT-FAMILY: Arial, Helvetica, Sans-serif; COLOR: #808080; FONT-SIZE: = 11px; TEXT-DECORATION: none } #sideUser1 { BORDER-BOTTOM: #3d140c 1px solid; BORDER-LEFT: #3d140c 1px solid; = WIDTH: 139px; FONT-FAMILY: arial, sans-serif; FONT-SIZE: 12px; = BORDER-TOP: #3d140c 1px solid; FONT-WEIGHT: normal; BORDER-RIGHT: = #3d140c 1px solid } .sideUser1Unit A { PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #648fb8; PADDING-LEFT: 10px; = WIDTH: 139px; PADDING-RIGHT: 3px; DISPLAY: block; COLOR: #fff; = TEXT-DECORATION: none; PADDING-TOP: 3px } .sideUser1Unit A:hover { BACKGROUND-COLOR: #fff; COLOR: #648fb8; TEXT-DECORATION: none } .sideUser1Separator { BORDER-BOTTOM: #d5e1ed 1px solid; BACKGROUND: #305477 } A.appmenu { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.appmenu:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.appmenu:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.appmenu:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.appmenu:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } TD.commandmenu { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.commandmenu { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.commandmenu:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.commandmenu:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.commandmenu:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.commandmenu:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.commandmenu:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } TD.commandmenu2 { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } A.commandmenu2 { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } A.commandmenu2:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } A.commandmenu2:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } A.commandmenu2:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } A.commandmenu2:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = underline } A.commandmenu2:hover { TEXT-DECORATION: underline } TD.commandmenu2o { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ee9c01; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.commandmenu2o { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ee9c01; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.commandmenu2o:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ee9c01; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.commandmenu2o:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ee9c01; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.commandmenu2o:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ee9c01; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.commandmenu2o:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ee9c01; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.commandmenu2o:hover { BACKGROUND: #dddddd } TD.Commandmenu3 { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Commandmenu3 { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Commandmenu3:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Commandmenu3:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Commandmenu3:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Commandmenu3:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } TABLE.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } FORM.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } DIV.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } SPAN.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } BODY.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } CENTER.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } P.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } LI.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } INPUT.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } TD.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: #000000; = FONT-SIZE: 11px } A.showBar { FONT-FAMILY: tahoma, Arial, sans-serif, Verdana; COLOR: blue; = FONT-SIZE: 11px; TEXT-DECORATION: none } TD.Vertical_bar { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #444444; = FONT-SIZE: 9pt; FONT-WEIGHT: normal } TD.current_application_name { FONT-STYLE: italic; FONT-FAMILY: tahoma, arial, helvetica, sans-serif, = Times, serif; COLOR: #00ff00; FONT-SIZE: 13px; FONT-WEIGHT: bold } A.RestOfApps { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = maroon; FONT-SIZE: x-small; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.RestOfApps:link { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = maroon; FONT-SIZE: x-small; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.RestOfApps:visited { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = maroon; FONT-SIZE: x-small; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.RestOfApps:active { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = maroon; FONT-SIZE: x-small; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.RestOfApps:hover { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: x-small; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: underline } A.view { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ff0000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.view:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ff0000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.view:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ff0000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.view:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ff0000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.view:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #ff0000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } SPAN.edit { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } DIV.edit { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit:hover { TEXT-DECORATION: underline } DIV.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } BODY.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } CENTER.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } SPAN.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } P.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } TD.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit_green { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit_green:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit_green:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit_green:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.edit_green:hover { BACKGROUND: #dddddd } DIV.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } BODY.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } CENTER.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } SPAN.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } P.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } TD.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.edit_small { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; TEXT-DECORATION: none } A.edit_small:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; TEXT-DECORATION: none } A.edit_small:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; TEXT-DECORATION: none } A.edit_small:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 11px; TEXT-DECORATION: none } A.edit_small:hover { TEXT-DECORATION: underline } SPAN.editRed { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } DIV.editRed { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRed { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRed:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRed:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRed:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRed:hover { BACKGROUND: #cccccc } SPAN.editRedSmall { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } DIV.editRedSmall { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRedSmall { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRedSmall:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRedSmall:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRedSmall:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.editRedSmall:hover { BACKGROUND: #cccccc } A.title { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.title:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.title:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.title:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.title:hover { BACKGROUND: #dddddd } A.titleSmall { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.titleSmall:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.titleSmall:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.titleSmall:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.titleSmall:hover { BACKGROUND: #dddddd } A.titleSmallBold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.titleSmallBold:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.titleSmallBold:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.titleSmallBold:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.titleSmallBold:hover { BACKGROUND: #dddddd } DIV.title { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = FONT-WEIGHT: normal; TEXT-DECORATION: none } A.boldtitle { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.boldtitle:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.boldtitle:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.boldtitle:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: black; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.boldtitle:hover { BACKGROUND: #dddddd } A.webTitle { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.webTitle:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.webTitle:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.webTitle:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.webTitle:hover { BACKGROUND: #dddddd } A.webBoldtitle { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.webBoldtitle:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.webBoldtitle:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.webBoldtitle:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.webBoldtitle:hover { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 10pt; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.contenttitle { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = #008000; FONT-SIZE: x-large; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.contenttitle:link { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = #008000; FONT-SIZE: x-large; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.contenttitle:visited { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = #008000; FONT-SIZE: x-large; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.contenttitle:active { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = #008000; FONT-SIZE: x-large; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.contenttitle:hover { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: red; = FONT-SIZE: x-large; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: underline } TABLE.QuickLinks { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.QuickLinks { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.QuickLinks:link { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.QuickLinks:visited { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.QuickLinks:active { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } SPAN.QuickLinks { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } DIV.QuickLinks { FONT-FAMILY: verdana, arial, tahoma, helvetica, serif, sans-serif; = COLOR: #006000; FONT-SIZE: 9pt; CURSOR: pointer; FONT-WEIGHT: normal; = TEXT-DECORATION: none } A.QuickLinks:hover { BACKGROUND: #dddddd } A.Printable { FONT-FAMILY: verdana, arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.Printable:link { FONT-FAMILY: verdana, arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.Printable:visited { FONT-FAMILY: verdana, arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.Printable:active { FONT-FAMILY: verdana, arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.Printable { FONT-FAMILY: verdana, arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.Printable:hover { BACKGROUND: #cccccc } A.PrintableSmall { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableSmall:link { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableSmall:visited { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableSmall:active { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } SPAN.PrintableSmall { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } TD.PrintableSmall { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableSmall:hover { BACKGROUND: #cccccc } A.PrintableUnderline { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableUnderline:link { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableUnderline:visited { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableUnderline:active { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } SPAN.PrintableUnderline { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableUnderline:hover { BACKGROUND: #cccccc } A.PrintableLarge { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableLarge:link { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableLarge:visited { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableLarge:active { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } SPAN.PrintableLarge { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.PrintableLarge:hover { BACKGROUND: #dddddd } A.PrintableLargeUnderline { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableLargeUnderline:link { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableLargeUnderline:visited { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableLargeUnderline:active { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } SPAN.PrintableLargeUnderline { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.PrintableLargeUnderline:hover { BACKGROUND: #dddddd } A.SharePageAppName { FONT-FAMILY: verdana, arial, sans-serif; COLOR: blue; FONT-SIZE: 13px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.SharePageAppName:link { FONT-FAMILY: verdana, arial, sans-serif; COLOR: blue; FONT-SIZE: 13px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.SharePageAppName:visited { FONT-FAMILY: verdana, arial, sans-serif; COLOR: blue; FONT-SIZE: 13px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.SharePageAppName:active { FONT-FAMILY: verdana, arial, sans-serif; COLOR: blue; FONT-SIZE: 13px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } SPAN.SharePageAppName { FONT-FAMILY: verdana, arial, sans-serif; COLOR: blue; FONT-SIZE: 13px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.SharePageAppName:hover { BACKGROUND: #dddddd } A.ViewMore { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #e50000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.ViewMore:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #e50000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.ViewMore:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #e50000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.ViewMore:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #e50000; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.ViewMore:hover { BACKGROUND: #dddddd } A.Help { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Help:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Help:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Help:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Help:hover { BACKGROUND: #dddddd } DIV.CategoryTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } SPAN.CategoryTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } TD.CategoryTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } P.CategoryTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.CategoryTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.CategoryTitle:link { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.CategoryTitle:visited { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.CategoryTitle:active { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: = #008000; FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.CategoryTitle:hover { BACKGROUND: #dddddd } DIV.ToDoTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } SPAN.ToDoTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } P.ToDoTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.ToDoTitle { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.ToDoTitle:link { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.ToDoTitle:visited { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.ToDoTitle:active { FONT-FAMILY: arial, tahoma, helvetica, serif, sans-serif; COLOR: black; = FONT-SIZE: 16px; FONT-WEIGHT: bold; TEXT-DECORATION: none } P.ViewTitle { FONT-FAMILY: serif, tahoma, arial, helvetica, sans-serif; COLOR: = #008000; FONT-SIZE: large; FONT-WEIGHT: bold } DIV.FolderTitle { MARGIN: 10px 0px 0px; FONT-FAMILY: arial, helvetica, sans-serif, serif, = tahoma; COLOR: #707070; FONT-SIZE: 18pt; FONT-WEIGHT: bold } SPAN.FolderTitle { MARGIN: 10px 0px 0px; FONT-FAMILY: arial, helvetica, sans-serif, serif, = tahoma; COLOR: #707070; FONT-SIZE: 18pt; FONT-WEIGHT: bold } P.FolderTitle { MARGIN: 10px 0px 0px; FONT-FAMILY: arial, helvetica, sans-serif, serif, = tahoma; COLOR: #707070; FONT-SIZE: 18pt; FONT-WEIGHT: bold } DIV.FolderTitle2 { MARGIN: 0px; FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; = COLOR: white; FONT-SIZE: 18pt; FONT-WEIGHT: bold } SPAN.FolderTitle2 { MARGIN: 0px; FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; = COLOR: white; FONT-SIZE: 18pt; FONT-WEIGHT: bold } P.FolderTitle2 { MARGIN: 0px; FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; = COLOR: white; FONT-SIZE: 18pt; FONT-WEIGHT: bold } DIV.FolderTitleSmall { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 22px; FONT-WEIGHT: bold } SPAN.FolderTitleSmall { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 22px; FONT-WEIGHT: bold } P.FolderTitleSmall { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 22px; FONT-WEIGHT: bold } TD.FolderTitleSmall { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 22px; FONT-WEIGHT: bold } DIV.FolderTitleSmall2 { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 20px; FONT-WEIGHT: bold } SPAN.FolderTitleSmall2 { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 20px; FONT-WEIGHT: bold } P.FolderTitleSmall2 { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 20px; FONT-WEIGHT: bold } TD.FolderTitleSmall2 { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: white; = FONT-SIZE: 20px; FONT-WEIGHT: bold } DIV.FolderTitleSmaller { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: = #707070; FONT-SIZE: 11pt; FONT-WEIGHT: bold } SPAN.FolderTitleSmaller { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: = #707070; FONT-SIZE: 11pt; FONT-WEIGHT: bold } P.FolderTitleSmaller { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: = #707070; FONT-SIZE: 11pt; FONT-WEIGHT: bold } TD.FolderTitleSmaller { FONT-FAMILY: arial, helvetica, sans-serif, serif, tahoma; COLOR: = #707070; FONT-SIZE: 11pt; FONT-WEIGHT: bold } DIV.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } SPAN.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } TD.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } P.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } INPUT.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } TABLE.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } INPUT.ButtonSmallKAS { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } INPUT.ButtonMediumKAS { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 9pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } INPUT.ButtonLargeKAS { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 10pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } INPUT.ButtonFixKAS { PADDING-BOTTOM: 0px; PADDING-LEFT: 0.5em; WIDTH: auto; PADDING-RIGHT: = 0.5em; OVERFLOW: visible; PADDING-TOP: 0px } INPUT.Button { PADDING-BOTTOM: 0px; PADDING-LEFT: 0.5em; WIDTH: auto; PADDING-RIGHT: = 0.5em; OVERFLOW: visible; PADDING-TOP: 0px } INPUT.ButtonBoldKAS { FONT-WEIGHT: bold } A.Smaller { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 8pt; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.Smaller:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 8pt; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.Smaller:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 8pt; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.Smaller:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 8pt; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.Smaller:hover { TEXT-DECORATION: underline } A.Comments { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Comments:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Comments:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Comments:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: blue; = FONT-SIZE: 10pt; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = underline } A.Comments:hover { BACKGROUND: #dddddd } BR.BrSmaller { LINE-HEIGHT: 200% } .TxtBlack4 { FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000000; FONT-SIZE: 10px } TD.white_on_blue { BACKGROUND-COLOR: #7484bf; FONT-FAMILY: tahoma, arial, helvetica, = sans-serif, Times, serif; COLOR: white; FONT-SIZE: 11pt; FONT-WEIGHT: = bold } TD.folder_bar { FONT-FAMILY: tahoma, arial, helvetica, sans-serif, Times, serif; COLOR: = white; FONT-SIZE: 11pt; FONT-WEIGHT: bold } TABLE.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } FORM.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } DIV.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } SPAN.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } BODY.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } CENTER.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } P.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } LI.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } INPUT.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } TD.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } A.base1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: underline } A.base1:hover { BACKGROUND: #dddddd } UL.base1 { MARGIN-LEFT: 20px } H1.base1 { FONT-FAMILY: arial, helvetica, sans-serif; COLOR: #7484bf; FONT-SIZE: = 24px } H2.base1 { FONT-FAMILY: arial, helvetica, sans-serif; COLOR: #7484bf; FONT-SIZE: = 18px } H3.base1 { FONT-FAMILY: arial, helvetica, sans-serif; COLOR: #7484bf; FONT-SIZE: = 14px } TABLE.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } FORM.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } DIV.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } SPAN.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } BODY.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } CENTER.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } LI.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } INPUT.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } TD.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; FONT-SIZE: = 10pt } TD.view2 P { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } A.view2 { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; COLOR: = blue; FONT-SIZE: 14pt } A.view2:link { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; COLOR: = blue; FONT-SIZE: 14pt } A.view2:visited { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; COLOR: = blue; FONT-SIZE: 14pt } A.view2:active { FONT-FAMILY: Verdana, Georgia, Times New Roman, sans-serif; COLOR: = blue; FONT-SIZE: 14pt } A.view2:hover { BACKGROUND: #dddddd } TABLE.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } FORM.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } DIV.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } SPAN.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } BODY.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } CENTER.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } P.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } LI.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } INPUT.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2 P { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } A.base2 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2:hover { TEXT-DECORATION: underline } TABLE.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } FORM.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } DIV.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } SPAN.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } BODY.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } CENTER.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } P.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } LI.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } INPUT.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2comment P { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; FONT-SIZE: 12px } A.base2comment { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: none } A.base2comment:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: none } A.base2comment:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: none } A.base2comment:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: none } A.base2comment:hover { BACKGROUND: #dddddd } TABLE.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } FORM.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } DIV.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } SPAN.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } BODY.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } CENTER.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } P.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } LI.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } INPUT.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } A.base2link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2link:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2link:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2link:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; TEXT-DECORATION: underline } A.base2link:hover { TEXT-DECORATION: underline } TABLE.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } FORM.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } DIV.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } SPAN.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } BODY.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } CENTER.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } P.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } LI.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } INPUT.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } A.base2link_lite_blue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.base2link_lite_blue:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.base2link_lite_blue:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.base2link_lite_blue:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.base2link_lite_blue:hover { TEXT-DECORATION: underline } TABLE.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } FORM.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } DIV.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } SPAN.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } BODY.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } CENTER.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } P.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } LI.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } INPUT.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } TD.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 12px } A.base2link_lite_blue_underline { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.base2link_lite_blue_underline:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.base2link_lite_blue_underline:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.base2link_lite_blue_underline:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 12px; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.base2link_lite_blue_underline:hover { TEXT-DECORATION: underline } TABLE.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } FORM.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } DIV.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } SPAN.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } BODY.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } CENTER.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } P.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } LI.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } INPUT.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } TD.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } A.base2link_lite_blue_small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 11px; TEXT-DECORATION: underline } A.base2link_lite_blue_small:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 11px; TEXT-DECORATION: underline } A.base2link_lite_blue_small:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 11px; TEXT-DECORATION: underline } A.base2link_lite_blue_small:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 11px; TEXT-DECORATION: underline } A.base2link_lite_blue_small:hover { TEXT-DECORATION: underline } TABLE.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } FORM.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } DIV.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } SPAN.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } BODY.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } CENTER.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } P.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } LI.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } INPUT.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } TD.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 14px } A.base2larger { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 14px; = TEXT-DECORATION: none } TABLE.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } FORM.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } DIV.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } SPAN.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } BODY.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } CENTER.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } P.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } LI.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } INPUT.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } TD.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } A.base2largest { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 16px; = TEXT-DECORATION: underline } TABLE.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } FORM.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } DIV.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } SPAN.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } BODY.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } CENTER.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } P.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } LI.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } INPUT.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } TD.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 16px } A.base2largestlink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 16px; = TEXT-DECORATION: underline } A.base2largestlink:hover { BACKGROUND: #dddddd } TABLE.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } FORM.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } DIV.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } SPAN.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } BODY.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } CENTER.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } P.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } LI.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } INPUT.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } TD.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } A.base2small { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #3b5998; FONT-SIZE: = 11px; TEXT-DECORATION: none } A.base2small:hover { BACKGROUND: #dddddd } TABLE.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } FORM.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } DIV.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } SPAN.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } BODY.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } CENTER.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } P.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } LI.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } INPUT.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } TD.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #000000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } A.base2smallbold { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 11px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.base2smallbold:hover { BACKGROUND: #dddddd } TABLE.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } TD.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } FORM.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } DIV.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } SPAN.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } BODY.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } CENTER.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } P.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } LI.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } INPUT.warning { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px } DIV.label-1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold } BODY.label-1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold } CENTER.label-1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold } SPAN.label-1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold } P.label-1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold } TD.label-1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold } DIV.label-2 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } BODY.label-2 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } CENTER.label-2 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } SPAN.label-2 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } P.label-2 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } TD.label-2 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } DIV.label-2b { PADDING-BOTTOM: 10px; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 14pt; FONT-WEIGHT: bold } BODY.label-2b { PADDING-BOTTOM: 10px; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 14pt; FONT-WEIGHT: bold } CENTER.label-2b { PADDING-BOTTOM: 10px; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 14pt; FONT-WEIGHT: bold } SPAN.label-2b { PADDING-BOTTOM: 10px; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 14pt; FONT-WEIGHT: bold } P.label-2b { PADDING-BOTTOM: 10px; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 14pt; FONT-WEIGHT: bold } TD.label-2b { PADDING-BOTTOM: 10px; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 14pt; FONT-WEIGHT: bold } DIV.label-2-grey { FONT-FAMILY: Arial, sans-serif; COLOR: #707070; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } BODY.label-2-grey { FONT-FAMILY: Arial, sans-serif; COLOR: #707070; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } CENTER.label-2-grey { FONT-FAMILY: Arial, sans-serif; COLOR: #707070; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } SPAN.label-2-grey { FONT-FAMILY: Arial, sans-serif; COLOR: #707070; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } P.label-2-grey { FONT-FAMILY: Arial, sans-serif; COLOR: #707070; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } TD.label-2-grey { FONT-FAMILY: Arial, sans-serif; COLOR: #707070; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } DIV.label-2-green { FONT-FAMILY: Arial, sans-serif; COLOR: #00aa00; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } BODY.label-2-green { FONT-FAMILY: Arial, sans-serif; COLOR: #00aa00; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } CENTER.label-2-green { FONT-FAMILY: Arial, sans-serif; COLOR: #00aa00; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } SPAN.label-2-green { FONT-FAMILY: Arial, sans-serif; COLOR: #00aa00; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } P.label-2-green { FONT-FAMILY: Arial, sans-serif; COLOR: #00aa00; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } TD.label-2-green { FONT-FAMILY: Arial, sans-serif; COLOR: #00aa00; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } DIV.label-2-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } BODY.label-2-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } CENTER.label-2-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } SPAN.label-2-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } P.label-2-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } TD.label-2-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } DIV.label-3-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } BODY.label-3-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } CENTER.label-3-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } SPAN.label-3-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } P.label-3-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } TD.label-3-red { FONT-FAMILY: Arial, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } DIV.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } BODY.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } CENTER.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } SPAN.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } P.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } TD.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } A.label-3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.label-3:link { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.label-3:visited { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.label-3:active { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 13pt; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.label-3:hover { BACKGROUND: #dddddd } DIV.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } BODY.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } CENTER.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } SPAN.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } P.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } TD.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } INPUT.label-small { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 8pt } DIV.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } BODY.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } CENTER.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } SPAN.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } P.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } TD.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } INPUT.label-smallest { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 7pt } DIV.bigRed { FONT-FAMILY: Verdana, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } BODY.bigRed { FONT-FAMILY: Verdana, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } CENTER.bigRed { FONT-FAMILY: Verdana, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } SPAN.bigRed { FONT-FAMILY: Verdana, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } P.bigRed { FONT-FAMILY: Verdana, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } TD.bigRed { FONT-FAMILY: Verdana, sans-serif; COLOR: red; FONT-SIZE: 13pt; = FONT-WEIGHT: bold } A.img_pointer { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 32px; = CURSOR: pointer; TEXT-DECORATION: none } A.img_pointer:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 32px; = CURSOR: pointer; TEXT-DECORATION: none } A.img_pointer:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 32px; = CURSOR: pointer; TEXT-DECORATION: none } A.img_pointer:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 32px; = CURSOR: pointer; TEXT-DECORATION: none } A.img_pointer:hover { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 32px; = CURSOR: pointer; TEXT-DECORATION: none } TABLE.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } FORM.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } DIV.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } SPAN.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } BODY.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } CENTER.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } P.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } LI.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } INPUT.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } TD.todoDisplay { POSITION: absolute; FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: = #000000; FONT-SIZE: 12px; LEFT: 400px } A.todoDisplay { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: none } TABLE.colorText1 { COLOR: #25a72c } FORM.colorText1 { COLOR: #25a72c } DIV.colorText1 { COLOR: #25a72c } SPAN.colorText1 { COLOR: #25a72c } BODY.colorText1 { COLOR: #25a72c } CENTER.colorText1 { COLOR: #25a72c } P.colorText1 { COLOR: #25a72c } LI.colorText1 { COLOR: #25a72c } INPUT.colorText1 { COLOR: #25a72c } TD.colorText1 { COLOR: #25a72c } TABLE.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } FORM.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } DIV.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } SPAN.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } BODY.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } CENTER.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } P.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } LI.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } INPUT.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } TD.textWithBackgroundColor { BACKGROUND-COLOR: #ffff00; FONT-FAMILY: Verdana, Arial, sans-serif; = COLOR: #000000; FONT-SIZE: 12px } A.textWithBackgroundColor { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: none } DIV.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } BODY.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } CENTER.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } SPAN.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } P.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } TD.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } INPUT.courierNew { FONT-FAMILY: "Courier New", Courier, mono; COLOR: #555555; FONT-SIZE: = 13px } DIV.Smaller2 { LINE-HEIGHT: 15px; FONT-FAMILY: tahoma, arial; COLOR: black; FONT-SIZE: = 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } SPAN.Smaller2 { LINE-HEIGHT: 15px; FONT-FAMILY: tahoma, arial; COLOR: black; FONT-SIZE: = 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } TD.Smaller2 { LINE-HEIGHT: 15px; FONT-FAMILY: tahoma, arial; COLOR: black; FONT-SIZE: = 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } P.Smaller2 { LINE-HEIGHT: 15px; FONT-FAMILY: tahoma, arial; COLOR: black; FONT-SIZE: = 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } INPUT.Smaller2 { LINE-HEIGHT: 15px; FONT-FAMILY: tahoma, arial; COLOR: black; FONT-SIZE: = 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } TABLE.Smaller2 { LINE-HEIGHT: 15px; FONT-FAMILY: tahoma, arial; COLOR: black; FONT-SIZE: = 8pt; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Smaller2 { FONT-FAMILY: tahoma, arial; COLOR: blue; FONT-SIZE: 8pt; CURSOR: = pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Smaller2:link { FONT-FAMILY: tahoma, arial; COLOR: blue; FONT-SIZE: 8pt; CURSOR: = pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Smaller2:visited { FONT-FAMILY: tahoma, arial; COLOR: blue; FONT-SIZE: 8pt; CURSOR: = pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Smaller2:active { FONT-FAMILY: tahoma, arial; COLOR: blue; FONT-SIZE: 8pt; CURSOR: = pointer; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.Smaller2:hover { BACKGROUND: #dddddd } DIV.vertical1 { MARGIN-BOTTOM: 7px } SPAN.vertical1 { MARGIN-BOTTOM: 7px } TD.vertical1 { MARGIN-BOTTOM: 7px } P.vertical1 { MARGIN-BOTTOM: 7px } INPUT.vertical1 { MARGIN-BOTTOM: 7px } TABLE.vertical1 { MARGIN-BOTTOM: 7px } DIV.calendarName { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 22px; = FONT-WEIGHT: bold } BODY.calendarName { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 22px; = FONT-WEIGHT: bold } CENTER.calendarName { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 22px; = FONT-WEIGHT: bold } SPAN.calendarName { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 22px; = FONT-WEIGHT: bold } P.calendarName { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 22px; = FONT-WEIGHT: bold } TD.calendarName { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 22px; = FONT-WEIGHT: bold } DIV.calMonthNum { FONT-FAMILY: Arial, sans-serif; COLOR: #cc2020; FONT-SIZE: 13px; = FONT-WEIGHT: bold } BODY.calMonthNum { FONT-FAMILY: Arial, sans-serif; COLOR: #cc2020; FONT-SIZE: 13px; = FONT-WEIGHT: bold } CENTER.calMonthNum { FONT-FAMILY: Arial, sans-serif; COLOR: #cc2020; FONT-SIZE: 13px; = FONT-WEIGHT: bold } SPAN.calMonthNum { FONT-FAMILY: Arial, sans-serif; COLOR: #cc2020; FONT-SIZE: 13px; = FONT-WEIGHT: bold } P.calMonthNum { FONT-FAMILY: Arial, sans-serif; COLOR: #cc2020; FONT-SIZE: 13px; = FONT-WEIGHT: bold } TD.calMonthNum { FONT-FAMILY: Arial, sans-serif; COLOR: #cc2020; FONT-SIZE: 13px; = FONT-WEIGHT: bold } A.calMonthDayName { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calMonthDayName:link { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calMonthDayName:visited { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calMonthDayName:active { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } SPAN.calMonthDayName { FONT-FAMILY: tahoma, arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calMonthDayName:hover { BACKGROUND: #cccccc } SPAN.smallGreen { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #9db402; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } DIV.smallGreen { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #9db402; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.smallGreen { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #9db402; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.smallGreen:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #9db402; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.smallGreen:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #9db402; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.smallGreen:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #9db402; = FONT-SIZE: 11px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.smallGreen:hover { BACKGROUND: #cccccc } .folderListBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 0px 0px 0px 10px; PADDING-LEFT: 0px; WIDTH: = 780px; PADDING-RIGHT: 0px; BACKGROUND: white left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 5px } .folderListBox2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 0px 10px 0px 0px; PADDING-LEFT: 0px; WIDTH: = 195px; PADDING-RIGHT: 0px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; HEIGHT: 90%; = BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 5px } .folderListBox2 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .shareCommandPage { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 0px 10px 5px 0px; PADDING-LEFT: 0px; WIDTH: = 300px; PADDING-RIGHT: 0px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 5px } .shareCommandPage P { TEXT-ALIGN: center; PADDING-BOTTOM: 15px; MARGIN: 0px 0px 5px; = PADDING-LEFT: 1px; PADDING-RIGHT: 0px; FONT: bold 15px Arial, Helvetica, = sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; = PADDING-TOP: 0px } .commandPage_leftColumn { WIDTH: 325px; WHITE-SPACE: nowrap; FLOAT: left; OVERFLOW: hidden } .commandPage_rightColumn { MARGIN: 0px; WHITE-SPACE: nowrap; OVERFLOW: hidden } .commandPage_rightColumn P { MARGIN: 10px 0px 0px } A.blueLink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: underline } A.blueLink:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: underline } A.blueLink:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: underline } A.blueLink:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = TEXT-DECORATION: underline } A.blueLink:hover { BACKGROUND: #dddddd } A.calendarLink { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: white; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLink:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: white; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLink:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: white; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLink:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: white; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLink:hover { BACKGROUND: #cccccc } A.calendarLinkBlue { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkBlue:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkBlue:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkBlue:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkBlue:hover { BACKGROUND: #cccccc } A.calendarLinkRed { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkRed:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkRed:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkRed:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: red; FONT-SIZE: 12px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.calendarLinkRed:hover { BACKGROUND: #cccccc } A.calendarLinkLite { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #999; FONT-SIZE: 12px; = FONT-WEIGHT: normal; TEXT-DECORATION: none } A.calendarLinkLite:link { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #999; FONT-SIZE: 12px; = FONT-WEIGHT: normal; TEXT-DECORATION: none } A.calendarLinkLite:visited { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #999; FONT-SIZE: 12px; = FONT-WEIGHT: normal; TEXT-DECORATION: none } A.calendarLinkLite:active { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #999; FONT-SIZE: 12px; = FONT-WEIGHT: normal; TEXT-DECORATION: none } A.calendarLinkLite:hover { BACKGROUND: #cccccc } A.calendarRE { FONT-FAMILY: Verdana, Arial, sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: = normal; TEXT-DECORATION: none } A.calendarRE:link { FONT-FAMILY: Verdana, Arial, sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: = normal; TEXT-DECORATION: none } A.calendarRE:visited { FONT-FAMILY: Verdana, Arial, sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: = normal; TEXT-DECORATION: none } A.calendarRE:active { FONT-FAMILY: Verdana, Arial, sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: = normal; TEXT-DECORATION: none } A.calendarRE:hover { TEXT-DECORATION: underline } A.rob_footer_lplinks:link { COLOR: #808080; FONT-SIZE: 9px; TEXT-DECORATION: none } A.rob_footer_lplinks:visited { COLOR: #808080; FONT-SIZE: 9px; TEXT-DECORATION: none } A.rob_footer_lplinks:hover { COLOR: #808080; FONT-SIZE: 9px; TEXT-DECORATION: none } A.rob_footer_lplinks:active { COLOR: #808080; FONT-SIZE: 9px; TEXT-DECORATION: none } .rbbox { BORDER-BOTTOM: #fa0 1px solid; BORDER-LEFT: #fa0 1px solid; = BACKGROUND-COLOR: #eee; MARGIN: 4px auto 11px 20px; BORDER-TOP: #fa0 1px = solid; BORDER-RIGHT: #fa0 1px solid; -moz-border-radius: 6px; = -webkit-border-radius: 6px } .linkbox-narrow { BACKGROUND-COLOR: #dddddd; WIDTH: 100px; FONT-FAMILY: Arial, Helvetica, = sans-serif; HEIGHT: 11px; FONT-SIZE: 11px; OVERFLOW: hidden } .linkbox-medium { BACKGROUND-COLOR: #dddddd; WIDTH: 100px; FONT-FAMILY: Arial, Helvetica, = sans-serif; HEIGHT: 11px; FONT-SIZE: 11px; OVERFLOW: hidden } .linkbox-wide { BACKGROUND-COLOR: #dddddd; WIDTH: 100px; FONT-FAMILY: Arial, Helvetica, = sans-serif; HEIGHT: 11px; FONT-SIZE: 11px; OVERFLOW: hidden } .linkbox-medium { WIDTH: 200px } .linkbox-wide { WIDTH: 300px } DIV#rolltipDiv { Z-INDEX: 1000; BORDER-BOTTOM: #fa0 2px solid; POSITION: absolute; = BORDER-LEFT: #fa0 2px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: = #e8e8b8; PADDING-LEFT: 3px; WIDTH: 320px; PADDING-RIGHT: 3px; = FONT-FAMILY: Verdana, Geneva, sans-serif; VISIBILITY: hidden; FONT-SIZE: = 13px; BORDER-TOP: #fa0 2px solid; TOP: 0px; BORDER-RIGHT: #fa0 2px = solid; PADDING-TOP: 3px; LEFT: 0px } A.help_tipq { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: help; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipq:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: help; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipq:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: help; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipq:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: help; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipq:hover { COLOR: #ff8600; TEXT-DECORATION: none } A.help_tipqLink { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipqLink:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipqLink:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipqLink:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #3b5998; = FONT-SIZE: 16px; CURSOR: pointer; FONT-WEIGHT: normal; TEXT-DECORATION: = none } A.help_tipqLink:hover { TEXT-DECORATION: underline } A.help_tipl { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #f00; = FONT-SIZE: 11px; CURSOR: help; TEXT-DECORATION: none } A.help_tipl:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #f00; = FONT-SIZE: 11px; CURSOR: help; TEXT-DECORATION: none } A.help_tipl:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #f00; = FONT-SIZE: 11px; CURSOR: help; TEXT-DECORATION: none } A.help_tipl:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: #f00; = FONT-SIZE: 11px; CURSOR: help; TEXT-DECORATION: none } #kas-internal-footer { TEXT-ALIGN: center; PADDING-BOTTOM: 4px; LINE-HEIGHT: 18px; = PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Verdana, Geneva, = sans-serif; WHITE-SPACE: nowrap; BACKGROUND: = url(/graphics/homepage/sf-menu-gradient180.jpg) repeat-x left top; = COLOR: #444; CLEAR: both; FONT-SIZE: 11px; BORDER-TOP: #6b9bb3 1px = solid; PADDING-TOP: 4px } #kas-internal-footer A:link { COLOR: #111; TEXT-DECORATION: none } #kas-internal-footer A:visited { COLOR: #111; TEXT-DECORATION: none } #kas-internal-footer A:hover { TEXT-DECORATION: underline } #kas-internal-footer-lplinks A:link { COLOR: #666; FONT-SIZE: 10px; TEXT-DECORATION: none } #kas-internal-footer-lplinks A:visited { COLOR: #666; FONT-SIZE: 10px; TEXT-DECORATION: none } #kas-internal-footer-lplinks A:hover { TEXT-DECORATION: underline } A.appAddPlusSign { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 12px; PADDING-RIGHT: = 2px; FONT-FAMILY: Verdana, Arial, Helvetica, Sans-serif; COLOR: green; = MARGIN-LEFT: 4px; FONT-SIZE: 17px; VERTICAL-ALIGN: bottom; CURSOR: = pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 2px } A.appAddPlusSign:link { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 12px; PADDING-RIGHT: = 2px; FONT-FAMILY: Verdana, Arial, Helvetica, Sans-serif; COLOR: green; = MARGIN-LEFT: 4px; FONT-SIZE: 17px; VERTICAL-ALIGN: bottom; CURSOR: = pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 2px } A.appAddPlusSign:visited { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 12px; PADDING-RIGHT: = 2px; FONT-FAMILY: Verdana, Arial, Helvetica, Sans-serif; COLOR: green; = MARGIN-LEFT: 4px; FONT-SIZE: 17px; VERTICAL-ALIGN: bottom; CURSOR: = pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 2px } A.appAddPlusSign:active { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 12px; PADDING-RIGHT: = 2px; FONT-FAMILY: Verdana, Arial, Helvetica, Sans-serif; COLOR: green; = MARGIN-LEFT: 4px; FONT-SIZE: 17px; VERTICAL-ALIGN: bottom; CURSOR: = pointer; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 2px } A.appAddPlusSign:hover { BACKGROUND: #dddddd } A.upgrade_to_premium { COLOR: green } A.upgrade_to_premium:link { COLOR: green } A.upgrade_to_premium:visited { COLOR: green } A.upgrade_to_premium:active { COLOR: green } .attentionbox { BORDER-BOTTOM: orange 1px solid; BORDER-LEFT: orange 1px solid; = BACKGROUND-COLOR: #ffffaa; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; = MARGIN-BOTTOM: 6px; MARGIN-LEFT: 40px; BORDER-TOP: orange 1px solid; = MARGIN-RIGHT: 40px; BORDER-RIGHT: orange 1px solid } A:hover { TEXT-DECORATION: underline } .text { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; = FONT-SIZE: 11px; TEXT-DECORATION: none } .text_invisible { COLOR: #f2f4f5 } .text_lightgray { COLOR: #dbe2e5 } .text_medgray { COLOR: #b2bec4 } .greentext { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #989f00; = FONT-SIZE: 11px; TEXT-DECORATION: none } .greentextBig { LINE-HEIGHT: 28px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = COLOR: #989f00; FONT-SIZE: 12px; TEXT-DECORATION: none } .orangetext { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #fa6d4b; = FONT-SIZE: 11px; TEXT-DECORATION: none } .noline { TEXT-DECORATION: none } .securelytext { FONT-SIZE: 14px; TEXT-DECORATION: none } .icwhitetext { LINE-HEIGHT: 22px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = COLOR: #ffffff; FONT-SIZE: 11px; TEXT-DECORATION: none } .icwhitetext2 { LINE-HEIGHT: 22px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = COLOR: #ffffff; FONT-SIZE: 16px; TEXT-DECORATION: none } .textbox { BORDER-BOTTOM: #666666 1px solid; BORDER-LEFT: #666666 1px solid; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; = FONT-SIZE: 11px; BORDER-TOP: #666666 1px solid; BORDER-RIGHT: #666666 = 1px solid; TEXT-DECORATION: none } .fbutton { BACKGROUND-IMAGE: url(images/fbuttonbg.jpg); BORDER-BOTTOM: #666666 1px = solid; BORDER-LEFT: #666666 1px solid; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif; COLOR: #000000; FONT-SIZE: 11px; BORDER-TOP: = #666666 1px solid; BORDER-RIGHT: #666666 1px solid; TEXT-DECORATION: = none } .sftext { LINE-HEIGHT: 18px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = COLOR: #ffffff; FONT-SIZE: 12px; TEXT-DECORATION: none } .formBox { WIDTH: 173px } .formBox2 { WIDTH: 690px } .formBox3 { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = WIDTH: 315px; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px = solid } .formBox4 { WIDTH: 193px } .signupBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffedcb; MARGIN: 10px 10px 0px = 0px; PADDING-LEFT: 10px; WIDTH: 230px; PADDING-RIGHT: 5px; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .signupBoxItem { TEXT-ALIGN: left; MARGIN: 0px 0px 4px; PADDING-LEFT: 5px; FONT: 13px = Arial, Helvetica, sans-serif; COLOR: black } .signupBoxItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 18px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0%; COLOR: red } .signupBoxItem A { FONT: bold 12px Arial, Helvetica, sans-serif; BACKGROUND: none = transparent scroll repeat 0% 0%; COLOR: blue; TEXT-DECORATION: underline } .signupBoxItem A:hover { BACKGROUND: #dddddd } .signupBoxFree { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #fef14a; MARGIN: 10px 10px 0px = 0px; PADDING-LEFT: 10px; WIDTH: 175px; PADDING-RIGHT: 5px; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .signupBoxFree2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #fef14a; MARGIN: 0px 10px 0px = 0px; PADDING-LEFT: 10px; WIDTH: 175px; PADDING-RIGHT: 5px; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 0px } .signupBoxFreeItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 5px; FONT: 13px = Arial, Helvetica, sans-serif; COLOR: #555555 } .signupBoxFreeItem A { FONT: bold 18px Arial, Helvetica, sans-serif; COLOR: blue; = TEXT-DECORATION: underline } .signupBoxFreeItem A:visited { FONT: bold 18px Arial, Helvetica, sans-serif; COLOR: blue; = TEXT-DECORATION: underline } .signupBoxFreeItem A:active { FONT: bold 18px Arial, Helvetica, sans-serif; COLOR: blue; = TEXT-DECORATION: underline } .signupBoxFreeItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: 12px = Verdana, Arial, Helvetica, sans-serif } .signupBoxFreeItem A:hover { BACKGROUND: #dddddd } .signupBox4 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffedcb; MARGIN: 10px 10px 0px = 0px; PADDING-LEFT: 10px; WIDTH: 256px; PADDING-RIGHT: 5px; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .signupBoxFreeJunk { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffedcb; MARGIN: 10px 10px 0px = 0px; PADDING-LEFT: 10px; WIDTH: 175px; PADDING-RIGHT: 0px; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .priceBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 0px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 230px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .priceBox P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0%; COLOR: black } .priceBoxItem { TEXT-ALIGN: left; MARGIN: 0px 0px 4px; PADDING-LEFT: 15px; FONT: 13px = Arial, Helvetica, sans-serif; BACKGROUND: = url(/graphics/homepage/circle-small-black.gif) no-repeat left top } .priceBoxItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0%; COLOR: black } .priceBoxItem A { COLOR: #555555; TEXT-DECORATION: none } .priceBoxItem A:hover { BACKGROUND: #dddddd } .appBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 174px; PADDING-RIGHT: 5px; BACKGROUND: white left top; COLOR: = #555555; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .appBox P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .appBoxItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 12px = Verdana, Arial, sans-serif; BACKGROUND: = url(/graphics/homepage/arrow-blue.gif) no-repeat left top; COLOR: = #555555 } .appBoxItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .appBoxItem A { COLOR: #555555; TEXT-DECORATION: none } .appBoxItem A:hover { BACKGROUND: #dddddd } .appBoxwide { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 210px; PADDING-RIGHT: 5px; BACKGROUND: white left top; COLOR: = #555555; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .appBoxwide P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .appBoxwideItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 12px = Verdana, Arial, sans-serif; BACKGROUND: = url(/graphics/homepage/arrow-blue.gif) no-repeat left top; COLOR: = #555555 } .appBoxwideItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .appBoxwideItem A { COLOR: #555555; TEXT-DECORATION: none } .appBoxwideItem A:hover { BACKGROUND: #dddddd } .appBoxTight2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 28px; PADDING-LEFT: 10px; = WIDTH: 190px; PADDING-RIGHT: 4px; BACKGROUND: white left top; COLOR: = #555555; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .appBoxTight2 P { TEXT-ALIGN: center; MARGIN: 0px; PADDING-LEFT: 1px; FONT: bold 15px = Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll repeat = 0% 0% } .appBoxTight { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 0px; MARGIN: 10px 0px 0px; PADDING-LEFT: 10px; WIDTH: = 190px; PADDING-RIGHT: 4px; BACKGROUND: white left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .appBoxTight P { TEXT-ALIGN: center; MARGIN: 0px; PADDING-LEFT: 1px; FONT: bold 15px = Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll repeat = 0% 0% } .visitBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 20px; = WIDTH: 380px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .visitBox P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .videoTour { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 430px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 0px } .videoTourBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 390px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .videoTourBox P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myAccount { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 317px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myAccount P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myAccountItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 13px = Arial, Helvetica, sans-serif; BACKGROUND: = url(/graphics/homepage/arrow-blue.gif) no-repeat left top } .myAccountItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myAccountItem A { COLOR: #555555; TEXT-DECORATION: underline } .myAccountItem A:hover { BACKGROUND: #dddddd } .dashboard { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 317px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .dashboard P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 20px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .dashboard3 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 647px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .dashboard3 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 20px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .tour { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 329px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .tour2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 329px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .tour3 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 670px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .tour4 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px; PADDING-LEFT: 10px; WIDTH: = 450px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .tour5 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px; PADDING-LEFT: 10px; WIDTH: = 730px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .tour6 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px; PADDING-LEFT: 10px; WIDTH: = 550px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myHome { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 635px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myHome P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 13px = Arial, Helvetica, sans-serif; BACKGROUND: = url(/graphics/homepage/arrow-blue.gif) no-repeat left top } .myHomeItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeItem A { COLOR: #555555; TEXT-DECORATION: none } .myHomeItem A:hover { BACKGROUND: #dddddd } .myHome2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 295px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myHome2 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeItem2 { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 13px = Arial, Helvetica, sans-serif; BACKGROUND: = url(/graphics/homepage/arrow-blue.gif) no-repeat left top } .myHomeItem2 P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeItem2 OL { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeItem2 A { COLOR: #555555 } .myHomeItem2 A:hover { BACKGROUND: #dddddd } .myHomeToDo { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 0px; = WIDTH: 295px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myHomeToDo P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeToDoItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 13px = Arial, Helvetica, sans-serif } .myHomeToDoItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeToDoItem A { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 12px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0%; TEXT-DECORATION: none } .myHomeToDoItem LI { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0%; TEXT-DECORATION: none } .myHomeToDoItem A:hover { BACKGROUND: #dddddd } .myHomeRecentVisits { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 0px; = WIDTH: 635px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myHomeRecentVisits P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeRecentVisits A { COLOR: #555555; TEXT-DECORATION: none } .myHomeRecentVisits OL { MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px } .myHomeRecentVisits A:hover { BACKGROUND: #dddddd } .myHomeSubscribers { BORDER-BOTTOM: #cccccc 1px solid; POSITION: relative; BORDER-LEFT: = #cccccc 1px solid; PADDING-BOTTOM: 15px; MARGIN: 25px 10px 7px 0px; = PADDING-LEFT: 10px; WIDTH: 500px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px; = LEFT: 200px } .myHomeSubscribers P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeSubscribersItem { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 13px = Arial, Helvetica, sans-serif } .myHomeSubscribersItem P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeSubscribersItem A { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 12px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeSubscribersItem LI { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .myHomeSubscribersItem A:hover { BACKGROUND: #dddddd } .visitNameList { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 0px 7px; PADDING-LEFT: 0px; WIDTH: = 360px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .visitNameList P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0%; COLOR: #000000 } .visitNameList A { COLOR: #555555; MARGIN-LEFT: 18px; TEXT-DECORATION: underline } .visitNameList OL { MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px } .visitNameList A:hover { BACKGROUND: #dddddd } .sharePage1stCol { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 0px 7px; PADDING-LEFT: 20px; WIDTH: = 690px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .sharePage1stCol P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .sharePage1stCol A { COLOR: #555555; TEXT-DECORATION: none } .sharePage1stCol OL { MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px } .sharePage1stCol A:hover { BACKGROUND: #dddddd } .sharePageMostPopular { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 20px; = WIDTH: 400px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .sharePageMostPopular P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .sharePageMostPopular A { COLOR: #555555; TEXT-DECORATION: none } .sharePageMostPopular A:hover { BACKGROUND: #dddddd } .sharePageRecentVisitors { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 20px; = WIDTH: 190px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .sharePageRecentVisitors P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 16px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .sharePageRecentVisitors A { COLOR: #555555; TEXT-DECORATION: none } .sharePageRecentVisitors A:hover { BACKGROUND: #dddddd } .goodShares { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 0px; = WIDTH: 250px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .goodShares P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .goodShares2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 0px; = WIDTH: 480px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .goodShares2 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .goodShares3 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 0px; = WIDTH: 710px; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Helvetica, = sans-serif; BACKGROUND: url(/graphics/homepage/boxbg4.jpg) white = repeat-x left top; COLOR: #555555; BORDER-TOP: #cccccc 1px solid; = BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .goodShares3 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 15px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .goodShares A { COLOR: #555555; TEXT-DECORATION: underline } .goodShares A:hover { BACKGROUND: #dddddd } .goodSharesA A { FONT: 12px Verdana, Arial, Helvetica, sans-serif; COLOR: #555555; = TEXT-DECORATION: underline } .mainArea { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: 12px Verdana, Arial, Helvetica, sans-serif; COLOR: #555555; = PADDING-TOP: 0px } .mainArea A { COLOR: #555555; TEXT-DECORATION: underline } .mainArea A:hover { BACKGROUND: #dddddd } .mainAreaHeader { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: bold 18px Arial, Helvetica, sans-serif; COLOR: #feac01; = PADDING-TOP: 0px } #bottomLine { PADDING-BOTTOM: 0px; PADDING-LEFT: 60px; PADDING-RIGHT: 0px; FONT: 11px = Verdana; FLOAT: left; COLOR: #555555; PADDING-TOP: 11px } #bottomLine UL { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } #bottomLine LI { LIST-STYLE-TYPE: none; PADDING-LEFT: 20px; DISPLAY: inline } #bottomLine A { COLOR: #555555; TEXT-DECORATION: none } #bottomLine A:hover { BACKGROUND: #dddddd; COLOR: #333333; TEXT-DECORATION: none } A.helpMenu { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.helpMenu:link { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.helpMenu:visited { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.helpMenu:hover { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.helpMenu:active { FONT-FAMILY: tahoma, arial, helvetica, sans-serif; COLOR: black; = FONT-SIZE: 13px; CURSOR: pointer; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.blueLink1 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: 18px Verdana, Arial, Helvetica, sans-serif; COLOR: #7484bf; = TEXT-DECORATION: underline; PADDING-TOP: 0px } A.blueLink1:link { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: 18px Verdana, Arial, Helvetica, sans-serif; COLOR: #7484bf; = TEXT-DECORATION: underline; PADDING-TOP: 0px } A.blueLink1:visited { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: 18px Verdana, Arial, Helvetica, sans-serif; COLOR: #7484bf; = TEXT-DECORATION: underline; PADDING-TOP: 0px } A.blueLink1:active { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: 18px Verdana, Arial, Helvetica, sans-serif; COLOR: #7484bf; = TEXT-DECORATION: underline; PADDING-TOP: 0px } A.blueLink1:hover { BACKGROUND: #dddddd } A.blueLink2 { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #86b1e2; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink2:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #86b1e2; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink2:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #86b1e2; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink2:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #86b1e2; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.blueLink2 { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #86b1e2; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink2:hover { BACKGROUND: #cccccc } A.blueLink3 { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #1698d4; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink3:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #1698d4; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink3:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #1698d4; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink3:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #1698d4; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.blueLink3 { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #1698d4; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.blueLink3:hover { BACKGROUND: #cccccc } A.orangeLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLink:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLink:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLink:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.orangeLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLink:hover { BACKGROUND: #cccccc } A.orangeLinkSmall { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLinkSmall:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLinkSmall:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLinkSmall:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.orangeLinkSmall { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #feac01; = FONT-SIZE: 11px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.orangeLinkSmall:hover { BACKGROUND: #cccccc } A.redLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #b20216; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.redLink:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #b20216; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.redLink:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #b20216; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.redLink:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #b20216; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.redLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #b20216; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.redLink:hover { BACKGROUND: #cccccc } A.noLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #999999; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.noLink:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #999999; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.noLink:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #999999; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.noLink:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #999999; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: none } SPAN.noLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #999999; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.noLink:hover { BACKGROUND: #cccccc } A.greenLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLink:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLink2:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLink:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.greenLink { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 12px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLink:hover { BACKGROUND: #cccccc } A.greenLinkBig { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 14px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLinkBig:link { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 14px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLinkBig:visited { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 14px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLinkBig:active { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 14px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } SPAN.greenLinkBig { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #96ac00; = FONT-SIZE: 14px; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.greenLinkBig:hover { BACKGROUND: #cccccc } DIV.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } BODY.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } CENTER.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } SPAN.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } P.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } TD.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } A.homeBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeBig1:link { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeBig1:visited { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeBig1:active { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeBig1:hover { BACKGROUND: #dddddd } DIV.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } BODY.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } CENTER.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } SPAN.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } P.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } TD.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; PADDING-TOP: 10px } A.homeReallyBig1 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeReallyBig1:link { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeReallyBig1:visited { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeReallyBig1:active { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: blue; = FONT-SIZE: 24pt; FONT-WEIGHT: bold; TEXT-DECORATION: underline; = PADDING-TOP: 10px } A.homeReallyBig1:hover { BACKGROUND: #dddddd } DIV.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } BODY.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } CENTER.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } SPAN.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } P.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } TD.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } INPUT.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } H2.homeBig2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; PADDING-TOP: 0px } A.homeBig2 { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.homeBig2:link { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.homeBig2:visited { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.homeBig2:active { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 17px; = FONT-WEIGHT: bold; TEXT-DECORATION: none } A.homeBig2:hover { BACKGROUND: #dddddd } .homeBig3 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 18px; = FONT-WEIGHT: bold } .homeBig3 A { TEXT-DECORATION: none } .homeBig3 A:hover { BACKGROUND: #dddddd } .homeBig4 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 17pt; = FONT-WEIGHT: bold; PADDING-TOP: 3px } .homeBig4 A { TEXT-DECORATION: none } .homeBig4 A:hover { BACKGROUND: #dddddd } .homeBig4Orange { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 17pt; = FONT-WEIGHT: bold; PADDING-TOP: 3px } .homeBig5 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 12px; = FONT-WEIGHT: bold } .homeBig5 A { TEXT-DECORATION: none } .homeBig5 A:hover { BACKGROUND: #dddddd } .homeBig6 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20pt; = FONT-WEIGHT: bold; PADDING-TOP: 5px } .homeBig6 A { TEXT-DECORATION: none } .homeBig6 A:hover { BACKGROUND: #dddddd } .homeBig7 { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: black; = FONT-SIZE: 18pt; FONT-WEIGHT: bold; PADDING-TOP: 3px } .homeBig7 A { TEXT-DECORATION: none } .homeBig7 A:hover { BACKGROUND: #dddddd } H1.homeBig8 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 17pt; = FONT-WEIGHT: bold; PADDING-TOP: 0px } .homecatcher1 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 12px; = FONT-WEIGHT: 500 } .homecatcher1 A { TEXT-DECORATION: none } .homecatcher1 A:hover { BACKGROUND: #dddddd } .homeblackarial10 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 10px } .homeblackarial10bold { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 10px; = FONT-WEIGHT: bold } .homeblackarial12 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 12px } .homeblackarial12purple { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 12px } .homeblackarial12orange { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 12px } .homeblackarial12bold { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 12px; = FONT-WEIGHT: bold } .homeblackarial14 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14px } .homeblackarial14purple { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 14px } .homeblackarial14bold { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } .homeblackarial16 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 16px } .homeblackarial16purple { FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; FONT-SIZE: 16px } .homeblackarial16boldpurple { TEXT-ALIGN: center; FONT-FAMILY: Arial, sans-serif; COLOR: #7484bf; = FONT-SIZE: 16px; FONT-WEIGHT: bold } .homeblackarial16bold { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 16px; = FONT-WEIGHT: bold } .homeblackarial18 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 18px } .homeblackarial18bold { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 18px; = FONT-WEIGHT: bold } .homeblackarial20 { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20px } .homeblackarial20bold { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 20px; = FONT-WEIGHT: bold } DIV.homeQuote { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 10pt; = FONT-WEIGHT: bold } BODY.homeQuote { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 10pt; = FONT-WEIGHT: bold } CENTER.homeQuote { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 10pt; = FONT-WEIGHT: bold } SPAN.homeQuote { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 10pt; = FONT-WEIGHT: bold } P.homeQuote { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 10pt; = FONT-WEIGHT: bold } TD.homeQuote { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 10pt; = FONT-WEIGHT: bold } DIV.usingTitle { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } BODY.usingTitle { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } CENTER.usingTitle { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } SPAN.usingTitle { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } P.usingTitle { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } TD.usingTitle { FONT-FAMILY: Arial, sans-serif; COLOR: black; FONT-SIZE: 14pt; = FONT-WEIGHT: bold } SPAN.qa_question { FONT-FAMILY: Arial, sans-serif; COLOR: #feac01; FONT-SIZE: 14px; = FONT-WEIGHT: bold } SPAN.qa_answer { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT: 12px Verdana, Arial, Helvetica, sans-serif; COLOR: #555555; = PADDING-TOP: 0px } .outline1 H2 { PADDING-BOTTOM: 0px; MARGIN: 15px 0px 5px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FONT-FAMILY: arial, helvetica, sans-serif; COLOR: = #feac01; FONT-SIZE: 18px; PADDING-TOP: 0px } .outline1 UL { PADDING-BOTTOM: 0px; MARGIN: 0px 5px 0px 30px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; PADDING-TOP: 0px } DIV.fieldTitle { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } BODY.fieldTitle { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } CENTER.fieldTitle { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } SPAN.fieldTitle { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } P.fieldTitle { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } TD.fieldTitle { FONT-FAMILY: Verdana, sans-serif; COLOR: black; FONT-SIZE: 14px; = FONT-WEIGHT: bold } DIV.comingSoonColor { COLOR: #25a72c } BODY.comingSoonColor { COLOR: #25a72c } CENTER.comingSoonColor { COLOR: #25a72c } SPAN.comingSoonColor { COLOR: #25a72c } P.comingSoonColor { COLOR: #25a72c } TD.comingSoonColor { COLOR: #25a72c } .myHomeWizard { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 15px; MARGIN: 10px 20px 10px 0px; PADDING-LEFT: 25px; = WIDTH: 520px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .myHomeWizard P { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold 20px Arial, = Helvetica, sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .myHomeNotices { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 0px; MARGIN: 10px 20px 10px 30px; PADDING-LEFT: 25px; = WIDTH: 690px; PADDING-RIGHT: 15px; BACKGROUND: = url(/graphics/homepage/boxbg4-yellow3.jpg) white repeat-x left top; = BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .myHomeNotices P { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: 12px Verdana, Arial, = sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .myHomeNoticesMsg { BORDER-BOTTOM: #ba0 1px solid; BORDER-LEFT: #ba0 1px solid; = PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffc; PADDING-LEFT: 20px; WIDTH: = 700px; PADDING-RIGHT: 20px; BORDER-TOP: #ba0 1px solid; BORDER-RIGHT: = #ba0 1px solid; PADDING-TOP: 5px; -moz-border-radius: 10px; = -webkit-border-radius: 10px } .myHomeNotices2 { MIN-WIDTH: 520px; PADDING-BOTTOM: 15px; MARGIN: 10px 20px 10px 0px; = PADDING-LEFT: 25px; PADDING-RIGHT: 5px; PADDING-TOP: 3px } .myHomeNotices2 P { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: 12px Verdana, Arial, = sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .myHomeNotices2 H2 { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: 12px Verdana, Arial, = sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .myHomeNotices2 LI { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: 12px Verdana, Arial, = sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .myHomeNotices2 LI { MARGIN-TOP: 10px } .myHomeNotices2 H2 { TEXT-ALIGN: center; COLOR: #f9ae09; FONT-SIZE: 18px; FONT-WEIGHT: bold } .boxdropshadow { -moz-box-shadow: 5px 5px 5px #444; -webkit-box-shadow: 5px 5px 5px = #444; box-shadow: 5px 5px 5px #444 } .welcomeHelp { BORDER-BOTTOM: #cccccc 1px solid; POSITION: relative; BORDER-LEFT: = #cccccc 1px solid; PADDING-BOTTOM: 12px; MARGIN: 15px 10px 7px 0px; = PADDING-LEFT: 25px; WIDTH: 600px; PADDING-RIGHT: 15px; BACKGROUND: = url(/graphics/homepage/boxbg3.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px; = LEFT: 50px } .welcomeHelp P { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold 20px Arial, = Helvetica, sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .welcomeHelpCal { BORDER-BOTTOM: #cccccc 1px solid; POSITION: relative; BORDER-LEFT: = #cccccc 1px solid; PADDING-BOTTOM: 0px; MARGIN: 15px 0px 7px; = PADDING-LEFT: 25px; WIDTH: 600px; PADDING-RIGHT: 15px; BACKGROUND: = url(/graphics/homepage/boxbg3.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px; = LEFT: 50px } .welcomeHelpCal P { MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold 20px Arial, = Helvetica, sans-serif; BACKGROUND: none transparent scroll repeat 0% 0% } .wizardHelp1 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 20px 10px 7px 30px; PADDING-LEFT: 10px; = WIDTH: 650px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .wizardHelp1 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 20px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .wizardHelp2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 20px 10px 7px 30px; PADDING-LEFT: 10px; = WIDTH: 500px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .wizardHelp2 P { TEXT-ALIGN: center; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 20px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } .wizardHelp3 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 20px 10px 7px 30px; PADDING-LEFT: 10px; = WIDTH: 700px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } .wizardHelp3 P { TEXT-ALIGN: left; MARGIN: 0px 0px 5px; PADDING-LEFT: 1px; FONT: bold = 20px Arial, Helvetica, sans-serif; BACKGROUND: none transparent scroll = repeat 0% 0% } DIV.rightSide1 { PADDING-BOTTOM: 0px; MARGIN: 0px 15px 15px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = COLOR: #555555; FONT-SIZE: 12px; PADDING-TOP: 0px } SPAN.rightSide1 { PADDING-BOTTOM: 0px; MARGIN: 0px 15px 15px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = COLOR: #555555; FONT-SIZE: 12px; PADDING-TOP: 0px } DIV.rightSide1Big { FONT: bold 13px Arial, Helvetica, sans-serif; COLOR: black } .rightSideBox1 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 15px; MARGIN: 15px 0px 12px; PADDING-LEFT: 10px; WIDTH: = 200px; PADDING-RIGHT: 10px; BACKGROUND: white left top; COLOR: #555555; = BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .rightSideBox1 P { MARGIN: 0px 0px 10px; FONT: bold 16px Arial, sans-serif; COLOR: #7484bf } .rightSideBox1Item { TEXT-ALIGN: left; FONT: 12px Verdana, Arial, Helvetica, sans-serif; = COLOR: #555555 } .rightSideBox1Item2 { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 12px = Verdana, Arial, Helvetica, sans-serif; BACKGROUND: = url(../../graphics/homepage/arrow-blue.gif) no-repeat left top; COLOR: = #555555 } .rightSideBox1Item2 A { COLOR: #555555; TEXT-DECORATION: none } .mainColBox { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 15px; MARGIN: 0px 0px 12px; PADDING-LEFT: 10px; WIDTH: = 280px; PADDING-RIGHT: 10px; BACKGROUND: white left top; COLOR: #555555; = BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .mainColBox P { MARGIN: 0px 0px 10px; FONT: bold 16px Arial, sans-serif; COLOR: #7484bf } .mainColBoxItem { TEXT-ALIGN: left; FONT: 14px Verdana, Arial, Helvetica, sans-serif; = COLOR: #555555 } .mainColBoxItem2 { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 14px = Verdana, Arial, Helvetica, sans-serif; BACKGROUND: = url(../../graphics/homepage/arrow-blue.gif) no-repeat left top; COLOR: = #555555 } .mainColBoxItem2 A { COLOR: #555555; TEXT-DECORATION: none } .mainColBox2 { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 15px; MARGIN: 0px 0px 12px; PADDING-LEFT: 10px; WIDTH: = 550px; PADDING-RIGHT: 10px; BACKGROUND: white left top; COLOR: #555555; = BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; = PADDING-TOP: 3px } .mainColBox2 P { MARGIN: 0px 0px 10px; FONT: bold 16px Arial, sans-serif; COLOR: #7484bf } .mainColBox2Item { TEXT-ALIGN: left; FONT: 14px Verdana, Arial, Helvetica, sans-serif; = COLOR: #555555 } .mainColBox2Item2 { TEXT-ALIGN: left; MARGIN: 0px 0px 2px; PADDING-LEFT: 15px; FONT: 14px = Verdana, Arial, Helvetica, sans-serif; BACKGROUND: = url(../../graphics/homepage/arrow-blue.gif) no-repeat left top; COLOR: = #555555 } .mainColBox2Item2 A { COLOR: #555555; TEXT-DECORATION: none } .yellowOrange { COLOR: #feac01; FONT-SIZE: 18px } .smallURL { FONT-SIZE: 9px } .bottomSignin { BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; = PADDING-BOTTOM: 5px; MARGIN: 10px 10px 7px 0px; PADDING-LEFT: 10px; = WIDTH: 540px; PADDING-RIGHT: 5px; BACKGROUND: = url(/graphics/homepage/boxbg4.jpg) white repeat-x left top; BORDER-TOP: = #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 3px } TABLE.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } FORM.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } DIV.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } SPAN.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } BODY.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } CENTER.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } P.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } TD.adSubhead { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #555555; FONT-SIZE: = 12px; FONT-WEIGHT: normal } .adlinks { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN: 1em auto; PADDING-LEFT: = 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif; FONT-SIZE: 12px; PADDING-TOP: 0px } .adlinks A:link { COLOR: #2a709c; FONT-WEIGHT: bold; TEXT-DECORATION: none } .adlinks A:visited { COLOR: #2a709c; FONT-WEIGHT: bold; TEXT-DECORATION: none } .adlinks A:hover { BACKGROUND-COLOR: #ffffff } .adlinks A:active { COLOR: #2a709c; FONT-WEIGHT: bold } .adlinks-line2 { COLOR: #000000; FONT-WEIGHT: normal; TEXT-DECORATION: none } .adlinks-line3 { COLOR: #008000; FONT-SIZE: 10px; FONT-WEIGHT: normal; TEXT-DECORATION: = none } TABLE.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } FORM.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } DIV.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } SPAN.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } BODY.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } CENTER.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } P.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } LI.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } INPUT.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } TD.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: #6688aa; FONT-SIZE: = 20px } A.kasdocs1 { FONT-FAMILY: Verdana, Arial, sans-serif; COLOR: blue; FONT-SIZE: 16px; = TEXT-DECORATION: none } DIV.article2 { MIN-WIDTH: 600px; WIDTH: 70%; FONT-FAMILY: Arial, sans-serif; = FONT-SIZE: 1em } DIV.article2 A:link { BORDER-BOTTOM: #fff; TEXT-ALIGN: right; BORDER-LEFT: #999 1px solid; = PADDING-BOTTOM: 1em; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; COLOR: #f63; = BORDER-TOP: #fff; BORDER-RIGHT: #999 1px solid; TEXT-DECORATION: none; = PADDING-TOP: 1em } DIV.article2 A:visited { BORDER-BOTTOM: #fff; BORDER-LEFT: #999 1px solid; PADDING-BOTTOM: 0px; = PADDING-LEFT: 4px; PADDING-RIGHT: 4px; COLOR: #36f; BORDER-TOP: #fff; = BORDER-RIGHT: #999 1px solid; TEXT-DECORATION: none; PADDING-TOP: 0px } DIV.article2 A:hover { BORDER-BOTTOM: #36f 1px solid; BORDER-LEFT: #36f 1px solid; COLOR: = #666; BORDER-TOP: #36f 1px solid; BORDER-RIGHT: #36f 1px solid } DIV.article2 DIV.title { TEXT-ALIGN: left; BACKGROUND-COLOR: #fff; FONT-STYLE: italic; COLOR: = #36f; FONT-SIZE: 4em; FONT-WEIGHT: bold } DIV.article2 DIV.summary { BORDER-BOTTOM: #999 1px solid; TEXT-ALIGN: left; BORDER-LEFT: #999 1px = solid; PADDING-BOTTOM: 1em; BACKGROUND-COLOR: #fff; MARGIN: 1em 0em 1em = 1em; PADDING-LEFT: 1em; WIDTH: 25%; PADDING-RIGHT: 1em; FLOAT: right; = COLOR: #000; FONT-SIZE: 0.9em; BORDER-TOP: #999 1px solid; BORDER-RIGHT: = #999 1px solid; PADDING-TOP: 1em } DIV.article2 DIV.summary A:link { BORDER-BOTTOM: medium none; TEXT-ALIGN: right; BORDER-LEFT: medium = none; COLOR: #f63; BORDER-TOP: medium none; BORDER-RIGHT: medium none; = TEXT-DECORATION: none } DIV.article2 DIV.summary A:visited { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; COLOR: #36f; = BORDER-TOP: medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: = none } DIV.article2 DIV.summary A:hover { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; COLOR: #666; = BORDER-TOP: medium none; BORDER-RIGHT: medium none } DIV.article2 DIV.text DIV.summary B { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: = #333; FONT-SIZE: 1em; PADDING-TOP: 0px } DIV.article2 DIV.text { TEXT-ALIGN: justify; FONT-SIZE: 1em } DIV.article2 DIV.text U { BORDER-BOTTOM: #36f 1px solid; PADDING-RIGHT: 2em; COLOR: #666; = FONT-SIZE: 1.1em; TEXT-DECORATION: none } DIV.article2 DIV.foot { TEXT-ALIGN: right; FONT-STYLE: italic; COLOR: #666; FONT-SIZE: 0.8em } DIV.article1 { MIN-WIDTH: 600px; WIDTH: 70%; FONT-FAMILY: Arial, sans-serif; = FONT-SIZE: 1em } DIV.article1 A:link { BORDER-BOTTOM: #fff; BORDER-LEFT: #999 1px solid; PADDING-BOTTOM: 0px; = PADDING-LEFT: 4px; PADDING-RIGHT: 4px; COLOR: #f63; BORDER-TOP: #fff; = BORDER-RIGHT: #999 1px solid; TEXT-DECORATION: none; PADDING-TOP: 0px } DIV.article1 A:visited { BORDER-BOTTOM: #fff; BORDER-LEFT: #999 1px solid; PADDING-BOTTOM: 0px; = PADDING-LEFT: 4px; PADDING-RIGHT: 4px; COLOR: #f63; BORDER-TOP: #fff; = BORDER-RIGHT: #999 1px solid; TEXT-DECORATION: none; PADDING-TOP: 0px } DIV.article1 A:hover { BORDER-BOTTOM: #f63 1px solid; BORDER-LEFT: #f63 1px solid; COLOR: = #666; BORDER-TOP: #f63 1px solid; BORDER-RIGHT: #f63 1px solid } DIV.article1 DIV.title { BORDER-BOTTOM: #f63 1px solid; BORDER-LEFT: #f63 1px solid; = PADDING-BOTTOM: 12px; BACKGROUND-COLOR: #ccc; PADDING-LEFT: 12px; WIDTH: = auto; PADDING-RIGHT: 12px; COLOR: #333; FONT-SIZE: 2.5em; BORDER-TOP: = #f63 1px solid; BORDER-RIGHT: #f63 1px solid; PADDING-TOP: 12px } DIV.article1 DIV.title DIV.sub1 { FONT-SIZE: 0.75em } DIV.article1 DIV.title DIV.sub2 { TEXT-ALIGN: right; COLOR: #666; FONT-SIZE: 0.6em; PADDING-TOP: 1em } DIV.article1 DIV.title A { TEXT-ALIGN: right; MARGIN-TOP: 1em; FONT-SIZE: 1em } DIV.article1 DIV.summary { BORDER-BOTTOM: #999 1px solid; TEXT-ALIGN: justify; BORDER-LEFT: #999 = 1px solid; PADDING-BOTTOM: 1em; BACKGROUND-COLOR: #ccc; FONT-STYLE: = italic; MARGIN: 1em 0em 1em 1em; PADDING-LEFT: 1em; WIDTH: 33%; = PADDING-RIGHT: 1em; FLOAT: right; COLOR: #000; FONT-SIZE: 0.9em; = BORDER-TOP: #999 1px solid; BORDER-RIGHT: #999 1px solid; PADDING-TOP: = 1em } DIV.article1 DIV.text { MIN-WIDTH: 800px; TEXT-ALIGN: left; FONT-SIZE: 1em } DIV.article1 DIV.text U { BORDER-BOTTOM: #f63 1px solid; FONT-STYLE: normal; PADDING-LEFT: 2em; = COLOR: #666; FONT-SIZE: 1.1em; FONT-WEIGHT: bold; TEXT-DECORATION: none } DIV.article1 DIV.foot { TEXT-ALIGN: right; FONT-STYLE: italic; COLOR: #666; FONT-SIZE: 0.8em } DIV.article1 DIV.text A:link { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #f63; BORDER-TOP: = medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; = PADDING-TOP: 0px } DIV.article1 DIV.text A:visited { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #f63; BORDER-TOP: = medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; = PADDING-TOP: 0px } DIV.article1 DIV.text A:hover { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; COLOR: #666; = BORDER-TOP: medium none; BORDER-RIGHT: medium none } DIV.football DIV.preseason { TEXT-ALIGN: right; WIDTH: 60%; COLOR: #c60 } DIV.football DIV.preseason A:link { COLOR: #fff } DIV.football DIV.preseason A:hover { BACKGROUND-COLOR: #c60; COLOR: #c60 } .footer-links UL LI { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 10px; PADDING-RIGHT: 10px; DISPLAY: inline; LIST-STYLE-IMAGE: none; = PADDING-TOP: 0px } A.imagelink:hover { BACKGROUND: none transparent scroll repeat 0% 0% } DIV.gt_stab { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: bold = 62.5% arial, helvetica, sans-serif; COLOR: #ccc !important; BORDER-TOP: = medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0px } DIV.gt_stab A { COLOR: #000 !important; FONT-SIZE: 1.2em; TEXT-DECORATION: none } DIV.gt_stab A:hover { COLOR: #333 !important } DIV.gt_stab { BORDER-BOTTOM: #d3f2f7 thin solid; POSITION: relative; TEXT-ALIGN: = left; WIDTH: 266px; WHITE-SPACE: nowrap; BACKGROUND: = url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px -328px; = HEIGHT: 25px; OVERFLOW: hidden; TOP: 2px; MARGIN-RIGHT: 3px; = PADDING-TOP: 3px } DIV.gt_zero { WIDTH: 84px } DIV.gt_one { WIDTH: 107px } DIV.gt_two { WIDTH: 128px } DIV.gt_three { WIDTH: 150px } DIV.gt_four { WIDTH: 172px } DIV.gt_five { WIDTH: 194px } DIV.gt_six { WIDTH: 216px } DIV.gt_seven { WIDTH: 238px } DIV.gt_eight { WIDTH: 260px; BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) = no-repeat 0px -58px } DIV.gt_sszero { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -88px } DIV.gt_szero { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -88px } DIV.gt_sone { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -118px } DIV.gt_stwo { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -148px } DIV.gt_sthree { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -178px } DIV.gt_sfour { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -208px } DIV.gt_sfive { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -238px } DIV.gt_ssix { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -268px } DIV.gt_sseven { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -298px } DIV.gt_seight { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -328px } DIV.gt_btn { TEXT-ALIGN: center; WIDTH: 83px; FLOAT: left; HEIGHT: 25px; = MARGIN-RIGHT: 3px; PADDING-TOP: 2px } A.gt_btnLink DIV.gt_txt { POSITION: relative; TOP: -2px } DIV.gt_btn A.gt_btnLink { LINE-HEIGHT: 3em; MARGIN-TOP: -5px; WIDTH: 84px; DISPLAY: block; = BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -148px; HEIGHT: 25px; COLOR: #315e70 !important; FONT-WEIGHT: bold = !important } DIV.gt_zero A.gt_btnLink { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = 2px } DIV.gt_sone A.gt_btnLink { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -118px } DIV.gt_szero A.gt_btnLink { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -88px } DIV.gt_sszero A.gt_btnLink { BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat 0px = -28px } DIV.gt_end { POSITION: relative; LINE-HEIGHT: 3em; WIDTH: 9px; DISPLAY: block; = BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat -78px = 0px; FLOAT: right; HEIGHT: 26px; TOP: -1px; FONT-WEIGHT: bold; LEFT: 2px } DIV.gt_ends { POSITION: relative; LINE-HEIGHT: 3em; WIDTH: 9px; DISPLAY: block; = BACKGROUND: url(/graphics/tabs/graytabs/tab-sprite.gif) no-repeat -78px = -30px; FLOAT: right; HEIGHT: 25px; TOP: -1px; FONT-WEIGHT: bold; LEFT: = 2px } DIV.gt_fclick A { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 22px; = PADDING-RIGHT: 0px; FLOAT: right; HEIGHT: 25px; PADDING-TOP: 0px } DIV.gt_fclickend A { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 20px; = PADDING-RIGHT: 0px; FLOAT: right; HEIGHT: 25px; PADDING-TOP: 0px } DIV.gt_fclicks A { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 22px; = PADDING-RIGHT: 0px; FLOAT: right; HEIGHT: 25px; PADDING-TOP: 0px } DIV.gt_fclicksp A { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 21px; = PADDING-RIGHT: 0px; FLOAT: right; HEIGHT: 25px; PADDING-TOP: 0px } .pageButtonBlock { PADDING-BOTTOM: 20px; PADDING-LEFT: 0px; WIDTH: 400px; PADDING-RIGHT: = 0px; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; PADDING-TOP: 10px } .pageButtonWrapper { WIDTH: 180px; FLOAT: left } .pageButtonVertWrapper { PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 5px } .pageButton { FONT-SIZE: 13px; FONT-WEIGHT: bold } .pageButtonLight { FONT-SIZE: 13px; FONT-WEIGHT: normal } .pageButtonVert { FONT-SIZE: 12px } .pageButtonUpdate { COLOR: black } .pageButtonReturn { COLOR: black } .pageButtonOther { COLOR: black } .pageButtonCancel { COLOR: red } .pageButtonDelete { COLOR: red } .pageButtonDownload { COLOR: green } .pageButtonEmailUs { COLOR: green } .pageButtonViewPlans { COLOR: green } .pageFooterArea { MARGIN-TOP: 10px; CLEAR: both; BORDER-TOP: gray thin solid; = PADDING-TOP: 10px } .photoButtonAlbums { FONT-SIZE: 13px; FONT-WEIGHT: bold } .photoButtonLibrary { FONT-SIZE: 13px; FONT-WEIGHT: bold } .docEditButtonbar { PADDING-BOTTOM: 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 0px; HEIGHT: = 145px; PADDING-TOP: 15px } .docEditButtonbarBookmark { PADDING-BOTTOM: 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 0px; HEIGHT: = 145px; PADDING-TOP: 15px } .docEditButtonbarBookmark { HEIGHT: 150px } .docEditButtonbarButtons { MARGIN: 0px 0px 3px } .docEditButton { COLOR: black } .docEditButtonSaveAndExit { FONT-SIZE: 14px; FONT-WEIGHT: bold } .docEditButtonCancel { COLOR: red } .docEditButtonDeleteDocument { COLOR: red } .docEditButtonEditContent { COLOR: green } .gnav_docViewButtonbarTop { BORDER-BOTTOM: #4ad6ff 2px solid; MIN-WIDTH: 690px; PADDING-BOTTOM: = 0px; BACKGROUND-COLOR: #f5f6f8; MARGIN: 0px; PADDING-LEFT: 6px; = PADDING-RIGHT: 0px; HEIGHT: 55px; PADDING-TOP: 5px } .docViewButtonbarTop { BORDER-BOTTOM: #4ad6ff 2px solid; PADDING-BOTTOM: 0px; = BACKGROUND-COLOR: #f5f6f8; MARGIN: 0px; PADDING-LEFT: 6px; = PADDING-RIGHT: 0px; HEIGHT: 55px; BORDER-TOP: #ffb700 2px solid; = PADDING-TOP: 5px } .docViewButtonbarBottom { BORDER-BOTTOM: #4ad6ff 2px solid; PADDING-BOTTOM: 0px; = BACKGROUND-COLOR: #f5f6f8; MARGIN: 0px; PADDING-LEFT: 6px; = PADDING-RIGHT: 0px; HEIGHT: 55px; BORDER-TOP: #ffb700 2px solid; = PADDING-TOP: 5px } .docViewButtonbarBottom { BORDER-BOTTOM: medium none; HEIGHT: 35px; BORDER-TOP: medium none } .docViewButtonbarButtons { PADDING-LEFT: 12px; FLOAT: left } .docViewButtonbarDocTitle { CLEAR: both; PADDING-TOP: 4px; _padding-top: 0px } .docViewButton { COLOR: black } .docViewButtonPrev { COLOR: black } .docViewButtonNext { COLOR: black } .docViewButtonAddComment { COLOR: black } .docViewButtonEmailThis { COLOR: black } .docViewButtonHistory { COLOR: black } .docViewButtonBookmarkThis { COLOR: black } .docViewButtonGotoTop { COLOR: black } .docViewButtonAddThis { COLOR: black } .docViewButtonEdit { FONT-WEIGHT: bold } .docViewButtonPrint { FONT-WEIGHT: bold } .docViewButtonAddCommentBottom { COLOR: green; FONT-WEIGHT: bold } .docViewButtonFacebook { MARGIN-TOP: 1px } .gnav_tabBar { HEIGHT: 99.9% } .gnav_tab { FONT-SIZE: 12px; CURSOR: pointer; PADDING-TOP: 2px } .gnav_contentClosed { TEXT-ALIGN: center; OVERFLOW: hidden; CURSOR: pointer; FONT-WEIGHT: = bold } .gnav_contentOpen { BACKGROUND-COLOR: transparent; OVERFLOW: auto } .gnav_selectedTab { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; = FONT-WEIGHT: bold; PADDING-TOP: 2px } .gnav_normalTab { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; = PADDING-TOP: 2px } .gnav_tabName { MARGIN-LEFT: 3px } A.gnav_tabLink:link { COLOR: #575758; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink:visited { COLOR: #575758; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink:hover { COLOR: #575758; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink:active { COLOR: #575758; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-visit:link { COLOR: #e3ac2f; FONT-SIZE: 14px; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.gnav_tabLink-visit:visited { COLOR: #e3ac2f; FONT-SIZE: 14px; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.gnav_tabLink-visit:hover { COLOR: #e3ac2f; FONT-SIZE: 14px; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.gnav_tabLink-visit:active { COLOR: #e3ac2f; FONT-SIZE: 14px; FONT-WEIGHT: bold; TEXT-DECORATION: = none } A.gnav_tabLink-myhome:link { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-myhome:visited { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-myhome:hover { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-myhome:active { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-calendar:link { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-calendar:visited { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-calendar:hover { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-calendar:active { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-doc:link { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-doc:visited { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-doc:hover { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-doc:active { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photo:link { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photo:visited { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photo:hover { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photo:active { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photoroll:link { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photoroll:visited { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photoroll:hover { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-photoroll:active { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-fav:link { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-fav:visited { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-fav:hover { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-fav:active { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-discuss:link { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-discuss:visited { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-discuss:hover { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-discuss:active { COLOR: #4e9dd3; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-todo:link { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-todo:visited { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-todo:hover { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-todo:active { COLOR: #a74023; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-addr:link { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-addr:visited { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-addr:hover { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_tabLink-addr:active { COLOR: #e3ac2f; FONT-SIZE: 14px; TEXT-DECORATION: none } A.gnav_cabLink:link { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_cabLink:visited { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_cabLink:hover { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_cabLink:active { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_folderLink:link { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_folderLink:visited { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_folderLink:hover { COLOR: orange; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.gnav_folderLink:active { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_controlLink:link { FONT-SIZE: 10px; TEXT-DECORATION: none } A.gnav_controlLink:visited { FONT-SIZE: 10px; TEXT-DECORATION: none } A.gnav_controlLink:hover { FONT-SIZE: 10px; TEXT-DECORATION: none } A.gnav_controlLink:active { FONT-SIZE: 10px; TEXT-DECORATION: none } A.gnav_shareLink:link { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_shareLink:visited { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } A.gnav_shareLink:hover { COLOR: orange; FONT-WEIGHT: normal; TEXT-DECORATION: underline } A.gnav_shareLink:active { COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none } .gnav_noshareLink { FONT-STYLE: italic; COLOR: #575758; FONT-SIZE: 11px } .gnav_controlBox { BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; BORDER-LEFT: black = 1px solid; WIDTH: 22px; HEIGHT: 12px; BORDER-TOP: black 1px solid; = CURSOR: pointer; FONT-WEIGHT: bold; MARGIN-RIGHT: 1px; BORDER-RIGHT: = black 1px solid; PADDING-TOP: 1px } .gnav_closeBox { BACKGROUND-IMAGE: url(/graphics/navigator/nav_close_16x16.png); = POSITION: relative; WIDTH: 16px; ZOOM: 1; DISPLAY: inline-block; = BACKGROUND-POSITION: 0px 0px; HEIGHT: 16px; TOP: 3px; LEFT: -4px } .gnav_openBox { BACKGROUND-IMAGE: url(/graphics/navigator/nav_open_16x16.png); = POSITION: relative; WIDTH: 16px; ZOOM: 1; DISPLAY: inline-block; = BACKGROUND-POSITION: 0px 0px; HEIGHT: 16px; LEFT: 4px } .gnav_manageBox { PADDING-BOTTOM: 3px; COLOR: green; FONT-SIZE: 12px } .gnav_cabinet { PADDING-BOTTOM: 2px; PADDING-LEFT: 8px; PADDING-RIGHT: 2px; FONT-SIZE: = 12px; VERTICAL-ALIGN: middle; OVERFLOW: hidden; CURSOR: pointer; = PADDING-TOP: 2px } .gnav_folder { PADDING-BOTTOM: 1px; PADDING-LEFT: 16px; PADDING-RIGHT: 2px; OVERFLOW: = hidden; CURSOR: pointer; PADDING-TOP: 1px } .gnav_tag { PADDING-BOTTOM: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: 2px; OVERFLOW: = hidden; PADDING-TOP: 0px } .gnav_button { FONT-SIZE: 10px; FONT-WEIGHT: bold } .gnav_manageTabContent { BORDER-BOTTOM: silver 1px solid; BORDER-LEFT: silver 1px solid; = MARGIN-TOP: 4px; WIDTH: 100%; HEIGHT: 174px; OVERFLOW: auto; BORDER-TOP: = silver 1px solid; BORDER-RIGHT: silver 1px solid } .gnav_shareFriendName { COLOR: #cc6633; FONT-WEIGHT: bold } .kasHint { Z-INDEX: 100000; BORDER-BOTTOM: #c93 1px solid; POSITION: absolute; = TEXT-ALIGN: left; BORDER-LEFT: #c93 1px solid; PADDING-BOTTOM: 10px; = MARGIN-TOP: -4px; PADDING-LEFT: 12px; WIDTH: 250px; PADDING-RIGHT: 12px; = FONT-FAMILY: sans-serif; BACKGROUND: = url(/global/ajax/gui/images/pointer-left.png) #ffc no-repeat -10px 5px; = FONT-SIZE: 12px; BORDER-TOP: #c93 1px solid; BORDER-RIGHT: #c93 1px = solid; PADDING-TOP: 10px } .kasHintUnder { BACKGROUND: url(/global/ajax/gui/images/pointer-up.png) #ffc no-repeat = 5px -10px } .kasHintUnder .pointer { POSITION: absolute; WIDTH: 19px; BACKGROUND: = url(/global/ajax/gui/images/pointer-up.png) no-repeat left top; HEIGHT: = 10px; TOP: -10px; LEFT: 5px } .kasHintRight { BACKGROUND: url(/global/ajax/gui/images/pointer-left.png) #ffc = no-repeat -10px 5px } .kasHintRight .pointer { POSITION: absolute; WIDTH: 10px; BACKGROUND: = url(/global/ajax/gui/images/pointer-left.png) no-repeat left top; = HEIGHT: 19px; TOP: 5px; LEFT: -10px } .kasHintOver { BACKGROUND: url(/global/ajax/gui/images/pointer-down.png) #ffc = no-repeat 5px -10px } .kasHintOver .pointer { POSITION: absolute; WIDTH: 19px; BOTTOM: -10px; BACKGROUND: = url(/global/ajax/gui/images/pointer-down.png) no-repeat left top; = HEIGHT: 10px; LEFT: 5px } .kasPopUp OL { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px } .kasPopUp H1 { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px } .kasPopUp A IMG { BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-LEFT-WIDTH: 0px } .kasPopUp { FONT: 16px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif } .kasPopUp INPUT { FONT-SIZE: 12px } .kasPopUp TEXTAREA { FONT-SIZE: 12px } .kasPopUp LI:hover { BACKGROUND-COLOR: #e2e8ed } .kasPopUp LI { CURSOR: pointer } .kasPopUp #textarea { WIDTH: 307px } .kasPopUp #colorpicker IMG { CURSOR: pointer } .kasPopUp #col2 DIV { MARGIN-BOTTOM: 1px } .kasPopUp #col2 DIV IMG { MARGIN-BOTTOM: 4px; VERTICAL-ALIGN: bottom } .kasPopUp #col2 INPUT { BORDER-BOTTOM: #bec6cc 1px dotted; TEXT-ALIGN: center; BORDER-LEFT: = #bec6cc 1px; BACKGROUND-COLOR: #f5f8fa; BORDER-TOP: #bec6cc 1px; = BORDER-RIGHT: #bec6cc 1px } .kasPopUp .datebox { WIDTH: 110px } .kasPopUp #col2 #monthstyle_table { WIDTH: 298px; DISPLAY: none } .kasPopUp #monthstyle_table > DIV { DISPLAY: table-row } .kasPopUp #monthstyle_table > DIV > DIV { WIDTH: 53px; DISPLAY: table-cell } .kasPopUp #monthstyle_table OL { DISPLAY: table-cell } .kasPopUp #monthstyle_table LI { PADDING-BOTTOM: 5px } .kasPopUp .buttons .cancel { FLOAT: left } .kasPopUp .buttons .delete { FLOAT: left; MARGIN-LEFT: 12px } .kasPopUp .buttons A#help { FLOAT: left; MARGIN-LEFT: 12px } .kasPopUp #buttons #ok { FLOAT: right } .kasPopUp #buttons EM { MARGIN: 6px 15px 0px 0px; FLOAT: right; COLOR: #003663; FONT-SIZE: 12px } .kasPopUp H1 SPAN { DISPLAY: none } .kasPopUp #col1 { PADDING-BOTTOM: 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 12px; FLOAT: = left; CLEAR: both; PADDING-TOP: 0px } .kasPopUp #col2 { BORDER-LEFT: #bec6cc 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: = 16px; PADDING-RIGHT: 6px; PADDING-TOP: 0px } .kasPopUp #text { PADDING-BOTTOM: 19px; PADDING-LEFT: 12px; PADDING-RIGHT: 10px; FLOAT: = left; PADDING-TOP: 0px } .kasPopUp #colorpicker { MARGIN: 3px 3px 0px 0px; WIDTH: 26px; DISPLAY: inline; BACKGROUND: = blue; FLOAT: left } .kasPopUp .buttons { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: = 25px; CLEAR: both; PADDING-TOP: 18px } .kasPopUp { Z-INDEX: 4; POSITION: absolute; WIDTH: 560px; VISIBILITY: hidden; TOP: = 128px; LEFT: 16px } .kasPopUp .topright { BACKGROUND-IMAGE: url(/global/ajax/gui/images/topright.png); MARGIN: = 0px; BACKGROUND-REPEAT: no-repeat } .kasPopUp .topleft { BACKGROUND-IMAGE: url(/global/ajax/gui/images/topleft.png); = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: = 0px; BACKGROUND-REPEAT: no-repeat; PADDING-TOP: 15px } .kasPopUp .bottomleft { BACKGROUND-IMAGE: url(/global/ajax/gui/images/bottomleft.png); MARGIN: = 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 21px; CLEAR: left } .kasPopUp .bottomright { BACKGROUND-IMAGE: url(/global/ajax/gui/images/bottomright.png); MARGIN: = 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 21px } .kasPopUp .bottomright { PADDING-RIGHT: 21px; BACKGROUND-POSITION: right top } .topright { PADDING-RIGHT: 21px; BACKGROUND-POSITION: right top } .kasBtn { MIN-WIDTH: 82px; PADDING-BOTTOM: 0px; PADDING-LEFT: 6px; WIDTH: auto; = PADDING-RIGHT: 6px; FONT-SIZE: 11px; OVERFLOW: visible; FONT-WEIGHT: = bold; MARGIN-RIGHT: 12px; PADDING-TOP: 0px } .kasBtnGreen { COLOR: green } .kasBtnRed { COLOR: red } .kasBtnOrange { COLOR: orange } UL.kasTabMenu { BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; PADDING-BOTTOM: 3px; = BACKGROUND-COLOR: #f5f8fa; LIST-STYLE-TYPE: none; MARGIN: 0px 0px 3px; = PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT: bold 11px verdana, arial, = sans-serif; PADDING-TOP: 3px } UL.kasTabMenu LI { BACKGROUND-COLOR: #f5f8fa; DISPLAY: inline; MARGIN-RIGHT: 4px } UL.kasTabMenu LI.active { BORDER-BOTTOM: #f5f8fa 1px solid } UL.kasTabMenu LI A { BORDER-BOTTOM: medium none; BORDER-LEFT: black 1px solid; = PADDING-BOTTOM: 3px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BORDER-TOP: = black 1px solid; BORDER-RIGHT: black 1px solid; TEXT-DECORATION: none; = PADDING-TOP: 3px } UL.kasTabMenu LI.active A { POSITION: relative; BACKGROUND-COLOR: #f5f8fa; COLOR: #000; TOP: 1px; = PADDING-TOP: 4px } UL.kasTabMenu A:hover { BACKGROUND-COLOR: #c7d8e2 } #swpu_header { WIDTH: 100%; FLOAT: left; CLEAR: both } #swpu_header { BORDER-BOTTOM: #000 1px solid } #swpu_header P { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: = 15px; PADDING-TOP: 0.4em } #swpu_header H1 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: = 15px; PADDING-TOP: 0.4em } #swpu_header H2 { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: = 15px; PADDING-TOP: 0.4em } #swpu_header UL { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 10px 0px 0px; = PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FLOAT: left; CLEAR: = left; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px } #swpu_header UL LI { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; DISPLAY: inline; LIST-STYLE-IMAGE: none; = PADDING-TOP: 0px } #swpu_header UL LI A { POSITION: relative; TEXT-ALIGN: center; PADDING-BOTTOM: 3px; = LINE-HEIGHT: 1.3em; MARGIN: 0px 0px 0px 1px; PADDING-LEFT: 10px; = PADDING-RIGHT: 10px; DISPLAY: block; BACKGROUND: #eee; FLOAT: left; = COLOR: #000; TEXT-DECORATION: none; PADDING-TOP: 3px; LEFT: 15px } #swpu_header UL LI A:hover { BACKGROUND: #369; COLOR: #fff } #swpu_header UL LI A.active { BACKGROUND: #000; COLOR: #fff; FONT-WEIGHT: bold } #swpu_header UL LI A.active:hover { BACKGROUND: #000; COLOR: #fff; FONT-WEIGHT: bold } #swpu_header UL LI A SPAN { DISPLAY: block } .swpu_colmask { POSITION: relative; WIDTH: 100%; FLOAT: left; CLEAR: both; OVERFLOW: = hidden } .swpu_colright { POSITION: relative; WIDTH: 100%; FLOAT: left } .swpu_colmid { POSITION: relative; WIDTH: 100%; FLOAT: left } .swpu_colleft { POSITION: relative; WIDTH: 100%; FLOAT: left } .swpu_col1 { POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FLOAT: left; OVERFLOW: hidden; PADDING-TOP: 0px } .swpu_col2 { POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FLOAT: left; OVERFLOW: hidden; PADDING-TOP: 0px } .swpu_col3 { POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FLOAT: left; OVERFLOW: hidden; PADDING-TOP: 0px } .swpu_leftmenu .swpu_colleft { RIGHT: 68% } .swpu_leftmenu .swpu_col1 { WIDTH: 68%; LEFT: 100% } .swpu_leftmenu .swpu_col2 { OVERFLOW-Y: auto; WIDTH: 30%; HEIGHT: 300px; BORDER-RIGHT: #000 1px = solid; LEFT: 0% } .swpu_leftmenu .swpu_col2 DIV { COLOR: #444; FONT-SIZE: 14px } .swpu_leftmenu .swpu_col2 DIV A { POSITION: relative; TEXT-ALIGN: left; PADDING-BOTTOM: 3px; LINE-HEIGHT: = 1.3em; MARGIN: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; DISPLAY: = block; COLOR: #444; FONT-SIZE: 14px; TEXT-DECORATION: none; PADDING-TOP: = 3px; LEFT: 0px } .swpu_leftmenu .swpu_col1 DIV A { COLOR: #00f; TEXT-DECORATION: none } .swpu_leftmenu .swpu_col1 DIV A SPAN { TEXT-DECORATION: underline } .swpu_leftmenu .swpu_col1 DIV A .swpu_edit { POSITION: relative; LINE-HEIGHT: 1em; PADDING-LEFT: 1.5em; FONT-SIZE: = 12px; TEXT-DECORATION: none; PADDING-TOP: 0px; LEFT: 0px } .swpu_leftmenu .swpu_col2 DIV A:hover { BACKGROUND: #69c; COLOR: #fff } .swpu_leftmenu .swpu_col2 DIV A.active { BACKGROUND: #369; COLOR: #fff; FONT-WEIGHT: bold } .swpu_leftmenu .swpu_col2 DIV A.active:hover { BACKGROUND: #369; COLOR: #fff; FONT-WEIGHT: bold } .swpu_leftmenu .swpu_col2 DIV A.active SPAN { TEXT-DECORATION: underline } .swpu_leftmenu .swpu_col2 DIV A.active:hover SPAN { TEXT-DECORATION: underline } .swpu_leftmenu .swpu_col2 DIV A .swpu_edit { POSITION: relative; LINE-HEIGHT: 1em; PADDING-LEFT: 1.5em; FONT-SIZE: = 12px; TEXT-DECORATION: none; PADDING-TOP: 0px; LEFT: 0px } .swpu_leftmenu .swpu_col2 DIV A.active .swpu_edit { COLOR: #fff } .swpu_leftmenu .swpu_col2 DIV A.active:hover .swpu_edit { COLOR: #fff } .swpu_leftmenu .swpu_col2 DIV A:hover .swpu_edit { COLOR: #fff } #swpu_footer { MARGIN-TOP: 0.25em; WIDTH: 100%; FLOAT: left; CLEAR: both; BORDER-TOP: = #000 1px solid } #swpu_footer P { PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: = 10px; PADDING-TOP: 10px } .swpu_find_body { CLEAR: both } #kasFindPeopleTab { CLEAR: both } #kasAddFriendTab .findBody { CLEAR: both } .swpu_message { TEXT-ALIGN: center; MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em } #kasAddFriendTab .message { TEXT-ALIGN: center; MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em } .swpu_find_input { PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em } #kasFindPeopleTab { PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em } #kasAddFriendTab { PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em } .findInput { PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em } .swpu_findtabresultscount { FLOAT: right } .swpu_find_results { OVERFLOW-Y: auto; MAX-HEIGHT: 350px; CLEAR: both } #kasAddFriendTab .findResults { OVERFLOW-Y: auto; MAX-HEIGHT: 350px; CLEAR: both } .swpu_find_results DIV A { COLOR: #00f; TEXT-DECORATION: none } .swpu_find_results DIV A SPAN SPAN { COLOR: black; FONT-SIZE: smaller } .swpu_find_results DIV SPAN SPAN { COLOR: black; FONT-SIZE: smaller } .swpu_find_results DIV A .swpu_edit { POSITION: relative; LINE-HEIGHT: 1em; PADDING-LEFT: 1.5em; FONT-SIZE: = 12px; TEXT-DECORATION: none; PADDING-TOP: 0px; LEFT: 0px } UL#swpu_tab_menu { BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: left; PADDING-BOTTOM: 3px; = BACKGROUND-COLOR: #f5f8fa; LIST-STYLE-TYPE: none; MARGIN: 0px; = PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT: bold 11px verdana, arial, = sans-serif; PADDING-TOP: 3px } UL#swpu_tab_menu LI { BACKGROUND-COLOR: #f5f8fa; DISPLAY: inline; MARGIN-RIGHT: 4px } UL#swpu_tab_menu LI.active { BORDER-BOTTOM: #f5f8fa 1px solid } UL#swpu_tab_menu LI A { BORDER-BOTTOM: medium none; BORDER-LEFT: black 1px solid; = PADDING-BOTTOM: 3px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BORDER-TOP: = black 1px solid; BORDER-RIGHT: black 1px solid; TEXT-DECORATION: none; = PADDING-TOP: 3px } UL#swpu_tab_menu LI.active A { POSITION: relative; BACKGROUND-COLOR: #f5f8fa; COLOR: #000; TOP: 1px; = PADDING-TOP: 4px } UL#swpu_tab_menu A:hover { BACKGROUND-COLOR: #c7d8e2 } #kasManageFriendsTab #friendList { OVERFLOW-Y: auto; HEIGHT: 300px; CLEAR: both } #kasManageFriendsTab #friendList DIV A { COLOR: #00f; TEXT-DECORATION: none } #kasManageGroupsMemberList DIV A { COLOR: #00f; TEXT-DECORATION: none } #kasManageFriendsTab #friendList DIV A SPAN { TEXT-DECORATION: none } #kasManageGroupsMemberList DIV A SPAN { TEXT-DECORATION: none } #kasManageFriendsTab #friendList DIV A SPAN SPAN { COLOR: black; FONT-SIZE: smaller } #kasManageGroupsMemberList DIV A SPAN SPAN { COLOR: black; FONT-SIZE: smaller } #kasManageFriendsTab #friendList DIV A .swpu_edit { POSITION: relative; LINE-HEIGHT: 1em; PADDING-LEFT: 1.5em; FONT-SIZE: = 12px; TEXT-DECORATION: none; PADDING-TOP: 0px; LEFT: 0px } #kasManageGroupsMemberList { OVERFLOW-Y: auto; HEIGHT: 200px } A.active SPAN SPAN.kasGreenPlus { COLOR: white } A SPAN SPAN.kasGreenPlus { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 12px; PADDING-RIGHT: = 2px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: green; = CURSOR: pointer; FONT-WEIGHT: bold; PADDING-TOP: 2px } ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.keepandshare.com/global/styles/sprite.css .sprite-iconfileaudio { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: 0px 0px; = HEIGHT: 16px } .sprite-iconrichtextstationery { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -66px 0px; = HEIGHT: 16px } .sprite-iconplaintextstationery { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -66px 0px; = HEIGHT: 16px } .sprite-icondownload { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -132px 0px; = HEIGHT: 16px } .sprite-iconfileeps { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -198px 0px; = HEIGHT: 16px } .sprite-iconfile { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -264px 0px; = HEIGHT: 16px } .sprite-iconfolder { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -330px 0px; = HEIGHT: 14px } .sprite-iconfileimage { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -396px 0px; = HEIGHT: 16px } .sprite-iconpencil { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -462px 0px; = HEIGHT: 16px } .sprite-icongear { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -528px 0px; = HEIGHT: 16px } .sprite-iconoldrichtext { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -594px 0px; = HEIGHT: 16px } .sprite-iconfilepdf { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -660px 0px; = HEIGHT: 16px } .sprite-iconplaintext { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -726px 0px; = HEIGHT: 16px } .sprite-iconrichtext { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -792px 0px; = HEIGHT: 16px } .sprite-iconshare { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 20px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -858px 0px; = HEIGHT: 10px } .sprite-iconshareempty { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 15px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -928px 0px; = HEIGHT: 10px } .sprite-iconsignupdoc { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -993px 0px; = HEIGHT: 16px } .sprite-iconspreadsheetdoc { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1059px 0px; = HEIGHT: 16px } .sprite-iconghostgoldstar { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1125px 0px; = HEIGHT: 16px } .sprite-icongoldstar { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1191px 0px; = HEIGHT: 16px } .sprite-iconsurveyform { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1257px 0px; = HEIGHT: 16px } .sprite-icontabledoc { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1323px 0px; = HEIGHT: 16px } .sprite-iconlist { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1389px 0px; = HEIGHT: 16px } .sprite-iconappaddress-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1455px 0px; = HEIGHT: 18px } .sprite-iconappaddress { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1529px 0px; = HEIGHT: 18px } .sprite-iconappalbum-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1603px 0px; = HEIGHT: 18px } .sprite-iconappalbum { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1677px 0px; = HEIGHT: 18px } .sprite-iconappbookmark-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1751px 0px; = HEIGHT: 18px } .sprite-iconappbookmark { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1825px 0px; = HEIGHT: 18px } .sprite-iconappcalendar-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -1899px 0px; = HEIGHT: 18px } .sprite-iconappcalendar { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: 0px -68px; = HEIGHT: 18px } .sprite-iconappdashboard-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -74px -68px; = HEIGHT: 18px } .sprite-iconappdashboard { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -148px -68px; = HEIGHT: 18px } .sprite-iconappdiscuss-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -222px -68px; = HEIGHT: 18px } .sprite-iconappdiscuss { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -296px -68px; = HEIGHT: 18px } .sprite-iconappfile-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -370px -68px; = HEIGHT: 18px } .sprite-iconappfile { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -444px -68px; = HEIGHT: 18px } .sprite-iconapplibrary-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -518px -68px; = HEIGHT: 18px } .sprite-iconapplibrary { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -592px -68px; = HEIGHT: 18px } .sprite-iconapptodo-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -666px -68px; = HEIGHT: 18px } .sprite-iconapptodo { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -740px -68px; = HEIGHT: 18px } .sprite-iconappfriends-gray { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -814px -68px; = HEIGHT: 18px } .sprite-iconappfriends { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -814px -68px; = HEIGHT: 18px } .sprite-iconfilevideo { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -888px -68px; = HEIGHT: 16px } .sprite-iconfilezip { BACKGROUND-IMAGE: url(/graphics/navigator/sprite-images.png); WIDTH: = 16px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: -954px -68px; = HEIGHT: 16px } .sprite-iconblank { WIDTH: 16px; ZOOM: 1; DISPLAY: inline-block; HEIGHT: 16px; TOP: 2px } .sprite-iconappvisits-gray { BACKGROUND-IMAGE: url(/graphics/navigator/ui.recentvisits.gray.v2.png); = WIDTH: 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: 0px = 0px; HEIGHT: 18px } .sprite-iconappvisits { BACKGROUND-IMAGE: url(/graphics/navigator/ui.recentvisits.gray.v2.png); = WIDTH: 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: 0px = 0px; HEIGHT: 18px } .sprite-iconappvisit-gray { BACKGROUND-IMAGE: url(/graphics/navigator/welcome_icon.gray.png); = WIDTH: 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: 0px = 0px; HEIGHT: 18px } .sprite-iconappvisit { BACKGROUND-IMAGE: url(/graphics/navigator/welcome_icon.png); WIDTH: = 24px; ZOOM: 1; DISPLAY: inline-block; BACKGROUND-POSITION: 0px 0px; = HEIGHT: 18px } ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0033_01CD9255.CA5AB4B0" ------=_NextPart_001_0033_01CD9255.CA5AB4B0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.keepandshare.com/doc/12894/adjective-list =EF=BB=BF Adjective List & Adjectives List =
KeepandShare=C2=AE =   =   Log In  |  Help  |  Privacy     
Choose a time format:
Choose a date format: =20
=
  Visiting Free Lists's Shares (account name: = lists)=20  
New Word=20 Processor Document
Or choose from the the lists below ?...
Documents Stationery
Choose a blank document Show = KeepandShare=20 Stationery  Show My=20 Stationery
My Stationery List ?... Search for stationery ?...
Check to remove Check to add to your My Stationery=20 List
   =20
=20
";=0A= var isBuggy =3D typeof el.tBodies[0] =3D=3D "undefined";=0A= el =3D null;=0A= return isBuggy;=0A= }=0A= } catch (e) {=0A= return true;=0A= }=0A= })();=0A= =0A= var LINK_ELEMENT_INNERHTML_BUGGY =3D (function() {=0A= try {=0A= var el =3D document.createElement('div');=0A= el.innerHTML =3D "";=0A= var isBuggy =3D (el.childNodes.length =3D=3D=3D 0);=0A= el =3D null;=0A= return isBuggy;=0A= } catch(e) {=0A= return true;=0A= }=0A= })();=0A= =0A= var ANY_INNERHTML_BUGGY =3D SELECT_ELEMENT_INNERHTML_BUGGY ||=0A= TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY;=0A= =0A= var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING =3D (function () {=0A= var s =3D document.createElement("script"),=0A= isBuggy =3D false;=0A= try {=0A= s.appendChild(document.createTextNode(""));=0A= isBuggy =3D !s.firstChild ||=0A= s.firstChild && s.firstChild.nodeType !=3D=3D 3;=0A= } catch (e) {=0A= isBuggy =3D true;=0A= }=0A= s =3D null;=0A= return isBuggy;=0A= })();=0A= =0A= =0A= function update(element, content) {=0A= element =3D $(element);=0A= var purgeElement =3D Element._purgeElement;=0A= =0A= var descendants =3D element.getElementsByTagName('*'),=0A= i =3D descendants.length;=0A= while (i--) purgeElement(descendants[i]);=0A= =0A= if (content && content.toElement)=0A= content =3D content.toElement();=0A= =0A= if (Object.isElement(content))=0A= return element.update().insert(content);=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= var tagName =3D element.tagName.toUpperCase();=0A= =0A= if (tagName =3D=3D=3D 'SCRIPT' && = SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) {=0A= element.text =3D content;=0A= return element;=0A= }=0A= =0A= if (ANY_INNERHTML_BUGGY) {=0A= if (tagName in Element._insertionTranslations.tags) {=0A= while (element.firstChild) {=0A= element.removeChild(element.firstChild);=0A= }=0A= Element._getContentFromAnonymousElement(tagName, = content.stripScripts())=0A= .each(function(node) {=0A= element.appendChild(node)=0A= });=0A= } else if (LINK_ELEMENT_INNERHTML_BUGGY && = Object.isString(content) && content.indexOf(' -1) {=0A= while (element.firstChild) {=0A= element.removeChild(element.firstChild);=0A= }=0A= var nodes =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts(), true);=0A= nodes.each(function(node) { element.appendChild(node) });=0A= }=0A= else {=0A= element.innerHTML =3D content.stripScripts();=0A= }=0A= }=0A= else {=0A= element.innerHTML =3D content.stripScripts();=0A= }=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= }=0A= =0A= return update;=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(),=0A= attribute =3D pair.last(),=0A= 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, maximumLength) {=0A= element =3D $(element);=0A= maximumLength =3D maximumLength || -1;=0A= var elements =3D [];=0A= =0A= while (element =3D element[property]) {=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= if (elements.length =3D=3D maximumLength)=0A= break;=0A= }=0A= =0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return Element.recursivelyCollect(element, 'parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return Element.select(element, "*");=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= var results =3D [], child =3D $(element).firstChild;=0A= while (child) {=0A= if (child.nodeType =3D=3D=3D 1) {=0A= results.push(Element.extend(child));=0A= }=0A= child =3D child.nextSibling;=0A= }=0A= return results;=0A= },=0A= =0A= previousSiblings: function(element, maximumLength) {=0A= return Element.recursivelyCollect(element, 'previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return Element.recursivelyCollect(element, 'nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return Element.previousSiblings(element).reverse()=0A= .concat(Element.nextSiblings(element));=0A= },=0A= =0A= match: function(element, selector) {=0A= element =3D $(element);=0A= if (Object.isString(selector))=0A= return Prototype.Selector.match(element, 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(element);=0A= return Object.isNumber(expression) ? ancestors[expression] :=0A= Prototype.Selector.find(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(element);=0A= return Object.isNumber(expression) ? = Element.descendants(element)[expression] :=0A= Element.select(element, expression)[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (Object.isNumber(expression)) index =3D expression, expression = =3D false;=0A= if (!Object.isNumber(index)) index =3D 0;=0A= =0A= if (expression) {=0A= return Prototype.Selector.find(element.previousSiblings(), = expression, index);=0A= } else {=0A= return element.recursivelyCollect("previousSibling", index + = 1)[index];=0A= }=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (Object.isNumber(expression)) index =3D expression, expression = =3D false;=0A= if (!Object.isNumber(index)) index =3D 0;=0A= =0A= if (expression) {=0A= return Prototype.Selector.find(element.nextSiblings(), expression, = index);=0A= } else {=0A= var maximumLength =3D Object.isNumber(index) ? index + 1 : 1;=0A= return element.recursivelyCollect("nextSibling", index + 1)[index];=0A= }=0A= },=0A= =0A= =0A= select: function(element) {=0A= element =3D $(element);=0A= var expressions =3D Array.prototype.slice.call(arguments, 1).join(', = ');=0A= return Prototype.Selector.select(expressions, element);=0A= },=0A= =0A= adjacent: function(element) {=0A= element =3D $(element);=0A= var expressions =3D Array.prototype.slice.call(arguments, 1).join(', = ');=0A= return Prototype.Selector.select(expressions, = element.parentNode).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D Element.readAttribute(element, 'id');=0A= if (id) return id;=0A= do { id =3D 'anonymous_element_' + Element.idCounter++ } while = ($(id));=0A= Element.writeAttribute(element, '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(element).height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return Element.getDimensions(element).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(element, 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(element, className) ?=0A= 'removeClassName' : 'addClassName'](element, className);=0A= },=0A= =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(element);=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= 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= 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= 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= source =3D $(source);=0A= var p =3D Element.viewportOffset(source), delta =3D [0, 0], parent = =3D null;=0A= =0A= element =3D $(element);=0A= =0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D Element.getOffsetParent(element);=0A= delta =3D Element.viewportOffset(parent);=0A= }=0A= =0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =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= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= =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 'height': case 'width':=0A= if (!Element.visible(element)) return null;=0A= =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= 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 (function(){=0A= =0A= var classProp =3D 'className',=0A= forProp =3D 'for',=0A= el =3D document.createElement('div');=0A= =0A= el.setAttribute(classProp, 'x');=0A= =0A= if (el.className !=3D=3D 'x') {=0A= el.setAttribute('class', 'x');=0A= if (el.className =3D=3D=3D 'x') {=0A= classProp =3D 'class';=0A= }=0A= }=0A= el =3D null;=0A= =0A= el =3D document.createElement('label');=0A= el.setAttribute(forProp, 'x');=0A= if (el.htmlFor !=3D=3D 'x') {=0A= el.setAttribute('htmlFor', 'x');=0A= if (el.htmlFor =3D=3D=3D 'x') {=0A= forProp =3D 'htmlFor';=0A= }=0A= }=0A= el =3D null;=0A= =0A= return {=0A= read: {=0A= names: {=0A= 'class': classProp,=0A= 'className': classProp,=0A= 'for': forProp,=0A= 'htmlFor': forProp=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute);=0A= },=0A= _getAttr2: 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(){=0A= =0A= var el =3D document.createElement('div'), f;=0A= el.onclick =3D Prototype.emptyFunction;=0A= var value =3D el.getAttribute('onclick');=0A= =0A= if (String(value).indexOf('{') > -1) {=0A= f =3D function(element, attribute) {=0A= attribute =3D element.getAttribute(attribute);=0A= if (!attribute) return null;=0A= attribute =3D attribute.toString();=0A= attribute =3D attribute.split('{')[1];=0A= attribute =3D attribute.split('}')[0];=0A= return attribute.strip();=0A= };=0A= }=0A= else if (value =3D=3D=3D '') {=0A= f =3D function(element, attribute) {=0A= attribute =3D element.getAttribute(attribute);=0A= if (!attribute) return null;=0A= return attribute.strip();=0A= };=0A= }=0A= el =3D null;=0A= return f;=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= =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._getAttr2,=0A= src: v._getAttr2,=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= if (Prototype.BrowserFeatures.ElementExtensions) {=0A= (function() {=0A= function _descendants(element) {=0A= var nodes =3D element.getElementsByTagName('*'), results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.tagName !=3D=3D "!") // Filter out comment nodes.=0A= results.push(node);=0A= return results;=0A= }=0A= =0A= Element.Methods.down =3D function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= return Object.isNumber(expression) ? = _descendants(element)[expression] :=0A= Element.select(element, expression)[index || 0];=0A= }=0A= })();=0A= }=0A= =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= =0A= if ('outerHTML' in document.documentElement) {=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= 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, = force) {=0A= var div =3D new Element('div'),=0A= t =3D Element._insertionTranslations.tags[tagName];=0A= =0A= var workaround =3D false;=0A= if (t) workaround =3D true;=0A= else if (force) {=0A= workaround =3D true;=0A= t =3D ['', '', 0];=0A= }=0A= =0A= if (workaround) {=0A= div.innerHTML =3D ' ' + t[0] + html + t[1];=0A= div.removeChild(div.firstChild);=0A= for (var i =3D t[2]; i--; ) {=0A= div =3D div.firstChild;=0A= }=0A= }=0A= else {=0A= div.innerHTML =3D html;=0A= }=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: ['
=0A= var MAX_FOLDER_DISPLAY_NAME_LEN =3D 20;=0A=
Check the items = that you=20 want displayed. Uncheck all to hide the section.
Gladiator's Athletic=20 Schedule
Calendar 2
Calendar 3
Calendar 4
Calendar 5
Calendar 6
Calendar 7
Calendar 8
Calendar 9
Calendar = 10
Calendar = 11
Calendar = 12
Calendar = 13
Calendar = 14
Calendar = 15
Calendar = 16
Calendar = 17
Calendar = 18
Calendar = 19
Calendar = 20
Calendar = 21
Calendar = 22
Calendar = 23
Calendar 24
Calendar 25
Calendar 26
Calendar 27
Calendar 28
Calendar 29
Calendar 30
Check the items = that you=20 want displayed. Uncheck all to hide the section.
Folder Set 1
Freshman
Folder Set 3
Folder Set 4
Folder Set 5
Folder Set 6
Folder Set 7
Folder Set 8
Folder Set 9
Folder Set 10
Folder Set 11
Folder Set 12
Folder Set 13
Folder Set 14
Folder Set 15
Folder Set 16
Folder Set 17
Folder Set 18
Folder Set 19
Folder Set=20 20
Check the items = that you=20 want displayed. Uncheck all to hide the section.
Folder Set 1
Folder Set 2
Folder Set 3
Folder Set 4
Check the items = that you=20 want displayed. Uncheck all to hide the section.
Folder Set 1
Folder Set 2
Folder Set 3
Folder Set 4
Check the items = that you=20 want displayed. Uncheck all to hide the section.
Folder Set 1
Folder Set 2
Folder Set 3
Folder Set 4
Check the items = that you=20 want displayed. Uncheck all to hide the section.
List Set 1
List Set 2
List Set 3
List Set 4
Check the items = that you=20 want displayed. Uncheck all to hide the section.
Folder Set 1
Folder Set 2
Folder Set 3
Folder Set 4
=20
Visiting
Free Lists
<= /TABLE>
 Baby Names
 Calories
 English Syntax Lists
 Free Checklists
 Free Lists
 Grocery Lists
 Things To Do In
 Things To Do = Lists
 Wedding=20 Planning

This KeepandShare account provides 0 'folder sets'. = Upgrade=20 to get more capacity:

  • Basic (free) accounts provide 1 folder set.
  • Pro accounts provide 2 folder sets.
  • Premium accounts provide 20 folder sets.

Learn More

=
  =20  =20 =
  =20  =20
Folder Set=20 1 [-]
=20
=20
=20
=20
=20
 Adjective List=20 & Adjectives List














  

Adjective List

A Simple Guide to=20 Using Adjectives 

Click Here For = More on=20 English Syntax
Like = this page?=20 Bookmark it! Is=20 something missing from this list? 3D"Click
 
English Syntax: Use our Teaching English Syntax = Lists -=20 Printable & Free, ideal for ESL.   Adjectives = are not=20 that hard to learn.

An adjective=20 modifies a noun or a pronoun by = describing,=20 identifying, or quantifying words. An adjective often = precedes=20 the noun or the pronoun which it modifies.  In = the=20 following examples, the highlighted = words are=20 adjectives:

The car-shaped balloon floated = over the=20 treetops.
Mrs. Smith papered her living room=20 walls with hideous wall=20 paper.
The large boat foundered on the = wine dark sea.
The coal mines are=20 dark and = dank.
Many stores have already begun = to play=20 irritating = Christmas=20 music.
A battered = music box=20 sat on the mahogany sideboard.
The back room was filled with = large,=20 green rain boots.
Appearance
  
 
adorable =
adventurous
aggressive
alert
attractive
average
beautiful =
blue-eyed 
bloody
blushing =
bright
clean
clear
cloudy
colorful =
crowded
cute
dark
drab
distinct =
dull
elegant
excited
fancy
filthy
Appearance=20
Contd.
 
glamorous =
gleaming =
gorgeous
graceful =
grotesque =
handsome
homely
light
long
magnificent
misty
motionless =
muddy
old-fashioned
plain
poised
precious
quaint
shiny
smoggy
sparkling =
spotless =
stormy
strange
ugly
ugliest
unsightly =
unusual
wide-eyed
Condition
 
 
alive
annoying
bad
better
beautiful
brainy
breakable =
busy
careful
cautious =
clever
clumsy
concerned =
crazy
curious
dead
different =
difficult =
doubtful =
easy
expensive
famous
fragile
frail
gifted
helpful
helpless =
horrible
important
 
Condition
Contd.
 
impossible =
inexpensive
innocent =
inquisitive =
modern
mushy
odd
open
outstanding =
poor
powerful =
prickly
puzzled
real
rich
shy
sleepy
stupid
super
talented
tame
tender
tough
uninterested =
vast
wandering =
wild
wrong
Feelings=20 (Bad)
 
 
angry =
annoyed
anxious
arrogant =
ashamed
awful
bad
bewildered =
black
blue
bored
clumsy
combative =
condemned =
confused =
crazy, = flipped-out
creepy
cruel
dangerous =
defeated =
defiant
depressed =
disgusted =
disturbed =
dizzy
dull
embarrassed =
envious
evil
fierce
foolish
frantic
frightened
grieving
Feelings=20 (Bad)
Contd.
 =20

grumpy
helpless =
homeless =
hungry
hurt
ill
itchy
jealous
jittery
lazy
lonely
mysterious
nasty 
naughty
nervous
nutty
obnoxious =
outrageous =
panicky
repulsive =
scary
selfish
sore
tense
terrible =
testy
thoughtless =
tired
troubled =
upset
uptight
weary
wicked
worried
Feelings=20 (Good)
 
 
agreeable =
amused
brave
calm
charming =
cheerful =
comfortable =
cooperative =
courageous =
delightful =
determined =
eager
elated
enchanting =
encouraging =
energetic =
enthusiastic =
excited
exuberant =
fair
faithful =
fantastic =
fine
friendly =
funny
gentle
glorious
good =
Feelings=20 (Good)
Contd.
=
  
happy
healthy
helpful
hilarious =
jolly
joyous
kind
lively
lovely
lucky
nice
obedient =
perfect
pleasant =
proud
relieved =
silly
smiling
splendid =
successful =
thankful
thoughtful =
victorious =
vivacious =
witty
wonderful =
zealous
zany
Shape
 
 
broad
chubby
crooked
curved
deep
flat
high
hollow
low
narrow
round
shallow
skinny
square
steep
straight =
wide
Size 
 
 
big
colossal
fat
gigantic
great
huge
immense
large
little
mammoth
massive
miniature
petite
puny
scrawny
short
small
tall
teeny
teeny-tiny
tiny
 
Sound
 
 
cooing=20
deafening =
faint
harsh
high-pitched =
hissing
hushed
husky
loud
melodic
moaning
mute
noisy
purring
quiet
raspy
resonant =
screeching =
shrill
silent
soft
squealing =
thundering =
voiceless =
whispering
Time
 
 
ancient
brief
Early
fast
late
long
modern
old
old-fashioned
quick
rapid
short
slow
swift
young
Taste/Touch
 
 
bitter
delicious
fresh
juicy
ripe
rotten
salty
sour
spicy
stale
sticky
strong
sweet
tart
tasteless
tasty
thirsty
fluttering
fuzzy
greasy
grubby
hard
hot
icy
loose
 
 
 
Taste/Touch
Contd.
 
melted
nutritious
plastic
prickly
rainy
rough
scattered
shaggy
shaky
sharp
shivering
silky
slimy
slippery
smooth
soft
solid
steady
sticky
tender
tight
uneven
weak
wet
wooden
yummy
 
 
Touch
 
 
boiling
breezy
broken
bumpy
chilly
cold
cool
creepy
crooked
cuddly
curly
damaged
damp
dirty
dry
dusty
filthy
flaky
fluffy
freezing
hot
warm
wet 
 
 
 
 
 
Quantity
 
 
abundant
empty
few
heavy
light
many
numerous
substantial
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
=
 

 

This simple adjectives = list=20 guide is for free use by studends of the english=20 language.
This document was created = and=20 published using http://www.keepandshare.com/

 =20
=20
=20
=20
=20
=20
http%3A= %2F%2Fwww.keepandshare.com%2Fdoc&send=3Dfalse&layout=3Dbutton_cou= nt&width=3D90&show_faces=3Dfalse&action=3Dlike&colorschem= e=3Dlight&font=3Dverdana&height=3D21"=20 frameBorder=3D0 allowTransparency scrolling=3Dno>
=20
Creation date: 10-02-2006, 8:45 PM   =   Last=20 modified date: 05-05-2012, 3:02 PM
Document Links:  =  URL: =20  =20   Embed: =20   ?...
  0 Comments = attached to=20 this document       =20       =20
Close
------=_NextPart_001_0033_01CD9255.CA5AB4B0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://ct5.addthis.com/static/r07/sh101.html =EF=BB=BF AddThis utility = frame ------=_NextPart_001_0033_01CD9255.CA5AB4B0-- ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.keepandshare.com%2Fdoc%2F12894%2Fadjective-list-adjectives-list)?>http%3A%2F%2Fwww.keepandshare.com%2Fdoc&send=false&layout=button_count&width=90&show_faces=false&action=like&colorscheme=light&font=verdana&height=21 =EF=BB=BF Facebook ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.keepandshare.com/global/javascript.php?m=1346967627&app=doc =0A= /* /global/ajax/prototype/prototype.js */=0A= /* Prototype JavaScript framework, version 1.7=0A= * (c) 2005-2010 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= =0A= Version: '1.7',=0A= =0A= Browser: (function(){=0A= var ua =3D navigator.userAgent;=0A= var isOpera =3D Object.prototype.toString.call(window.opera) =3D=3D = '[object Opera]';=0A= return {=0A= IE: !!window.attachEvent && !isOpera,=0A= Opera: isOpera,=0A= WebKit: ua.indexOf('AppleWebKit/') > -1,=0A= Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') = =3D=3D=3D -1,=0A= MobileSafari: /Apple.*Mobile/.test(ua)=0A= }=0A= })(),=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= =0A= SelectorsAPI: !!document.querySelector,=0A= =0A= ElementExtensions: (function() {=0A= var constructor =3D window.Element || window.HTMLElement;=0A= return !!(constructor && constructor.prototype);=0A= })(),=0A= SpecificElementExtensions: (function() {=0A= if (typeof window.HTMLDivElement !=3D=3D 'undefined')=0A= return true;=0A= =0A= var div =3D document.createElement('div'),=0A= form =3D document.createElement('form'),=0A= isSupported =3D false;=0A= =0A= if (div['__proto__'] && (div['__proto__'] !=3D=3D = form['__proto__'])) {=0A= isSupported =3D true;=0A= }=0A= =0A= div =3D form =3D null;=0A= =0A= return isSupported;=0A= })()=0A= },=0A= =0A= ScriptFragment: ']*>([\\S\\s]*?)<\/script>',=0A= JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A= =0A= emptyFunction: function() { },=0A= =0A= K: function(x) { return x }=0A= };=0A= =0A= if (Prototype.Browser.MobileSafari)=0A= Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A= =0A= =0A= var Abstract =3D { };=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= /* Based on Alex Arnell's inheritance implementation. */=0A= =0A= var Class =3D (function() {=0A= =0A= var IS_DONTENUM_BUGGY =3D (function(){=0A= for (var p in { toString: 1 }) {=0A= if (p =3D=3D=3D 'toString') return false;=0A= }=0A= return true;=0A= })();=0A= =0A= function subclass() {};=0A= function create() {=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= subclass.prototype =3D parent.prototype;=0A= klass.prototype =3D new subclass;=0A= parent.subclasses.push(klass);=0A= }=0A= =0A= for (var i =3D 0, length =3D properties.length; i < 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= return klass;=0A= }=0A= =0A= function addMethods(source) {=0A= var ancestor =3D this.superclass && this.superclass.prototype,=0A= properties =3D Object.keys(source);=0A= =0A= if (IS_DONTENUM_BUGGY) {=0A= if (source.toString !=3D Object.prototype.toString)=0A= properties.push("toString");=0A= if (source.valueOf !=3D Object.prototype.valueOf)=0A= properties.push("valueOf");=0A= }=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()[0] =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= return {=0A= create: create,=0A= Methods: {=0A= addMethods: addMethods=0A= }=0A= };=0A= })();=0A= (function() {=0A= =0A= var _toString =3D Object.prototype.toString,=0A= NULL_TYPE =3D 'Null',=0A= UNDEFINED_TYPE =3D 'Undefined',=0A= BOOLEAN_TYPE =3D 'Boolean',=0A= NUMBER_TYPE =3D 'Number',=0A= STRING_TYPE =3D 'String',=0A= OBJECT_TYPE =3D 'Object',=0A= FUNCTION_CLASS =3D '[object Function]',=0A= BOOLEAN_CLASS =3D '[object Boolean]',=0A= NUMBER_CLASS =3D '[object Number]',=0A= STRING_CLASS =3D '[object String]',=0A= ARRAY_CLASS =3D '[object Array]',=0A= DATE_CLASS =3D '[object Date]',=0A= NATIVE_JSON_STRINGIFY_SUPPORT =3D window.JSON &&=0A= typeof JSON.stringify =3D=3D=3D 'function' &&=0A= JSON.stringify(0) =3D=3D=3D '0' &&=0A= typeof JSON.stringify(Prototype.K) =3D=3D=3D 'undefined';=0A= =0A= function Type(o) {=0A= switch(o) {=0A= case null: return NULL_TYPE;=0A= case (void 0): return UNDEFINED_TYPE;=0A= }=0A= var type =3D typeof o;=0A= switch(type) {=0A= case 'boolean': return BOOLEAN_TYPE;=0A= case 'number': return NUMBER_TYPE;=0A= case 'string': return STRING_TYPE;=0A= }=0A= return OBJECT_TYPE;=0A= }=0A= =0A= function extend(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= }=0A= =0A= function inspect(object) {=0A= try {=0A= if (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= function toJSON(value) {=0A= return Str('', { '': value }, []);=0A= }=0A= =0A= function Str(key, holder, stack) {=0A= var value =3D holder[key],=0A= type =3D typeof value;=0A= =0A= if (Type(value) =3D=3D=3D OBJECT_TYPE && typeof value.toJSON = =3D=3D=3D 'function') {=0A= value =3D value.toJSON(key);=0A= }=0A= =0A= var _class =3D _toString.call(value);=0A= =0A= switch (_class) {=0A= case NUMBER_CLASS:=0A= case BOOLEAN_CLASS:=0A= case STRING_CLASS:=0A= value =3D value.valueOf();=0A= }=0A= =0A= switch (value) {=0A= case null: return 'null';=0A= case true: return 'true';=0A= case false: return 'false';=0A= }=0A= =0A= type =3D typeof value;=0A= switch (type) {=0A= case 'string':=0A= return value.inspect(true);=0A= case 'number':=0A= return isFinite(value) ? String(value) : 'null';=0A= case 'object':=0A= =0A= for (var i =3D 0, length =3D stack.length; i < length; i++) {=0A= if (stack[i] =3D=3D=3D value) { throw new TypeError(); }=0A= }=0A= stack.push(value);=0A= =0A= var partial =3D [];=0A= if (_class =3D=3D=3D ARRAY_CLASS) {=0A= for (var i =3D 0, length =3D value.length; i < length; i++) {=0A= var str =3D Str(i, value, stack);=0A= partial.push(typeof str =3D=3D=3D 'undefined' ? 'null' : = str);=0A= }=0A= partial =3D '[' + partial.join(',') + ']';=0A= } else {=0A= var keys =3D Object.keys(value);=0A= for (var i =3D 0, length =3D keys.length; i < length; i++) {=0A= var key =3D keys[i], str =3D Str(key, value, stack);=0A= if (typeof str !=3D=3D "undefined") {=0A= partial.push(key.inspect(true)+ ':' + str);=0A= }=0A= }=0A= partial =3D '{' + partial.join(',') + '}';=0A= }=0A= stack.pop();=0A= return partial;=0A= }=0A= }=0A= =0A= function stringify(object) {=0A= return JSON.stringify(object);=0A= }=0A= =0A= function toQueryString(object) {=0A= return $H(object).toQueryString();=0A= }=0A= =0A= function toHTML(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= }=0A= =0A= function keys(object) {=0A= if (Type(object) !=3D=3D OBJECT_TYPE) { throw new TypeError(); }=0A= var results =3D [];=0A= for (var property in object) {=0A= if (object.hasOwnProperty(property)) {=0A= results.push(property);=0A= }=0A= }=0A= return results;=0A= }=0A= =0A= function values(object) {=0A= var results =3D [];=0A= for (var property in object)=0A= results.push(object[property]);=0A= return results;=0A= }=0A= =0A= function clone(object) {=0A= return extend({ }, object);=0A= }=0A= =0A= function isElement(object) {=0A= return !!(object && object.nodeType =3D=3D 1);=0A= }=0A= =0A= function isArray(object) {=0A= return _toString.call(object) =3D=3D=3D ARRAY_CLASS;=0A= }=0A= =0A= var hasNativeIsArray =3D (typeof Array.isArray =3D=3D 'function')=0A= && Array.isArray([]) && !Array.isArray({});=0A= =0A= if (hasNativeIsArray) {=0A= isArray =3D Array.isArray;=0A= }=0A= =0A= function isHash(object) {=0A= return object instanceof Hash;=0A= }=0A= =0A= function isFunction(object) {=0A= return _toString.call(object) =3D=3D=3D FUNCTION_CLASS;=0A= }=0A= =0A= function isString(object) {=0A= return _toString.call(object) =3D=3D=3D STRING_CLASS;=0A= }=0A= =0A= function isNumber(object) {=0A= return _toString.call(object) =3D=3D=3D NUMBER_CLASS;=0A= }=0A= =0A= function isDate(object) {=0A= return _toString.call(object) =3D=3D=3D DATE_CLASS;=0A= }=0A= =0A= function isUndefined(object) {=0A= return typeof object =3D=3D=3D "undefined";=0A= }=0A= =0A= extend(Object, {=0A= extend: extend,=0A= inspect: inspect,=0A= toJSON: NATIVE_JSON_STRINGIFY_SUPPORT ? stringify : toJSON,=0A= toQueryString: toQueryString,=0A= toHTML: toHTML,=0A= keys: Object.keys || keys,=0A= values: values,=0A= clone: clone,=0A= isElement: isElement,=0A= isArray: isArray,=0A= isHash: isHash,=0A= isFunction: isFunction,=0A= isString: isString,=0A= isNumber: isNumber,=0A= isDate: isDate,=0A= isUndefined: isUndefined=0A= });=0A= })();=0A= Object.extend(Function.prototype, (function() {=0A= var slice =3D Array.prototype.slice;=0A= =0A= function update(array, args) {=0A= var arrayLength =3D array.length, length =3D args.length;=0A= while (length--) array[arrayLength + length] =3D args[length];=0A= return array;=0A= }=0A= =0A= function merge(array, args) {=0A= array =3D slice.call(array, 0);=0A= return update(array, args);=0A= }=0A= =0A= function argumentNames() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1]=0A= .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '')=0A= .replace(/\s+/g, '').split(',');=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= }=0A= =0A= function bind(context) {=0A= if (arguments.length < 2 && Object.isUndefined(arguments[0])) return = this;=0A= var __method =3D this, args =3D slice.call(arguments, 1);=0A= return function() {=0A= var a =3D merge(args, arguments);=0A= return __method.apply(context, a);=0A= }=0A= }=0A= =0A= function bindAsEventListener(context) {=0A= var __method =3D this, args =3D slice.call(arguments, 1);=0A= return function(event) {=0A= var a =3D update([event || window.event], args);=0A= return __method.apply(context, a);=0A= }=0A= }=0A= =0A= function curry() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D slice.call(arguments, 0);=0A= return function() {=0A= var a =3D merge(args, arguments);=0A= return __method.apply(this, a);=0A= }=0A= }=0A= =0A= function delay(timeout) {=0A= var __method =3D this, args =3D slice.call(arguments, 1);=0A= timeout =3D timeout * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= }=0A= =0A= function defer() {=0A= var args =3D update([0.01], arguments);=0A= return this.delay.apply(this, args);=0A= }=0A= =0A= function wrap(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= var a =3D update([__method.bind(this)], arguments);=0A= return wrapper.apply(this, a);=0A= }=0A= }=0A= =0A= function methodize() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= var a =3D update([this], arguments);=0A= return __method.apply(null, a);=0A= };=0A= }=0A= =0A= return {=0A= argumentNames: argumentNames,=0A= bind: bind,=0A= bindAsEventListener: bindAsEventListener,=0A= curry: curry,=0A= delay: delay,=0A= defer: defer,=0A= wrap: wrap,=0A= methodize: methodize=0A= }=0A= })());=0A= =0A= =0A= =0A= (function(proto) {=0A= =0A= =0A= function toISOString() {=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= =0A= function toJSON() {=0A= return this.toISOString();=0A= }=0A= =0A= if (!proto.toISOString) proto.toISOString =3D toISOString;=0A= if (!proto.toJSON) proto.toJSON =3D toJSON;=0A= =0A= })(Date.prototype);=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= 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= this.currentlyExecuting =3D false;=0A= } catch(e) {=0A= this.currentlyExecuting =3D false;=0A= throw e;=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, (function() {=0A= var NATIVE_JSON_PARSE_SUPPORT =3D window.JSON &&=0A= typeof JSON.parse =3D=3D=3D 'function' &&=0A= JSON.parse('{"test": true}').test;=0A= =0A= function prepareReplacement(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= function gsub(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D prepareReplacement(replacement);=0A= =0A= if (Object.isString(pattern))=0A= pattern =3D RegExp.escape(pattern);=0A= =0A= if (!(pattern.length || pattern.source)) {=0A= replacement =3D replacement('');=0A= return replacement + source.split('').join(replacement) + = replacement;=0A= }=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= function sub(pattern, replacement, count) {=0A= replacement =3D 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= function scan(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= }=0A= =0A= function truncate(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= function strip() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= }=0A= =0A= function stripTags() {=0A= return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, = '');=0A= }=0A= =0A= function stripScripts() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= }=0A= =0A= function extractScripts() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img'),=0A= 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= function evalScripts() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= }=0A= =0A= function escapeHTML() {=0A= return = this.replace(/&/g,'&').replace(//g,'>');=0A= }=0A= =0A= function unescapeHTML() {=0A= return = this.stripTags().replace(/</g,'<').replace(/>/g,'>').replace(/&= /g,'&');=0A= }=0A= =0A= =0A= function toQueryParams(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= value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A= =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= function toArray() {=0A= return this.split('');=0A= }=0A= =0A= function succ() {=0A= return this.slice(0, this.length - 1) +=0A= String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A= }=0A= =0A= function times(count) {=0A= return count < 1 ? '' : new Array(count + 1).join(this);=0A= }=0A= =0A= function camelize() {=0A= return this.replace(/-+(.)?/g, function(match, chr) {=0A= return chr ? chr.toUpperCase() : '';=0A= });=0A= }=0A= =0A= function capitalize() {=0A= return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase();=0A= }=0A= =0A= function underscore() {=0A= return this.replace(/::/g, '/')=0A= .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')=0A= .replace(/([a-z\d])([A-Z])/g, '$1_$2')=0A= .replace(/-/g, '_')=0A= .toLowerCase();=0A= }=0A= =0A= function dasherize() {=0A= return this.replace(/_/g, '-');=0A= }=0A= =0A= function inspect(useDoubleQuotes) {=0A= var escapedString =3D this.replace(/[\x00-\x1f\\]/g, = function(character) {=0A= if (character in String.specialChar) {=0A= return String.specialChar[character];=0A= }=0A= return '\\u00' + character.charCodeAt().toPaddedString(2, 16);=0A= });=0A= if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"';=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= }=0A= =0A= function unfilterJSON(filter) {=0A= return this.replace(filter || Prototype.JSONFilter, '$1');=0A= }=0A= =0A= function isJSON() {=0A= var str =3D this;=0A= if (str.blank()) return false;=0A= str =3D str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@');=0A= str =3D = str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d= +)?/g, ']');=0A= str =3D str.replace(/(?:^|:|,)(?:\s*\[)+/g, '');=0A= return (/^[\],:{}\s]*$/).test(str);=0A= }=0A= =0A= function evalJSON(sanitize) {=0A= var json =3D this.unfilterJSON(),=0A= cx =3D = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u= 2060-\u206f\ufeff\ufff0-\uffff]/g;=0A= if (cx.test(json)) {=0A= json =3D json.replace(cx, function (a) {=0A= return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);=0A= });=0A= }=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= function parseJSON() {=0A= var json =3D this.unfilterJSON();=0A= return JSON.parse(json);=0A= }=0A= =0A= function include(pattern) {=0A= return this.indexOf(pattern) > -1;=0A= }=0A= =0A= function startsWith(pattern) {=0A= return this.lastIndexOf(pattern, 0) =3D=3D=3D 0;=0A= }=0A= =0A= function endsWith(pattern) {=0A= var d =3D this.length - pattern.length;=0A= return d >=3D 0 && this.indexOf(pattern, d) =3D=3D=3D d;=0A= }=0A= =0A= function empty() {=0A= return this =3D=3D '';=0A= }=0A= =0A= function blank() {=0A= return /^\s*$/.test(this);=0A= }=0A= =0A= function interpolate(object, pattern) {=0A= return new Template(this, pattern).evaluate(object);=0A= }=0A= =0A= return {=0A= gsub: gsub,=0A= sub: sub,=0A= scan: scan,=0A= truncate: truncate,=0A= strip: String.prototype.trim || strip,=0A= stripTags: stripTags,=0A= stripScripts: stripScripts,=0A= extractScripts: extractScripts,=0A= evalScripts: evalScripts,=0A= escapeHTML: escapeHTML,=0A= unescapeHTML: unescapeHTML,=0A= toQueryParams: toQueryParams,=0A= parseQuery: toQueryParams,=0A= toArray: toArray,=0A= succ: succ,=0A= times: times,=0A= camelize: camelize,=0A= capitalize: capitalize,=0A= underscore: underscore,=0A= dasherize: dasherize,=0A= inspect: inspect,=0A= unfilterJSON: unfilterJSON,=0A= isJSON: isJSON,=0A= evalJSON: NATIVE_JSON_PARSE_SUPPORT ? parseJSON : evalJSON,=0A= include: include,=0A= startsWith: startsWith,=0A= endsWith: endsWith,=0A= empty: empty,=0A= blank: blank,=0A= interpolate: interpolate=0A= };=0A= })());=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 && 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 (match[1] + '');=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= pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A= =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].replace(/\\\\]/g, ']') : 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 (function() {=0A= function each(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= function eachSlice(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= function all(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= function any(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= function collect(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= function detect(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= function findAll(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= function grep(filter, iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(RegExp.escape(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= function include(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= function inGroupsOf(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= function inject(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= function invoke(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= function max(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= function min(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= function partition(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= function pluck(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= }=0A= =0A= function reject(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= function sortBy(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= function toArray() {=0A= return this.map();=0A= }=0A= =0A= function zip() {=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= function size() {=0A= return this.toArray().length;=0A= }=0A= =0A= function inspect() {=0A= return '#';=0A= }=0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A= return {=0A= each: each,=0A= eachSlice: eachSlice,=0A= all: all,=0A= every: all,=0A= any: any,=0A= some: any,=0A= collect: collect,=0A= map: collect,=0A= detect: detect,=0A= findAll: findAll,=0A= select: findAll,=0A= filter: findAll,=0A= grep: grep,=0A= include: include,=0A= member: include,=0A= inGroupsOf: inGroupsOf,=0A= inject: inject,=0A= invoke: invoke,=0A= max: max,=0A= min: min,=0A= partition: partition,=0A= pluck: pluck,=0A= reject: reject,=0A= sortBy: sortBy,=0A= toArray: toArray,=0A= entries: toArray,=0A= zip: zip,=0A= size: size,=0A= inspect: inspect,=0A= find: detect=0A= };=0A= })();=0A= =0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if ('toArray' in Object(iterable)) 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= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= =0A= (function() {=0A= var arrayProto =3D Array.prototype,=0A= slice =3D arrayProto.slice,=0A= _each =3D arrayProto.forEach; // use native browser JS 1.6 = implementation if available=0A= =0A= function each(iterator, context) {=0A= for (var i =3D 0, length =3D this.length >>> 0; i < length; i++) {=0A= if (i in this) iterator.call(context, this[i], i, this);=0A= }=0A= }=0A= if (!_each) _each =3D each;=0A= =0A= function clear() {=0A= this.length =3D 0;=0A= return this;=0A= }=0A= =0A= function first() {=0A= return this[0];=0A= }=0A= =0A= function last() {=0A= return this[this.length - 1];=0A= }=0A= =0A= function compact() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= }=0A= =0A= function flatten() {=0A= return this.inject([], function(array, value) {=0A= if (Object.isArray(value))=0A= return array.concat(value.flatten());=0A= array.push(value);=0A= return array;=0A= });=0A= }=0A= =0A= function without() {=0A= var values =3D slice.call(arguments, 0);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= }=0A= =0A= function reverse(inline) {=0A= return (inline =3D=3D=3D false ? this.toArray() : this)._reverse();=0A= }=0A= =0A= function uniq(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= function intersect(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { return item =3D=3D=3D value = });=0A= });=0A= }=0A= =0A= =0A= function clone() {=0A= return slice.call(this, 0);=0A= }=0A= =0A= function size() {=0A= return this.length;=0A= }=0A= =0A= function inspect() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= }=0A= =0A= function indexOf(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= function lastIndexOf(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= function concat() {=0A= var array =3D slice.call(this, 0), item;=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= item =3D arguments[i];=0A= if (Object.isArray(item) && !('callee' in item)) {=0A= for (var j =3D 0, arrayLength =3D item.length; j < arrayLength; = j++)=0A= array.push(item[j]);=0A= } else {=0A= array.push(item);=0A= }=0A= }=0A= return array;=0A= }=0A= =0A= Object.extend(arrayProto, Enumerable);=0A= =0A= if (!arrayProto._reverse)=0A= arrayProto._reverse =3D arrayProto.reverse;=0A= =0A= Object.extend(arrayProto, {=0A= _each: _each,=0A= clear: clear,=0A= first: first,=0A= last: last,=0A= compact: compact,=0A= flatten: flatten,=0A= without: without,=0A= reverse: reverse,=0A= uniq: uniq,=0A= intersect: intersect,=0A= clone: clone,=0A= toArray: clone,=0A= size: size,=0A= inspect: inspect=0A= });=0A= =0A= var CONCAT_ARGUMENTS_BUGGY =3D (function() {=0A= return [].concat(arguments)[0][0] !=3D=3D 1;=0A= })(1,2)=0A= =0A= if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat =3D concat;=0A= =0A= if (!arrayProto.indexOf) arrayProto.indexOf =3D indexOf;=0A= if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf =3D lastIndexOf;=0A= })();=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= function initialize(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= }=0A= =0A= =0A= function _each(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= }=0A= =0A= function set(key, value) {=0A= return this._object[key] =3D value;=0A= }=0A= =0A= function get(key) {=0A= if (this._object[key] !=3D=3D Object.prototype[key])=0A= return this._object[key];=0A= }=0A= =0A= function unset(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= }=0A= =0A= function toObject() {=0A= return Object.clone(this._object);=0A= }=0A= =0A= =0A= =0A= function keys() {=0A= return this.pluck('key');=0A= }=0A= =0A= function values() {=0A= return this.pluck('value');=0A= }=0A= =0A= function index(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= function merge(object) {=0A= return this.clone().update(object);=0A= }=0A= =0A= function update(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= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= function toQueryString() {=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= var queryValues =3D [];=0A= for (var i =3D 0, len =3D values.length, value; i < len; i++) {=0A= value =3D values[i];=0A= queryValues.push(toQueryPair(key, value));=0A= }=0A= return results.concat(queryValues);=0A= }=0A= } else results.push(toQueryPair(key, values));=0A= return results;=0A= }).join('&');=0A= }=0A= =0A= function inspect() {=0A= return '#';=0A= }=0A= =0A= function clone() {=0A= return new Hash(this);=0A= }=0A= =0A= return {=0A= initialize: initialize,=0A= _each: _each,=0A= set: set,=0A= get: get,=0A= unset: unset,=0A= toObject: toObject,=0A= toTemplateReplacements: toObject,=0A= keys: keys,=0A= values: values,=0A= index: index,=0A= merge: merge,=0A= update: update,=0A= toQueryString: toQueryString,=0A= inspect: inspect,=0A= toJSON: toObject,=0A= clone: clone=0A= };=0A= })());=0A= =0A= Hash.from =3D $H;=0A= Object.extend(Number.prototype, (function() {=0A= function toColorPart() {=0A= return this.toPaddedString(2, 16);=0A= }=0A= =0A= function succ() {=0A= return this + 1;=0A= }=0A= =0A= function times(iterator, context) {=0A= $R(0, this, true).each(iterator, context);=0A= return this;=0A= }=0A= =0A= function toPaddedString(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= }=0A= =0A= function abs() {=0A= return Math.abs(this);=0A= }=0A= =0A= function round() {=0A= return Math.round(this);=0A= }=0A= =0A= function ceil() {=0A= return Math.ceil(this);=0A= }=0A= =0A= function floor() {=0A= return Math.floor(this);=0A= }=0A= =0A= return {=0A= toColorPart: toColorPart,=0A= succ: succ,=0A= times: times,=0A= toPaddedString: toPaddedString,=0A= abs: abs,=0A= round: round,=0A= ceil: ceil,=0A= floor: floor=0A= };=0A= })());=0A= =0A= function $R(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= }=0A= =0A= var ObjectRange =3D Class.create(Enumerable, (function() {=0A= function initialize(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= }=0A= =0A= function _each(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= }=0A= =0A= function include(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= return {=0A= initialize: initialize,=0A= _each: _each,=0A= include: include=0A= };=0A= })());=0A= =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= 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.isHash(this.options.parameters))=0A= this.options.parameters =3D this.options.parameters.toObject();=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.isString(this.options.parameters) ?=0A= this.options.parameters :=0A= Object.toQueryString(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= params +=3D (params ? '&' : '') + "_method=3D" + this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= if (params && this.method =3D=3D=3D 'get') {=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= }=0A= =0A= this.parameters =3D params.toQueryParams();=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= 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) || status =3D=3D = 304;=0A= },=0A= =0A= getStatus: function() {=0A= try {=0A= if (this.transport.status =3D=3D=3D 1223) return 204;=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= 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= =0A= =0A= =0A= =0A= =0A= =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= =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= =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 (!Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=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= =0A= =0A= (function(global) {=0A= function shouldUseCache(tagName, attributes) {=0A= if (tagName =3D=3D=3D 'select') return false;=0A= if ('type' in attributes) return false;=0A= return true;=0A= }=0A= =0A= var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX =3D (function(){=0A= try {=0A= var el =3D document.createElement('');=0A= return el.tagName.toLowerCase() =3D=3D=3D 'input' && el.name = =3D=3D=3D 'x';=0A= }=0A= catch(err) {=0A= return false;=0A= }=0A= })();=0A= =0A= var element =3D global.Element;=0A= =0A= global.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= =0A= if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= =0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= =0A= var node =3D shouldUseCache(tagName, attributes) ?=0A= cache[tagName].cloneNode(false) : document.createElement(tagName);=0A= =0A= return Element.writeAttribute(node, attributes);=0A= };=0A= =0A= Object.extend(global.Element, element || { });=0A= if (element) global.Element.prototype =3D element.prototype;=0A= =0A= })(this);=0A= =0A= Element.idCounter =3D 1;=0A= Element.cache =3D { };=0A= =0A= Element._purgeElement =3D function(element) {=0A= var uid =3D element._prototypeUID;=0A= if (uid) {=0A= Element.stopObserving(element);=0A= element._prototypeUID =3D void 0;=0A= delete Element.Storage[uid];=0A= }=0A= }=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(){=0A= =0A= var SELECT_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A= var el =3D document.createElement("select"),=0A= isBuggy =3D true;=0A= el.innerHTML =3D "";=0A= if (el.options && el.options[0]) {=0A= isBuggy =3D el.options[0].nodeName.toUpperCase() !=3D=3D = "OPTION";=0A= }=0A= el =3D null;=0A= return isBuggy;=0A= })();=0A= =0A= var TABLE_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A= try {=0A= var el =3D document.createElement("table");=0A= if (el && el.tBodies) {=0A= el.innerHTML =3D "
test
', '
', 1],=0A= TBODY: ['', '
', 2],=0A= TR: ['', '
', 3],=0A= TD: ['
', '
', 4],=0A= SELECT: ['', 1]=0A= }=0A= };=0A= =0A= (function() {=0A= var tags =3D Element._insertionTranslations.tags;=0A= Object.extend(tags, {=0A= THEAD: tags.TBODY,=0A= TFOOT: tags.TBODY,=0A= TH: tags.TD=0A= });=0A= })();=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= (function(div) {=0A= =0A= if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) {=0A= window.HTMLElement =3D { };=0A= window.HTMLElement.prototype =3D div['__proto__'];=0A= Prototype.BrowserFeatures.ElementExtensions =3D true;=0A= }=0A= =0A= div =3D null;=0A= =0A= })(document.createElement('div'));=0A= =0A= Element.extend =3D (function() {=0A= =0A= function checkDeficiency(tagName) {=0A= if (typeof window.Element !=3D 'undefined') {=0A= var proto =3D window.Element.prototype;=0A= if (proto) {=0A= var id =3D '_' + (Math.random()+'').slice(2),=0A= el =3D document.createElement(tagName);=0A= proto[id] =3D 'x';=0A= var isBuggy =3D (el[id] !=3D=3D 'x');=0A= delete proto[id];=0A= el =3D null;=0A= return isBuggy;=0A= }=0A= }=0A= return false;=0A= }=0A= =0A= function extendElementWith(element, methods) {=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (Object.isFunction(value) && !(property in element))=0A= element[property] =3D value.methodize();=0A= }=0A= }=0A= =0A= var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY =3D checkDeficiency('object');=0A= =0A= if (Prototype.BrowserFeatures.SpecificElementExtensions) {=0A= if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) {=0A= return function(element) {=0A= if (element && typeof element._extendedByPrototype =3D=3D = 'undefined') {=0A= var t =3D element.tagName;=0A= if (t && (/^(?:object|applet|embed)$/i.test(t))) {=0A= extendElementWith(element, Element.Methods);=0A= extendElementWith(element, Element.Methods.Simulated);=0A= extendElementWith(element, = Element.Methods.ByTag[t.toUpperCase()]);=0A= }=0A= }=0A= return element;=0A= }=0A= }=0A= return Prototype.K;=0A= }=0A= =0A= var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A= =0A= var extend =3D Object.extend(function(element) {=0A= if (!element || typeof element._extendedByPrototype !=3D 'undefined' = ||=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();=0A= =0A= if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A= =0A= extendElementWith(element, methods);=0A= =0A= element._extendedByPrototype =3D Prototype.emptyFunction;=0A= return element;=0A= =0A= }, {=0A= refresh: function() {=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= if (document.documentElement.hasAttribute) {=0A= Element.hasAttribute =3D function(element, attribute) {=0A= return element.hasAttribute(attribute);=0A= };=0A= }=0A= else {=0A= Element.hasAttribute =3D Element.Methods.Simulated.hasAttribute;=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= "BUTTON": 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= var element =3D document.createElement(tagName),=0A= proto =3D element['__proto__'] || element.constructor.prototype;=0A= =0A= element =3D null;=0A= return proto;=0A= }=0A= =0A= var elementPrototype =3D window.HTMLElement ? HTMLElement.prototype :=0A= Element.prototype;=0A= =0A= if (F.ElementExtensions) {=0A= copy(Element.Methods, elementPrototype);=0A= copy(Element.Methods.Simulated, elementPrototype, 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= =0A= document.viewport =3D {=0A= =0A= getDimensions: function() {=0A= return { width: this.getWidth(), height: this.getHeight() };=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= =0A= (function(viewport) {=0A= var B =3D Prototype.Browser, doc =3D document, element, property =3D = {};=0A= =0A= function getRootElement() {=0A= if (B.WebKit && !doc.evaluate)=0A= return document;=0A= =0A= if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)=0A= return document.body;=0A= =0A= return document.documentElement;=0A= }=0A= =0A= function define(D) {=0A= if (!element) element =3D getRootElement();=0A= =0A= property[D] =3D 'client' + D;=0A= =0A= viewport['get' + D] =3D function() { return element[property[D]] };=0A= return viewport['get' + D]();=0A= }=0A= =0A= viewport.getWidth =3D define.curry('Width');=0A= =0A= viewport.getHeight =3D define.curry('Height');=0A= })(document.viewport);=0A= =0A= =0A= Element.Storage =3D {=0A= UID: 1=0A= };=0A= =0A= Element.addMethods({=0A= getStorage: function(element) {=0A= if (!(element =3D $(element))) return;=0A= =0A= var uid;=0A= if (element =3D=3D=3D window) {=0A= uid =3D 0;=0A= } else {=0A= if (typeof element._prototypeUID =3D=3D=3D "undefined")=0A= element._prototypeUID =3D Element.Storage.UID++;=0A= uid =3D element._prototypeUID;=0A= }=0A= =0A= if (!Element.Storage[uid])=0A= Element.Storage[uid] =3D $H();=0A= =0A= return Element.Storage[uid];=0A= },=0A= =0A= store: function(element, key, value) {=0A= if (!(element =3D $(element))) return;=0A= =0A= if (arguments.length =3D=3D=3D 2) {=0A= Element.getStorage(element).update(key);=0A= } else {=0A= Element.getStorage(element).set(key, value);=0A= }=0A= =0A= return element;=0A= },=0A= =0A= retrieve: function(element, key, defaultValue) {=0A= if (!(element =3D $(element))) return;=0A= var hash =3D Element.getStorage(element), value =3D hash.get(key);=0A= =0A= if (Object.isUndefined(value)) {=0A= hash.set(key, defaultValue);=0A= value =3D defaultValue;=0A= }=0A= =0A= return value;=0A= },=0A= =0A= clone: function(element, deep) {=0A= if (!(element =3D $(element))) return;=0A= var clone =3D element.cloneNode(deep);=0A= clone._prototypeUID =3D void 0;=0A= if (deep) {=0A= var descendants =3D Element.select(clone, '*'),=0A= i =3D descendants.length;=0A= while (i--) {=0A= descendants[i]._prototypeUID =3D void 0;=0A= }=0A= }=0A= return Element.extend(clone);=0A= },=0A= =0A= purge: function(element) {=0A= if (!(element =3D $(element))) return;=0A= var purgeElement =3D Element._purgeElement;=0A= =0A= purgeElement(element);=0A= =0A= var descendants =3D element.getElementsByTagName('*'),=0A= i =3D descendants.length;=0A= =0A= while (i--) purgeElement(descendants[i]);=0A= =0A= return null;=0A= }=0A= });=0A= =0A= (function() {=0A= =0A= function toDecimal(pctString) {=0A= var match =3D pctString.match(/^(\d+)%?$/i);=0A= if (!match) return null;=0A= return (Number(match[1]) / 100);=0A= }=0A= =0A= function getPixelValue(value, property, context) {=0A= var element =3D null;=0A= if (Object.isElement(value)) {=0A= element =3D value;=0A= value =3D element.getStyle(property);=0A= }=0A= =0A= if (value =3D=3D=3D null) {=0A= return null;=0A= }=0A= =0A= if ((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)) {=0A= return window.parseFloat(value);=0A= }=0A= =0A= var isPercentage =3D value.include('%'), isViewport =3D (context = =3D=3D=3D document.viewport);=0A= =0A= if (/\d/.test(value) && element && element.runtimeStyle && = !(isPercentage && isViewport)) {=0A= var style =3D element.style.left, rStyle =3D = element.runtimeStyle.left;=0A= element.runtimeStyle.left =3D element.currentStyle.left;=0A= element.style.left =3D value || 0;=0A= value =3D element.style.pixelLeft;=0A= element.style.left =3D style;=0A= element.runtimeStyle.left =3D rStyle;=0A= =0A= return value;=0A= }=0A= =0A= if (element && isPercentage) {=0A= context =3D context || element.parentNode;=0A= var decimal =3D toDecimal(value);=0A= var whole =3D null;=0A= var position =3D element.getStyle('position');=0A= =0A= var isHorizontal =3D property.include('left') || = property.include('right') ||=0A= property.include('width');=0A= =0A= var isVertical =3D property.include('top') || = property.include('bottom') ||=0A= property.include('height');=0A= =0A= if (context =3D=3D=3D document.viewport) {=0A= if (isHorizontal) {=0A= whole =3D document.viewport.getWidth();=0A= } else if (isVertical) {=0A= whole =3D document.viewport.getHeight();=0A= }=0A= } else {=0A= if (isHorizontal) {=0A= whole =3D $(context).measure('width');=0A= } else if (isVertical) {=0A= whole =3D $(context).measure('height');=0A= }=0A= }=0A= =0A= return (whole =3D=3D=3D null) ? 0 : whole * decimal;=0A= }=0A= =0A= return 0;=0A= }=0A= =0A= function toCSSPixels(number) {=0A= if (Object.isString(number) && number.endsWith('px')) {=0A= return number;=0A= }=0A= return number + 'px';=0A= }=0A= =0A= function isDisplayed(element) {=0A= var originalElement =3D element;=0A= while (element && element.parentNode) {=0A= var display =3D element.getStyle('display');=0A= if (display =3D=3D=3D 'none') {=0A= return false;=0A= }=0A= element =3D $(element.parentNode);=0A= }=0A= return true;=0A= }=0A= =0A= var hasLayout =3D Prototype.K;=0A= if ('currentStyle' in document.documentElement) {=0A= hasLayout =3D function(element) {=0A= if (!element.currentStyle.hasLayout) {=0A= element.style.zoom =3D 1;=0A= }=0A= return element;=0A= };=0A= }=0A= =0A= function cssNameFor(key) {=0A= if (key.include('border')) key =3D key + '-width';=0A= return key.camelize();=0A= }=0A= =0A= Element.Layout =3D Class.create(Hash, {=0A= initialize: function($super, element, preCompute) {=0A= $super();=0A= this.element =3D $(element);=0A= =0A= Element.Layout.PROPERTIES.each( function(property) {=0A= this._set(property, null);=0A= }, this);=0A= =0A= if (preCompute) {=0A= this._preComputing =3D true;=0A= this._begin();=0A= Element.Layout.PROPERTIES.each( this._compute, this );=0A= this._end();=0A= this._preComputing =3D false;=0A= }=0A= },=0A= =0A= _set: function(property, value) {=0A= return Hash.prototype.set.call(this, property, value);=0A= },=0A= =0A= set: function(property, value) {=0A= throw "Properties of Element.Layout are read-only.";=0A= },=0A= =0A= get: function($super, property) {=0A= var value =3D $super(property);=0A= return value =3D=3D=3D null ? this._compute(property) : value;=0A= },=0A= =0A= _begin: function() {=0A= if (this._prepared) return;=0A= =0A= var element =3D this.element;=0A= if (isDisplayed(element)) {=0A= this._prepared =3D true;=0A= return;=0A= }=0A= =0A= var originalStyles =3D {=0A= position: element.style.position || '',=0A= width: element.style.width || '',=0A= visibility: element.style.visibility || '',=0A= display: element.style.display || ''=0A= };=0A= =0A= element.store('prototype_original_styles', originalStyles);=0A= =0A= var position =3D element.getStyle('position'),=0A= width =3D element.getStyle('width');=0A= =0A= if (width =3D=3D=3D "0px" || width =3D=3D=3D null) {=0A= element.style.display =3D 'block';=0A= width =3D element.getStyle('width');=0A= }=0A= =0A= var context =3D (position =3D=3D=3D 'fixed') ? document.viewport :=0A= element.parentNode;=0A= =0A= element.setStyle({=0A= position: 'absolute',=0A= visibility: 'hidden',=0A= display: 'block'=0A= });=0A= =0A= var positionedWidth =3D element.getStyle('width');=0A= =0A= var newWidth;=0A= if (width && (positionedWidth =3D=3D=3D width)) {=0A= newWidth =3D getPixelValue(element, 'width', context);=0A= } else if (position =3D=3D=3D 'absolute' || position =3D=3D=3D = 'fixed') {=0A= newWidth =3D getPixelValue(element, 'width', context);=0A= } else {=0A= var parent =3D element.parentNode, pLayout =3D = $(parent).getLayout();=0A= =0A= newWidth =3D pLayout.get('width') -=0A= this.get('margin-left') -=0A= this.get('border-left') -=0A= this.get('padding-left') -=0A= this.get('padding-right') -=0A= this.get('border-right') -=0A= this.get('margin-right');=0A= }=0A= =0A= element.setStyle({ width: newWidth + 'px' });=0A= =0A= this._prepared =3D true;=0A= },=0A= =0A= _end: function() {=0A= var element =3D this.element;=0A= var originalStyles =3D = element.retrieve('prototype_original_styles');=0A= element.store('prototype_original_styles', null);=0A= element.setStyle(originalStyles);=0A= this._prepared =3D false;=0A= },=0A= =0A= _compute: function(property) {=0A= var COMPUTATIONS =3D Element.Layout.COMPUTATIONS;=0A= if (!(property in COMPUTATIONS)) {=0A= throw "Property not found.";=0A= }=0A= =0A= return this._set(property, COMPUTATIONS[property].call(this, = this.element));=0A= },=0A= =0A= toObject: function() {=0A= var args =3D $A(arguments);=0A= var keys =3D (args.length =3D=3D=3D 0) ? Element.Layout.PROPERTIES = :=0A= args.join(' ').split(' ');=0A= var obj =3D {};=0A= keys.each( function(key) {=0A= if (!Element.Layout.PROPERTIES.include(key)) return;=0A= var value =3D this.get(key);=0A= if (value !=3D null) obj[key] =3D value;=0A= }, this);=0A= return obj;=0A= },=0A= =0A= toHash: function() {=0A= var obj =3D this.toObject.apply(this, arguments);=0A= return new Hash(obj);=0A= },=0A= =0A= toCSS: function() {=0A= var args =3D $A(arguments);=0A= var keys =3D (args.length =3D=3D=3D 0) ? Element.Layout.PROPERTIES = :=0A= args.join(' ').split(' ');=0A= var css =3D {};=0A= =0A= keys.each( function(key) {=0A= if (!Element.Layout.PROPERTIES.include(key)) return;=0A= if (Element.Layout.COMPOSITE_PROPERTIES.include(key)) return;=0A= =0A= var value =3D this.get(key);=0A= if (value !=3D null) css[cssNameFor(key)] =3D value + 'px';=0A= }, this);=0A= return css;=0A= },=0A= =0A= inspect: function() {=0A= return "#";=0A= }=0A= });=0A= =0A= Object.extend(Element.Layout, {=0A= PROPERTIES: $w('height width top left right bottom border-left = border-right border-top border-bottom padding-left padding-right = padding-top padding-bottom margin-top margin-bottom margin-left = margin-right padding-box-width padding-box-height border-box-width = border-box-height margin-box-width margin-box-height'),=0A= =0A= COMPOSITE_PROPERTIES: $w('padding-box-width padding-box-height = margin-box-width margin-box-height border-box-width border-box-height'),=0A= =0A= COMPUTATIONS: {=0A= 'height': function(element) {=0A= if (!this._preComputing) this._begin();=0A= =0A= var bHeight =3D this.get('border-box-height');=0A= if (bHeight <=3D 0) {=0A= if (!this._preComputing) this._end();=0A= return 0;=0A= }=0A= =0A= var bTop =3D this.get('border-top'),=0A= bBottom =3D this.get('border-bottom');=0A= =0A= var pTop =3D this.get('padding-top'),=0A= pBottom =3D this.get('padding-bottom');=0A= =0A= if (!this._preComputing) this._end();=0A= =0A= return bHeight - bTop - bBottom - pTop - pBottom;=0A= },=0A= =0A= 'width': function(element) {=0A= if (!this._preComputing) this._begin();=0A= =0A= var bWidth =3D this.get('border-box-width');=0A= if (bWidth <=3D 0) {=0A= if (!this._preComputing) this._end();=0A= return 0;=0A= }=0A= =0A= var bLeft =3D this.get('border-left'),=0A= bRight =3D this.get('border-right');=0A= =0A= var pLeft =3D this.get('padding-left'),=0A= pRight =3D this.get('padding-right');=0A= =0A= if (!this._preComputing) this._end();=0A= =0A= return bWidth - bLeft - bRight - pLeft - pRight;=0A= },=0A= =0A= 'padding-box-height': function(element) {=0A= var height =3D this.get('height'),=0A= pTop =3D this.get('padding-top'),=0A= pBottom =3D this.get('padding-bottom');=0A= =0A= return height + pTop + pBottom;=0A= },=0A= =0A= 'padding-box-width': function(element) {=0A= var width =3D this.get('width'),=0A= pLeft =3D this.get('padding-left'),=0A= pRight =3D this.get('padding-right');=0A= =0A= return width + pLeft + pRight;=0A= },=0A= =0A= 'border-box-height': function(element) {=0A= if (!this._preComputing) this._begin();=0A= var height =3D element.offsetHeight;=0A= if (!this._preComputing) this._end();=0A= return height;=0A= },=0A= =0A= 'border-box-width': function(element) {=0A= if (!this._preComputing) this._begin();=0A= var width =3D element.offsetWidth;=0A= if (!this._preComputing) this._end();=0A= return width;=0A= },=0A= =0A= 'margin-box-height': function(element) {=0A= var bHeight =3D this.get('border-box-height'),=0A= mTop =3D this.get('margin-top'),=0A= mBottom =3D this.get('margin-bottom');=0A= =0A= if (bHeight <=3D 0) return 0;=0A= =0A= return bHeight + mTop + mBottom;=0A= },=0A= =0A= 'margin-box-width': function(element) {=0A= var bWidth =3D this.get('border-box-width'),=0A= mLeft =3D this.get('margin-left'),=0A= mRight =3D this.get('margin-right');=0A= =0A= if (bWidth <=3D 0) return 0;=0A= =0A= return bWidth + mLeft + mRight;=0A= },=0A= =0A= 'top': function(element) {=0A= var offset =3D element.positionedOffset();=0A= return offset.top;=0A= },=0A= =0A= 'bottom': function(element) {=0A= var offset =3D element.positionedOffset(),=0A= parent =3D element.getOffsetParent(),=0A= pHeight =3D parent.measure('height');=0A= =0A= var mHeight =3D this.get('border-box-height');=0A= =0A= return pHeight - mHeight - offset.top;=0A= },=0A= =0A= 'left': function(element) {=0A= var offset =3D element.positionedOffset();=0A= return offset.left;=0A= },=0A= =0A= 'right': function(element) {=0A= var offset =3D element.positionedOffset(),=0A= parent =3D element.getOffsetParent(),=0A= pWidth =3D parent.measure('width');=0A= =0A= var mWidth =3D this.get('border-box-width');=0A= =0A= return pWidth - mWidth - offset.left;=0A= },=0A= =0A= 'padding-top': function(element) {=0A= return getPixelValue(element, 'paddingTop');=0A= },=0A= =0A= 'padding-bottom': function(element) {=0A= return getPixelValue(element, 'paddingBottom');=0A= },=0A= =0A= 'padding-left': function(element) {=0A= return getPixelValue(element, 'paddingLeft');=0A= },=0A= =0A= 'padding-right': function(element) {=0A= return getPixelValue(element, 'paddingRight');=0A= },=0A= =0A= 'border-top': function(element) {=0A= return getPixelValue(element, 'borderTopWidth');=0A= },=0A= =0A= 'border-bottom': function(element) {=0A= return getPixelValue(element, 'borderBottomWidth');=0A= },=0A= =0A= 'border-left': function(element) {=0A= return getPixelValue(element, 'borderLeftWidth');=0A= },=0A= =0A= 'border-right': function(element) {=0A= return getPixelValue(element, 'borderRightWidth');=0A= },=0A= =0A= 'margin-top': function(element) {=0A= return getPixelValue(element, 'marginTop');=0A= },=0A= =0A= 'margin-bottom': function(element) {=0A= return getPixelValue(element, 'marginBottom');=0A= },=0A= =0A= 'margin-left': function(element) {=0A= return getPixelValue(element, 'marginLeft');=0A= },=0A= =0A= 'margin-right': function(element) {=0A= return getPixelValue(element, 'marginRight');=0A= }=0A= }=0A= });=0A= =0A= if ('getBoundingClientRect' in document.documentElement) {=0A= Object.extend(Element.Layout.COMPUTATIONS, {=0A= 'right': function(element) {=0A= var parent =3D hasLayout(element.getOffsetParent());=0A= var rect =3D element.getBoundingClientRect(),=0A= pRect =3D parent.getBoundingClientRect();=0A= =0A= return (pRect.right - rect.right).round();=0A= },=0A= =0A= 'bottom': function(element) {=0A= var parent =3D hasLayout(element.getOffsetParent());=0A= var rect =3D element.getBoundingClientRect(),=0A= pRect =3D parent.getBoundingClientRect();=0A= =0A= return (pRect.bottom - rect.bottom).round();=0A= }=0A= });=0A= }=0A= =0A= Element.Offset =3D Class.create({=0A= initialize: function(left, top) {=0A= this.left =3D left.round();=0A= this.top =3D top.round();=0A= =0A= this[0] =3D this.left;=0A= this[1] =3D this.top;=0A= },=0A= =0A= relativeTo: function(offset) {=0A= return new Element.Offset(=0A= this.left - offset.left,=0A= this.top - offset.top=0A= );=0A= },=0A= =0A= inspect: function() {=0A= return "#".interpolate(this);=0A= },=0A= =0A= toString: function() {=0A= return "[#{left}, #{top}]".interpolate(this);=0A= },=0A= =0A= toArray: function() {=0A= return [this.left, this.top];=0A= }=0A= });=0A= =0A= function getLayout(element, preCompute) {=0A= return new Element.Layout(element, preCompute);=0A= }=0A= =0A= function measure(element, property) {=0A= return $(element).getLayout().get(property);=0A= }=0A= =0A= function getDimensions(element) {=0A= element =3D $(element);=0A= var display =3D Element.getStyle(element, 'display');=0A= =0A= if (display && display !=3D=3D 'none') {=0A= return { width: element.offsetWidth, height: element.offsetHeight = };=0A= }=0A= =0A= var style =3D element.style;=0A= var originalStyles =3D {=0A= visibility: style.visibility,=0A= position: style.position,=0A= display: style.display=0A= };=0A= =0A= var newStyles =3D {=0A= visibility: 'hidden',=0A= display: 'block'=0A= };=0A= =0A= if (originalStyles.position !=3D=3D 'fixed')=0A= newStyles.position =3D 'absolute';=0A= =0A= Element.setStyle(element, newStyles);=0A= =0A= var dimensions =3D {=0A= width: element.offsetWidth,=0A= height: element.offsetHeight=0A= };=0A= =0A= Element.setStyle(element, originalStyles);=0A= =0A= return dimensions;=0A= }=0A= =0A= function getOffsetParent(element) {=0A= element =3D $(element);=0A= =0A= if (isDocument(element) || isDetached(element) || isBody(element) || = isHtml(element))=0A= return $(document.body);=0A= =0A= var isInline =3D (Element.getStyle(element, 'display') =3D=3D=3D = 'inline');=0A= if (!isInline && element.offsetParent) return = $(element.offsetParent);=0A= =0A= while ((element =3D element.parentNode) && element !=3D=3D = document.body) {=0A= if (Element.getStyle(element, 'position') !=3D=3D 'static') {=0A= return isHtml(element) ? $(document.body) : $(element);=0A= }=0A= }=0A= =0A= return $(document.body);=0A= }=0A= =0A= =0A= function cumulativeOffset(element) {=0A= element =3D $(element);=0A= var valueT =3D 0, valueL =3D 0;=0A= if (element.parentNode) {=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= }=0A= return new Element.Offset(valueL, valueT);=0A= }=0A= =0A= function positionedOffset(element) {=0A= element =3D $(element);=0A= =0A= var layout =3D element.getLayout();=0A= =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 (isBody(element)) break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p !=3D=3D 'static') break;=0A= }=0A= } while (element);=0A= =0A= valueL -=3D layout.get('margin-top');=0A= valueT -=3D layout.get('margin-left');=0A= =0A= return new Element.Offset(valueL, valueT);=0A= }=0A= =0A= function cumulativeScrollOffset(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 new Element.Offset(valueL, valueT);=0A= }=0A= =0A= function viewportOffset(forElement) {=0A= element =3D $(element);=0A= var valueT =3D 0, valueL =3D 0, docBody =3D document.body;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D docBody &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (element !=3D docBody) {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= return new Element.Offset(valueL, valueT);=0A= }=0A= =0A= function absolutize(element) {=0A= element =3D $(element);=0A= =0A= if (Element.getStyle(element, 'position') =3D=3D=3D 'absolute') {=0A= return element;=0A= }=0A= =0A= var offsetParent =3D getOffsetParent(element);=0A= var eOffset =3D element.viewportOffset(),=0A= pOffset =3D offsetParent.viewportOffset();=0A= =0A= var offset =3D eOffset.relativeTo(pOffset);=0A= var layout =3D element.getLayout();=0A= =0A= element.store('prototype_absolutize_original_styles', {=0A= left: element.getStyle('left'),=0A= top: element.getStyle('top'),=0A= width: element.getStyle('width'),=0A= height: element.getStyle('height')=0A= });=0A= =0A= element.setStyle({=0A= position: 'absolute',=0A= top: offset.top + 'px',=0A= left: offset.left + 'px',=0A= width: layout.get('width') + 'px',=0A= height: layout.get('height') + 'px'=0A= });=0A= =0A= return element;=0A= }=0A= =0A= function relativize(element) {=0A= element =3D $(element);=0A= if (Element.getStyle(element, 'position') =3D=3D=3D 'relative') {=0A= return element;=0A= }=0A= =0A= var originalStyles =3D=0A= element.retrieve('prototype_absolutize_original_styles');=0A= =0A= if (originalStyles) element.setStyle(originalStyles);=0A= return element;=0A= }=0A= =0A= if (Prototype.Browser.IE) {=0A= getOffsetParent =3D getOffsetParent.wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= =0A= if (isDocument(element) || isDetached(element) || = isBody(element) || isHtml(element))=0A= return $(document.body);=0A= =0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= =0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= =0A= positionedOffset =3D positionedOffset.wrap(function(proceed, = element) {=0A= element =3D $(element);=0A= if (!element.parentNode) return new Element.Offset(0, 0);=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= =0A= var offsetParent =3D element.getOffsetParent();=0A= if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D = 'fixed')=0A= hasLayout(offsetParent);=0A= =0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= });=0A= } else if (Prototype.Browser.Webkit) {=0A= cumulativeOffset =3D function(element) {=0A= element =3D $(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 new Element.Offset(valueL, valueT);=0A= };=0A= }=0A= =0A= =0A= Element.addMethods({=0A= getLayout: getLayout,=0A= measure: measure,=0A= getDimensions: getDimensions,=0A= getOffsetParent: getOffsetParent,=0A= cumulativeOffset: cumulativeOffset,=0A= positionedOffset: positionedOffset,=0A= cumulativeScrollOffset: cumulativeScrollOffset,=0A= viewportOffset: viewportOffset,=0A= absolutize: absolutize,=0A= relativize: relativize=0A= });=0A= =0A= function isBody(element) {=0A= return element.nodeName.toUpperCase() =3D=3D=3D 'BODY';=0A= }=0A= =0A= function isHtml(element) {=0A= return element.nodeName.toUpperCase() =3D=3D=3D 'HTML';=0A= }=0A= =0A= function isDocument(element) {=0A= return element.nodeType =3D=3D=3D Node.DOCUMENT_NODE;=0A= }=0A= =0A= function isDetached(element) {=0A= return element !=3D=3D document.body &&=0A= !Element.descendantOf(element, document.body);=0A= }=0A= =0A= if ('getBoundingClientRect' in document.documentElement) {=0A= Element.addMethods({=0A= viewportOffset: function(element) {=0A= element =3D $(element);=0A= if (isDetached(element)) return new Element.Offset(0, 0);=0A= =0A= var rect =3D element.getBoundingClientRect(),=0A= docEl =3D document.documentElement;=0A= return new Element.Offset(rect.left - docEl.clientLeft,=0A= rect.top - docEl.clientTop);=0A= }=0A= });=0A= }=0A= })();=0A= window.$$ =3D function() {=0A= var expression =3D $A(arguments).join(', ');=0A= return Prototype.Selector.select(expression, document);=0A= };=0A= =0A= Prototype.Selector =3D (function() {=0A= =0A= function select() {=0A= throw new Error('Method "Prototype.Selector.select" must be = defined.');=0A= }=0A= =0A= function match() {=0A= throw new Error('Method "Prototype.Selector.match" must be = defined.');=0A= }=0A= =0A= function find(elements, expression, index) {=0A= index =3D index || 0;=0A= var match =3D Prototype.Selector.match, length =3D elements.length, = matchIndex =3D 0, i;=0A= =0A= for (i =3D 0; i < length; i++) {=0A= if (match(elements[i], expression) && index =3D=3D matchIndex++) {=0A= return Element.extend(elements[i]);=0A= }=0A= }=0A= }=0A= =0A= function extendElements(elements) {=0A= for (var i =3D 0, length =3D elements.length; i < length; i++) {=0A= Element.extend(elements[i]);=0A= }=0A= return elements;=0A= }=0A= =0A= =0A= var K =3D Prototype.K;=0A= =0A= return {=0A= select: select,=0A= match: match,=0A= find: find,=0A= extendElements: (Element.extend =3D=3D=3D K) ? K : extendElements,=0A= extendElement: Element.extend=0A= };=0A= })();=0A= Prototype._original_property =3D window.Sizzle;=0A= /*!=0A= * Sizzle CSS Selector Engine - v1.0=0A= * Copyright 2009, The Dojo Foundation=0A= * Released under the MIT, BSD, and GPL Licenses.=0A= * More information: http://sizzlejs.com/=0A= */=0A= (function(){=0A= =0A= var chunker =3D = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+= )+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,=0A= done =3D 0,=0A= toString =3D Object.prototype.toString,=0A= hasDuplicate =3D false,=0A= baseHasDuplicate =3D true;=0A= =0A= [0, 0].sort(function(){=0A= baseHasDuplicate =3D false;=0A= return 0;=0A= });=0A= =0A= var Sizzle =3D function(selector, context, results, seed) {=0A= results =3D results || [];=0A= var origContext =3D context =3D context || document;=0A= =0A= if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 ) {=0A= return [];=0A= }=0A= =0A= if ( !selector || typeof selector !=3D=3D "string" ) {=0A= return results;=0A= }=0A= =0A= var parts =3D [], m, set, checkSet, check, mode, extra, prune =3D true, = contextXML =3D isXML(context),=0A= soFar =3D selector;=0A= =0A= while ( (chunker.exec(""), m =3D chunker.exec(soFar)) !=3D=3D null ) {=0A= soFar =3D m[3];=0A= =0A= parts.push( m[1] );=0A= =0A= if ( m[2] ) {=0A= extra =3D m[3];=0A= break;=0A= }=0A= }=0A= =0A= if ( parts.length > 1 && origPOS.exec( selector ) ) {=0A= if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {=0A= set =3D posProcess( parts[0] + parts[1], context );=0A= } else {=0A= set =3D Expr.relative[ parts[0] ] ?=0A= [ context ] :=0A= Sizzle( parts.shift(), context );=0A= =0A= while ( parts.length ) {=0A= selector =3D parts.shift();=0A= =0A= if ( Expr.relative[ selector ] )=0A= selector +=3D parts.shift();=0A= =0A= set =3D posProcess( selector, set );=0A= }=0A= }=0A= } else {=0A= if ( !seed && parts.length > 1 && context.nodeType =3D=3D=3D 9 && = !contextXML &&=0A= Expr.match.ID.test(parts[0]) && = !Expr.match.ID.test(parts[parts.length - 1]) ) {=0A= var ret =3D Sizzle.find( parts.shift(), context, contextXML );=0A= context =3D ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : = ret.set[0];=0A= }=0A= =0A= if ( context ) {=0A= var ret =3D seed ?=0A= { expr: parts.pop(), set: makeArray(seed) } :=0A= Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && (parts[0] = =3D=3D=3D "~" || parts[0] =3D=3D=3D "+") && context.parentNode ? = context.parentNode : context, contextXML );=0A= set =3D ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;=0A= =0A= if ( parts.length > 0 ) {=0A= checkSet =3D makeArray(set);=0A= } else {=0A= prune =3D false;=0A= }=0A= =0A= while ( parts.length ) {=0A= var cur =3D parts.pop(), pop =3D cur;=0A= =0A= if ( !Expr.relative[ cur ] ) {=0A= cur =3D "";=0A= } else {=0A= pop =3D parts.pop();=0A= }=0A= =0A= if ( pop =3D=3D null ) {=0A= pop =3D context;=0A= }=0A= =0A= Expr.relative[ cur ]( checkSet, pop, contextXML );=0A= }=0A= } else {=0A= checkSet =3D parts =3D [];=0A= }=0A= }=0A= =0A= if ( !checkSet ) {=0A= checkSet =3D set;=0A= }=0A= =0A= if ( !checkSet ) {=0A= throw "Syntax error, unrecognized expression: " + (cur || selector);=0A= }=0A= =0A= if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {=0A= if ( !prune ) {=0A= results.push.apply( results, checkSet );=0A= } else if ( context && context.nodeType =3D=3D=3D 1 ) {=0A= for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A= if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || = checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {=0A= results.push( set[i] );=0A= }=0A= }=0A= } else {=0A= for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A= if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {=0A= results.push( set[i] );=0A= }=0A= }=0A= }=0A= } else {=0A= makeArray( checkSet, results );=0A= }=0A= =0A= if ( extra ) {=0A= Sizzle( extra, origContext, results, seed );=0A= Sizzle.uniqueSort( results );=0A= }=0A= =0A= return results;=0A= };=0A= =0A= Sizzle.uniqueSort =3D function(results){=0A= if ( sortOrder ) {=0A= hasDuplicate =3D baseHasDuplicate;=0A= results.sort(sortOrder);=0A= =0A= if ( hasDuplicate ) {=0A= for ( var i =3D 1; i < results.length; i++ ) {=0A= if ( results[i] =3D=3D=3D results[i-1] ) {=0A= results.splice(i--, 1);=0A= }=0A= }=0A= }=0A= }=0A= =0A= return results;=0A= };=0A= =0A= Sizzle.matches =3D function(expr, set){=0A= return Sizzle(expr, null, null, set);=0A= };=0A= =0A= Sizzle.find =3D function(expr, context, isXML){=0A= var set, match;=0A= =0A= if ( !expr ) {=0A= return [];=0A= }=0A= =0A= for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {=0A= var type =3D Expr.order[i], match;=0A= =0A= if ( (match =3D Expr.leftMatch[ type ].exec( expr )) ) {=0A= var left =3D match[1];=0A= match.splice(1,1);=0A= =0A= if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {=0A= match[1] =3D (match[1] || "").replace(/\\/g, "");=0A= set =3D Expr.find[ type ]( match, context, isXML );=0A= if ( set !=3D null ) {=0A= expr =3D expr.replace( Expr.match[ type ], "" );=0A= break;=0A= }=0A= }=0A= }=0A= }=0A= =0A= if ( !set ) {=0A= set =3D context.getElementsByTagName("*");=0A= }=0A= =0A= return {set: set, expr: expr};=0A= };=0A= =0A= Sizzle.filter =3D function(expr, set, inplace, not){=0A= var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,=0A= isXMLFilter =3D set && set[0] && isXML(set[0]);=0A= =0A= while ( expr && set.length ) {=0A= for ( var type in Expr.filter ) {=0A= if ( (match =3D Expr.match[ type ].exec( expr )) !=3D null ) {=0A= var filter =3D Expr.filter[ type ], found, item;=0A= anyFound =3D false;=0A= =0A= if ( curLoop =3D=3D result ) {=0A= result =3D [];=0A= }=0A= =0A= if ( Expr.preFilter[ type ] ) {=0A= match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, = not, isXMLFilter );=0A= =0A= if ( !match ) {=0A= anyFound =3D found =3D true;=0A= } else if ( match =3D=3D=3D true ) {=0A= continue;=0A= }=0A= }=0A= =0A= if ( match ) {=0A= for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {=0A= if ( item ) {=0A= found =3D filter( item, match, i, curLoop );=0A= var pass =3D not ^ !!found;=0A= =0A= if ( inplace && found !=3D null ) {=0A= if ( pass ) {=0A= anyFound =3D true;=0A= } else {=0A= curLoop[i] =3D false;=0A= }=0A= } else if ( pass ) {=0A= result.push( item );=0A= anyFound =3D true;=0A= }=0A= }=0A= }=0A= }=0A= =0A= if ( found !=3D=3D undefined ) {=0A= if ( !inplace ) {=0A= curLoop =3D result;=0A= }=0A= =0A= expr =3D expr.replace( Expr.match[ type ], "" );=0A= =0A= if ( !anyFound ) {=0A= return [];=0A= }=0A= =0A= break;=0A= }=0A= }=0A= }=0A= =0A= if ( expr =3D=3D old ) {=0A= if ( anyFound =3D=3D null ) {=0A= throw "Syntax error, unrecognized expression: " + expr;=0A= } else {=0A= break;=0A= }=0A= }=0A= =0A= old =3D expr;=0A= }=0A= =0A= return curLoop;=0A= };=0A= =0A= var Expr =3D Sizzle.selectors =3D {=0A= order: [ "ID", "NAME", "TAG" ],=0A= match: {=0A= ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A= CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A= NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,=0A= ATTR: = /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]= /,=0A= TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,=0A= CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,=0A= POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,=0A= PSEUDO: = /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2= \))?/=0A= },=0A= leftMatch: {},=0A= attrMap: {=0A= "class": "className",=0A= "for": "htmlFor"=0A= },=0A= attrHandle: {=0A= href: function(elem){=0A= return elem.getAttribute("href");=0A= }=0A= },=0A= relative: {=0A= "+": function(checkSet, part, isXML){=0A= var isPartStr =3D typeof part =3D=3D=3D "string",=0A= isTag =3D isPartStr && !/\W/.test(part),=0A= isPartStrNotTag =3D isPartStr && !isTag;=0A= =0A= if ( isTag && !isXML ) {=0A= part =3D part.toUpperCase();=0A= }=0A= =0A= for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {=0A= if ( (elem =3D checkSet[i]) ) {=0A= while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 = ) {}=0A= =0A= checkSet[i] =3D isPartStrNotTag || elem && elem.nodeName =3D=3D=3D = part ?=0A= elem || false :=0A= elem =3D=3D=3D part;=0A= }=0A= }=0A= =0A= if ( isPartStrNotTag ) {=0A= Sizzle.filter( part, checkSet, true );=0A= }=0A= },=0A= ">": function(checkSet, part, isXML){=0A= var isPartStr =3D typeof part =3D=3D=3D "string";=0A= =0A= if ( isPartStr && !/\W/.test(part) ) {=0A= part =3D isXML ? part : part.toUpperCase();=0A= =0A= for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A= var elem =3D checkSet[i];=0A= if ( elem ) {=0A= var parent =3D elem.parentNode;=0A= checkSet[i] =3D parent.nodeName =3D=3D=3D part ? parent : false;=0A= }=0A= }=0A= } else {=0A= for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A= var elem =3D checkSet[i];=0A= if ( elem ) {=0A= checkSet[i] =3D isPartStr ?=0A= elem.parentNode :=0A= elem.parentNode =3D=3D=3D part;=0A= }=0A= }=0A= =0A= if ( isPartStr ) {=0A= Sizzle.filter( part, checkSet, true );=0A= }=0A= }=0A= },=0A= "": function(checkSet, part, isXML){=0A= var doneName =3D done++, checkFn =3D dirCheck;=0A= =0A= if ( !/\W/.test(part) ) {=0A= var nodeCheck =3D part =3D isXML ? part : part.toUpperCase();=0A= checkFn =3D dirNodeCheck;=0A= }=0A= =0A= checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);=0A= },=0A= "~": function(checkSet, part, isXML){=0A= var doneName =3D done++, checkFn =3D dirCheck;=0A= =0A= if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A= var nodeCheck =3D part =3D isXML ? part : part.toUpperCase();=0A= checkFn =3D dirNodeCheck;=0A= }=0A= =0A= checkFn("previousSibling", part, doneName, checkSet, nodeCheck, = isXML);=0A= }=0A= },=0A= find: {=0A= ID: function(match, context, isXML){=0A= if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A= var m =3D context.getElementById(match[1]);=0A= return m ? [m] : [];=0A= }=0A= },=0A= NAME: function(match, context, isXML){=0A= if ( typeof context.getElementsByName !=3D=3D "undefined" ) {=0A= var ret =3D [], results =3D context.getElementsByName(match[1]);=0A= =0A= for ( var i =3D 0, l =3D results.length; i < l; i++ ) {=0A= if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {=0A= ret.push( results[i] );=0A= }=0A= }=0A= =0A= return ret.length =3D=3D=3D 0 ? null : ret;=0A= }=0A= },=0A= TAG: function(match, context){=0A= return context.getElementsByTagName(match[1]);=0A= }=0A= },=0A= preFilter: {=0A= CLASS: function(match, curLoop, inplace, result, not, isXML){=0A= match =3D " " + match[1].replace(/\\/g, "") + " ";=0A= =0A= if ( isXML ) {=0A= return match;=0A= }=0A= =0A= for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {=0A= if ( elem ) {=0A= if ( not ^ (elem.className && (" " + elem.className + " = ").indexOf(match) >=3D 0) ) {=0A= if ( !inplace )=0A= result.push( elem );=0A= } else if ( inplace ) {=0A= curLoop[i] =3D false;=0A= }=0A= }=0A= }=0A= =0A= return false;=0A= },=0A= ID: function(match){=0A= return match[1].replace(/\\/g, "");=0A= },=0A= TAG: function(match, curLoop){=0A= for ( var i =3D 0; curLoop[i] =3D=3D=3D false; i++ ){}=0A= return curLoop[i] && isXML(curLoop[i]) ? match[1] : = match[1].toUpperCase();=0A= },=0A= CHILD: function(match){=0A= if ( match[1] =3D=3D "nth" ) {=0A= var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A= match[2] =3D=3D "even" && "2n" || match[2] =3D=3D "odd" && "2n+1" ||=0A= !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);=0A= =0A= match[2] =3D (test[1] + (test[2] || 1)) - 0;=0A= match[3] =3D test[3] - 0;=0A= }=0A= =0A= match[0] =3D done++;=0A= =0A= return match;=0A= },=0A= ATTR: function(match, curLoop, inplace, result, not, isXML){=0A= var name =3D match[1].replace(/\\/g, "");=0A= =0A= if ( !isXML && Expr.attrMap[name] ) {=0A= match[1] =3D Expr.attrMap[name];=0A= }=0A= =0A= if ( match[2] =3D=3D=3D "~=3D" ) {=0A= match[4] =3D " " + match[4] + " ";=0A= }=0A= =0A= return match;=0A= },=0A= PSEUDO: function(match, curLoop, inplace, result, not){=0A= if ( match[1] =3D=3D=3D "not" ) {=0A= if ( ( chunker.exec(match[3]) || "" ).length > 1 || = /^\w/.test(match[3]) ) {=0A= match[3] =3D Sizzle(match[3], null, null, curLoop);=0A= } else {=0A= var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);=0A= if ( !inplace ) {=0A= result.push.apply( result, ret );=0A= }=0A= return false;=0A= }=0A= } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( = match[0] ) ) {=0A= return true;=0A= }=0A= =0A= return match;=0A= },=0A= POS: function(match){=0A= match.unshift( true );=0A= return match;=0A= }=0A= },=0A= filters: {=0A= enabled: function(elem){=0A= return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";=0A= },=0A= disabled: function(elem){=0A= return elem.disabled =3D=3D=3D true;=0A= },=0A= checked: function(elem){=0A= return elem.checked =3D=3D=3D true;=0A= },=0A= selected: function(elem){=0A= elem.parentNode.selectedIndex;=0A= return elem.selected =3D=3D=3D true;=0A= },=0A= parent: function(elem){=0A= return !!elem.firstChild;=0A= },=0A= empty: function(elem){=0A= return !elem.firstChild;=0A= },=0A= has: function(elem, i, match){=0A= return !!Sizzle( match[3], elem ).length;=0A= },=0A= header: function(elem){=0A= return /h\d/i.test( elem.nodeName );=0A= },=0A= text: function(elem){=0A= return "text" =3D=3D=3D elem.type;=0A= },=0A= radio: function(elem){=0A= return "radio" =3D=3D=3D elem.type;=0A= },=0A= checkbox: function(elem){=0A= return "checkbox" =3D=3D=3D elem.type;=0A= },=0A= file: function(elem){=0A= return "file" =3D=3D=3D elem.type;=0A= },=0A= password: function(elem){=0A= return "password" =3D=3D=3D elem.type;=0A= },=0A= submit: function(elem){=0A= return "submit" =3D=3D=3D elem.type;=0A= },=0A= image: function(elem){=0A= return "image" =3D=3D=3D elem.type;=0A= },=0A= reset: function(elem){=0A= return "reset" =3D=3D=3D elem.type;=0A= },=0A= button: function(elem){=0A= return "button" =3D=3D=3D elem.type || elem.nodeName.toUpperCase() = =3D=3D=3D "BUTTON";=0A= },=0A= input: function(elem){=0A= return /input|select|textarea|button/i.test(elem.nodeName);=0A= }=0A= },=0A= setFilters: {=0A= first: function(elem, i){=0A= return i =3D=3D=3D 0;=0A= },=0A= last: function(elem, i, match, array){=0A= return i =3D=3D=3D array.length - 1;=0A= },=0A= even: function(elem, i){=0A= return i % 2 =3D=3D=3D 0;=0A= },=0A= odd: function(elem, i){=0A= return i % 2 =3D=3D=3D 1;=0A= },=0A= lt: function(elem, i, match){=0A= return i < match[3] - 0;=0A= },=0A= gt: function(elem, i, match){=0A= return i > match[3] - 0;=0A= },=0A= nth: function(elem, i, match){=0A= return match[3] - 0 =3D=3D i;=0A= },=0A= eq: function(elem, i, match){=0A= return match[3] - 0 =3D=3D i;=0A= }=0A= },=0A= filter: {=0A= PSEUDO: function(elem, match, i, array){=0A= var name =3D match[1], filter =3D Expr.filters[ name ];=0A= =0A= if ( filter ) {=0A= return filter( elem, i, match, array );=0A= } else if ( name =3D=3D=3D "contains" ) {=0A= return (elem.textContent || elem.innerText || "").indexOf(match[3]) = >=3D 0;=0A= } else if ( name =3D=3D=3D "not" ) {=0A= var not =3D match[3];=0A= =0A= for ( var i =3D 0, l =3D not.length; i < l; i++ ) {=0A= if ( not[i] =3D=3D=3D elem ) {=0A= return false;=0A= }=0A= }=0A= =0A= return true;=0A= }=0A= },=0A= CHILD: function(elem, match){=0A= var type =3D match[1], node =3D elem;=0A= switch (type) {=0A= case 'only':=0A= case 'first':=0A= while ( (node =3D node.previousSibling) ) {=0A= if ( node.nodeType =3D=3D=3D 1 ) return false;=0A= }=0A= if ( type =3D=3D 'first') return true;=0A= node =3D elem;=0A= case 'last':=0A= while ( (node =3D node.nextSibling) ) {=0A= if ( node.nodeType =3D=3D=3D 1 ) return false;=0A= }=0A= return true;=0A= case 'nth':=0A= var first =3D match[2], last =3D match[3];=0A= =0A= if ( first =3D=3D 1 && last =3D=3D 0 ) {=0A= return true;=0A= }=0A= =0A= var doneName =3D match[0],=0A= parent =3D elem.parentNode;=0A= =0A= if ( parent && (parent.sizcache !=3D=3D doneName || = !elem.nodeIndex) ) {=0A= var count =3D 0;=0A= for ( node =3D parent.firstChild; node; node =3D node.nextSibling = ) {=0A= if ( node.nodeType =3D=3D=3D 1 ) {=0A= node.nodeIndex =3D ++count;=0A= }=0A= }=0A= parent.sizcache =3D doneName;=0A= }=0A= =0A= var diff =3D elem.nodeIndex - last;=0A= if ( first =3D=3D 0 ) {=0A= return diff =3D=3D 0;=0A= } else {=0A= return ( diff % first =3D=3D 0 && diff / first >=3D 0 );=0A= }=0A= }=0A= },=0A= ID: function(elem, match){=0A= return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D = match;=0A= },=0A= TAG: function(elem, match){=0A= return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || = elem.nodeName =3D=3D=3D match;=0A= },=0A= CLASS: function(elem, match){=0A= return (" " + (elem.className || elem.getAttribute("class")) + " ")=0A= .indexOf( match ) > -1;=0A= },=0A= ATTR: function(elem, match){=0A= var name =3D match[1],=0A= result =3D Expr.attrHandle[ name ] ?=0A= Expr.attrHandle[ name ]( elem ) :=0A= elem[ name ] !=3D null ?=0A= elem[ name ] :=0A= elem.getAttribute( name ),=0A= value =3D result + "",=0A= type =3D match[2],=0A= check =3D match[4];=0A= =0A= return result =3D=3D null ?=0A= type =3D=3D=3D "!=3D" :=0A= type =3D=3D=3D "=3D" ?=0A= value =3D=3D=3D check :=0A= type =3D=3D=3D "*=3D" ?=0A= value.indexOf(check) >=3D 0 :=0A= type =3D=3D=3D "~=3D" ?=0A= (" " + value + " ").indexOf(check) >=3D 0 :=0A= !check ?=0A= value && result !=3D=3D false :=0A= type =3D=3D=3D "!=3D" ?=0A= value !=3D check :=0A= type =3D=3D=3D "^=3D" ?=0A= value.indexOf(check) =3D=3D=3D 0 :=0A= type =3D=3D=3D "$=3D" ?=0A= value.substr(value.length - check.length) =3D=3D=3D check :=0A= type =3D=3D=3D "|=3D" ?=0A= value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D = check + "-" :=0A= false;=0A= },=0A= POS: function(elem, match, i, array){=0A= var name =3D match[2], filter =3D Expr.setFilters[ name ];=0A= =0A= if ( filter ) {=0A= return filter( elem, i, match, array );=0A= }=0A= }=0A= }=0A= };=0A= =0A= var origPOS =3D Expr.match.POS;=0A= =0A= for ( var type in Expr.match ) {=0A= Expr.match[ type ] =3D new RegExp( Expr.match[ type ].source + = /(?![^\[]*\])(?![^\(]*\))/.source );=0A= Expr.leftMatch[ type ] =3D new RegExp( /(^(?:.|\r|\n)*?)/.source + = Expr.match[ type ].source );=0A= }=0A= =0A= var makeArray =3D function(array, results) {=0A= array =3D Array.prototype.slice.call( array, 0 );=0A= =0A= if ( results ) {=0A= results.push.apply( results, array );=0A= return results;=0A= }=0A= =0A= return array;=0A= };=0A= =0A= try {=0A= Array.prototype.slice.call( document.documentElement.childNodes, 0 );=0A= =0A= } catch(e){=0A= makeArray =3D function(array, results) {=0A= var ret =3D results || [];=0A= =0A= if ( toString.call(array) =3D=3D=3D "[object Array]" ) {=0A= Array.prototype.push.apply( ret, array );=0A= } else {=0A= if ( typeof array.length =3D=3D=3D "number" ) {=0A= for ( var i =3D 0, l =3D array.length; i < l; i++ ) {=0A= ret.push( array[i] );=0A= }=0A= } else {=0A= for ( var i =3D 0; array[i]; i++ ) {=0A= ret.push( array[i] );=0A= }=0A= }=0A= }=0A= =0A= return ret;=0A= };=0A= }=0A= =0A= var sortOrder;=0A= =0A= if ( document.documentElement.compareDocumentPosition ) {=0A= sortOrder =3D function( a, b ) {=0A= if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {=0A= if ( a =3D=3D b ) {=0A= hasDuplicate =3D true;=0A= }=0A= return 0;=0A= }=0A= =0A= var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 = : 1;=0A= if ( ret =3D=3D=3D 0 ) {=0A= hasDuplicate =3D true;=0A= }=0A= return ret;=0A= };=0A= } else if ( "sourceIndex" in document.documentElement ) {=0A= sortOrder =3D function( a, b ) {=0A= if ( !a.sourceIndex || !b.sourceIndex ) {=0A= if ( a =3D=3D b ) {=0A= hasDuplicate =3D true;=0A= }=0A= return 0;=0A= }=0A= =0A= var ret =3D a.sourceIndex - b.sourceIndex;=0A= if ( ret =3D=3D=3D 0 ) {=0A= hasDuplicate =3D true;=0A= }=0A= return ret;=0A= };=0A= } else if ( document.createRange ) {=0A= sortOrder =3D function( a, b ) {=0A= if ( !a.ownerDocument || !b.ownerDocument ) {=0A= if ( a =3D=3D b ) {=0A= hasDuplicate =3D true;=0A= }=0A= return 0;=0A= }=0A= =0A= var aRange =3D a.ownerDocument.createRange(), bRange =3D = b.ownerDocument.createRange();=0A= aRange.setStart(a, 0);=0A= aRange.setEnd(a, 0);=0A= bRange.setStart(b, 0);=0A= bRange.setEnd(b, 0);=0A= var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);=0A= if ( ret =3D=3D=3D 0 ) {=0A= hasDuplicate =3D true;=0A= }=0A= return ret;=0A= };=0A= }=0A= =0A= (function(){=0A= var form =3D document.createElement("div"),=0A= id =3D "script" + (new Date).getTime();=0A= form.innerHTML =3D "";=0A= =0A= var root =3D document.documentElement;=0A= root.insertBefore( form, root.firstChild );=0A= =0A= if ( !!document.getElementById( id ) ) {=0A= Expr.find.ID =3D function(match, context, isXML){=0A= if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A= var m =3D context.getElementById(match[1]);=0A= return m ? m.id =3D=3D=3D match[1] || typeof m.getAttributeNode = !=3D=3D "undefined" && m.getAttributeNode("id").nodeValue =3D=3D=3D = match[1] ? [m] : undefined : [];=0A= }=0A= };=0A= =0A= Expr.filter.ID =3D function(elem, match){=0A= var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && = elem.getAttributeNode("id");=0A= return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D = match;=0A= };=0A= }=0A= =0A= root.removeChild( form );=0A= root =3D form =3D null; // release memory in IE=0A= })();=0A= =0A= (function(){=0A= =0A= var div =3D document.createElement("div");=0A= div.appendChild( document.createComment("") );=0A= =0A= if ( div.getElementsByTagName("*").length > 0 ) {=0A= Expr.find.TAG =3D function(match, context){=0A= var results =3D context.getElementsByTagName(match[1]);=0A= =0A= if ( match[1] =3D=3D=3D "*" ) {=0A= var tmp =3D [];=0A= =0A= for ( var i =3D 0; results[i]; i++ ) {=0A= if ( results[i].nodeType =3D=3D=3D 1 ) {=0A= tmp.push( results[i] );=0A= }=0A= }=0A= =0A= results =3D tmp;=0A= }=0A= =0A= return results;=0A= };=0A= }=0A= =0A= div.innerHTML =3D "";=0A= if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D = "undefined" &&=0A= div.firstChild.getAttribute("href") !=3D=3D "#" ) {=0A= Expr.attrHandle.href =3D function(elem){=0A= return elem.getAttribute("href", 2);=0A= };=0A= }=0A= =0A= div =3D null; // release memory in IE=0A= })();=0A= =0A= if ( document.querySelectorAll ) (function(){=0A= var oldSizzle =3D Sizzle, div =3D document.createElement("div");=0A= div.innerHTML =3D "

";=0A= =0A= if ( div.querySelectorAll && div.querySelectorAll(".TEST").length = =3D=3D=3D 0 ) {=0A= return;=0A= }=0A= =0A= Sizzle =3D function(query, context, extra, seed){=0A= context =3D context || document;=0A= =0A= if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {=0A= try {=0A= return makeArray( context.querySelectorAll(query), extra );=0A= } catch(e){}=0A= }=0A= =0A= return oldSizzle(query, context, extra, seed);=0A= };=0A= =0A= for ( var prop in oldSizzle ) {=0A= Sizzle[ prop ] =3D oldSizzle[ prop ];=0A= }=0A= =0A= div =3D null; // release memory in IE=0A= })();=0A= =0A= if ( document.getElementsByClassName && = document.documentElement.getElementsByClassName ) (function(){=0A= var div =3D document.createElement("div");=0A= div.innerHTML =3D "
";=0A= =0A= if ( div.getElementsByClassName("e").length =3D=3D=3D 0 )=0A= return;=0A= =0A= div.lastChild.className =3D "e";=0A= =0A= if ( div.getElementsByClassName("e").length =3D=3D=3D 1 )=0A= return;=0A= =0A= Expr.order.splice(1, 0, "CLASS");=0A= Expr.find.CLASS =3D function(match, context, isXML) {=0A= if ( typeof context.getElementsByClassName !=3D=3D "undefined" && = !isXML ) {=0A= return context.getElementsByClassName(match[1]);=0A= }=0A= };=0A= =0A= div =3D null; // release memory in IE=0A= })();=0A= =0A= function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A= var sibDir =3D dir =3D=3D "previousSibling" && !isXML;=0A= for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A= var elem =3D checkSet[i];=0A= if ( elem ) {=0A= if ( sibDir && elem.nodeType =3D=3D=3D 1 ){=0A= elem.sizcache =3D doneName;=0A= elem.sizset =3D i;=0A= }=0A= elem =3D elem[dir];=0A= var match =3D false;=0A= =0A= while ( elem ) {=0A= if ( elem.sizcache =3D=3D=3D doneName ) {=0A= match =3D checkSet[elem.sizset];=0A= break;=0A= }=0A= =0A= if ( elem.nodeType =3D=3D=3D 1 && !isXML ){=0A= elem.sizcache =3D doneName;=0A= elem.sizset =3D i;=0A= }=0A= =0A= if ( elem.nodeName =3D=3D=3D cur ) {=0A= match =3D elem;=0A= break;=0A= }=0A= =0A= elem =3D elem[dir];=0A= }=0A= =0A= checkSet[i] =3D match;=0A= }=0A= }=0A= }=0A= =0A= function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A= var sibDir =3D dir =3D=3D "previousSibling" && !isXML;=0A= for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A= var elem =3D checkSet[i];=0A= if ( elem ) {=0A= if ( sibDir && elem.nodeType =3D=3D=3D 1 ) {=0A= elem.sizcache =3D doneName;=0A= elem.sizset =3D i;=0A= }=0A= elem =3D elem[dir];=0A= var match =3D false;=0A= =0A= while ( elem ) {=0A= if ( elem.sizcache =3D=3D=3D doneName ) {=0A= match =3D checkSet[elem.sizset];=0A= break;=0A= }=0A= =0A= if ( elem.nodeType =3D=3D=3D 1 ) {=0A= if ( !isXML ) {=0A= elem.sizcache =3D doneName;=0A= elem.sizset =3D i;=0A= }=0A= if ( typeof cur !=3D=3D "string" ) {=0A= if ( elem =3D=3D=3D cur ) {=0A= match =3D true;=0A= break;=0A= }=0A= =0A= } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {=0A= match =3D elem;=0A= break;=0A= }=0A= }=0A= =0A= elem =3D elem[dir];=0A= }=0A= =0A= checkSet[i] =3D match;=0A= }=0A= }=0A= }=0A= =0A= var contains =3D document.compareDocumentPosition ? function(a, b){=0A= return a.compareDocumentPosition(b) & 16;=0A= } : function(a, b){=0A= return a !=3D=3D b && (a.contains ? a.contains(b) : true);=0A= };=0A= =0A= var isXML =3D function(elem){=0A= return elem.nodeType =3D=3D=3D 9 && elem.documentElement.nodeName = !=3D=3D "HTML" ||=0A= !!elem.ownerDocument && elem.ownerDocument.documentElement.nodeName = !=3D=3D "HTML";=0A= };=0A= =0A= var posProcess =3D function(selector, context){=0A= var tmpSet =3D [], later =3D "", match,=0A= root =3D context.nodeType ? [context] : context;=0A= =0A= while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {=0A= later +=3D match[0];=0A= selector =3D selector.replace( Expr.match.PSEUDO, "" );=0A= }=0A= =0A= selector =3D Expr.relative[selector] ? selector + "*" : selector;=0A= =0A= for ( var i =3D 0, l =3D root.length; i < l; i++ ) {=0A= Sizzle( selector, root[i], tmpSet );=0A= }=0A= =0A= return Sizzle.filter( later, tmpSet );=0A= };=0A= =0A= =0A= window.Sizzle =3D Sizzle;=0A= =0A= })();=0A= =0A= ;(function(engine) {=0A= var extendElements =3D Prototype.Selector.extendElements;=0A= =0A= function select(selector, scope) {=0A= return extendElements(engine(selector, scope || document));=0A= }=0A= =0A= function match(element, selector) {=0A= return engine.matches(selector, [element]).length =3D=3D 1;=0A= }=0A= =0A= Prototype.Selector.engine =3D engine;=0A= Prototype.Selector.select =3D select;=0A= Prototype.Selector.match =3D match;=0A= })(Sizzle);=0A= =0A= window.Sizzle =3D Prototype._original_property;=0A= delete Prototype._original_property;=0A= =0A= var Form =3D {=0A= reset: function(form) {=0A= form =3D $(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, = accumulator, initial;=0A= =0A= if (options.hash) {=0A= initial =3D {};=0A= accumulator =3D function(result, key, value) {=0A= if (key in result) {=0A= if (!Object.isArray(result[key])) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= } else result[key] =3D value;=0A= return result;=0A= };=0A= } else {=0A= initial =3D '';=0A= accumulator =3D function(result, key, value) {=0A= return result + (result ? '&' : '') + encodeURIComponent(key) + = '=3D' + encodeURIComponent(value);=0A= }=0A= }=0A= =0A= return elements.inject(initial, 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= result =3D accumulator(result, key, value);=0A= }=0A= }=0A= return result;=0A= });=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= var elements =3D $(form).getElementsByTagName('*'),=0A= element,=0A= arr =3D [ ],=0A= serializers =3D Form.Element.Serializers;=0A= for (var i =3D 0; element =3D elements[i]; i++) {=0A= arr.push(element);=0A= }=0A= return arr.inject([], function(elements, child) {=0A= if (serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=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)$/i.test(element.tagName);=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= var element =3D form.findFirstElement();=0A= if (element) element.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= =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= =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)$/i.test(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= =0A= var $F =3D Form.Element.Methods.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D (function() {=0A= function input(element, value) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return inputSelector(element, value);=0A= default:=0A= return valueSelector(element, value);=0A= }=0A= }=0A= =0A= function inputSelector(element, value) {=0A= if (Object.isUndefined(value))=0A= return element.checked ? element.value : null;=0A= else element.checked =3D !!value;=0A= }=0A= =0A= function valueSelector(element, value) {=0A= if (Object.isUndefined(value)) return element.value;=0A= else element.value =3D value;=0A= }=0A= =0A= function select(element, value) {=0A= if (Object.isUndefined(value))=0A= return (element.type =3D=3D=3D 'select-one' ? selectOne : = selectMany)(element);=0A= =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= function selectOne(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? optionValue(element.options[index]) : null;=0A= }=0A= =0A= function selectMany(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(optionValue(opt));=0A= }=0A= return values;=0A= }=0A= =0A= function optionValue(opt) {=0A= return Element.hasAttribute(opt, 'value') ? opt.value : opt.text;=0A= }=0A= =0A= return {=0A= input: input,=0A= inputSelector: inputSelector,=0A= textarea: valueSelector,=0A= select: select,=0A= selectOne: selectOne,=0A= selectMany: selectMany,=0A= optionValue: optionValue,=0A= button: valueSelector=0A= };=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= (function() {=0A= =0A= var Event =3D {=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= =0A= var docEl =3D document.documentElement;=0A= var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED =3D 'onmouseenter' in docEl=0A= && 'onmouseleave' in docEl;=0A= =0A= =0A= =0A= var isIELegacyEvent =3D function(event) { return false; };=0A= =0A= if (window.attachEvent) {=0A= if (window.addEventListener) {=0A= isIELegacyEvent =3D function(event) {=0A= return !(event instanceof window.Event);=0A= };=0A= } else {=0A= isIELegacyEvent =3D function(event) { return true; };=0A= }=0A= }=0A= =0A= var _isButton;=0A= =0A= function _isButtonForDOMEvents(event, code) {=0A= return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code);=0A= }=0A= =0A= var legacyButtonMap =3D { 0: 1, 1: 4, 2: 2 };=0A= function _isButtonForLegacyEvents(event, code) {=0A= return event.button =3D=3D=3D legacyButtonMap[code];=0A= }=0A= =0A= function _isButtonForWebKit(event, code) {=0A= switch (code) {=0A= case 0: return event.which =3D=3D 1 && !event.metaKey;=0A= case 1: return event.which =3D=3D 2 || (event.which =3D=3D 1 && = event.metaKey);=0A= case 2: return event.which =3D=3D 3;=0A= default: return false;=0A= }=0A= }=0A= =0A= if (window.attachEvent) {=0A= if (!window.addEventListener) {=0A= _isButton =3D _isButtonForLegacyEvents;=0A= } else {=0A= _isButton =3D function(event, code) {=0A= return isIELegacyEvent(event) ? _isButtonForLegacyEvents(event, = code) :=0A= _isButtonForDOMEvents(event, code);=0A= }=0A= }=0A= } else if (Prototype.Browser.WebKit) {=0A= _isButton =3D _isButtonForWebKit;=0A= } else {=0A= _isButton =3D _isButtonForDOMEvents;=0A= }=0A= =0A= function isLeftClick(event) { return _isButton(event, 0) }=0A= =0A= function isMiddleClick(event) { return _isButton(event, 1) }=0A= =0A= function isRightClick(event) { return _isButton(event, 2) }=0A= =0A= function element(event) {=0A= event =3D Event.extend(event);=0A= =0A= var node =3D event.target, type =3D event.type,=0A= currentTarget =3D event.currentTarget;=0A= =0A= if (currentTarget && currentTarget.tagName) {=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= =0A= if (node.nodeType =3D=3D Node.TEXT_NODE)=0A= node =3D node.parentNode;=0A= =0A= return Element.extend(node);=0A= }=0A= =0A= function findElement(event, expression) {=0A= var element =3D Event.element(event);=0A= =0A= if (!expression) return element;=0A= while (element) {=0A= if (Object.isElement(element) && Prototype.Selector.match(element, = expression)) {=0A= return Element.extend(element);=0A= }=0A= element =3D element.parentNode;=0A= }=0A= }=0A= =0A= function pointer(event) {=0A= return { x: pointerX(event), y: pointerY(event) };=0A= }=0A= =0A= function pointerX(event) {=0A= var docElement =3D document.documentElement,=0A= body =3D document.body || { scrollLeft: 0 };=0A= =0A= return event.pageX || (event.clientX +=0A= (docElement.scrollLeft || body.scrollLeft) -=0A= (docElement.clientLeft || 0));=0A= }=0A= =0A= function pointerY(event) {=0A= var docElement =3D document.documentElement,=0A= body =3D document.body || { scrollTop: 0 };=0A= =0A= return event.pageY || (event.clientY +=0A= (docElement.scrollTop || body.scrollTop) -=0A= (docElement.clientTop || 0));=0A= }=0A= =0A= =0A= function stop(event) {=0A= Event.extend(event);=0A= event.preventDefault();=0A= event.stopPropagation();=0A= =0A= event.stopped =3D true;=0A= }=0A= =0A= =0A= Event.Methods =3D {=0A= isLeftClick: isLeftClick,=0A= isMiddleClick: isMiddleClick,=0A= isRightClick: isRightClick,=0A= =0A= element: element,=0A= findElement: findElement,=0A= =0A= pointer: pointer,=0A= pointerX: pointerX,=0A= pointerY: pointerY,=0A= =0A= stop: stop=0A= };=0A= =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 (window.attachEvent) {=0A= function _relatedTarget(event) {=0A= var element;=0A= switch (event.type) {=0A= case 'mouseover':=0A= case 'mouseenter':=0A= element =3D event.fromElement;=0A= break;=0A= case 'mouseout':=0A= case 'mouseleave':=0A= element =3D event.toElement;=0A= break;=0A= default:=0A= return null;=0A= }=0A= return Element.extend(element);=0A= }=0A= =0A= var additionalMethods =3D {=0A= stopPropagation: function() { this.cancelBubble =3D true },=0A= preventDefault: function() { this.returnValue =3D false },=0A= inspect: function() { return '[object Event]' }=0A= };=0A= =0A= Event.extend =3D function(event, element) {=0A= if (!event) return false;=0A= =0A= if (!isIELegacyEvent(event)) return event;=0A= =0A= if (event._extendedByPrototype) return event;=0A= event._extendedByPrototype =3D Prototype.emptyFunction;=0A= =0A= var pointer =3D Event.pointer(event);=0A= =0A= Object.extend(event, {=0A= target: event.srcElement || element,=0A= relatedTarget: _relatedTarget(event),=0A= pageX: pointer.x,=0A= pageY: pointer.y=0A= });=0A= =0A= Object.extend(event, methods);=0A= Object.extend(event, additionalMethods);=0A= =0A= return event;=0A= };=0A= } else {=0A= Event.extend =3D Prototype.K;=0A= }=0A= =0A= if (window.addEventListener) {=0A= Event.prototype =3D window.Event.prototype || = document.createEvent('HTMLEvents').__proto__;=0A= Object.extend(Event.prototype, methods);=0A= }=0A= =0A= function _createResponder(element, eventName, handler) {=0A= var registry =3D Element.retrieve(element, = 'prototype_event_registry');=0A= =0A= if (Object.isUndefined(registry)) {=0A= CACHE.push(element);=0A= registry =3D Element.retrieve(element, 'prototype_event_registry', = $H());=0A= }=0A= =0A= var respondersForEvent =3D registry.get(eventName);=0A= if (Object.isUndefined(respondersForEvent)) {=0A= respondersForEvent =3D [];=0A= registry.set(eventName, respondersForEvent);=0A= }=0A= =0A= if (respondersForEvent.pluck('handler').include(handler)) return = false;=0A= =0A= var responder;=0A= if (eventName.include(":")) {=0A= responder =3D function(event) {=0A= if (Object.isUndefined(event.eventName))=0A= return false;=0A= =0A= if (event.eventName !=3D=3D eventName)=0A= return false;=0A= =0A= Event.extend(event, element);=0A= handler.call(element, event);=0A= };=0A= } else {=0A= if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED &&=0A= (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D = "mouseleave")) {=0A= if (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D = "mouseleave") {=0A= responder =3D function(event) {=0A= Event.extend(event, element);=0A= =0A= var parent =3D event.relatedTarget;=0A= while (parent && parent !=3D=3D element) {=0A= try { parent =3D parent.parentNode; }=0A= catch(e) { parent =3D element; }=0A= }=0A= =0A= if (parent =3D=3D=3D element) return;=0A= =0A= handler.call(element, event);=0A= };=0A= }=0A= } else {=0A= responder =3D function(event) {=0A= Event.extend(event, element);=0A= handler.call(element, event);=0A= };=0A= }=0A= }=0A= =0A= responder.handler =3D handler;=0A= respondersForEvent.push(responder);=0A= return responder;=0A= }=0A= =0A= function _destroyCache() {=0A= for (var i =3D 0, length =3D CACHE.length; i < length; i++) {=0A= Event.stopObserving(CACHE[i]);=0A= CACHE[i] =3D null;=0A= }=0A= }=0A= =0A= var CACHE =3D [];=0A= =0A= if (Prototype.Browser.IE)=0A= window.attachEvent('onunload', _destroyCache);=0A= =0A= if (Prototype.Browser.WebKit)=0A= window.addEventListener('unload', Prototype.emptyFunction, false);=0A= =0A= =0A= var _getDOMEventName =3D Prototype.K,=0A= translations =3D { mouseenter: "mouseover", mouseleave: "mouseout" = };=0A= =0A= if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) {=0A= _getDOMEventName =3D function(eventName) {=0A= return (translations[eventName] || eventName);=0A= };=0A= }=0A= =0A= function observe(element, eventName, handler) {=0A= element =3D $(element);=0A= =0A= var responder =3D _createResponder(element, eventName, handler);=0A= =0A= if (!responder) return element;=0A= =0A= if (eventName.include(':')) {=0A= if (element.addEventListener)=0A= element.addEventListener("dataavailable", responder, false);=0A= else {=0A= element.attachEvent("ondataavailable", responder);=0A= element.attachEvent("onlosecapture", responder);=0A= }=0A= } else {=0A= var actualEventName =3D _getDOMEventName(eventName);=0A= =0A= if (element.addEventListener)=0A= element.addEventListener(actualEventName, responder, false);=0A= else=0A= element.attachEvent("on" + actualEventName, responder);=0A= }=0A= =0A= return element;=0A= }=0A= =0A= function stopObserving(element, eventName, handler) {=0A= element =3D $(element);=0A= =0A= var registry =3D Element.retrieve(element, = 'prototype_event_registry');=0A= if (!registry) return element;=0A= =0A= if (!eventName) {=0A= registry.each( function(pair) {=0A= var eventName =3D pair.key;=0A= stopObserving(element, eventName);=0A= });=0A= return element;=0A= }=0A= =0A= var responders =3D registry.get(eventName);=0A= if (!responders) return element;=0A= =0A= if (!handler) {=0A= responders.each(function(r) {=0A= stopObserving(element, eventName, r.handler);=0A= });=0A= return element;=0A= }=0A= =0A= var i =3D responders.length, responder;=0A= while (i--) {=0A= if (responders[i].handler =3D=3D=3D handler) {=0A= responder =3D responders[i];=0A= break;=0A= }=0A= }=0A= if (!responder) return element;=0A= =0A= if (eventName.include(':')) {=0A= if (element.removeEventListener)=0A= element.removeEventListener("dataavailable", responder, false);=0A= else {=0A= element.detachEvent("ondataavailable", responder);=0A= element.detachEvent("onlosecapture", responder);=0A= }=0A= } else {=0A= var actualEventName =3D _getDOMEventName(eventName);=0A= if (element.removeEventListener)=0A= element.removeEventListener(actualEventName, responder, false);=0A= else=0A= element.detachEvent('on' + actualEventName, responder);=0A= }=0A= =0A= registry.set(eventName, responders.without(responder));=0A= =0A= return element;=0A= }=0A= =0A= function fire(element, eventName, memo, bubble) {=0A= element =3D $(element);=0A= =0A= if (Object.isUndefined(bubble))=0A= bubble =3D true;=0A= =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', bubble, true);=0A= } else {=0A= event =3D document.createEventObject();=0A= event.eventType =3D bubble ? 'ondataavailable' : 'onlosecapture';=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= return Event.extend(event);=0A= }=0A= =0A= Event.Handler =3D Class.create({=0A= initialize: function(element, eventName, selector, callback) {=0A= this.element =3D $(element);=0A= this.eventName =3D eventName;=0A= this.selector =3D selector;=0A= this.callback =3D callback;=0A= this.handler =3D this.handleEvent.bind(this);=0A= },=0A= =0A= start: function() {=0A= Event.observe(this.element, this.eventName, this.handler);=0A= return this;=0A= },=0A= =0A= stop: function() {=0A= Event.stopObserving(this.element, this.eventName, this.handler);=0A= return this;=0A= },=0A= =0A= handleEvent: function(event) {=0A= var element =3D Event.findElement(event, this.selector);=0A= if (element) this.callback.call(this.element, event, element);=0A= }=0A= });=0A= =0A= function on(element, eventName, selector, callback) {=0A= element =3D $(element);=0A= if (Object.isFunction(selector) && Object.isUndefined(callback)) {=0A= callback =3D selector, selector =3D null;=0A= }=0A= =0A= return new Event.Handler(element, eventName, selector, = callback).start();=0A= }=0A= =0A= Object.extend(Event, Event.Methods);=0A= =0A= Object.extend(Event, {=0A= fire: fire,=0A= observe: observe,=0A= stopObserving: stopObserving,=0A= on: on=0A= });=0A= =0A= Element.addMethods({=0A= fire: fire,=0A= =0A= observe: observe,=0A= =0A= stopObserving: stopObserving,=0A= =0A= on: on=0A= });=0A= =0A= Object.extend(document, {=0A= fire: fire.methodize(),=0A= =0A= observe: observe.methodize(),=0A= =0A= stopObserving: stopObserving.methodize(),=0A= =0A= on: on.methodize(),=0A= =0A= loaded: false=0A= });=0A= =0A= if (window.Event) Object.extend(window.Event, Event);=0A= else window.Event =3D Event;=0A= })();=0A= =0A= (function() {=0A= /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A= Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */=0A= =0A= var timer;=0A= =0A= function fireContentLoadedEvent() {=0A= if (document.loaded) return;=0A= if (timer) window.clearTimeout(timer);=0A= document.loaded =3D true;=0A= document.fire('dom:loaded');=0A= }=0A= =0A= function checkReadyState() {=0A= if (document.readyState =3D=3D=3D 'complete') {=0A= document.stopObserving('readystatechange', checkReadyState);=0A= fireContentLoadedEvent();=0A= }=0A= }=0A= =0A= function pollDoScroll() {=0A= try { document.documentElement.doScroll('left'); }=0A= catch(e) {=0A= timer =3D pollDoScroll.defer();=0A= return;=0A= }=0A= fireContentLoadedEvent();=0A= }=0A= =0A= if (document.addEventListener) {=0A= document.addEventListener('DOMContentLoaded', = fireContentLoadedEvent, false);=0A= } else {=0A= document.observe('readystatechange', checkReadyState);=0A= if (window =3D=3D top)=0A= timer =3D pollDoScroll.defer();=0A= }=0A= =0A= Event.observe(window, 'load', fireContentLoadedEvent);=0A= })();=0A= =0A= Element.addMethods();=0A= =0A= /*------------------------------- DEPRECATED = -------------------------------*/=0A= =0A= Hash.toQueryString =3D Object.toQueryString;=0A= =0A= var Toggle =3D { display: Element.toggle };=0A= =0A= Element.Methods.childOf =3D Element.Methods.descendantOf;=0A= =0A= var Insertion =3D {=0A= Before: function(element, content) {=0A= return Element.insert(element, {before:content});=0A= },=0A= =0A= Top: function(element, content) {=0A= return Element.insert(element, {top:content});=0A= },=0A= =0A= Bottom: function(element, content) {=0A= return Element.insert(element, {bottom:content});=0A= },=0A= =0A= After: function(element, content) {=0A= return Element.insert(element, {after:content});=0A= }=0A= };=0A= =0A= var $continue =3D new Error('"throw $continue" is deprecated, use = "return" instead');=0A= =0A= var Position =3D {=0A= includeScrollOffsets: false,=0A= =0A= prepare: function() {=0A= this.deltaX =3D window.pageXOffset=0A= || document.documentElement.scrollLeft=0A= || document.body.scrollLeft=0A= || 0;=0A= this.deltaY =3D window.pageYOffset=0A= || document.documentElement.scrollTop=0A= || document.body.scrollTop=0A= || 0;=0A= },=0A= =0A= within: function(element, x, y) {=0A= if (this.includeScrollOffsets)=0A= return this.withinIncludingScrolloffsets(element, x, y);=0A= this.xcomp =3D x;=0A= this.ycomp =3D y;=0A= this.offset =3D Element.cumulativeOffset(element);=0A= =0A= return (y >=3D this.offset[1] &&=0A= y < this.offset[1] + element.offsetHeight &&=0A= x >=3D this.offset[0] &&=0A= x < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= withinIncludingScrolloffsets: function(element, x, y) {=0A= var offsetcache =3D Element.cumulativeScrollOffset(element);=0A= =0A= this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A= this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A= this.offset =3D Element.cumulativeOffset(element);=0A= =0A= return (this.ycomp >=3D this.offset[1] &&=0A= this.ycomp < this.offset[1] + element.offsetHeight &&=0A= this.xcomp >=3D this.offset[0] &&=0A= this.xcomp < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= overlap: function(mode, element) {=0A= if (!mode) return 0;=0A= if (mode =3D=3D 'vertical')=0A= return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A= element.offsetHeight;=0A= if (mode =3D=3D 'horizontal')=0A= return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A= element.offsetWidth;=0A= },=0A= =0A= =0A= cumulativeOffset: Element.Methods.cumulativeOffset,=0A= =0A= positionedOffset: Element.Methods.positionedOffset,=0A= =0A= absolutize: function(element) {=0A= Position.prepare();=0A= return Element.absolutize(element);=0A= },=0A= =0A= relativize: function(element) {=0A= Position.prepare();=0A= return Element.relativize(element);=0A= },=0A= =0A= realOffset: Element.Methods.cumulativeScrollOffset,=0A= =0A= offsetParent: Element.Methods.getOffsetParent,=0A= =0A= page: Element.Methods.viewportOffset,=0A= =0A= clone: function(source, target, options) {=0A= options =3D options || { };=0A= return Element.clonePosition(target, source, options);=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!document.getElementsByClassName) document.getElementsByClassName = =3D function(instanceMethods){=0A= function iter(name) {=0A= return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' = " + name + " ')]";=0A= }=0A= =0A= instanceMethods.getElementsByClassName =3D = Prototype.BrowserFeatures.XPath ?=0A= function(element, className) {=0A= className =3D className.toString().strip();=0A= var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') = : iter(className);=0A= return cond ? document._getElementsByXPath('.//*' + cond, element) : = [];=0A= } : function(element, className) {=0A= className =3D className.toString().strip();=0A= var elements =3D [], classNames =3D (/\s/.test(className) ? = $w(className) : null);=0A= if (!classNames && !className) return elements;=0A= =0A= var nodes =3D $(element).getElementsByTagName('*');=0A= className =3D ' ' + className + ' ';=0A= =0A= for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A= if (child.className && (cn =3D ' ' + child.className + ' ') && = (cn.include(className) ||=0A= (classNames && classNames.all(function(name) {=0A= return !name.toString().blank() && cn.include(' ' + name + ' = ');=0A= }))))=0A= elements.push(Element.extend(child));=0A= }=0A= return elements;=0A= };=0A= =0A= return function(className, parentElement) {=0A= return $(parentElement || = document.body).getElementsByClassName(className);=0A= };=0A= }(Element.Methods);=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Element.ClassNames =3D Class.create();=0A= Element.ClassNames.prototype =3D {=0A= initialize: function(element) {=0A= this.element =3D $(element);=0A= },=0A= =0A= _each: function(iterator) {=0A= this.element.className.split(/\s+/).select(function(name) {=0A= return name.length > 0;=0A= })._each(iterator);=0A= },=0A= =0A= set: function(className) {=0A= this.element.className =3D className;=0A= },=0A= =0A= add: function(classNameToAdd) {=0A= if (this.include(classNameToAdd)) return;=0A= this.set($A(this).concat(classNameToAdd).join(' '));=0A= },=0A= =0A= remove: function(classNameToRemove) {=0A= if (!this.include(classNameToRemove)) return;=0A= this.set($A(this).without(classNameToRemove).join(' '));=0A= },=0A= =0A= toString: function() {=0A= return $A(this).join(' ');=0A= }=0A= };=0A= =0A= Object.extend(Element.ClassNames.prototype, Enumerable);=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= (function() {=0A= window.Selector =3D Class.create({=0A= initialize: function(expression) {=0A= this.expression =3D expression.strip();=0A= },=0A= =0A= findElements: function(rootElement) {=0A= return Prototype.Selector.select(this.expression, rootElement);=0A= },=0A= =0A= match: function(element) {=0A= return Prototype.Selector.match(element, this.expression);=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= },=0A= =0A= inspect: function() {=0A= return "#";=0A= }=0A= });=0A= =0A= Object.extend(Selector, {=0A= matchElements: function(elements, expression) {=0A= var match =3D Prototype.Selector.match,=0A= results =3D [];=0A= =0A= for (var i =3D 0, length =3D elements.length; i < length; i++) {=0A= var element =3D elements[i];=0A= if (match(element, expression)) {=0A= results.push(Element.extend(element));=0A= }=0A= }=0A= return results;=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= index =3D index || 0;=0A= var matchIndex =3D 0, element;=0A= for (var i =3D 0, length =3D elements.length; i < length; i++) {=0A= element =3D elements[i];=0A= if (Prototype.Selector.match(element, expression) && index = =3D=3D=3D matchIndex++) {=0A= return Element.extend(element);=0A= }=0A= }=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= var selector =3D expressions.toArray().join(', ');=0A= return Prototype.Selector.select(selector, element || document);=0A= }=0A= });=0A= })();=0A= =0A= /* /global/ajax/modalbox/modalbox.js */=0A= // modalbox.js // // A Prototype based modal box handler... created by Jon March 9, 2009 // // // ... // // // ... // // // ... //
// .... content ... // // How to do a link to cancel the gray shade and stay on the page=20 // //
// ... // // ... // // // Default constructor: // var myModalBox =3D new ModalBox(contentElement); // Optional constructor 1:=20 // var myModalBox =3D new ModalBox(contentElement, top); // Optional constructor 2: // var myModalBox =3D new ModalBox(contentElement, top, left); // // Where: // contentElement =3D prototype Element extended object (aka = $('contentid')) // top =3D top of popup modal box in CSS style format (e.g. '100px' or = '1em') // left =3D left of popup modal box in CSS style format (e.g. '100px' = or '1em') // // Example of calling modal popup from link // Member Sign In =09 if (typeof Prototype.Browser.Version =3D=3D=3D 'undefined') { if (Prototype.Browser.IE) { var ua =3D new String(navigator.userAgent); var offset =3D ua.indexOf("MSIE "); Prototype.Browser.Version =3D parseFloat(ua.substring(offset + 5, = ua.indexOf(";", offset))); } } if (!("console" in window) || !("log" in console)) { if (!("console" in window)) { window.console =3D {}; } if (!("log" in console)) { window.console["log"] =3D function(){}; } } var ModalBoxShading =3D Class.create({ _setSize: function() { var dim =3D document.viewport.getDimensions(); if (Prototype.Browser.WebKit) { dim.width =3D document.body.scrollWidth; dim.height =3D document.body.scrollHeight; } else if (Prototype.Browser.IE && Prototype.Browser.Version < 7.0) { dim.width =3D Math.max(document.documentElement.clientWidth, = document.body.clientWidth); dim.height =3D Math.max(document.documentElement.scrollHeight, = document.body.scrollHeight); } else { dim.width =3D Math.max(dim.width, = document.documentElement.offsetWidth); dim.height =3D Math.max(dim.height, = document.documentElement.offsetHeight); } if (this._element.offsetHeight !=3D dim.height) { this._element.style.height =3D dim.height + 'px'; } if (this._element.offsetWidth !=3D dim.width) { this._element.style.width =3D dim.width + 'px'; } }, _eventOnResize: function(e) { this._setSize(); return; }, _eventOnLoad: function(e) { document.body.appendChild(this._element); this._loaded =3D true; if (this._showOnLoad =3D=3D=3D true) { this._showOnLoad =3D false; this.show(); } }, setZIndex: function(zIndex) { if (typeof zIndex !=3D=3D 'undefined') { this._element.style.zIndex =3D zIndex; } else { this._element.style.zIndex =3D 100000; } }, initialize: function(zIndex) { this._loaded =3D false; this._showOnLoad =3D false; =09 this._element =3D new Element('div'); this._element.style.backgroundColor =3D '#000'; this._element.setOpacity(0.3); this.setZIndex(zIndex); if (Prototype.Browser.IE && Prototype.Browser.Version < 7.0) { this._element.style.position =3D 'absolute'; } else { this._element.style.position =3D 'fixed'; } this._element.style.display =3D 'none'; this._element.style.margin =3D '0px'; this._element.style.padding =3D '0px'; this._element.style.top =3D '0px'; this._element.style.left =3D '0px'; this._element.style.bottom =3D '0px'; this._element.style.right =3D '0px'; =09 Event.observe(window, 'resize', = this._eventOnResize.bindAsEventListener(this)); if (document.loaded) { this._eventOnLoad.bind(this).defer(); } else { Event.observe(window, 'load', = this._eventOnLoad.bindAsEventListener(this)); } }, show: function() { if (this._loaded =3D=3D=3D false) { this._showOnLoad =3D true; } else { this._setSize(); this._element.show(); } }, hide: function() { if (this._loaded =3D=3D=3D false) { this._showOnLoad =3D false; } else { this._element.hide(); } } }); var ModalBox =3D Class.create({ _setPosition: function() { var dim =3D this._element.getDimensions(); this._element.style.top =3D (typeof this._top !=3D=3D 'undefined') ? = this._top : Math.max(0, document.body.parentNode.clientHeight / 2 - = dim.height / 2) + 'px'; this._element.style.left =3D (typeof this._left !=3D=3D 'undefined') ? = this._left: Math.max(0, document.body.parentNode.clientWidth / 2 - = dim.width / 2) + 'px'; }, _eventOnResize: function(e) { this._setPosition(); }, _eventOnLoad: function(e) { document.body.appendChild(this._element); this._element.appendChild(this._content); this._loaded =3D true; if (this._showOnLoad =3D=3D=3D true) { this._showOnLoad =3D false; this.show(); } }, initialize: function(content, top, left) { this._loaded =3D false; this._showOnLoad =3D false; =09 this._element =3D new Element('div'); this._element.style.zIndex =3D 1000001; if (Prototype.Browser.IE && Prototype.Browser.Version < 7.0) { this._element.style.position =3D 'absolute'; } else { this._element.style.position =3D 'fixed'; } this._element.style.display =3D 'none'; this._element.style.margin =3D '0px'; this._element.style.padding =3D '0px'; =09 this._content =3D content; this._content.show(); =09 this._top =3D top; this._left =3D left; =09 this._shading =3D new ModalBoxShading(); Event.observe(window, 'resize', = this._eventOnResize.bindAsEventListener(this)); if (document.loaded) { this._eventOnLoad.bind(this).defer(); } else { Event.observe(window, 'load', = this._eventOnLoad.bindAsEventListener(this)); } }, show: function() { if (this._loaded =3D=3D=3D false) { this._showOnLoad =3D true; } else { this._setPosition(); this._shading.show(); this._element.show(); } }, hide: function() { if (this._loaded =3D=3D=3D false) { this._showOnLoad =3D false; } else { this._element.hide(); this._shading.hide(); } } }); =0A= /* /global/ajax/gui/gui.js */=0A= /* gui.js=0A= * Requirements:=0A= * the prototype library must be loaded before this script is loaded=0A= * the modalbox library must be loaded before this script is loaded=0A= */=0A= =0A= var Hint =3D Class.create({=0A= initialize: function(element, message, position, autoFade, closeOk) {=0A= this.attachedElement =3D $(element);=0A= if (typeof position !=3D 'undefined') {=0A= var map =3D {=0A= "under": "under",=0A= "below": "under",=0A= "bottom": "under",=0A= "over": "over",=0A= "above": "over",=0A= "top": "over",=0A= "left": "left",=0A= "right": "right"=0A= };=0A= position =3D map[position.toLowerCase()];=0A= }=0A= if (typeof position =3D=3D 'undefined') {=0A= position =3D 'under';=0A= }=0A= this.position =3D position.slice(0, 1).toUpperCase() + = position.slice(1);=0A= this.autoFade =3D autoFade;=0A= this.closeOk =3D closeOk;=0A= =0A= this.hintElement =3D new Element('div', { 'class': 'kasHint kasHint' + = this.position, 'style': 'display: none;', 'id': 'kasHint_' + = this.attachedElement.identify()});=0A= this.hintElement.appendChild(new Element('span', { 'class': 'pointer' = }));=0A= this.closeBox =3D new Element('div', { 'style': 'float: right; width: = 12px; height: 12px; background-color: red; color: white; border: 1px = solid #cc0000; font-weight: bold; text-align: center; font-size: 10px; = cursor: pointer;' }).update('X');=0A= this.hintContentElement =3D new Element('div');=0A= this.hintElement.appendChild(this.closeBox);=0A= this.hintElement.appendChild(this.hintContentElement);=0A= this.setMessage(message);=0A= this.visible =3D false;=0A= this.mouseInside =3D false;=0A= =0A= if (!((typeof this.autoFade !=3D 'undefined' && = parseInt(this.autoFade) > 0) || (typeof this.closeOk !=3D 'undefined' && = this.closeOk =3D=3D true)))=0A= this.closeBox.hide();=0A= =0A= if (!document.loaded)=0A= this.addElement.bind(this).defer();=0A= else=0A= this.addElement();=0A= },=0A= setMessage: function(message) {=0A= this.message =3D message;=0A= this.hintContentElement.update(message);=0A= },=0A= addElement: function() {=0A= document.body.appendChild(this.hintElement);=0A= this.hintElement.observe('mouseover', = this.onMouseOver.bindAsEventListener(this));=0A= this.hintElement.observe('mouseout', = this.onMouseOut.bindAsEventListener(this));=0A= this.closeBox.observe('click', this.clickClose.bind(this));=0A= },=0A= clickClose: function() {=0A= this.hide();=0A= },=0A= onMouseOver: function(event) {=0A= if (!this.visible)=0A= return;=0A= Event.stop(event);=0A= if (!this.mouseInside)=0A= this.closeBox.show();=0A= this.mouseInside =3D true;=0A= },=0A= onMouseOut: function(event) {=0A= if (!this.visible)=0A= return;=0A= Event.stop(event);=0A= if (this.mouseInside) {=0A= if (!((typeof this.autoFade !=3D 'undefined' && = parseInt(this.autoFade) > 0) || (typeof this.closeOk !=3D 'undefined' && = this.closeOk =3D=3D true)))=0A= this.closeBox.hide();=0A= }=0A= this.mouseInside =3D false;=0A= },=0A= parentVisible: function() {=0A= var parentVisible =3D true;=0A= for (var parent =3D this.attachedElement.parentNode;=0A= parent !=3D null && parent.nodeName !=3D 'HTML';=0A= parent =3D parent.parentNode) {=0A= if (parent.nodeName =3D=3D '#document-fragment') { // IE8 bug ?=0A= parentVisible =3D false;=0A= break;=0A= }=0A= else if (!Element.visible(parent)) {=0A= parentVisible =3D false;=0A= break;=0A= }=0A= }=0A= return parentVisible;=0A= },=0A= updatePosition: function() {=0A= if (this.attachedElement.visible()) {=0A= var position;=0A= position =3D this.attachedElement.cumulativeOffset();=0A= var dimensions =3D this.attachedElement.getDimensions();=0A= switch (this.position) {=0A= case 'Right':=0A= position[1] +=3D (dimensions.height / 2) - 12; // top=0A= position[0] +=3D (dimensions.width + 16); // left=0A= break;=0A= case 'Under':=0A= default:=0A= position[1] +=3D (dimensions.height + 16); // top=0A= position[0] +=3D (dimensions.width / 2) - 16; // left=0A= var hintDim =3D this.hintElement.getDimensions();=0A= if (position[0] + hintDim.width >=3D document.body.getWidth()) {=0A= position[0] -=3D (hintDim.width - 29);=0A= this.hintElement.select('span.pointer')[0].style.left =3D = (hintDim.width - 24) + 'px';=0A= }=0A= else {=0A= this.hintElement.select('span.pointer')[0].style.left =3D "5px";=0A= }=0A= if (position[1] + hintDim.height >=3D document.body.getHeight()) {=0A= position[1] -=3D (dimensions.height + 24 + hintDim.height);=0A= if (this.hintElement.hasClassName("kasHintUnder"))=0A= this.hintElement.removeClassName("kasHintUnder");=0A= this.hintElement.addClassName("kasHintOver");=0A= }=0A= else {=0A= if (this.hintElement.hasClassName("kasHintOver"))=0A= this.hintElement.removeClassName("kasHintOver");=0A= this.hintElement.addClassName("kasHintUnder");=0A= }=0A= break;=0A= }=0A= this.hintElement.style.top =3D position[1] + 'px';=0A= this.hintElement.style.left =3D position[0] + 'px';=0A= return true;=0A= }=0A= return false;=0A= },=0A= show: function(fromTimeout) {=0A= if (!this.parentVisible()) {=0A= window.setTimeout(this.show.bind(this), 100);=0A= return;=0A= }=0A= if (this.updatePosition()) {=0A= if (!((typeof this.autoFade !=3D 'undefined' && = parseInt(this.autoFade) > 0) || (typeof this.closeOk !=3D 'undefined' && = this.closeOk =3D=3D true)))=0A= this.closeBox.hide();=0A= =0A= this.hintElement.show();=0A= this.visible =3D true;=0A= =0A= if (typeof this.autoFade !=3D 'undefined' && parseInt(this.autoFade) = > 0) {=0A= this.autoFadeTimeout =3D setTimeout(this.hideTimeout.bind(this), = parseInt(this.autoFade));=0A= }=0A= }=0A= else {=0A= this.show.bind(this).defer();=0A= }=0A= },=0A= hideTimeout: function() {=0A= if (this.mouseInside) {=0A= this.autoFadeTimeout =3D setTimeout(this.hideTimeout.bind(this), = parseInt(this.autoFade));=0A= return;=0A= }=0A= this.hide();=0A= },=0A= hide: function() {=0A= this.hintElement.hide();=0A= this.visible =3D false;=0A= if (typeof this.autoFadeTimeout !=3D 'undefined') {=0A= clearTimeout(this.autoFadeTimeout);=0A= }=0A= }=0A= });=0A= =0A= var HintToolTip =3D Class.create(Hint, {=0A= initialize: function($super, element) {=0A= var content;=0A= var spans =3D element.select('span');=0A= if (spans.length > 0)=0A= content =3D spans[0].innerHTML;=0A= else if (element.title !=3D "") {=0A= content =3D element.title;=0A= }=0A= else=0A= content =3D "ERROR: Unable to load tool tip text";=0A= element.title =3D "";=0A= $super(element, content, 'under');=0A= Event.observe(element, 'mouseover', = this.mouseOver.bindAsEventListener(this));=0A= Event.observe(element, 'mouseout', = this.mouseOut.bindAsEventListener(this));=0A= },=0A= mouseOver: function(e) {=0A= e.stop();=0A= this.show();=0A= },=0A= mouseOut: function(e) {=0A= e.stop();=0A= this.hide();=0A= }=0A= });=0A= =0A= var ToolTipManager =3D Class.create({=0A= initialize: function() {=0A= if (!document.loaded)=0A= Event.observe(window, 'load', = this.documentLoaded.bindAsEventListener(this));=0A= else=0A= this.update(document.body);=0A= },=0A= documentLoaded: function(e) {=0A= this.update(document.body);=0A= },=0A= update: function(what) {=0A= var toolTipAnchors =3D $(what).select('.toolTip');=0A= toolTipAnchors.each(function(element){=0A= var existingHint =3D $('kasHint_' + element.identify());=0A= if (typeof existingHint =3D=3D 'undefined' || existingHint =3D=3D = null)=0A= new HintToolTip(element);=0A= });=0A= }=0A= });=0A= =0A= var g_toolTipManager =3D new ToolTipManager();=0A= =0A= var PopUpData =3D {=0A= basePosition: { top: 128, left: 160 },=0A= positionMultiple: { top: 32, left: 16 },=0A= numberOpen: 0,=0A= zIndex: 10000,=0A= shading: null=0A= };=0A= =0A= var PopUp =3D Class.create({=0A= initialize: function() {=0A= this.content =3D null;=0A= this.buttons =3D new Array();=0A= =0A= if (PopUpData.shading =3D=3D=3D null) {=0A= PopUpData.shading =3D new ModalBoxShading();=0A= }=0A= =0A= var div =3D this.divobject =3D new Element('div', { 'class': = 'kasPopUp', 'style': 'display: none;' });=0A= div.appendChild(div =3D new Element('div', { 'class': 'topright' }));=0A= div.appendChild(div =3D new Element('div', { 'class': 'topleft' }));=0A= div.appendChild(this.divcontent =3D new Element('div'));=0A= div.appendChild(this.divbuttons =3D new Element('div', { 'class': = 'buttons' }));=0A= this.divobject.appendChild(div =3D new Element('div', { 'class': = 'bottomright' }));=0A= div.appendChild(new Element('div', { 'class': 'bottomleft' }));=0A= =0A= // Make sure we are hidden=0A= this.divobject.hide();=0A= =0A= // Make position fixed to deal with scrolling docs...=0A= if (Prototype.Browser.IE && Prototype.Browser.Version < 7.0) {=0A= this.divobject.style.position =3D 'absolute';=0A= }=0A= else {=0A= this.divobject.style.position =3D 'fixed';=0A= }=0A= =0A= // Add the divobject to the document body container=0A= document.body.appendChild(this.divobject);=0A= },=0A= setContent: function(content) {=0A= this.content =3D content;=0A= this.divcontent.update(this.content);=0A= },=0A= addButton: function(button) {=0A= this.buttons.push(button);=0A= this.divbuttons.appendChild(button);=0A= },=0A= checkFit: function(e) {=0A= // This isn't necessary on browser that don't support fixed because = the user can scroll the window=0A= if (this.divobject.style.position !=3D 'fixed')=0A= return;=0A= =0A= // Get the size of the viewport...=0A= var dimView =3D document.viewport.getDimensions();=0A= if (Prototype.Browser.IE && Prototype.Browser.Version < 7.0) {=0A= dimView.width =3D Math.max(document.documentElement.clientWidth, = document.body.clientWidth);=0A= dimView.height =3D Math.max(document.documentElement.scrollHeight, = document.body.scrollHeight);=0A= }=0A= =0A= // Get the size of ourself...=0A= var dimUs =3D this.divobject.getDimensions();=0A= var pos =3D this.divobject.cumulativeOffset();=0A= =0A= // Ok, figure out if we are NOT in view in any extent=0A= if (pos.left + dimUs.width > dimView.width ||=0A= pos.top + dimUs.height > dimView.height) {=0A= // Out of view in either the width or height, so re-center us in the = view=0A= var left =3D Math.max(0, dimView.width / 2 - dimUs.width / 2);=0A= var top =3D Math.max(0, dimView.height / 2 - dimUs.height / 2);=0A= =0A= // See if we need to change either position=0A= if (pos.left !=3D left || pos.top !=3D top) {=0A= this.divobject.style.left =3D left + 'px';=0A= this.divobject.style.top =3D top + 'px';=0A= }=0A= }=0A= },=0A= show: function() {=0A= if (this.divobject.visible()) {=0A= return;=0A= }=0A= =0A= // Adjust the shading to cover everything below us and our our zIndex = to make sure we are on top=0A= PopUpData.shading.setZIndex(PopUpData.zIndex);=0A= this.divobject.style.zIndex =3D PopUpData.zIndex + 1;=0A= PopUpData.zIndex +=3D 2;=0A= PopUpData.numberOpen ++;=0A= PopUpData.shading.show();=0A= =0A= // Adjust our position=0A= var left, top;=0A= left =3D (PopUpData.basePosition.left + = PopUpData.positionMultiple.left * (PopUpData.numberOpen - 1));=0A= top =3D (PopUpData.basePosition.top + PopUpData.positionMultiple.top * = (PopUpData.numberOpen - 1));=0A= =0A= // Deal with older browsers (IE6 mostly) that don't understand = position: fixed=0A= if (this.divobject.style.position =3D=3D 'absolute') {=0A= var scrollPos =3D document.viewport.getScrollOffsets();=0A= left +=3D scrollPos.left;=0A= top +=3D scrollPos.top;=0A= }=0A= =0A= // Set our left, top attributes=0A= this.divobject.style.left =3D left + "px";=0A= this.divobject.style.top =3D top + "px";=0A= =0A= // Find every drop-down box that has a zIndex less than us that is = visible and hide it if we are in IE6=0A= this.hiddenDropDowns =3D new Array();=0A= if (Prototype.Browser.IE && Prototype.Browser.Version < 7.0) {=0A= var dropdowns =3D Element.select(document, 'select', '[size=3D"1"]');=0A= dropdowns.each(function (dropdown) {=0A= if (dropdown.visible() && dropdown.style.zIndex < = this.divobject.style.zIndex) {=0A= dropdown.hide();=0A= this.hiddenDropDowns.push(dropdown);=0A= }=0A= }, this);=0A= var mydropdowns =3D Element.select(this.divobject, 'select', = '[size=3D"1"]');=0A= mydropdowns.each(function (dropdown) {=0A= if (this.hiddenDropDowns.indexOf(dropdown) >=3D 0) {=0A= dropdown.show();=0A= this.hiddenDropDowns =3D this.hiddenDropDowns.without(dropdown);=0A= }=0A= }, this);=0A= }=0A= =0A= // Show us=0A= this.divobject.style.visibility =3D 'visible';=0A= this.divobject.show();=0A= =0A= // Defer a check to make sure we are completely visible in the browser = window.=0A= // Also run the check whenever the document is resized=0A= this.checkFit.bind(this).defer();=0A= this.checkFitEventHandler =3D this.checkFit.bindAsEventListener(this);=0A= Event.observe(window, 'resize', this.checkFitEventHandler); =0A= },=0A= hide: function() {=0A= if (!this.divobject.visible()) {=0A= return;=0A= }=0A= this.hiddenDropDowns.each(function(dropdown) {=0A= dropdown.show();=0A= });=0A= delete this.hiddenDropDowns;=0A= Event.stopObserving(window, 'resize', this.checkFitEventHandler);=0A= this.divobject.hide();=0A= PopUpData.numberOpen --;=0A= PopUpData.zIndex -=3D 2;=0A= if (PopUpData.numberOpen =3D=3D 0)=0A= PopUpData.shading.hide();=0A= PopUpData.shading.setZIndex(PopUpData.zIndex - 2);=0A= },=0A= visible: function() {=0A= return this.divobject.visible();=0A= }=0A= });=0A= =0A= var AlertPopUp =3D Class.create(PopUp, {=0A= initialize: function($super, message, callback) {=0A= $super();=0A= =0A= this.callback =3D (Object.isFunction(callback) ? callback : = Prototype.emptyFunction);=0A= =0A= this.setContent(message);=0A= this.divcontent.style.marginTop =3D "50px";=0A= this.divcontent.style.marginBottom =3D "50px";=0A= this.addButton(this.okbutton =3D new Element('button', { 'class': = 'kasBtn kasBtnGreen' }).update("Ok"));=0A= Event.observe(this.okbutton, 'click', = this.clickOk.bindAsEventListener(this));=0A= this.divbuttons.style.marginLeft =3D "auto";=0A= this.divbuttons.style.marginRight =3D "auto";=0A= =0A= this.show();=0A= this.okbutton.focus();=0A= },=0A= clickOk: function(e) {=0A= this.hide();=0A= this.callback();=0A= this.divobject.remove();=0A= }=0A= });=0A= =0A= var WaitPopUp =3D Class.create(PopUp, {=0A= initialize: function($super) {=0A= $super();=0A= =0A= var image =3D new Element('img', { 'src': = '/global/ajax/gui/images/gif/ajax-wait.gif' });=0A= this.setContent(image);=0A= this.divcontent.style.marginLeft =3D "auto";=0A= this.divcontent.style.marginRight =3D "auto";=0A= this.divcontent.style.marginTop =3D "50px";=0A= this.divcontent.style.marginBottom =3D "50px";=0A= this.divcontent.style.width =3D "16px";=0A= this.addButton(new Element('div').update("Please wait..."));=0A= =0A= this.timer =3D null;=0A= this.delay =3D 0;=0A= },=0A= clearDelayHide: function() {=0A= this.delay =3D 0;=0A= },=0A= delayShow: function(delay) {=0A= if (this.timer =3D=3D=3D null) {=0A= this.delay =3D delay;=0A= this.timer =3D setTimeout(this.show.bind(this), delay);=0A= }=0A= },=0A= show: function($super) {=0A= if (this.timer !=3D=3D null) {=0A= clearTimeout(this.timer);=0A= this.timer =3D setTimeout(this.clearDelayHide.bind(this), this.delay);=0A= }=0A= $super();=0A= },=0A= delayHide: function(delay) {=0A= if (this.timer =3D=3D=3D null) {=0A= this.timer =3D setTimeout(this.hide.bind(this), delay);=0A= }=0A= },=0A= hide: function($super) {=0A= if (this.timer !=3D=3D null) {=0A= clearTimeout(this.timer);=0A= this.timer =3D null;=0A= if (this.delay > 0) {=0A= this.delayHide(this.delay);=0A= this.clearDelayHide();=0A= return;=0A= }=0A= }=0A= $super();=0A= }=0A= });=0A= =0A= var Tab =3D Class.create({=0A= initialize: function(params, content) {=0A= if (content) {=0A= this.content =3D $(content);=0A= }=0A= else {=0A= this.content =3D new Element('div', Object.extend({ 'class': = 'kasTabContent' }, params));=0A= }=0A= this.tab =3D null;=0A= this.index =3D null;=0A= this.description =3D null;=0A= this.manager =3D null;=0A= this.callback =3D this.defaultCallback.bind(this);=0A= },=0A= getContent: function() {=0A= return this.content;=0A= },=0A= appendChild: function(element) {=0A= return this.content.appendChild($(element));=0A= },=0A= getCallback: function() {=0A= return this.callback;=0A= },=0A= getTab: function(tab) {=0A= return this.tab;=0A= },=0A= setTabManager: function(manager) {=0A= this.manager =3D manager;=0A= },=0A= setIndex: function(index) {=0A= this.index =3D index;=0A= },=0A= setDescription: function(description) {=0A= if (description !=3D=3D null) {=0A= if (this.tab !=3D=3D null) {=0A= this.tab.update(description);=0A= }=0A= else {=0A= this.tab =3D new Element('li').update(element =3D new Element('a', = {'href': '#'}).update(description));=0A= }=0A= }=0A= this.description =3D description;=0A= },=0A= setCallback: function(callback) {=0A= if (Object.isFunction(callback)) {=0A= this.callback =3D callback;=0A= }=0A= },=0A= setActive: function(active) {=0A= if (this.tab !=3D=3D null) {=0A= if (active) {=0A= this.tab.addClassName('active');=0A= }=0A= else {=0A= this.tab.removeClassName('active');=0A= }=0A= }=0A= },=0A= defaultCallback: function(what) {=0A= if (what =3D=3D=3D "before-show") {=0A= return this.onBeforeShow();=0A= }=0A= else if (what =3D=3D=3D "show") {=0A= this.onShow();=0A= }=0A= else if (what =3D=3D=3D "before-hide") {=0A= return this.onBeforeHide();=0A= }=0A= else if (what =3D=3D=3D "hide") {=0A= this.onHide();=0A= }=0A= else {=0A= return false;=0A= }=0A= },=0A= show: function() {=0A= this.content.show();=0A= },=0A= hide: function() {=0A= this.content.hide();=0A= },=0A= visible: function() {=0A= return this.content.visible();=0A= },=0A= onBeforeShow: function() {=0A= return true;=0A= },=0A= onShow: function() {=0A= },=0A= onBeforeHide: function() {=0A= return true;=0A= },=0A= onHide: function() {=0A= }=0A= });=0A= =0A= var TabbedPopUp =3D Class.create(PopUp, {=0A= initialize: function($super) {=0A= $super(); =0A= this.tabs =3D new Array();=0A= this.divcontent.appendChild(this._tabs_element =3D new Element('ul', = {'class': 'kasTabMenu'}));=0A= this.currentTab =3D -1;=0A= },=0A= clickTab: function(e, tabdata) {=0A= e.stop();=0A= this.showTab(tabdata.index);=0A= },=0A= addTab: function(description, content, callback) {=0A= if (content instanceof Tab) {=0A= var tabdata =3D content;=0A= content =3D tabdata.getContent();=0A= }=0A= else {=0A= var tabdata =3D new Tab({}, content);=0A= }=0A= tabdata.setTabManager(this);=0A= tabdata.setIndex(this.tabs.length);=0A= tabdata.setDescription(description);=0A= tabdata.setCallback(callback);=0A= tab =3D tabdata.getTab();=0A= if (tab !=3D=3D null) {=0A= Event.observe(tab, 'click', this.clickTab.bindAsEventListener(this, = tabdata));=0A= this._tabs_element.appendChild(tab);=0A= }=0A= tabdata.setActive(false);=0A= tabdata.hide();=0A= this.divcontent.appendChild(tabdata.getContent());=0A= this.tabs.push(tabdata);=0A= },=0A= showTab: function(index) {=0A= if (typeof index !=3D=3D "number") {=0A= if (typeof index =3D=3D=3D "string") {=0A= tab =3D this.tabs.detect(function(tab) { return tab.description = =3D=3D=3D index; });=0A= if ( typeof tab !=3D=3D "undefined" ) {=0A= index =3D tab.index;=0A= }=0A= }=0A= if (typeof index !=3D=3D "number") {=0A= return;=0A= }=0A= }=0A= if (this.currentTab !=3D index) {=0A= if (this.currentTab >=3D 0) {=0A= if (this.tabs[this.currentTab].callback("before-hide") =3D=3D=3D = false) {=0A= return;=0A= }=0A= }=0A= if (this.tabs[index].callback("before-show") =3D=3D=3D false) {=0A= return;=0A= }=0A= if (this.currentTab >=3D 0) {=0A= this.tabs[this.currentTab].hide();=0A= this.tabs[this.currentTab].setActive(false);=0A= this.tabs[this.currentTab].callback("hide");=0A= }=0A= }=0A= else {=0A= if (this.tabs[index].callback("before-show") =3D=3D=3D false) {=0A= return;=0A= }=0A= }=0A= this.tabs[index].setActive(true);=0A= this.tabs[index].show();=0A= this.tabs[index].callback("show");=0A= this.currentTab =3D index;=0A= },=0A= hide: function($super) {=0A= if (this.currentTab > -1 && this.currentTab < this.tabs.length) {=0A= if (this.tabs[this.currentTab].callback("before-hide") =3D=3D=3D = false)=0A= return;=0A= this.tabs[this.currentTab].callback("hide");=0A= this.tabs[this.currentTab].hide();=0A= }=0A= $super();=0A= }=0A= });=0A= =0A= var g_kasTinyMCELoader =3D null;=0A= var KasTinyMCELoader =3D Class.create(PopUp, {=0A= initialize: function(tinymcereadycallback) {=0A= if (g_kasTinyMCELoader =3D=3D null) {=0A= g_kasTinyMCELoader =3D this;=0A= =0A= this.tinyMCEloaded =3D false;=0A= this.callbacks =3D new Array();=0A= if (typeof tinymcereadycallback =3D=3D = 'function')=0A= = this.callbacks.push(tinymcereadycallback);=0A= =0A= if (typeof tinyMCE =3D=3D=3D "undefined") {=0A= var scriptTag =3D new Element('script', = {'language': 'Javascript', 'src': = '/global/javascript/tiny_mce/3.3.9.3/tiny_mce/tiny_mce.js'});=0A= Event.observe(scriptTag, 'load', = this.tinyMCELoadedCallback.bindAsEventListener(this));=0A= __setCSS_Helper(scriptTag);=0A= }=0A= else=0A= this.tinyMCELoadedCallback(null);=0A= }=0A= else {=0A= if (typeof tinymcereadycallback =3D=3D = 'function') {=0A= if (g_kasTinyMCELoader.tinyMCEloaded)=0A= tinymcereadycallback();=0A= else=0A= = g_kasTinyMCELoader.callbacks.push(tinymcereadycallback);=0A= }=0A= }=0A= },=0A= tinyMCELoadedCallback: function(e) {=0A= if (e !=3D null)=0A= e.stop();=0A= this.tinyMCEloaded =3D true;=0A= this.callbacks.each(function (f) {f();});=0A= }=0A= });=0A= =0A= var SwitchUserTab =3D Class.create(Tab, {=0A= initialize: function($super, peopleid, username, returning) {=0A= // Call the super class=0A= $super();=0A= =0A= // Remember values=0A= this.peopleid =3D peopleid;=0A= this.username =3D username;=0A= this.returning =3D returning;=0A= =0A= // Create structure=0A= var element;=0A= this.appendChild(element =3D new Element('div', {"style": "clear: = both; padding: 10px;"}));=0A= if (returning)=0A= element.update("Enter the master account password for '" + = this.username + "', then click 'Return to Master Account'.");=0A= else=0A= element.update("Enter your master account password, then click 'Log = In to " + this.username + "'.");=0A= this.appendChild(element =3D new Element('div', {"style": "clear: = both;"}));=0A= element.appendChild(new Element('div', {"style": "padding-top: 2px; = margin-right: 10px; width: 200px; text-align: right; font-size: smaller; = font-weight: bold; float: left;"}).update('Password'));=0A= element.appendChild(this.masterPassword =3D new Element('input', = {"type": "password", "style": "width: 134px;", "value": ""}));=0A= this.masterPassword.observe('keypress', = this.onKeypress.bindAsEventListener(this));=0A= },=0A= show: function($super) {=0A= $super();=0A= this.masterPassword.focus.bind(this.masterPassword).defer();=0A= },=0A= onKeypress: function(event) {=0A= if (event.keyCode =3D=3D Event.KEY_RETURN) {=0A= Event.stop(event);=0A= this.doSwitch();=0A= }=0A= },=0A= doSwitch: function() {=0A= this.masterPassword.value =3D this.masterPassword.value.strip();=0A= var message =3D "";=0A= if (this.masterPassword.value.length <=3D 0)=0A= message +=3D "
  • Please enter the password
  • ";=0A= if (message.length > 0) {=0A= new AlertPopUp("Please fix the following and try again:
      " + = message + "
    ");=0A= return false;=0A= }=0A= =0A= var values =3D {=0A= "switchto_peopleid": this.peopleid,=0A= "authorization": this.masterPassword.value=0A= };=0A= =0A= var waitPopUp =3D new WaitPopUp();=0A= waitPopUp.show();=0A= =0A= new Ajax.Request('/api/account/switchuser', {=0A= parameters: {=0A= data: Object.toJSON(values) =0A= },=0A= onSuccess: function(response) {=0A= // Handle failure gracefully=0A= if (response.responseJSON.result.success !=3D true) {=0A= waitPopUp.hide();=0A= new AlertPopUp("Unable to login:

    " + = response.responseJSON.result.error + "");=0A= return;=0A= }=0A= =0A= // Direct the user to the login URL=0A= document.location.href =3D response.responseJSON.result.url;=0A= },=0A= onFailure: function(response) {=0A= waitPopUp.hide();=0A= message =3D "";=0A= if (typeof response.responseJSON.result.success !=3D "undefined")=0A= message =3D response.responseJSON.result.error;=0A= new AlertPopUp("Unable to login:

    " + message + "");=0A= }=0A= });=0A= =0A= return true;=0A= }=0A= });=0A= =0A= var SwitchUserPopUp =3D Class.create(TabbedPopUp, {=0A= initialize: function($super, peopleid, username, returning) {=0A= $super();=0A= =0A= // Create our one tab=0A= this.switchusertab =3D new SwitchUserTab(peopleid, username, = returning);=0A= =0A= // Create our buttons=0A= var element;=0A= element =3D new Element('button', { 'class': 'kasBtn = kasBtnRed' }).update("Cancel");=0A= Event.observe(element, 'click', = this.clickCancel.bindAsEventListener(this));=0A= this.addButton(element);=0A= element =3D new Element('button', { 'class': 'kasBtn = kasBtnGreen' }).update(returning ? "Return to Master Account" : "Log In = to " + username);=0A= Event.observe(element, 'click', = this.clickOk.bindAsEventListener(this));=0A= this.addButton(element);=0A= =0A= // Add the tabs to the tab manager=0A= this.addTab("Security", this.switchusertab);=0A= =0A= // By default we "show" ourselves=0A= this.show();=0A= },=0A= show: function($super) {=0A= this.showTab(0);=0A= $super();=0A= },=0A= clickCancel: function(e) {=0A= this.hide();=0A= },=0A= clickOk: function(e) {=0A= if (this.switchusertab.doSwitch())=0A= this.hide();=0A= }=0A= });=0A= =0A= // create CSS element on the fly=0A= function __setCSS_Helper(css) {=0A= try {=0A= // append stylesheet to alter=0A= document.getElementsByTagName("head")[0].appendChild(css);=0A= } catch (e) {=0A= setTimeout(function(){__setCSS_Helper(css)}, 100);=0A= }=0A= }=0A= =0A= function _setCSS() {=0A= var css =3D new Element('link', { 'href': '/global/ajax/gui/gui.css', = 'rel': 'stylesheet', 'type': 'text/css' });=0A= =0A= // attempt to add the css and then keep trying till we do=0A= __setCSS_Helper(css);=0A= css =3D null;=0A= }=0A= =0A= // _setCSS();=0A= =0A= =0A= /* /global/sharewithdropdown/sharewithdropdown.js */=0A= /* sharewithdropdown.js * Implementation of a drop-down list for the "share with" username = boxes * * Requirements: * the prototype library must be loaded before this script is loaded */ // This is a base class that implements most of the "common" // case ajax code for all of our share with ajax requests. var ShareWithAjaxRequestCommon =3D Class.create(Ajax.Request, { addReadyCallback: function(callback) { if (!Object.isFunction(callback)) { return; } this.readycallbacklist.push(callback); }, deleteReadyCallback: function(callback) { if (!Object.isFunction(callback)) { return; } if (typeof this.readycallbacklist !=3D "undefined") { this.readycallbacklist =3D this.readycallbacklist.without(callback); } }, ready: function() { return (this.requestInProgress =3D=3D=3D false); }, callReadyCallbacks: function(success) { this.readycallbacklist.each(function(f) { f(this, success); }, this); }, handleResponse: function(response) { }, onsuccess: function(transport) { this.requestInProgress =3D false; if (transport && transport.responseJSON && = transport.responseJSON.result && transport.responseJSON.result =3D=3D = "OK") { this.handleResponse(transport.responseJSON); this.callReadyCallbacks(true); } else { this.callReadyCallbacks(false); } }, onfailure: function() { this.requestInProgress =3D false; this.callReadyCallbacks(false); }, onexception: function(requestor, exception) { this.requestInProgress =3D false; console.log("ShareWithAjaxRequestCommon::onexception: " + requestor + = ", " + exception); }, initialize: function($super, url, params, callback) { this.readycallbacklist =3D new Array(); this.addReadyCallback(callback); this.requestInProgress =3D true; this.params =3D params; $super(url, { parameters: this.params, onSuccess: this.onsuccess.bind(this), onFailure: this.onfailure.bind(this), onException: this.onexception.bind(this) }); } }); // Main share with drop down search array class, which is part AJAX = request class // and part data manager for all data related to = friends/visited/sharedwith/and=20 // found people. var ShareWithDropDownSearchArray =3D = Class.create(ShareWithAjaxRequestCommon, { ready: function($super) { return ($super() && this.list !=3D=3D null); }, callReadyCallbacks: function($super, success) { if (success) { $super(success); } }, addChangeCallback: function(callback) { if (!Object.isFunction(callback)) { return; } this.changecallbacklist.push(callback); }, callChangeCallbacks: function() { this.changecallbacklist.each(function(f) { f(this); }, this); }, _createInternalDataStructures: function() { // Create internal data structures this.idhash =3D new Hash(); this.usernamehash =3D new Hash(); this.friendlist =3D new Array(); this.visitedlist =3D new Array(); this.sharedwithlist =3D new Array(); this.list =3D new Array(); this._groupidhash =3D new Hash(); this.grouplist =3D new Array(); this.readycallbacklist =3D new Array(); this.changecallbacklist =3D new Array(); this.friendlistgroupid =3D 0; this.multiseatgroupid =3D 0; }, _addEntry: function(entry) { if (typeof this.idhash.get(entry.id) =3D=3D 'undefined') { if (typeof entry.groups =3D=3D 'undefined') { entry.groups =3D new Array(); } this.idhash.set(entry.id, entry); this.usernamehash.set(entry.username, entry); this.list.push(entry); if (entry.type =3D=3D 'friend') { this.friendlist.push(entry); } else if (entry.type =3D=3D 'visited') { this.visitedlist.push(entry); } else if (entry.type =3D=3D 'sharedwith') { this.sharedwithlist.push(entry); } for (var i =3D 0; i < entry.groups.length; i++) { var group =3D this._groupidhash.get(entry.groups[i]); if (typeof group =3D=3D "undefined") { // This shouldn't happen console.log("Bad groupid (" + entry.groups[i] + ") detected in = entry record (id=3D" + entry.id + ", username=3D\"" + entry.username + = "\")", entry); continue; } // if (typeof group.members =3D=3D "undefined") { // group.members =3D new Array(); // } group.members.push(entry); } } else { var curEntry =3D this.idhash.get(entry.id); var keys =3D Object.keys(entry); for (var i =3D 0; i < keys.length; i++) { if (keys[i] =3D=3D 'groups') { for (var j =3D 0; j < entry.groups.length; j++) { var group =3D this._groupidhash.get(entry.groups[j]); if (typeof group =3D=3D "undefined") { // This shouldn't happen console.log("Bad groupid (" + entry.groups[j] + ") detected in = entry record (id=3D" + entry.id + ", username=3D\"" + entry.username + = "\")", entry); continue; } // if (typeof group.members =3D=3D "undefined") { // group.members =3D new Array(); // } if (group.members.indexOf(entry.groups[j]) < 0) { group.members.push(curEntry); } } for (var j =3D 0; j < curEntry.groups.length; j++) { if (entry.groups.indexOf(curEntry.groups[j]) < 0) { var group =3D this._groupidhash.get(curEntry.groups[j]); if (group.members.indexOf(curEntry) >=3D 0) { group.members.splice(group.members.indexOf(curEntry), 1); } } } } if (keys[i] =3D=3D 'username') { if (curEntry[keys[i]] !=3D entry[keys[i]]) { this.usernamehash.unset(curEntry[keys[i]]); this.usernamehash.set(entry[keys[i]], curEntry); } =09 } if (keys[i] =3D=3D 'type') { if (curEntry[keys[i]] !=3D entry[keys[i]]) { var removeList =3D null, addList =3D null; if (typeof curEntry[keys[i]] !=3D=3D "undefined") { if (curEntry[keys[i]] =3D=3D 'friend') { removeList =3D this.friendlist; } if (curEntry[keys[i]] =3D=3D 'visited') { removeList =3D this.visitedlist; } if (curEntry[keys[i]] =3D=3D 'sharedwith') { removeList =3D this.sharedwithlist; } } if (typeof entry[keys[i]] !=3D=3D "undefined") { if (entry[keys[i]] =3D=3D 'friend') { addList =3D this.friendlist; } if (entry[keys[i]] =3D=3D 'visited') { addList =3D this.visitedlist; } if (entry[keys[i]] =3D=3D 'sharedwith') { addList =3D this.sharedwithlist; } } if (removeList !=3D null) { index =3D removeList.indexOf(curEntry); if (index >=3D 0) { removeList.splice(index, 1); } } if (addList !=3D null) { addList.push(curEntry); } } } curEntry[keys[i]] =3D entry[keys[i]]; } } }, addEntry: function(entry) { this._addEntry(entry); this.callChangeCallbacks(); }, deleteEntryById: function(id) { var isMultiSeatEntry =3D false; var entry =3D this.idhash.get(id); if (typeof entry =3D=3D=3D 'undefined') { return; } =09 // Remove from any group membership lists for (var i =3D 0; i < entry.groups.length; i++) { var group =3D this._groupidhash.get(entry.groups[i]); if (typeof group =3D=3D "undefined") { // This shouldn't happen console.log("Bad groupid (" + entry.groups[i] + ") detected in entry = record (id=3D" + entry.id + ", username=3D\"" + entry.username + "\")", = entry); continue; } // Cannot remove multiseat group members if (this.multiseatgroupid > 0 && group.value =3D=3D = this.multiseatgroupid) { isMultiSeatEntry =3D true; continue; } if (typeof group.members !=3D "undefined") { index =3D group.members.indexOf(entry); if (index >=3D 0) { group.members.splice(index, 1); } } } // If this was a multiseat entry, replace the groups list with one // that contains only this entry. if (isMultiSeatEntry) entry.groups =3D [this.multiseatgroupid]; // Remove from any type-based list var removeList =3D null; if (entry.type =3D=3D "friend") { removeList =3D this.friendlist; } if (entry.type =3D=3D "visited") { removeList =3D this.visitedlist; } if (entry.type =3D=3D "sharedwith") { removeList =3D this.sharedwithlist; } if (removeList !=3D=3D null) { index =3D removeList.indexOf(entry); if (index >=3D 0) { removeList.splice(index, 1); } } // Only if this is not a multiseat entry can it be removed from the = list if (!isMultiSeatEntry) { // Remove from the hashes this.idhash.unset(id); this.usernamehash.unset(entry.username); // Remove from the master list var index =3D this.list.indexOf(entry); if (index >=3D 0) { this.list.splice(index, 1); } } =09 // Lastly, update any records. this.callChangeCallbacks(); }, _addGroup: function(group) { if (typeof group.members =3D=3D 'undefined') { group.members =3D new Array(); } if (typeof this._groupidhash.get(group.value) =3D=3D 'undefined') { this._groupidhash.set(group.value, group); this.grouplist.push(group); } }, addGroup: function(group) { this._addGroup(group); this.callChangeCallbacks(); }, deleteGroupById: function(groupid) { var group =3D this._groupidhash.get(groupid); if (typeof group =3D=3D 'undefined') { return; } // If this is the multiseat group, it cannot be deleted if (this.multiseatgroupid > 0 && group.value =3D=3D = this.multiseatgroupid) return; =09 // Remove the group from each member's list of groups group.members.each(function(member) { var index =3D member.groups.indexOf(group.value); if (index >=3D 0) { member.groups.splice(index, 1); } }); =09 // Empty out the groups array group.members.splice(0, group.members.length); =09 // Remove the group from the internal data structures this._groupidhash.unset(groupid); var index =3D this.grouplist.indexOf(group); if (index >=3D 0) { this.grouplist.splice(index, 1); } // Call the change callbacks this.callChangeCallbacks(); }, findId: function(id) { var result; result =3D this.idhash.get(id); if (typeof result =3D=3D "undefined") { return null; } return result; }, findUsername: function(username) { var result; result =3D this.usernamehash.get(username); if (typeof result =3D=3D "undefined") { return null; } return result; }, findGroupId: function(gid) { var group =3D this._groupidhash.get(gid); if (typeof group =3D=3D 'undefined') { return null; } return group; }, getMasterList: function() { return this.list; }, friends: function() { return this.friendlist; }, visited: function() { return this.visitedlist; }, sharedwith: function() { return this.sharedwithlist; }, groups: function() { return this.grouplist; }, setFriendListGroupId: function(friendlistgroupid) { this.friendlistgroupid =3D friendlistgroupid; }, getFriendListGroupId: function() { return this.friendlistgroupid; }, setMultiSeatGroupId: function(multiseatgroupid) { this.multiseatgroupid =3D multiseatgroupid; }, getMultiSeatGroupId: function() { return this.multiseatgroupid; }, handleResponse: function(response) { if (typeof response.friendlistgroupid !=3D=3D 'undefined') { this.setFriendListGroupId(response.friendlistgroupid); } if (typeof response.multiseatgroupid !=3D=3D 'undefined') { this.setMultiSeatGroupId(response.multiseatgroupid); } if (self.location.search.indexOf("debugNoFriends=3D1") < 0) { if (typeof response.groups !=3D=3D 'undefined') { for (var j =3D 0; j < response.groups.length; j++) { this._addGroup(response.groups[j]); } } for (var i =3D 0; i < response.results.length; i++) { this._addEntry(response.results[i]); } } this.callChangeCallbacks(); }, initialize: function($super, app) { this._createInternalDataStructures(); var params =3D {}; if (typeof app !=3D=3D 'undefined') { params =3D { app: app }; } $super('/global/sharewithdropdown/sharewithdropdownsearcharray.php', = params); }, changeGroupName: function(index, newName) { this.grouplist[index].sharegroupname =3D newName; this.callChangeCallbacks(); }, searchCheck: function(value, needles, needlematches) { var result =3D { match: "", score: 0 }; var matchedPositions =3D new Array(); =09 // Error checking to guard against bad data if (typeof value =3D=3D 'undefined' || value =3D=3D null) return result; // Check value agains all the needles var haystack =3D value.toLowerCase(); needles.each(function (needle, index) { var index1 =3D haystack.indexOf(needle); if (index1 >=3D 0) { needlematches[index] =3D 1; var score =3D (needle.length * 10.0 ) / value.length + (100.0 * (value.length - index1)) / value.length; result.score +=3D score; for (var index2 =3D 0; index2 < needle.length; index2++) { matchedPositions[index1 + index2] =3D 1; } } }); if (result.score =3D=3D 0.0) { result.match =3D value; } else { var isBold =3D false; for (var index1 =3D 0; index1 < value.length; index1++) { if (matchedPositions[index1] =3D=3D 1 && !isBold) { result.match +=3D ""; isBold =3D true; } else if (matchedPositions[index1] !=3D 1 && isBold) { result.match +=3D ""; isBold =3D false; } result.match +=3D value.substr(index1, 1); } if (isBold) { result.match +=3D ""; } } =09 return result; }, search: function(needle) { var results =3D [], i, j; // Return an empty list under certain conditions if (!this.ready() || this.list.length < 1) { return []; } =09 // Make needle lower case needle =3D needle.toLowerCase(); =09 // Split needle up into seperate parts... split by commas and spaces var myNeedleRegex =3D /[ ,]/; var mySpaceRegex =3D / /g; var needles =3D needle.split(myNeedleRegex); if (needles.length < 1) { return []; } // Make sure any remaining spaces or commas are trimmed from each = needle // and remove any empty needles for (i =3D 0; i < needles.length && needles.length > 0; ) { needles[i] =3D needles[i].replace(mySpaceRegex, ""); if (needles[i].length =3D=3D 0) { needles.splice(i, 1); } else { i++; } } =09 // If there are no remaining needles, return the empty set. if (needles.length =3D=3D 0) return []; // Go through every entry in the list looking for matches for (i =3D 0; i < this.list.length; i++) { var score =3D 0.0, needlematches =3D []; =09 // Check username agains all the needles var usernameResult =3D this.searchCheck(this.list[i].username, = needles, needlematches); score =3D score + usernameResult.score; =09 // Check fname name var fnameResult =3D this.searchCheck(this.list[i].fname, needles, = needlematches); score =3D score + fnameResult.score; =09 // Check lname name var lnameResult =3D this.searchCheck(this.list[i].lname, needles, = needlematches); score =3D score + lnameResult.score; =09 // If score > 0, we found something. We must have found ALL the = needles as well if ( score > 0.0 ) { for (j =3D 0; j < needles.length; j++) { if (needlematches[j] !=3D 1) { break; } } if (j =3D=3D needles.length) { results[results.length] =3D { score: score, username: = this.list[i].username, usernameMatch: usernameResult.match, fname: = this.list[i].fname, fnameMatch: fnameResult.match, lname: = this.list[i].lname, lnameMatch: lnameResult.match, id: this.list[i].id, = group: false }; } } } // Go through all of the groups also looking for matches for (i =3D 0; i < this.grouplist.length; i++) { var score =3D 0.0, needlematches =3D []; =09 // Check username agains all the needles var groupnameResult =3D = this.searchCheck(this.grouplist[i].sharegroupname, needles, = needlematches); score =3D groupnameResult.score; =09 // If score > 0, we found something. We must have found ALL the = needles as well if ( score > 0.0 ) { for (j =3D 0; j < needles.length; j++) { if (needlematches[j] !=3D 1) { break; } } if (j =3D=3D needles.length) { results[results.length] =3D { score: score, username: = this.grouplist[i].sharegroupname, usernameMatch: groupnameResult.match, = fname: '', fnameMatch: '(Group)', lname: '', lnameMatch: '', id: = this.grouplist[i].value, group: true }; } } } // Sort the results by score, then by username results.sort(function(a, b) { if (a.score > b.score) { return -1; } if (a.score < b.score) { return 1; } if (a.username > b.username) { return 1; } if (a.username < b.username) { return -1; } return 0; }); =09 // Return the results return results; } }); var g_shareWithDropDownSearchArray =3D null; var ShareWithAjaxFindFriends =3D = Class.create(ShareWithAjaxRequestCommon, { ready: function($super) { return ($super() && this.list !=3D=3D null); }, callReadyCallbacks: function($super, success) { if (success) { $super(success); } }, handleResponse: function(response) { this.list =3D response.results; g_shareWithAjaxFindFriendsCache[this.cacheKey] =3D this.list; if (typeof g_shareWithDropDownSearchArray !=3D "undefined" && = g_shareWithDropDownSearchArray !=3D=3D null) { this.list.each(function(entry) { = g_shareWithDropDownSearchArray.addEntry(entry); }); } }, initialize: function($super, searchValue, startValue, readyCallback) { this.list =3D null; this.searchValue =3D searchValue; this.startValue =3D startValue; this.cacheKey =3D searchValue + "+" + startValue; this.cacheKey =3D this.cacheKey.toLowerCase(); if (typeof g_shareWithAjaxFindFriendsCache =3D=3D "undefined") { g_shareWithAjaxFindFriendsCache =3D new Object(); } =09 if (typeof g_shareWithAjaxFindFriendsCache[this.cacheKey] !=3D = "undefined") { this.list =3D g_shareWithAjaxFindFriendsCache[this.cacheKey]; this.requestInProgress =3D false; if (Object.isFunction(readyCallback)) { readyCallback(this); } } else { $super('/global/sharewithdropdown/sharewithajaxfindfriends.php', { = searchValue: searchValue, start: startValue }, readyCallback); } } }); =09 var ShareWithAjaxRenameGroup =3D = Class.create(ShareWithAjaxRequestCommon, { initialize: function($super, group, newName, readyCallback) { $super('/global/sharewithdropdown/sharewithajaxrenamegroup.php', { = group: group, name: newName }, readyCallback); } }); =09 var ShareWithAjaxCreateGroup =3D = Class.create(ShareWithAjaxRequestCommon, { callReadyCallbacks: function(success) { this.readycallbacklist.each(function(f) { f(this, success, = this.groupid); }, this); }, handleResponse: function(response) { this.groupid =3D response.groupid; }, initialize: function($super, name, members, readyCallback) { $super('/global/sharewithdropdown/sharewithajaxcreategroup.php', { = name: name, members: members.join(",") }, readyCallback); } }); =09 var ShareWithAjaxDeleteGroup =3D = Class.create(ShareWithAjaxRequestCommon, { initialize: function($super, group, readyCallback) { $super('/global/sharewithdropdown/sharewithajaxdeletegroup.php', { = group: group }, readyCallback); } }); =09 var ShareWithAjaxUpdateGroupMembership =3D = Class.create(ShareWithAjaxRequestCommon, { initialize: function($super, group, members, readyCallback) { $super('/global/sharewithdropdown/sharewithajaxupdategroup.php', { = group: group, members: members.join(",") }, readyCallback); } }); =09 var ShareWithAjaxAddFriend =3D Class.create(ShareWithAjaxRequestCommon, = { callReadyCallbacks: function(success) { this.readycallbacklist.each(function(f) { f(this, success, = this.groupid); }, this); }, handleResponse: function(response) { this.groupid =3D response.groupid; }, initialize: function($super, params, readyCallback) { $super('/global/sharewithdropdown/sharewithajaxaddfriend.php', params, = readyCallback); } }); =09 var ShareWithAjaxDeleteFriends =3D = Class.create(ShareWithAjaxRequestCommon, { initialize: function($super, deleteids, readyCallback) { $super('/global/sharewithdropdown/sharewithajaxdeletefriends.php', { = deleteids: deleteids.join(",") }, readyCallback); } }); =09 var ShareWithAjaxIgnoreSubscription =3D = Class.create(ShareWithAjaxRequestCommon, { initialize: function($super, params, readyCallback) { = $super('/global/sharewithdropdown/sharewithajaxignoresubscription.php', = params, readyCallback); } }); var ShareWithAjaxUserLookup =3D Class.create(ShareWithAjaxRequestCommon, = { ready: function($super) { return ($super() && this.list !=3D=3D null); }, callReadyCallbacks: function(success) { if (success) { this.readycallbacklist.each(function(f) { f(this, this.entry); }, = this); } }, handleResponse: function(response) { this.list =3D response.results; g_shareWithAjaxUserLookupCache[this.cacheKey] =3D this.list; if (typeof g_shareWithDropDownSearchArray !=3D "undefined" && = g_shareWithDropDownSearchArray !=3D=3D null) { this.list.each(function(entry) { = g_shareWithDropDownSearchArray.addEntry(entry); }); } }, initialize: function($super, searchValue, type, readyCallback, entry) { this.list =3D null; this.searchValue =3D searchValue; this.type =3D type; this.entry =3D entry; this.cacheKey =3D searchValue + "+" + type; this.cacheKey =3D this.cacheKey.toLowerCase(); if (typeof g_shareWithAjaxUserLookupCache =3D=3D "undefined") { g_shareWithAjaxUserLookupCache =3D new Object(); } =09 if (typeof g_shareWithAjaxUserLookupCache[this.cacheKey] !=3D = "undefined") { this.list =3D g_shareWithAjaxUserLookupCache[this.cacheKey]; if (Object.isFunction(readyCallback)) { readyCallback(this, this.entry); } } else { $super('/global/sharewithdropdown/sharewithajaxuserlookup.php', { = searchValue: searchValue, type: type }, readyCallback); } } }); var SortHelpers =3D { sortFriendListByFnameLnameUsername: function(a, b) { var astr =3D a.fname + " " + a.lname + " " + a.username; var bstr =3D b.fname + " " + b.lname + " " + b.username; astr =3D astr.strip(); astr =3D astr.toLowerCase(); bstr =3D bstr.strip(); bstr =3D bstr.toLowerCase(); if (astr > bstr) return 1; if (astr < bstr) return -1; return 0; }, sortFriendListByExactMatchFnameLnameUsername: function(a, b) { var amatch, bmatch; if (typeof a.exactmatch =3D=3D 'undefined') amatch =3D false; else amatch =3D a.exactmatch; if (typeof b.exactmatch =3D=3D 'undefined') bmatch =3D false; else bmatch =3D b.exactmatch; if (amatch && !bmatch) return -1; if (bmatch && !amatch) return 1; return SortHelpers.sortFriendListByFnameLnameUsername(a, b); }, sortFriendListByGroupMembership: function(groupValue, a, b) { var aIndex =3D a.groups.indexOf(groupValue); var bIndex =3D b.groups.indexOf(groupValue); if (aIndex > -1 && bIndex < 0) { return -1; } if (aIndex < 0 && bIndex > -1) { return 1; } return SortHelpers.sortFriendListByFnameLnameUsername(a, b); } }; var ManageFriendsTab =3D Class.create(Tab, SortHelpers, { initialize: function($super) { // Create our layout $super({ 'id': 'kasManageFriendsTab' }); this.managelist =3D new Array(); this.appendChild(element =3D new Element('button', { 'class': 'kasBtn = kasBtnGreen' }).update('Add New Friend to Friends List')); Event.observe(element, 'click', = this.clickOnFindNewFriends.bindAsEventListener(this, element)); this.findFriendsHint =3D new Hint(element, "Click here to find friends = and add them to your friends list", "below"); this.appendChild(element =3D new Element('button', { 'class': 'kasBtn = kasBtnGreen', 'title': 'Click here to add the selected friends to the = share list' }).update('Share With Selected')); Event.observe(element, 'click', = this.clickOnShareWithSelectedFriends.bindAsEventListener(this, = element)); this.shareWithSelectedFriendsButton =3D element; this.appendChild(element =3D new Element('button', { 'class': 'kasBtn = kasBtnRed', 'title': 'Click here to delete the selected friends from = your friend list' }).update('Delete Selected')); Event.observe(element, 'click', = this.clickOnDeleteSelectedFriends.bindAsEventListener(this, element)); this.appendChild(this.divfriendlist =3D new Element('div', { 'id': = 'friendList' })); =09 // Create a popup for finding new friends this.findNewFriendsPopup =3D new = FindPeoplePopUp(FindPeopleModes.ADD_TO_FRIENDS); =09 // Register our "onchange" data callback handler if (g_shareWithDropDownSearchArray =3D=3D=3D null) { // What do we do if this happens?? return; } = g_shareWithDropDownSearchArray.addChangeCallback(this.onChange.bind(this)= ); if (g_shareWithDropDownSearchArray.ready()) { this.onChange(g_shareWithDropDownSearchArray); } }, clickOnFindNewFriends: function(e, element) { e.stop(); this.findFriendsHint.hide(); this.findNewFriendsPopup.show(); }, onDeleteFriendsComplete: function(waitPopUp, request, success) { waitPopUp.hide(); if (success) { this.managelist.each(function f(id) { = g_shareWithDropDownSearchArray.deleteEntryById(id); }); this.managelist.clear(); } }, clickOnShareWithSelectedFriends: function(e, element) { e.stop(); if (this.managelist.length < 1) { new AlertPopUp("Select the friend or friends that you would like to = share with from the list. Then click \"Share With Selected Friends\"."); return; } var manager =3D this.manager; this.managelist.each(function f(id) { var friend =3D g_shareWithDropDownSearchArray.findId(id); manager.opener(friend.username, friend); friend.cbfriend.checked =3D false; }); this.managelist.clear(); this.manager.hide(); }, clickOnDeleteSelectedFriends: function(e, element) { e.stop(); if (this.managelist.length < 1) { new AlertPopUp("Select the friend or friends that you would like to = delete from the list. Then click \"Delete Selected Friends\"."); return; } if (this.managelist.length =3D=3D 1 ) { thisthese =3D "this"; friendfriends =3D "friend"; } else { thisthese =3D "these"; friendfriends =3D "friends"; } if (confirm("Are you really sure you want to delete " + thisthese + " = " + friendfriends + "?\n\nThe " + friendfriends + " you have selected = will be:\n\n* Removed from your friend list, and\n* Removed from your = groups they are a member of\n\nReally delete " + thisthese + " " + = friendfriends + "?")) { var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); new ShareWithAjaxDeleteFriends(this.managelist, = this.onDeleteFriendsComplete.bind(this, waitPopUp)); } }, onReady: function(waitPopUp, data) { waitPopUp.hide(); if (this.manager) { this.manager.show(this.index); } }, clickFriendLink: function(e, friend) { var element =3D e.element(); if ('A' !=3D element.tagName && 'SPAN' !=3D element.tagName) { return; } e.stop(); if (typeof this.manager.opener !=3D "undefined" && this.manager.opener = !=3D=3D null) { if (typeof this.manager.opener =3D=3D "object" && = this.manager.opener.type =3D=3D "text") { this.manager.opener.value =3D friend.username; this.manager.hide(); } if (Object.isFunction(this.manager.opener)) { this.manager.opener(friend.username, friend); this.manager.hide(); } } else { friend.cbfriend.checked =3D !friend.cbfriend.checked; this.clickFriendCheckbox(e, friend); } }, clickFriendCheckbox: function(e, friend) { if (friend.cbfriend.checked) { if (this.managelist.indexOf(friend.id) =3D=3D=3D -1) { this.managelist.push(friend.id); } } else { index =3D this.managelist.indexOf(friend.id); if (index !=3D=3D -1) { this.managelist.splice(index, 1); } } }, onChange: function(data) { var friends =3D data.friends(); var newDiv =3D new Element('div', { 'id': 'friendList' }); friends.sort(this.sortFriendListByFnameLnameUsername); friends.each(function(friend) { if (typeof friend.divManageFriendsEntry =3D=3D=3D "undefined") { var div, element, cb_friend; =09 div =3D new Element('div').update(element =3D new Element('a', { = 'href': '#' })); element.appendChild(cb_friend =3D new Element('input', { 'type': = 'checkbox', 'value': friend.username })); element.appendChild(new Element('span').update(friend.fname + " " + = friend.lname + " (" + friend.username + ")")); Event.observe(element, 'click', = this.clickFriendLink.bindAsEventListener(this, friend)); Event.observe(cb_friend, 'click', = this.clickFriendCheckbox.bindAsEventListener(this, friend)); =09 friend.cbfriend =3D cb_friend; friend.divManageFriendsEntry =3D div; } newDiv.appendChild(friend.divManageFriendsEntry); }, this); this.divfriendlist.replace(newDiv); this.divfriendlist =3D newDiv; if (friends.length =3D=3D 0 && this.visible() && = !this.findNewFriendsPopup.visible()) { this.findFriendsHint.show(); } else { this.findFriendsHint.hide(); } }, onBeforeShow: function() { if (typeof this.manager.opener !=3D "undefined" && this.manager.opener = !=3D=3D null && Object.isFunction(this.manager.opener)) this.shareWithSelectedFriendsButton.show(); else this.shareWithSelectedFriendsButton.hide(); this.manager.savebutton.hide(); this.manager.updatebutton.hide(); if (!g_shareWithDropDownSearchArray.ready()) { var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); = g_shareWithDropDownSearchArray.addReadyCallback(this.onReady.bind(this, = waitPopUp)); return false; } return true; }, onShow: function() { if (this.divfriendlist && this.divfriendlist.childElements().length = =3D=3D 0) { this.findFriendsHint.show(); } else { this.findFriendsHint.hide(); } }, onHide: function() { this.findFriendsHint.hide(); } }); var ManageGroupsTab =3D Class.create(Tab, SortHelpers, { initialize: function($super) { $super({ 'id': 'kasManageGroupsTab' }); this.appendChild(div =3D new Element('div', { 'class': 'swpu_colmask = swpu_leftmenu' })); div.appendChild(div =3D new Element('div', { 'class': 'swpu_colleft' = })); div.appendChild(this.divright =3D new Element('div', { 'class': = 'swpu_col1' })); div.appendChild(this.divleft =3D new Element('div', { 'class': = 'swpu_col2' })); this.appendChild(new Element('br', { 'style': 'clear:both;' })); // Create a popup for finding new friends this.findNewFriendsPopup =3D new = FindPeoplePopUp(FindPeopleModes.ADD_TO_GROUP); =09 // Register our "onchange" data callback handler if (g_shareWithDropDownSearchArray =3D=3D=3D null) { // What do we do if this happens?? return; } = g_shareWithDropDownSearchArray.addChangeCallback(this.onChange.bind(this)= ); if (g_shareWithDropDownSearchArray.ready()) { this.onChange(g_shareWithDropDownSearchArray); } }, createGroupManageEntry: function(active, atitle, cbtitle, value, = description, index, checkbox) { var div, element, cb_viewer, cb_editor; =09 if (typeof this.groupsManage =3D=3D 'undefined') { this.groupsManage =3D new Array(); } if (typeof this.groupsManage[index + 2] =3D=3D 'undefined' || = this.groupsManage[index + 2].description !=3D description) { div =3D new Element('div').update(element =3D new Element('a', { = 'class': (active) ? 'active' : '', 'href': '#', 'title': atitle })); element.appendChild(new Element('span').update(description)); Event.observe(element, 'click', = this.changeDisplayedGroup.bindAsEventListener(this, index)); =09 this.groupsManage[index + 2] =3D { div: div, description: description }; } else { div =3D this.groupsManage[index + 2].div; =09 var child =3D div.firstDescendant(); if (child !=3D=3D null) { if (active) { child.addClassName('active'); } else { child.removeClassName('active'); } } } return div; }, clickGroupMember: function(e, friend) { var element =3D e.element(); if ('A' !=3D element.tagName && 'SPAN' !=3D element.tagName) { return; } e.stop(); friend.cbmember.checked =3D !friend.cbmember.checked; this.clickGroupMemberCheckbox(e, friend); }, clickGroupMemberCheckbox: function(e, friend) { var element =3D e.element(); var groups =3D g_shareWithDropDownSearchArray.groups(); var group; =09 // Use the groups list for defined groups if (this.updateFriendList_lastIndex > -1) { group =3D groups[this.updateFriendList_lastIndex]; } // Use a temporary list for "new" groups else { if (typeof this.temporaryGroup =3D=3D=3D "undefined") { this.temporaryGroup =3D new Object(); this.temporaryGroup.value =3D -1; this.temporaryGroup.members =3D new Array(); } group =3D this.temporaryGroup; } // If checkbox is checked, make this friend a member of the group if (friend.cbmember.checked) { // See if the group is already on this person's list if (friend.groups.indexOf(group.value) < 0) { // It isn't, so add it friend.groups.push(group.value); group.members.push(friend); } } // If checkbox is not checked, remove this friend from the group else { // See if the group has already been removed from this person's list index =3D friend.groups.indexOf(group.value); if (index > -1) { // It hasn't, so delete it friend.groups.splice(index, 1); groupIndex =3D group.members.indexOf(friend); if (groupIndex > -1) { group.members.splice(groupIndex, 1); } } } }, createListEntry: function(friend, description) { var div, element, cb_manage; div =3D new Element('div').update(element =3D new Element('a', = {'href': '#'})); element.appendChild(cb_member =3D new Element('input', { 'type': = 'checkbox', 'name': 'swpu_groupmember', 'title': 'Check this box to make = this person a member of this group', 'value': friend.username })); element.appendChild(new Element('span').update(description)); Event.observe(cb_member, 'click', = this.clickGroupMemberCheckbox.bindAsEventListener(this, friend)); Event.observe(element, 'click', = this.clickGroupMember.bindAsEventListener(this, friend)); =09 friend.cbmember =3D cb_member; friend.divGroupManage =3D div; =09 return div; }, clickOnFindNewFriends: function(e, element) { e.stop(); var groups =3D g_shareWithDropDownSearchArray.groups(); if (this.updateFriendList_lastIndex >=3D 0) { = this.findNewFriendsPopup.setGroup(groups[this.updateFriendList_lastIndex]= .value); } else { this.findNewFriendsPopup.setGroup(0); } this.findNewFriendsPopup.show(); }, updateList: function(index) { if (typeof index =3D=3D "undefined" || index =3D=3D null) { if (typeof this.updateFriendList_lastIndex !=3D "undefined") { return; } if (typeof this.updateFriendList_forceIndex !=3D "undefined") { index =3D this.updateFriendList_forceIndex; delete this.updateFriendList_forceIndex; } else { index =3D -1; } } var multiSeatGroup =3D = g_shareWithDropDownSearchArray.getMultiSeatGroupId(); var divManage =3D new Element('div', { 'class': 'swpu_col2' }); var divListContainer =3D new Element('div', { 'class': 'swpu_col1' }); var groups =3D g_shareWithDropDownSearchArray.groups(); var friends =3D g_shareWithDropDownSearchArray.friends(); var element, div, list =3D friends; // Create 'My Groups:' text divManage.update(new Element('div').update('My Groups:')); // Create the 'Create New Group' list entry divManage.appendChild(this.createGroupManageEntry((-1 =3D=3D index), = 'Click here to create new group', '', 0, '+New Group', -1, true)); =09 if (groups.length <=3D 0) { divManage.appendChild(new Element('div', { 'class': 'Smaller', = 'style': 'font-style: italic; color: #bbbbbb;' }).update('no groups = setup')); } =09 // Catch case where deleted group no longer exists=20 if ( index >=3D groups.length ) { index =3D -1; } // Create an entry for each group that has members for (var i =3D 0; i < groups.length; i ++) { if (groups[i].members || i =3D=3D index) { divManage.appendChild(this.createGroupManageEntry((i =3D=3D index), = groups[i].viewergroup, 'the \'' + groups[i].sharegroupname + '\' group', = groups[i].value, groups[i].sharegroupname + ' (' + = groups[i].members.length + ')', i, true)); } if (i =3D=3D index) { list =3D groups[i].members; } } var isMultiSeatGroup =3D false; if (index >=3D 0 && multiSeatGroup > 0 && multiSeatGroup =3D=3D = groups[index].value) isMultiSeatGroup =3D true; divListContainer.update(div =3D new Element('div').update(new = Element('label', { 'for': 'groupnameManage' }).update("Group = Name: "))); div.appendChild(this.groupname =3D new Element('input', { 'type': = 'text', 'name': 'groupnameManage', 'placeholder': 'Type name here', = 'value': (index >=3D 0 ? groups[index].sharegroupname : "") })); if (index >=3D 0 && typeof groups[index].edit !=3D 'undefined' && = groups[index].edit =3D=3D false) this.groupname.disabled =3D true; if (!isMultiSeatGroup) { divListContainer.appendChild(element =3D new Element('button', { = 'class': 'kasBtn kasBtnGreen' }).update('Add New Friend to Group')); Event.observe(element, 'click', = this.clickOnFindNewFriends.bindAsEventListener(this, element)); } if (index >=3D 0) { Event.observe(this.groupname, 'change', = this.changeGroupName.bindAsEventListener(this, index, this.groupname)); if (typeof this.manager.opener !=3D "undefined" && = this.manager.opener !=3D=3D null) { divListContainer.appendChild(element =3D new Element('button', { = 'class': 'kasBtn kasBtnGreen' }).update("Share With This Group")); Event.observe(element, 'click', = this.clickOnShareWithThisGroup.bindAsEventListener(this, element)); } if (!isMultiSeatGroup) { divListContainer.appendChild(element =3D new Element('button', { = 'class': 'kasBtn kasBtnRed' }).update("Delete Group")); Event.observe(element, 'click', = this.clickOnDeleteGroup.bindAsEventListener(this, element)); } } divListContainer.appendChild(new Element('div', {'style': 'color: = green; padding-top: 3px; padding-bottom: 3px; font-size: = smaller;'}).update((isMultiSeatGroup ? "Below is the multi-seat team = group members. The account owner may change this group using the = multi-seat settings page." : "Check the people you want in this group = below, then click update."))); var divList =3D new Element('div', { 'id': 'kasManageGroupsMemberList' = }); divListContainer.appendChild(divList); if (index >=3D -1) { list =3D friends; if (isMultiSeatGroup) { list =3D g_shareWithDropDownSearchArray.getMasterList(); list.sort(this.sortFriendListByFnameLnameUsername); } else if (index >=3D 0) { list.sort(this.sortFriendListByGroupMembership.bind(this, = groups[index].value)); } else { list.sort(this.sortFriendListByFnameLnameUsername); } for (var i =3D 0; i < list.length; i++) { if (!isMultiSeatGroup) { if (typeof list[i].divGroupManage =3D=3D 'undefined') { list[i].divGroupManage =3D this.createListEntry(list[i], = list[i].fname + " " + list[i].lname + " (" + list[i].username + = ")"); } divList.appendChild(list[i].divGroupManage); if (index >=3D 0) { if (list[i].groups.indexOf(groups[index].value) > -1) { list[i].cbmember.checked =3D true; } else { list[i].cbmember.checked =3D false; } } else { list[i].cbmember.checked =3D false; } } else { if (list[i].groups.indexOf(groups[index].value) > -1) { var newElem =3D new Element('div'); newElem.update(list[i].fname + " " + list[i].lname + " (" + = list[i].username + ")"); divList.appendChild(newElem); } } } } =09 // Replace the left and right divs with the new ones this.divleft.replace(divManage); this.divright.replace(divListContainer); this.divleft =3D divManage; this.divright =3D divListContainer; =09 this.updateFriendList_lastIndex =3D index; }, createGroupComplete: function(index, value, tabIndex, waitPopUp, = request, success, groupid) { if (success) { var group =3D this.temporaryGroup; delete this.temporaryGroup; =09 group.value =3D groupid; group.members.each(function(member) { var index =3D member.groups.indexOf(-1); if (index >=3D 0) { member.groups.splice(index, 1, group.value); } }); =09 g_shareWithDropDownSearchArray.addGroup(group); =09 var groups =3D g_shareWithDropDownSearchArray.groups(); var groupIndex =3D groups.indexOf(group); if (groupIndex >=3D 0) this.updateFriendList_forceIndex =3D groupIndex; } delete this.updateFriendList_lastIndex; this.updateList(); waitPopUp.hide(); }, deleteGroupComplete: function(index, value, tabIndex, waitPopUp, = request, success) { if (success) { // Delete the group's data structure g_shareWithDropDownSearchArray.deleteGroupById(value); =09 // Switch to the next previous group... index--; this.updateFriendList_forceIndex =3D index; } delete this.updateFriendList_lastIndex; this.updateList(); waitPopUp.hide(); }, updateGroupMembersComplete: function(index, value, tabIndex, waitPopUp, = request, success) { delete this.updateFriendList_lastIndex; this.updateFriendList_forceIndex =3D index; this.updateList(); waitPopUp.hide(); }, changeGroupNameComplete: function(index, value, tabIndex, waitPopUp, = request, success) { if (success) { g_shareWithDropDownSearchArray.changeGroupName(index, value); } delete this.updateFriendList_lastIndex; this.updateFriendList_forceIndex =3D index; this.updateList(); waitPopUp.hide(); }, changeGroupName: function(e, index, element) { var groups =3D g_shareWithDropDownSearchArray.groups(); e.stop(); if (element.value !=3D "") { var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); var changeGroupNameRequest =3D new = ShareWithAjaxRenameGroup(groups[index].value, element.value, = this.changeGroupNameComplete.bind(this, index, element.value, 1, = waitPopUp)); } else { element.value =3D groups[index].sharegroupname; } }, changeDisplayedGroup: function(e, index) { var element =3D e.element(); if ('A' !=3D element.tagName && 'SPAN' !=3D element.tagName) { return; } e.stop(); this.updateList(index); }, onChange: function(data) { this.updateList(this.updateFriendList_lastIndex); }, clickOnDeleteGroup: function(e) { e.stop(); var groups =3D g_shareWithDropDownSearchArray.groups(); var group =3D groups[this.updateFriendList_lastIndex]; if (confirm("Are you sure you want to delete this group?\n\nThis = action cannot be undone and will remove\nthis group permanently from = your account.")) { var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); var deleteGroupRequest =3D new ShareWithAjaxDeleteGroup(group.value, = this.deleteGroupComplete.bind(this, this.updateFriendList_lastIndex, = group.value, 1, waitPopUp)); } }, clickOnShareWithThisGroup: function(e, group) { e.stop(); var groups =3D g_shareWithDropDownSearchArray.groups(); var group =3D groups[this.updateFriendList_lastIndex]; if (typeof this.manager.opener !=3D "undefined" && this.manager.opener = !=3D=3D null) { if (Object.isFunction(this.manager.opener)) { this.manager.opener(group.sharegroupname, { username: = group.sharegroupname, fname: '', lname: '', id: group.value, group: true = }); this.manager.hide(); } } }, onBeforeShow: function() { this.onChange(); return true; }, onShow: function(change) { if (this.manager.savebutton) { this.manager.savebutton.hide(); this.manager.updatebutton.show(); } return true; }, clickUpdate: function() { // Is it a new group? if (this.updateFriendList_lastIndex < 0) { // Verify there are group members if (typeof this.temporaryGroup =3D=3D=3D "undefined" || this.temporaryGroup.members.length < 1) { new AlertPopUp("Before you create your group, please select some = people to be members by checking the boxes in the list."); return; } =09 // Verify the group name has been set if (this.groupname.value.length < 1) { new AlertPopUp("Before you create your group, please give it a = name\nby typing it into the group name box.", = this.groupname.focus.bind(this.groupname)); return; } =09 // Submit an ajax request for a new group this.temporaryGroup.sharegroupname =3D this.groupname.value; this.temporaryGroup.viewergroup =3D ""; var memberlist =3D new Array(); this.temporaryGroup.members.each(function(friend) { = memberlist.push(friend.id); }); =09 // Put up our "please wait" div send generate the ajax request var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); var createGroupRequest =3D new = ShareWithAjaxCreateGroup(this.temporaryGroup.sharegroupname, memberlist, = this.createGroupComplete.bind(this, this.updateFriendList_lastIndex, = this.temporaryGroup.value, 1, waitPopUp)); } =09 // Its an existing group being updated else { // Group name changes are handled by separate code, so just make a = list of members and send it // via an ajax request var groups =3D g_shareWithDropDownSearchArray.groups(); var group =3D groups[this.updateFriendList_lastIndex]; var memberlist =3D new Array(); group.members.each(function(friend) { memberlist.push(friend.id); }); =09 // Verify there are group members if (memberlist.length < 1) { if (confirm("All of the group members have been unselected.\n\nDo = you want to delete this group?")) { var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); var deleteGroupRequest =3D new = ShareWithAjaxDeleteGroup(group.value, = this.deleteGroupComplete.bind(this, this.updateFriendList_lastIndex, = group.value, 1, waitPopUp)); return; } } =09 // Put up our "please wait" div send generate the ajax request var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); var updateGroupMembersRequest =3D new = ShareWithAjaxUpdateGroupMembership(group.value, memberlist, = this.updateGroupMembersComplete.bind(this, = this.updateFriendList_lastIndex, group.value, 1, waitPopUp)); } } }); var FindPeopleModes =3D { ADD_TO_FRIENDS: 0, ADD_TO_GROUP: 1, ADD_TO_SHARE: 2 }; var AddFriendTab =3D Class.create(Tab, { initialize: function($super, fname, lname, username, peopleid, = addCallback) { // Remember who we are going to add this.fname =3D fname; this.lname =3D lname; this.username =3D username; this.peopleid =3D peopleid; if (Object.isFunction(addCallback)) { this.addCallback =3D addCallback; } else { this.addCallback =3D Prototype.emptyFunction; } =09 // Call the super class $super({ 'id': 'kasAddFriendTab' }); =09 // Build the layout this.appendChild(div =3D new Element('div', { 'class': 'findBody' })); div.appendChild(this.divresults =3D new Element('div', { 'class': = 'findResults' })); this.appendChild(this.divfooter =3D new Element('div', { 'class': = 'footer' })); this.divfooter.appendChild(this.addtogroupcheckbox =3D new = Element('input', { 'type': 'checkbox', 'name': = 'swpu_findtabaddtogroupcheckbox', 'value': '1'})); Event.observe(this.addtogroupcheckbox, 'click', = this.onAddToGroupCheckboxClick.bindAsEventListener(this)); this.divfooter.appendChild(new Element('label', { 'for': = 'swpu_findtabaddtogroupcheckbox' }).update("Also add " + = this.username + " to this group: ")); this.divfooter.appendChild(this.addtogroupdropdown =3D new = Element('select', { 'name': 'swpu_findtabaddtogroupdropdown', 'size': = '1' })); Event.observe(this.addtogroupdropdown, 'change', = this.onAddToGroupDropdownChange.bindAsEventListener(this)); this.divfooter.appendChild(new Element('span', {'style': 'width: = 8px;'}).update(" ")); this.divfooter.appendChild(this.addtogroupnewedit =3D new = Element('input', { 'type': 'text', 'name': = 'swpu_findtabaddtogroupnewedit', 'value': '', 'size': '15', 'disabled': = '1' })); Event.observe(this.addtogroupnewedit, 'focus', = this.onAddToGroupNewEditFocus.bindAsEventListener(this)); this.addtogroupnewedit.hide(); var descr; if (this.fname =3D=3D "" && this.lname =3D=3D "") { descr =3D this.username; } else { descr =3D this.fname + " " + this.lname; descr =3D descr.strip(); descr =3D descr + "(" + this.username + ")"; } this.divresults.update(new Element('div', {'class': = 'message'}).update("Would you like to add
    " + descr + "
    to your friends list?")); =09 // Register to get sharing changes. if (g_shareWithDropDownSearchArray =3D=3D=3D null) { // What do we do if this happens?? return; } = g_shareWithDropDownSearchArray.addChangeCallback(this.onChange.bind(this)= ); if (g_shareWithDropDownSearchArray.ready()) { this.onChange(g_shareWithDropDownSearchArray); } }, onChange: function(data) { // Reset the dropdown list var groups =3D data.groups(); this.addtogroupdropdown.update(""); =09 // Create an entry for "no group selected" this.addtogroupdropdown.appendChild(new Element('option', {'value': = '-1'}).update("Select Group...")); // Create an entry for each group that has members groups.each(function(group) { if (group.members && group.members.length > 0) { this.addtogroupdropdown.appendChild(new Element('option', {'value': = group.value}).update(group.sharegroupname)); } }, this); =09 // Create an entry for "create new group" this.addtogroupdropdown.appendChild(new Element('option', {'value': = '0'}).update("Create new group...")); }, onAddToGroupCheckboxClick: function(e) { if (this.addtogroupcheckbox.checked) { this.addtogroupdropdown.disabled =3D false; this.addtogroupdropdown.selectedIndex =3D 1; this.onAddToGroupDropdownChange(e); this.addtogroupdropdown.focus(); } else { this.addtogroupdropdown.disabled =3D false; this.addtogroupdropdown.selectedIndex =3D 0; this.addtogroupnewedit.disabled =3D true; this.addtogroupnewedit.hide(); } }, onAddToGroupDropdownChange: function(e) { if (this.addtogroupdropdown.selectedIndex > 0) { this.addtogroupcheckbox.checked =3D true; } else { this.addtogroupcheckbox.checked =3D false; } if (this.addtogroupdropdown.selectedIndex >=3D 0 && = this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].va= lue =3D=3D 0) { this.addtogroupnewedit.disabled =3D false; this.addtogroupnewedit.value =3D "New group name"; this.addtogroupnewedit.show(); this.addtogroupnewedit.focus(); this.addtogroupnewedit.select(); } else { this.addtogroupnewedit.disabled =3D true; this.addtogroupnewedit.hide(); } }, onAddToGroupNewEditFocus: function(e) { this.addtogroupnewedit.select(); }, onAddFriendRequestComplete: function(obj, waitPopUp, request, success, = groupid) { if (success) { var friend_new =3D new Object(); =09 // Add required fields that make this a friend record Object.extend(friend_new, obj); Object.extend(friend_new, { groups: new Array() }); Object.extend(friend_new, { type: "friend" }); =09 // If added to a group, make sure we create proper entries in friend = record if (groupid > 0) { // If a new group was created, add it to the search array if (this.addtogroupdropdown.selectedIndex >=3D 0 && = this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].va= lue =3D=3D 0) { g_shareWithDropDownSearchArray.addGroup({ value: groupid, = sharegroupname: this.addtogroupnewedit.value, viewergroup: ""}); } =09 // Add the group id to the list of member groups for this new friend friend_new.groups.push(groupid); } =09 // Add the new friend entry g_shareWithDropDownSearchArray.addEntry(friend_new); =09 // Then call the user callback and hide our box this.addCallback(this._userData, friend_new); delete this._userData; this.manager.hide(); waitPopUp.hide(); } else { waitPopUp.hide(); new AlertPopUp("Failed to add the friend to your friend list"); } }, onClickOk: function(e) { e.stop(); =09 // Build the parameters to be sent in the ajax request var params =3D { id: this.peopleid }; if (this.addtogroupcheckbox.checked && = this.addtogroupdropdown.selectedIndex > 0) { if = (this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].v= alue =3D=3D 0) { // Add to new group option if (this.addtogroupnewedit.value =3D=3D=3D "New group name" || this.addtogroupnewedit.value.length =3D=3D=3D 0) { new AlertPopUp("Please enter a name for your new group", = this.addtogroupnewedit.focus.bind(this.addtogroupnewedit)); return; } Object.extend(params, { newgroup: this.addtogroupnewedit.value }); } else { // Add to existing group option Object.extend(params, { group: = this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].va= lue }); } } =09 var obj =3D { id: this.peopleid, username: this.username, fname: this.fname, lname: this.lname }; =09 // Build the ajax request var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); new ShareWithAjaxAddFriend(params, = this.onAddFriendRequestComplete.bind(this, obj, waitPopUp)); } }); var AddFriendPopUp =3D Class.create(TabbedPopUp, { initialize: function($super, fname, lname, username, peopleid, = callback) { // Call the parent constructor $super(); // Then create the find people tab this.divaddtab =3D new AddFriendTab(fname, lname, username, peopleid, = callback); // Create our buttons var element; element =3D new Element('button', { 'class': 'kasBtn kasBtnRed' = }).update("No, Do Not Add Friend"); Event.observe(element, 'click', = this.clickCancel.bindAsEventListener(this)); this.addButton(element); element =3D new Element('button', { 'class': 'kasBtn kasBtnGreen' = }).update("Yes, Add Friend"); Event.observe(element, 'click', = this.clickOk.bindAsEventListener(this)); this.addButton(element); // Add the tabs to the tab manager this.addTab("Add Friend", this.divaddtab); =09 // By default we "show" ourselves this.show(); }, show: function($super) { this.showTab(0); $super(); }, clickCancel: function() { this.hide(); }, clickOk: function(e) { this.divaddtab.onClickOk(e); } }); var FindPeopleTab =3D Class.create(Tab, SortHelpers, { initialize: function($super, mode, clickCallback) { // Initialize a few internal variables this.resultusernames =3D new Hash(); if (typeof mode =3D=3D=3D "number") { this.mode =3D mode; } else { this.mode =3D FindPeopleModes.ADD_TO_SHARE; } if (Object.isFunction(clickCallback)) { this.clickCallback =3D clickCallback; } else { this.clickCallback =3D Prototype.emptyFunction; } this.group =3D 0; =09 // Few helper variables for the constructor var modeDescription =3D new Array(); modeDescription[FindPeopleModes.ADD_TO_FRIENDS] =3D 'Click a blue name = below to add an account to your friends list.'; modeDescription[FindPeopleModes.ADD_TO_GROUP] =3D 'Click a blue name = below to add an account to the group. The account will also be added to = your friends list.'; modeDescription[FindPeopleModes.ADD_TO_SHARE] =3D 'Click a blue name = below to share with an account.'; =09 // Call the super class $super({ 'id': 'kasFindPeopleTab' }); =09 // Build the layout this.appendChild(div =3D new Element('div', { 'class': 'findBody' })); div.appendChild(this.divinput =3D new Element('div', { 'class': = 'findInput' })); this.divinput.appendChild(new Element('label', { 'for': = 'swpu_findinput' }).update("Search: ")); this.divinput.appendChild(this.input =3D new Element('input', { = 'type': 'text', 'name': 'swpu_findinput', 'size': '30' })); Event.observe(this.input, 'focus', = this.onInputFocus.bindAsEventListener(this)); Event.observe(this.input, 'keyup', = this.onInputKeyUp.bindAsEventListener(this)); Event.observe(this.input, 'keydown', = this.onInputKeyDown.bindAsEventListener(this)); this.divinput.appendChild(this.searchButton =3D new Element('button', = { 'class': 'kasBtn', 'disabled': 'disabled' }).update('Search')); Event.observe(this.searchButton, 'click', = this.onClickSearch.bindAsEventListener(this)); this.divinput.appendChild(this.spinner =3D new Element('img', { = 'style': 'display: none;', 'src': = '/global/sharewithdropdown/images/gif/ajax-spinner.gif' })); this.divinput.appendChild(this.resultscount =3D new Element('div', { = 'class': 'swpu_findtabresultscount' })); div.appendChild(this.divheader =3D new Element('div', { 'id': = 'swpu_header', 'style': 'display: none;' })); this.divheader.appendChild(new Element('div', {'style': 'color: green; = font-size: smaller; text-align: center; margin-top: 3px; margin-bottom: = 3px;'}).update(modeDescription[this.mode])); div.appendChild(this.divresults =3D new Element('div', { 'class': = 'swpu_find_results' })); this.appendChild(this.divfooter =3D new Element('div', { 'id': = 'swpu_footer', 'style': 'display: none;' })); if (this.mode =3D=3D FindPeopleModes.ADD_TO_SHARE) { this.divfooter.appendChild(this.addtofriendscheckbox =3D new = Element('input', { 'type': 'checkbox', 'name': = 'swpu_findtabaddtofriendscheckbox', 'value': '1', 'checked': '1' })); Event.observe(this.addtofriendscheckbox, 'click', = this.onAddToFriendsCheckboxClick.bindAsEventListener(this)); this.divfooter.appendChild(new Element('label', { 'for': = 'swpu_findtabaddtofriendscheckbox' }).update("Add the person I choose to = my friends list, too.")); this.divfooter.appendChild(new Element('br')); } if (this.mode !=3D FindPeopleModes.ADD_TO_GROUP) { this.divfooter.appendChild(this.addtogroupcheckbox =3D new = Element('input', { 'type': 'checkbox', 'name': = 'swpu_findtabaddtogroupcheckbox', 'value': '1'})); Event.observe(this.addtogroupcheckbox, 'click', = this.onAddToGroupCheckboxClick.bindAsEventListener(this)); this.divfooter.appendChild(new Element('label', { 'for': = 'swpu_findtabaddtogroupcheckbox' }).update("Also add to this group: ")); this.divfooter.appendChild(this.addtogroupdropdown =3D new = Element('select', { 'name': 'swpu_findtabaddtogroupdropdown', 'size': = '1' })); Event.observe(this.addtogroupdropdown, 'change', = this.onAddToGroupDropdownChange.bindAsEventListener(this)); this.divfooter.appendChild(new Element('span', {'style': 'width: = 8px;'}).update(" ")); this.divfooter.appendChild(this.addtogroupnewedit =3D new = Element('input', { 'type': 'text', 'name': = 'swpu_findtabaddtogroupnewedit', 'value': '', 'size': '15', 'disabled': = '1' })); Event.observe(this.addtogroupnewedit, 'focus', = this.onAddToGroupNewEditFocus.bindAsEventListener(this)); this.addtogroupnewedit.hide(); } if (g_shareWithDropDownSearchArray =3D=3D=3D null) { // What do we do if this happens?? return; } = g_shareWithDropDownSearchArray.addChangeCallback(this.onChange.bind(this)= ); if (g_shareWithDropDownSearchArray.ready()) { this.onChange(g_shareWithDropDownSearchArray); } }, setGroup: function(group) { this.group =3D group; }, onChange: function(data) { // Go through our internal results cache and update any divs for = people that have 'gone away' var updateList =3D new Array(); this.resultusernames.each(function f(pair) { var friend =3D g_shareWithDropDownSearchArray.findId(pair.value.id); if (friend =3D=3D=3D null || !friend.type || friend.type !=3D = "friend") { updateList.push(pair.key); } }); updateList.each(function f(username) { var friend =3D this.resultusernames.get(username); this.createResultListEntry(friend, this.formatResultString(friend)); }, this); =09 // The rest is only done for non-add to group mode if (this.mode =3D=3D=3D FindPeopleModes.ADD_TO_GROUP) { return; } // Reset the dropdown list var groups =3D data.groups(); this.addtogroupdropdown.update(""); =09 // Create an entry for "no group selected" this.addtogroupdropdown.appendChild(new Element('option', {'value': = '-1'}).update("Select Group...")); // Create an entry for each group that has members var multiSeatGroup =3D = g_shareWithDropDownSearchArray.getMultiSeatGroupId(); groups.each(function(group) { if (group.members && group.members.length > 0 && (multiSeatGroup <=3D = 0 || multiSeatGroup !=3D group.value)) { this.addtogroupdropdown.appendChild(new Element('option', {'value': = group.value}).update(group.sharegroupname)); } }, this); =09 // Create an entry for "create new group" this.addtogroupdropdown.appendChild(new Element('option', {'value': = '0'}).update("Create new group...")); }, onAddToFriendsCheckboxClick: function(e) { if (this.addtofriendscheckbox.checked) { if (this.mode !=3D FindPeopleModes.ADD_TO_GROUP) { this.addtogroupcheckbox.disabled =3D false; this.onAddToGroupCheckboxClick(e); } } else { if (this.mode !=3D FindPeopleModes.ADD_TO_GROUP) { this.addtogroupcheckbox.disabled =3D true; this.addtogroupdropdown.disabled =3D true; this.addtogroupnewedit.disabled =3D true; this.addtogroupnewedit.hide(); } } }, onAddToGroupCheckboxClick: function(e) { if (this.addtogroupcheckbox.checked) { this.addtogroupdropdown.disabled =3D false; this.addtogroupdropdown.selectedIndex =3D 1; this.onAddToGroupDropdownChange(e); this.addtogroupdropdown.focus(); } else { this.addtogroupdropdown.disabled =3D false; this.addtogroupdropdown.selectedIndex =3D 0; this.addtogroupnewedit.disabled =3D true; this.addtogroupnewedit.hide(); } }, onAddToGroupDropdownChange: function(e) { if (this.addtogroupdropdown.selectedIndex > 0) { this.addtogroupcheckbox.checked =3D true; } else { this.addtogroupcheckbox.checked =3D false; } if (this.addtogroupdropdown.selectedIndex >=3D 0 && = this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].va= lue =3D=3D 0) { this.addtogroupnewedit.disabled =3D false; this.addtogroupnewedit.value =3D "New group name"; this.addtogroupnewedit.show(); this.addtogroupnewedit.focus(); this.addtogroupnewedit.select(); } else { this.addtogroupnewedit.disabled =3D true; this.addtogroupnewedit.hide(); } }, onAddToGroupNewEditFocus: function(e) { this.addtogroupnewedit.select(); }, onInputFocus: function(e) { this.input.select(); }, onInputKeyDown: function(e) { if (e.keyCode =3D=3D Event.KEY_RETURN) { e.stop(); } }, onInputKeyUp: function(e) { var element =3D e.element(); // Drop out if the field is too short if (element.value.length < 2) { this.searchButton.disabled =3D true; return; } // Search immediately if key is enter if (e.keyCode =3D=3D Event.KEY_RETURN) { e.stop(); this.startSearch(element.value, 0); } =09 // Anything else enable the search button else { this.searchButton.disabled =3D false; } }, onClickSearch: function(e) { this.startSearch(this.input.value, 0); }, startSearch: function(value, fromTimer, data) { this._userData =3D data; if (this.input.value !=3D value) { this.input.value =3D value; } this.boundSearchFinished =3D this.searchFinished.bind(this); this.request =3D new ShareWithAjaxFindFriends(value, 0, = this.boundSearchFinished); if (!this.request.ready()) { this.input.disabled =3D true; this.searchButton.disabled =3D true; this.spinner.show(); } }, formatResultString: function(obj) { var string, from; string =3D obj.fname + " " + obj.lname + " (" + obj.username + = ")"; if (obj.city.length || obj.state.length || obj.zip.length || = (obj.country.length && obj.country !=3D "?")) { string +=3D " [From: "; from =3D ""; if (obj.city.length) { from +=3D obj.city; } if (obj.state.length) { if (from.length) { from +=3D ", "; } from +=3D obj.state; } if (obj.zip.length) { if (from.length) { from +=3D ", "; } from +=3D obj.zip; } if (obj.country.length && obj.country !=3D "?") { if (from.length) { from +=3D ", "; } from +=3D obj.country; } string +=3D from + "]"; } string +=3D ""; return string; }, searchFinished: function(request) { var mode, modes; // Turn off the ajax spinner and re-enable the input field this.input.disabled =3D false; this.searchButton.disabled =3D false; this.spinner.hide(); =09 // Did we search for usernames or people? if (this.input.value.indexOf(" ") >=3D 0) { mode =3D "Person"; modes =3D "People"; } else { mode =3D "Username"; modes =3D "Usernames"; } =09 // Format the search results here if (request.list.length =3D=3D 0) { this.divfooter.hide(); this.divheader.hide(); this.resultscount.update("No " + modes + " Found"); this.divresults.update(new Element('div', {'class': = 'swpu_message'}).update("Please try your search again.")); return; } else if (request.list.length =3D=3D 1) { this.divheader.show(); this.divfooter.show(); this.resultscount.update(request.list.length + " " + mode + " = Found"); } else { this.divheader.show(); this.divfooter.show(); this.resultscount.update(request.list.length + " " + modes + " = Found"); } =09 // request.list.sort(this.sortFriendListByFnameLnameUsername); request.list.sort(this.sortFriendListByExactMatchFnameLnameUsername); =09 var divresults =3D new Element('div', { 'class': 'swpu_find_results' = }); request.list.each(function(obj) { var setIt =3D false; if (typeof this.resultusernames.get(obj.username) =3D=3D 'undefined') = { setIt =3D true; } else { // Detect change from friend-to-non-friend and non-friend-to-friend var objStored =3D this.resultusernames.get(obj.username); if (objStored.divFindPeopleEntry.firstChild =3D=3D null) { // IE messes up the divFindPeopleEntry somehow and we end up with = firstChild being null // so just rebuild the list entry to be safe. setIt =3D true; } else { var tagName =3D = objStored.divFindPeopleEntry.firstDescendant().tagName; if ((tagName =3D=3D 'SPAN' && objStored.type !=3D 'friend') || (tagName =3D=3D 'A' && objStored.type =3D=3D 'friend')) { setIt =3D true; } if (!setIt && tagName =3D=3D 'A') { Event.observe(objStored.divFindPeopleEntry.firstDescendant(), = 'click', this.onClickFriendLink.bindAsEventListener(this, objStored)); } } } if (setIt) { var string =3D this.formatResultString(obj); obj.string =3D string; this.resultusernames.set(obj.username, = this.createResultListEntry(obj, string)); } = divresults.appendChild(this.resultusernames.get(obj.username).divFindPeop= leEntry); }, this); this.divresults.replace(divresults); this.divresults =3D divresults; }, createResultListEntry: function(obj, description) { var div, element, cb_viewer, cb_editor; div =3D new Element('div'); var friendEntry =3D g_shareWithDropDownSearchArray.findId(obj.id); if (friendEntry !=3D=3D null && friendEntry.type =3D=3D 'friend') { div.update(new Element('span').update(description + " (already a = friend)")); } else { if (friendEntry =3D=3D=3D null) { friendEntry =3D obj; } div.update(element =3D new Element('a', { 'href': '#' })); element.appendChild(new Element('span').update(description)); Event.observe(element, 'click', = this.onClickFriendLink.bindAsEventListener(this, obj)); } if (typeof friendEntry.divFindPeopleEntry !=3D 'undefined') { if (friendEntry.divFindPeopleEntry.up() !=3D null) { friendEntry.divFindPeopleEntry.replace(div); } } friendEntry.divFindPeopleEntry =3D div; return friendEntry; }, onAddFriendRequestComplete: function(obj, waitPopUp, request, success, = groupid) { if (success) { var friend_new =3D new Object(); =09 // Add required fields that make this a friend record Object.extend(friend_new, obj); Object.extend(friend_new, { groups: new Array() }); Object.extend(friend_new, { type: "friend" }); =09 // If added to a group, make sure we create proper entries in friend = record if (groupid > 0) { // If a new group was created, add it to the search array if (this.mode !=3D=3D FindPeopleModes.ADD_TO_GROUP) { if (this.addtogroupdropdown.selectedIndex >=3D 0 && = this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].va= lue =3D=3D 0) { g_shareWithDropDownSearchArray.addGroup({ value: groupid, = sharegroupname: this.addtogroupnewedit.value, viewergroup: ""}); } } =09 // Add the group id to the list of member groups for this new friend friend_new.groups.push(groupid); } =09 // Add the new friend entry g_shareWithDropDownSearchArray.addEntry(friend_new); =09 // Then call the user callback and hide our box this.clickCallback(this._userData, obj); // Why not friend_new?? = Because of how addEntry works above... delete this._userData; this.manager.hide(); waitPopUp.hide(); } else { waitPopUp.hide(); new AlertPopUp("Failed to add the friend to your friend list"); } }, onClickFriendLink: function(e, obj) { e.stop(); if ((this.mode =3D=3D=3D FindPeopleModes.ADD_TO_SHARE && this.addtofriendscheckbox.checked) || this.mode =3D=3D=3D FindPeopleModes.ADD_TO_FRIENDS || this.mode =3D=3D=3D FindPeopleModes.ADD_TO_GROUP) { // Build the parameters to be sent in the ajax request var params =3D { id: obj.id }; if (this.mode =3D=3D=3D FindPeopleModes.ADD_TO_GROUP) { if (this.group > 0) { Object.extend(params, { group: this.group }); } } else { if (this.addtogroupcheckbox.checked && = this.addtogroupdropdown.selectedIndex > 0) { if = (this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].v= alue =3D=3D 0) { // Add to new group option if (this.addtogroupnewedit.value =3D=3D=3D "New group name" || this.addtogroupnewedit.value.length =3D=3D=3D 0) { new AlertPopUp("Please enter a name for your new group", = this.addtogroupnewedit.focus.bind(this.addtogroupnewedit)); return; } Object.extend(params, { newgroup: this.addtogroupnewedit.value }); } else { // Add to existing group option Object.extend(params, { group: = this.addtogroupdropdown.options[this.addtogroupdropdown.selectedIndex].va= lue }); } } } =09 // Build the ajax request var waitPopUp =3D new WaitPopUp(); waitPopUp.delayShow(250); new ShareWithAjaxAddFriend(params, = this.onAddFriendRequestComplete.bind(this, obj, waitPopUp)); } else { this.clickCallback(this._userData, obj); delete this._userData; this.manager.hide(); } }, onBeforeShow: function() { if (this.manager.updatebutton) { this.manager.updatebutton.hide(); this.manager.savebutton.hide(); } if (typeof this.request !=3D 'undefined' && this.request !=3D null) { this.request.deleteReadyCallback(this.boundSearchFinished); } this.input.disabled =3D false; this.spinner.hide(); this.input.value=3D""; this.divresults.update(new Element('div', {'class': = 'swpu_message'}).update("Type the first few letters of a username
    OR
    the first few letters of BOTH the first and last = names
    OR
    your friend's e-mail address.")); this.divheader.hide(); this.divfooter.hide(); this.resultscount.update(""); return true; }, setFocus: function() { this.input.focus(); this.input.select(); }, onShow: function() { setTimeout(this.setFocus.bind(this), 100); } }); var FindPeoplePopUp =3D Class.create(TabbedPopUp, SortHelpers, { initialize: function($super, mode, callback) { // Call the parent constructor $super(); // Then create the find people tab this.divfindtab =3D new FindPeopleTab(mode, callback); // Create our buttons var element; element =3D new Element('button', { 'class': 'kasBtn kasBtnRed' = }).update("Close"); Event.observe(element, 'click', = this.clickClose.bindAsEventListener(this)); this.addButton(element); // Add the tabs to the tab manager this.addTab("Find Friends", this.divfindtab); }, setGroup: function(group) { this.divfindtab.setGroup(group); }, search: function(what, data) { this.show(); this.divfindtab.startSearch(what, 0, data); }, show: function($super) { this.showTab(0); $super(); }, clickClose: function() { this.hide(); } }); var g_manageGroupsOk =3D true; var ShareWithPopUp =3D Class.create(TabbedPopUp, SortHelpers, { initialize: function($super, opener) { // Call the parent constructor $super(); // The opener is only used for "edit mode" if (typeof opener !=3D "undefined" && opener !=3D=3D null) { this.opener =3D opener; } // Then the manage friends tab this.divmanagefriendstab =3D new ManageFriendsTab(); =09 // Then the manage groups tab if (g_manageGroupsOk) this.divmanagetab =3D new ManageGroupsTab(); =09 // Create our buttons var element; element =3D new Element('button', { 'class': 'kasBtn kasBtnRed' = }).update("Close"); Event.observe(element, 'click', = this.clickCancel.bindAsEventListener(this)); this.addButton(element); this.savebutton =3D element =3D new Element('button', { 'class': = 'kasBtn kasBtnGreen' }).update("Save"); Event.observe(element, 'click', = this.clickSave.bindAsEventListener(this)); this.addButton(element); this.updatebutton =3D element =3D new Element('button', { 'class': = 'kasBtn kasBtnGreen' }).update("Update"); Event.observe(element, 'click', = this.clickUpdate.bindAsEventListener(this)); this.addButton(element); =09 // Add the tabs to the tab manager this.addTab("Friends", this.divmanagefriendstab); if (g_manageGroupsOk) this.addTab("Groups", this.divmanagetab); }, dataReady: function(waitPopUp, index) { waitPopUp.hide(); this.show(index); }, show: function($super, index) { if (g_shareWithDropDownSearchArray =3D=3D=3D null) { return; } if (!g_shareWithDropDownSearchArray.ready()) { if (!this.callbackregistered) { var waitPopUp =3D new WaitPopUp(); waitPopUp.show(); = g_shareWithDropDownSearchArray.addReadyCallback(this.dataReady.bind(this,= waitPopUp, index)); this.callbackregistered =3D 1; } } else { this.showTab(index); } $super(); }, clickCancel: function() { this.hide(); }, clickSave: function() { this.hide(); }, clickUpdate: function() { if (this.divmanagetab.visible()) { this.divmanagetab.clickUpdate(); } }, showFriends: function(opener) { this.show("Friends"); }, showManageGroups: function(opener) { if (!g_manageGroupsOk || = g_shareWithDropDownSearchArray.friends().length =3D=3D 0)=20 this.show("Friends"); else this.show("Groups"); } }); var g_shareWithPopUp =3D null; var ShareWithDropDown =3D Class.create({ hookedobjectid: null, hookedobject: null, divobject: null, divobjecthidden: 1, results: null, selectedIndex: 0, initialize: function(hookedobjectid, selectCallback, addToListCallback) = { this.hookedobjectid =3D hookedobjectid; this.callback =3D Object.isFunction(selectCallback) ? selectCallback : = Prototype.emptyFunction; this.addToListCallback =3D Object.isFunction(addToListCallback) ? = addToListCallback : this.addToListCallbackDefault.bind(this); if (this.hookedobjectid !=3D=3D null) { this.hookedobject =3D $(hookedobjectid); } if (this.hookedobject =3D=3D=3D null) { this.hookedobject =3D document.body; } if (this.divobject =3D=3D=3D null) { this.divobject =3D new Element('div', { 'style': 'position: absolute; = width: 250px; height: auto; background: #d3f2f7; z-index: 1000000; = border: 1px solid gray; display: none;' }); document.body.appendChild(this.divobject); } Event.observe(this.hookedobject, 'keydown', = this.onkeydown.bindAsEventListener(this)); Event.observe(this.hookedobject, 'keypress', = this.onkeypress.bindAsEventListener(this)); Event.observe(this.hookedobject, 'keyup', = this.onkeyup.bindAsEventListener(this)); Event.observe(this.hookedobject, 'dblclick', = this.ondoubleclick.bindAsEventListener(this)); this.boundOnDocumentClick =3D = this.ondocumentclick.bindAsEventListener(this); }, hide: function() { if (this.visible()) { this.divobjecthidden =3D 1; this.divobject.hide(); Event.stopObserving(document.body, 'click', = this.boundOnDocumentClick); if (Object.isFunction(this.onHide)) { this.onHide(); } } }, show: function() { if (!this.visible()) { if (Object.isFunction(this.onShow)) { this.onShow(); } var offset =3D Element.cumulativeOffset(this.hookedobject); offset.top +=3D Element.getHeight(this.hookedobject); this.divobject.style.top =3D offset.top + 'px'; this.divobject.style.left =3D offset.left + 'px'; Event.observe(document.body, 'click', this.boundOnDocumentClick); this.divobject.show(); this.divobjecthidden =3D 0; } }, visible: function() { return (this.divobjecthidden =3D=3D=3D 0); }, ondocumentclick: function(e) { var element =3D Event.element(e); while (element !=3D=3D document.body && element !=3D=3D null) { if (element =3D=3D=3D this.divobject) return; element =3D element.up(); } this.hide(); }, setResult: function() { if (this.callback !=3D=3D Prototype.emptyFunction) { this.callback(this.hookedobjectid, this.results[this.selectedIndex]); } else { if (this.hookedobject.value) { this.hookedobject.value =3D = this.results[this.selectedIndex].username; } else { this.hookedobject.innerHTML =3D = this.results[this.selectedIndex].username; } } }, onkeydown: function(e) { if (e.keyCode =3D=3D Event.KEY_TAB || e.keyCode =3D=3D = Event.KEY_RETURN) { if (this.visible()) { if (this.selectedIndex >=3D 0) { this.setResult(); e.stop(); } } this.hide(); } else if (e.keyCode =3D=3D Event.KEY_UP || e.keyCode =3D=3D = Event.KEY_DOWN) { var direction =3D 0; if (!this.visible() || this.results =3D=3D=3D null) { return; } e.stop(); if (e.keyCode =3D=3D Event.KEY_UP) { direction =3D -1; } else { direction =3D 1; } if (this.selectedIndex >=3D 0) { this.results[this.selectedIndex].div.style.background =3D '#d3f2f7'; } if (!(this.selectedIndex + direction < -1 || this.selectedIndex + = direction >=3D this.results.length)) { this.selectedIndex +=3D direction; } if (this.selectedIndex >=3D 0) { this.results[this.selectedIndex].div.style.background =3D '#ace6f0'; } } }, onkeypress: function(e) { if (e.keyCode =3D=3D Event.KEY_ESC) { this.hide(); } else if (e.keyCode =3D=3D Event.KEY_RETURN) { if (this.visible()) { if (this.selectedIndex >=3D 0) { this.setResult(); e.stop(); } } this.hide(); } }, onkeyup: function(e) { if (e.keyCode =3D=3D Event.KEY_ESC || e.keyCode =3D=3D = Event.KEY_RETURN || e.keyCode =3D=3D Event.KEY_TAB || e.keyCode =3D=3D Event.KEY_UP || e.keyCode =3D=3D Event.KEY_DOWN) { if (this.visible()) { e.stop(); } } else if (g_shareWithDropDownSearchArray !=3D=3D null) { var oldusername =3D null, oldusernameindex =3D -1; if (this.results !=3D=3D null && this.selectedIndex > 0 && = this.results[this.selectedIndex]) { oldusername =3D this.results[this.selectedIndex].username; } // Search here this.results =3D = g_shareWithDropDownSearchArray.search(this.hookedobject.value || = this.hookedobject.innerHTML); =09 // If results are returned, we need to display them if (this.results !=3D=3D null && this.results.length > 0) { // Create new div container for results var content =3D new Element('div', { 'style': 'position: static; = display: block; cursor: pointer;' }), i; =09 for (i =3D 0; i < this.results.length && i < 15; i++) { // Create a DIV for each result element var div =3D new Element('div', { 'class': 'label-small', 'style': = 'padding-left: 2px; padding-right: 2px;' }); div.appendChild(new Element('div', { 'style': 'float: right;' = }).update(this.results[i].fnameMatch + " " + = this.results[i].lnameMatch)); div.appendChild(new Element('div', { 'style': '' = }).update(this.results[i].usernameMatch)); content.appendChild(div); this.results[i].div =3D div; if (oldusername !=3D=3D null && this.results[i].username =3D=3D = oldusername) { oldusernameindex =3D i; } } =09 var elem; content.appendChild(elem =3D new Element('div', { 'style': = 'text-align: rigt;' })); elem.update(elem =3D new Element('span', { 'class': 'Smaller', = 'style': 'cursor: pointer;' })); elem.update('Add friends to this list'); Event.observe(elem, 'click', = this.onclickaddfriends.bindAsEventListener(this)); =09 if (oldusername !=3D=3D null && oldusernameindex >=3D 0) { this.selectedIndex =3D oldusernameindex; this.results[this.selectedIndex].div.style.background =3D = '#ace6f0'; } else { this.selectedIndex =3D 0; this.results[this.selectedIndex].div.style.background =3D = '#ace6f0'; } // Update the content div and bind event listeners this.divobject.update(content); for (i =3D 0; i < this.results.length && i < 15; i++) { Event.observe(this.results[i].div, 'click', = this.onclickresult.bindAsEventListener(this, i)); Event.observe(this.results[i].div, 'mouseover', = this.onmouseoverresult.bindAsEventListener(this, i)); } =09 // Show results this.show(); } =09 // If no results returned and we are displayed, we need to hide = ourselves else if (this.visible()) { this.hide(); } } }, onmouseoverresult: function(e, index) { if (index < 0 || index > this.results.length - 1 || this.selectedIndex = =3D=3D index) { return; } if (this.selectedIndex >=3D 0) { this.results[this.selectedIndex].div.style.background =3D '#d3f2f7'; } this.selectedIndex =3D index; this.results[this.selectedIndex].div.style.background =3D '#ace6f0'; }, onclickresult: function(e, index) { e.stop(); if (index < 0 || index > this.results.length - 1) { return; } this.selectedIndex =3D index; this.setResult(); this.hide(); }, addToListCallbackDefault: function(e) { window.open('/share/user_list.php', 'pop'); }, onclickaddfriends: function(e) { e.stop(); this.hide(); this.addToListCallback(e); }, ondoubleclick: function(e) { e.stop(); }, popupCallback: function(value) { this.hookedobject.value =3D value; if (Object.isFunction(this.callback)) { this.callback(this.hookedobjectid); } } }); var ShareWithInputBox =3D Class.create({ _sharedWith: null, _sharingIsOn: false, _dropdown: null, // This special event handler is used to implement firing the 'change' = handler when the user presses the return key in // the input box text field for the IE browser. Apparantly IE does not = fire the change handler when a user presses // return--instead only when the control loses focus. _keyPressHandlerShareWithInputBox: function(event) { if (event.keyCode =3D=3D Event.KEY_RETURN) { Event.stop(event); return false; } }, =09 // Stop the enter key from submitting a form when the share with box is = inside a form _keyDownHandlerShareWithInputBox: function(event) { var element =3D $(Event.element(event)); if (event.keyCode =3D=3D Event.KEY_RETURN) { if (element.value !=3D "" && this._dropdown !=3D=3D null && = !this._dropdown.visible() && !this._showingAlertBox) { this._shareWithInputBoxDropDownCallback(element.identify()); } Event.stop(event); return false; } }, _changeShareWithInputBox: function(event) { var element =3D $(Event.element(event)); if (element.value !=3D "" && !this._showingAlertBox) { Event.stop(event); if (this._dropdown !=3D=3D null && !this._dropdown.visible()) { this._shareWithInputBoxDropDownCallback(element.identify()); } } }, =09 _closedAlertBox: function() { var inputElement =3D $('sharewithinputfield'); this._showingAlertBox =3D false; if (inputElement.value !=3D "") { inputElement.focus(); inputElement.select(); } }, =09 _alert: function(message) { this._showingAlertBox =3D true; new AlertPopUp(message, this._closedAlertBox.bind(this)); }, _clickRemoveShareWithEntry: function(event) { var element =3D $(Event.element(event)); if (element.up().siblings().length > 1) { var valueElement =3D element.siblings()[1]; if (valueElement.innerHTML !=3D "") { this._sharedWith.unset(valueElement.innerHTML); element.up().remove(); } } Event.stop(event); this._updateSharingIsImage(); }, _clickEditShareWithEntry: function(event) { var element =3D $(Event.element(event)); if (element.up().siblings().length > 1) { var valueElement =3D element.siblings()[2]; if (valueElement.innerHTML !=3D "") { if (element.checked) { if (typeof this._sharedWith.get(valueElement.innerHTML) !=3D=3D = 'undefined') { this._sharedWith.get(valueElement.innerHTML).edit =3D true; } } else { if (typeof this._sharedWith.get(valueElement.innerHTML) !=3D=3D = 'undefined') { delete this._sharedWith.get(valueElement.innerHTML).edit; } } } } this._updateSharingIsImage(); }, =09 _findPeopleCallback: function(entry, result) { var inputElement =3D $('sharewithinputfield'); inputElement.value =3D ""; =09 if (typeof entry !=3D=3D 'undefined') { // Delete any sharedWith entry by value if (typeof entry.value !=3D=3D 'undefined') { this._sharedWith.unset(entry.value); } =09 // Check for possible double-entry if (typeof this._sharedWith.get("U" + result.id) !=3D 'undefined') { if (typeof entry.divElement !=3D 'undefined') { this._alert("\'" + entry.value + "\' is already on the share = list."); entry.divElement.remove(); } } // Copy only the first result else { // Set the new entry values. entry.type =3D 'username'; entry.value =3D result.username; entry.id =3D result.id; entry.fname =3D result.fname; entry.lname =3D result.lname; =09 // If the divElement has been created, need to replace it if (typeof entry.divElement !=3D 'undefined') { var newElement =3D this._createShareWithEntryDivElement(entry); entry.divElement.update(newElement); entry.divElement =3D newElement; =09 // Add entry back to sharedWith by id this._sharedWith.set("U" + entry.id, entry);=09 } } } else { if (this._createShareWithEntry(result.username, result.id, = result.group) !=3D=3D true) { this._alert("\'" + result.username + "\' is already on the share = list."); } } this._updateSharingIsImage(); }, _clickSearchForUnknownUsername: function(event) { var element =3D $(Event.element(event)); if (element.up().siblings().length > 1) { var valueElement =3D element.siblings()[1]; if (valueElement.innerHTML !=3D "") { var entry =3D this._sharedWith.get(valueElement.innerHTML); this._findPeoplePopUp.show(); this._findPeoplePopUp.search(valueElement.innerHTML, entry); } } Event.stop(event); }, =09 _userLookupCallback: function(request, entry) { // If no results, do nothing if (request.list.length < 1) { return; } =09 // Delete any sharedWith entry by value this._sharedWith.unset(entry.value); =09 // Check for possible double-entry if (typeof this._sharedWith.get("U" + entry.id) !=3D 'undefined') { if (typeof entry.divElement !=3D 'undefined') { this._alert("\'" + entry.value + "\' is already on the share = list."); entry.divElement.remove(); } } // Copy only the first result else { // If e-email, preserve the e-mail address for display purposes if (entry.type =3D=3D 'email') { entry.value =3D request.list[0].username + " (" + entry.value + ")"; } else { entry.value =3D request.list[0].username; } =09 // Set the new entry values. entry.type =3D 'username'; entry.id =3D request.list[0].id; entry.fname =3D request.list[0].fname; entry.lname =3D request.list[0].lname; =09 // If the divElement has been created, need to replace it if (typeof entry.divElement !=3D 'undefined') { var newElement =3D this._createShareWithEntryDivElement(entry); entry.divElement.replace(newElement); entry.divElement =3D newElement; =09 // Add entry back to sharedWith by id this._sharedWith.set("U" + entry.id, entry);=09 } } }, _createShareWithEntryDivElement: function(entry) { var divElement =3D new Element('div', { 'style': 'margin: 3px 0px 0px = 0px; text-align: left; float: left; display: inline;' = }).update(entry.value); var idElement =3D new Element('div', { 'style': 'display: none;' }); if (typeof entry.id !=3D 'undefined') { if (entry.type =3D=3D 'username') { idElement.update("U" + entry.id); } else if ( entry.type =3D=3D 'group') { idElement.update("G" + entry.id); } else { idElement.update(entry.value); } } else { idElement.update(entry.value); } var width =3D 128 - ((this._checkboxWidth - 12) * 2); var cbElement =3D new Element('input', { 'type': 'checkbox', 'name': = 'view', 'value': '1', 'style': 'float: left; margin: 3px 4px 3px 0px; = padding: 0px; width: 12px; height: 12px; display: inline;', 'title': '' = }); Event.observe(cbElement, 'click', = this._clickRemoveShareWithEntry.bindAsEventListener(this)); var element =3D new Element('div', { 'class': 'Smaller', 'style': = 'margin: 0px 0px 0px 0px; overflow: hidden; display: block; clear: = both;' }); element.appendChild(cbElement); element.appendChild(divElement); element.appendChild(idElement); var titleAttr =3D document.createAttribute("title"); =09 if (entry.type =3D=3D 'email') { divElement.style.fontStyle =3D 'italic'; titleAttr.value =3D "A Guest Pass email will be sent to \'" + = entry.value + "\' when you save your changes"; var editElement =3D new Element('input', { 'type': 'checkbox', = 'name': 'edit', 'value': '1', 'style': 'float: left; margin: 3px 0px 3px = 4px; padding: 0px; width: 12px; height: 12px; display: inline;', = 'title': ('Let \'' + entry.value + '\' make changes') }); Event.observe(editElement, 'click', = this._clickEditShareWithEntry.bindAsEventListener(this)); var emailElement =3D new Element('img', { 'src': = '/global/sharewithdropdown/images/email_will_be_sent.png', 'alt': '', = 'title': titleAttr.value, 'style': 'float: left; margin: 3px 0px 3px = 4px; display: inline;' }); element.appendChild(emailElement); element.appendChild(editElement); width -=3D 20; if (typeof entry.edit !=3D=3D 'undefined' && entry.edit =3D=3D=3D = true) { editElement.checked =3D true; editElement.defaultChecked =3D true; } } else if (typeof entry.id =3D=3D 'undefined') { divElement.style.color =3D 'red'; titleAttr.value =3D "There is no KeepAndShare user with this = username, Click to search KeepAndShare for \'" + entry.value + "\'"; var questionElement =3D new Element('img', { 'src': = '/global/sharewithdropdown/images/questionmark1.png', 'alt': '', = 'style': 'float: left; margin: 3px 0px 3px 4px; display: inline;', = 'title': titleAttr.value }); element.appendChild(questionElement); Event.observe(questionElement, 'click', = this._clickSearchForUnknownUsername.bindAsEventListener(this)); Event.observe(divElement, 'click', = this._clickSearchForUnknownUsername.bindAsEventListener(this)); width -=3D 16; } else { divElement.style.fontWeight =3D 'bold'; var editElement =3D new Element('input', { 'type': 'checkbox', name: = 'edit', value: '1', 'style': 'float: left; margin: 3px 0px 3px 4px; = padding: 0px; width: 12px; height: 12px; display: inline;', 'title': = ('Let \'' + entry.value + '\' make changes') }); Event.observe(editElement, 'click', = this._clickEditShareWithEntry.bindAsEventListener(this)); element.appendChild(editElement); if (entry.type =3D=3D 'group') { titleAttr.value =3D entry.value; } else { titleAttr.value =3D entry.value + " (" + entry.fname + " " + = entry.lname + ")"; } if (typeof entry.edit !=3D=3D 'undefined' && entry.edit =3D=3D=3D = true) { editElement.checked =3D true; editElement.defaultChecked =3D true; } } =09 divElement.style.width =3D width + 'px'; divElement.style.overflow =3D 'hidden'; divElement.setAttributeNode(titleAttr); =09 cbElement.checked =3D true; cbElement.defaultChecked =3D true; =09 return element; }, _createShareWithEntry: function(value, id, group, edit) { var entry =3D null, isEmail =3D false; =09 if (typeof id !=3D=3D 'undefined') { if (typeof group !=3D=3D 'undefined' && group =3D=3D=3D true) { entry =3D { 'type': 'group', 'value': value + " (Group)", 'id': = id }; if (typeof this._sharedWith.get("G" + id) !=3D=3D 'undefined') { return false; } } else { var user =3D g_shareWithDropDownSearchArray.findId(id); if (user !=3D=3D null) { entry =3D { 'type': 'username', 'value': user.username, 'id': = user.id, 'fname': user.fname, 'lname': user.lname }; } else { // This really shouldn't happen... do we need to have a way to = lookup by ajax using peopleid?? // var lookupRequest =3D new ShareWithAjaxUserLookup(value, = 'username', userLookupCallback, entry); } if (typeof this._sharedWith.get("U" + id) !=3D=3D 'undefined') { return false; } } } else { isEmail =3D validateEmail(value, false, false); // = global/javascript/email_validate.js if (isEmail) { // user =3D g_shareWithDropDownSearchArray.findEmail(value); // if (user !=3D=3D null) { // entry =3D { 'type': 'username', 'value': user.username, 'id': = user.id, 'fname': user.fname, 'lname': user.lname }; // } if (entry =3D=3D=3D null) { entry =3D { 'type': 'email', 'value': value }; } } else { var user =3D g_shareWithDropDownSearchArray.findUsername(value); if (user !=3D=3D null) { entry =3D { 'type': 'username', 'value': user.username, 'id': = user.id, 'fname': user.fname, 'lname': user.lname }; } else { entry =3D { 'type': 'username', 'value': value }; } } =09 if (entry !=3D=3D null && typeof entry.id !=3D=3D 'undefined') { if (typeof this._sharedWith.get("U" + entry.id) !=3D=3D 'undefined') = { return false; } } else { if (typeof this._sharedWith.get(value) !=3D=3D 'undefined') { return false; } if (isEmail) { // Here is where we fire off the ajax request to lookup e-mail = address var lookupRequest =3D new ShareWithAjaxUserLookup(value, 'email', = this._userLookupCallback.bind(this), entry); } else { // Here is where we fire off the ajax request to lookup username var lookupRequest =3D new ShareWithAjaxUserLookup(value, = 'username', this._userLookupCallback.bind(this), entry); } =09 // If ShareWithAjaxUserLookup returns immediately, the entry.id will = have been filled in and we will want to check it if (typeof entry.id !=3D=3D 'undefined' && typeof = this._sharedWith.get("U" + entry.id) !=3D=3D 'undefined') { return false; } } } =09 if (typeof edit !=3D=3D 'undefined' && edit =3D=3D=3D true) { entry.edit =3D true; } =09 if (typeof entry.id !=3D=3D 'undefined') { if ( entry.type =3D=3D 'username' ) { this._sharedWith.set("U" + entry.id, entry); } else if ( entry.type =3D=3D 'group' ) { this._sharedWith.set("G" + entry.id, entry); } else { this._sharedWith.set(entry.value, entry); } } else { this._sharedWith.set(entry.value, entry); } =09 entry.divElement =3D this._createShareWithEntryDivElement(entry); $('sharewithsettings').appendChild(entry.divElement); =09 return true; }, _shareWithInputBoxDropDownCallback: function(id, result) { var inputElement =3D $(id); if (typeof result =3D=3D=3D 'undefined') { if (this._createShareWithEntry(inputElement.value) !=3D=3D true) { this._alert("\'" + inputElement.value + "\' is already on the share = list."); } else { inputElement.value =3D ""; setTimeout(function() { inputElement.focus(); }, 0); } } else { if (result.group && = g_shareWithDropDownSearchArray.getMultiSeatGroupId() =3D=3D result.id) { this._setMultiSeatView(true); this._multiSeatView.checked =3D true; inputElement.value =3D ""; setTimeout(function() { inputElement.focus(); }, 0); } else if (this._createShareWithEntry(result.username, result.id, = result.group) !=3D=3D true) { this._alert("\'" + result.username + "\' is already on the share = list."); } else { inputElement.value =3D ""; setTimeout(function() { inputElement.focus(); }, 0); } } this._updateSharingIsImage(); }, _showShareWithInputBoxPopupInstructionsTimer: null, _showShareWithInputBoxPopupInstructions: function() { // style.display =3D 'inline'; if ($('sharewithinputfield').value =3D=3D '') { this._instructionsHint.show(); } else { this._delayShowShareWithInputBoxPopupInstructions(); } }, =09 _delayShowShareWithInputBoxPopupInstructions: function() { if (this._showShareWithInputBoxPopupInstructionsTimer !=3D=3D null) { = window.clearTimeout(this._showShareWithInputBoxPopupInstructionsTimer); } this._showShareWithInputBoxPopupInstructionsTimer =3D = window.setTimeout(this._showShareWithInputBoxPopupInstructions.bind(this)= , '2000'); }, =09 _focusSetToShareWithInputBox: function(event) { // Show popup instruction box this._delayShowShareWithInputBoxPopupInstructions(); }, =09 _hideShareWithInputBoxPopupInstructions: function() { if (this._showShareWithInputBoxPopupInstructionsTimer !=3D=3D null) { = window.clearTimeout(this._showShareWithInputBoxPopupInstructionsTimer); this._showShareWithInputBoxPopupInstructionsTimer =3D null; } this._instructionsHint.hide(); }, =09 _focusRemovedFromShareWithInputBox: function(event) { // Hide popup instruction box this._hideShareWithInputBoxPopupInstructions(); }, =09 _shareWithPopupCallbackForInputBox: function(username, result) { var inputElement =3D $('sharewithinputfield'); inputElement.value =3D result.username; this._shareWithInputBoxDropDownCallback(inputElement.identify(), = result); }, =09 _clickShowFriends: function(event) { g_shareWithPopUp.showFriends(); }, =09 _clickShowManageGroups: function(event) { g_shareWithPopUp.showManageGroups(); }, =09 _clickShowFindPeople: function(event) { var inputElement =3D $('sharewithinputfield'); this._findPeoplePopUp.show(); if (inputElement.value !=3D "") { this._findPeoplePopUp.search(inputElement.value); } }, =09 _updateSharingIsImage: function() { var imgElement =3D $('sharewithmode').childElements()[0]; if (typeof this._sharedWith.get("U" + 123) !=3D=3D 'undefined') { imgElement.src =3D = '/global/sharewithdropdown/images/sharing_is_public_48.png'; imgElement.alt =3D "Sharing is PUBLIC"; } else if (this._sharedWith.keys().length > 0) { imgElement.src =3D = '/global/sharewithdropdown/images/sharing_is_private_48.png'; imgElement.alt =3D "Sharing is PRIVATE"; } else { imgElement.src =3D = '/global/sharewithdropdown/images/sharing_is_not_set_48.png'; imgElement.alt =3D "Sharing is OFF"; } }, =09 _setPublicView: function(on) { if (on =3D=3D=3D false) { this._sharedWith.unset("U" + 123); } else { this._sharedWith.set("U" + 123, { 'type': 'username', 'value': = 'Anyone (Public)', 'id': 123, 'fname': '', 'lname': '' }); } }, =09 _publicViewCheckboxClicked: function(event) { var element =3D $(Event.element(event)); var publicEditElement =3D element.siblings()[1]; if (! element.checked) { publicEditElement.checked =3D false; this._setPublicView(false); } else { this._setPublicView(true); } this._updateSharingIsImage(); }, =09 _setPublicEdit: function(on) { if (on =3D=3D=3D false) { if (typeof this._sharedWith.get("U" + 123) !=3D=3D 'undefined') { delete this._sharedWith.get("U" + 123).edit; } } else { if (typeof this._sharedWith.get("U" + 123) !=3D=3D 'undefined') { this._sharedWith.get("U" + 123).edit =3D true; } else { this._sharedWith.set("U" + 123, { 'type': 'username', 'value': = 'Anyone (Public)', 'id': 123, 'fname': '', 'lname': '', 'edit': true }); } } }, =09 _publicEditCheckboxClicked: function(event) { var element =3D $(Event.element(event)); var publicViewElement =3D element.siblings()[0]; if (element.checked) { publicViewElement.checked =3D true; this._setPublicEdit(true); } else { this._setPublicEdit(false); } this._updateSharingIsImage(); }, =09 _setFriendView: function(on) { if (on =3D=3D=3D false) { this._sharedWith.unset("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId()); } else { this._sharedWith.set("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId(), { 'type': = 'group', 'value': 'All My Friends', 'id': = g_shareWithDropDownSearchArray.getFriendListGroupId() }); } }, =09 _friendViewCheckboxClicked: function(event) { var element =3D $(Event.element(event)); var friendEditElement =3D element.siblings()[1]; if (! element.checked) { friendEditElement.checked =3D false; this._setFriendView(false); } else { this._setFriendView(true); } this._updateSharingIsImage(); }, =09 _setFriendEdit: function(on) { if (on =3D=3D=3D false) { if (typeof this._sharedWith.get("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId()) !=3D=3D = 'undefined') { delete this._sharedWith.get("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId()).edit; } } else { if (typeof this._sharedWith.get("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId()) !=3D=3D = 'undefined') { this._sharedWith.get("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId()).edit =3D true; } else { this._sharedWith.set("G" + = g_shareWithDropDownSearchArray.getFriendListGroupId(), { 'type': = 'group', 'value': 'All My Friends', 'id': = g_shareWithDropDownSearchArray.getFriendListGroupId(), 'edit': true }); } } }, =09 _friendEditCheckboxClicked: function(event) { var element =3D $(Event.element(event)); var friendViewElement =3D element.siblings()[0]; if (element.checked) { friendViewElement.checked =3D true; this._setFriendEdit(true); } else { this._setFriendEdit(false); } this._updateSharingIsImage(); }, _setMultiSeatView: function(on) { var gid =3D g_shareWithDropDownSearchArray.getMultiSeatGroupId(); if (on =3D=3D=3D false) { this._sharedWith.unset("G" + gid); } else { var group =3D g_shareWithDropDownSearchArray.findGroupId(gid); this._sharedWith.set("G" + gid, { 'type': 'group', 'value': = group.sharegroupname, 'id': = g_shareWithDropDownSearchArray.getMultiSeatGroupId() }); } }, =09 _multiSeatViewCheckboxClicked: function(event) { var element =3D $(Event.element(event)); var multiSeatEditElement =3D element.siblings()[1]; if (! element.checked) { multiSeatEditElement.checked =3D false; this._setMultiSeatView(false); } else { this._setMultiSeatView(true); } this._updateSharingIsImage(); }, =09 _setMultiSeatEdit: function(on) { var gid =3D g_shareWithDropDownSearchArray.getMultiSeatGroupId(); if (on =3D=3D=3D false) { if (typeof this._sharedWith.get("G" + gid) !=3D=3D 'undefined') { delete this._sharedWith.get("G" + gid).edit; } } else { if (typeof this._sharedWith.get("G" + gid) !=3D=3D 'undefined') { this._sharedWith.get("G" + gid).edit =3D true; } else { var group =3D g_shareWithDropDownSearchArray.findGroupId(gid); this._sharedWith.set("G" + gid, { 'type': 'group', 'value': = group.sharegroupname, 'id': gid, 'edit': true }); } } }, =09 _multiSeatEditCheckboxClicked: function(event) { var element =3D $(Event.element(event)); var multiSeatViewElement =3D element.siblings()[0]; if (element.checked) { multiSeatViewElement.checked =3D true; this._setMultiSeatEdit(true); } else { this._setMultiSeatEdit(false); } this._updateSharingIsImage(); }, _createShareWithInputBox: function() { var linkElement; var imgElement =3D new Element('img', { 'src': = '/global/sharewithdropdown/images/sharing_is_private_48.png', 'alt': '', = 'style': 'padding: 4px 4px;' }); //var spanElement =3D new Element('span', { 'class': 'hint', 'style': = 'display: none;'}).update("Type a name, email, or = username;
      or click \'More..\' for all sharing options."); //var spanElement =3D new Element('span', { 'class': 'kasHint', = 'style': 'display: none;'}).update("Type a friend\'s name, a group name, = or a username."); //spanElement.appendChild(new Element('span', { 'class': = 'pointer-left' })); =09 $('sharewithmode').update(imgElement); $('sharewithheader').update(new Element('br')); $('sharewithheader').appendChild(new Element('div', { 'class': = 'Smaller', 'style': 'clear: both; width: 40px; text-align: left; float: = left;' }).update("Share
    With")); $('sharewithheader').appendChild(new Element('div', { 'class': = 'Smaller', 'style': 'width: 40px; text-align: right; float: right;' = }).update('Allow
    Edit')); =09 $('sharewithsettings').show(); var multiSeatGroup =3D = g_shareWithDropDownSearchArray.getMultiSeatGroupId(); if ($('sharewithsettings').childElements().length < (multiSeatGroup > = 0 ? 3 : 2)) { var divElement; =09 divElement =3D new Element('div', { 'style': 'width: 128px; margin: = 3px 0px 0px 0px; text-align: left; float: left; display: inline;' }); divElement.style.width =3D '128px'; divElement.style.fontWeight =3D 'bold'; divElement.update('Anyone (Public)'); var element =3D new Element('div', { 'class': 'Smaller', 'style': = 'margin: 0px 0px 0px 0px; overflow: hidden; display: block;' }); element.appendChild(this._publicView =3D new Element('input', { = 'type': 'checkbox', 'id': 'publicview', 'name': 'view', 'value': '1', = 'style': 'float: left; margin: 3px 4px 3px 0px; padding: 0px; width: = 12px; height: 12px; display: inline;', 'title': '' })); element.appendChild(divElement); var titleAttr =3D document.createAttribute("title"); this._publicEdit =3D new Element('input', { 'type': 'checkbox', 'id': = 'publicedit', 'name': 'edit', 'value': '1', 'style': 'float: left; = margin: 3px 0px 3px 4px; padding: 0px; width: 12px; height: 12px; = display: inline;', 'title': ('Let \'Anyone (Public)\' make changes') }); element.appendChild(this._publicEdit); divElement.style.overflow =3D 'hidden'; divElement.setAttributeNode(titleAttr); $('sharewithsettings').appendChild(element); if (this._publicView.offsetWidth !=3D 12) { divElement.style.width =3D (128 - ((this._publicView.offsetWidth - = 12) * 2)) + 'px'; this._checkboxWidth =3D this._publicView.offsetWidth; } else { this._checkboxWidth =3D 12; } Event.observe(this._publicView, 'click', = this._publicViewCheckboxClicked.bindAsEventListener(this)); Event.observe(this._publicEdit, 'click', = this._publicEditCheckboxClicked.bindAsEventListener(this)); =09 divElement =3D new Element('div', { 'style': 'width: 128px; margin: = 3px 0px 0px 0px; text-align: left; float: left; display: inline;' }); divElement.style.width =3D '128px'; divElement.style.fontWeight =3D 'bold'; divElement.update('All My Friends'); var element =3D new Element('div', { 'class': 'Smaller', 'style': = 'margin: 0px 0px 0px 0px; overflow: hidden; display: block;' }); element.appendChild(this._friendView =3D new Element('input', { = 'type': 'checkbox', 'id': 'friendview', 'name': 'view', 'value': '1', = 'style': 'float: left; margin: 3px 4px 3px 0px; padding: 0px; width: = 12px; height: 12px; display: inline;', 'title': '' })); element.appendChild(divElement); var titleAttr =3D document.createAttribute("title"); this._friendEdit =3D new Element('input', { 'type': 'checkbox', 'id': = 'friendedit', 'name': 'edit', 'value': '1', 'style': 'float: left; = margin: 3px 0px 3px 4px; padding: 0px; width: 12px; height: 12px; = display: inline;', 'title': ('Let \'All My Friends\' make changes') }); element.appendChild(this._friendEdit); divElement.style.overflow =3D 'hidden'; divElement.setAttributeNode(titleAttr); $('sharewithsettings').appendChild(element); Event.observe(this._friendView, 'click', = this._friendViewCheckboxClicked.bindAsEventListener(this)); Event.observe(this._friendEdit, 'click', = this._friendEditCheckboxClicked.bindAsEventListener(this)); if (this._publicView.offsetWidth !=3D 12) { divElement.style.width =3D (128 - ((this._publicView.offsetWidth - = 12) * 2)) + 'px'; } if (multiSeatGroup > 0) { var group =3D = g_shareWithDropDownSearchArray.findGroupId(multiSeatGroup); this._multiSeatElement =3D divElement =3D new Element('div', { = 'style': 'width: 128px; margin: 3px 0px 0px 0px; text-align: left; = float: left; display: inline;' }); divElement.style.width =3D '128px'; divElement.style.fontWeight =3D 'bold'; divElement.update(group.sharegroupname); var element =3D new Element('div', { 'class': 'Smaller', 'style': = 'margin: 0px 0px 0px 0px; overflow: hidden; display: block;' }); element.appendChild(this._multiSeatView =3D new Element('input', { = 'type': 'checkbox', 'id': 'friendview', 'name': 'view', 'value': '1', = 'style': 'float: left; margin: 3px 4px 3px 0px; padding: 0px; width: = 12px; height: 12px; display: inline;', 'title': '' })); element.appendChild(divElement); var titleAttr =3D document.createAttribute("title"); this._multiSeatEdit =3D new Element('input', { 'type': 'checkbox', = 'id': 'friendedit', 'name': 'edit', 'value': '1', 'style': 'float: left; = margin: 3px 0px 3px 4px; padding: 0px; width: 12px; height: 12px; = display: inline;', 'title': ('Let \'' + group.sharegroupname + '\' make = changes') }); element.appendChild(this._multiSeatEdit); divElement.style.overflow =3D 'hidden'; divElement.setAttributeNode(titleAttr); $('sharewithsettings').appendChild(element); Event.observe(this._multiSeatView, 'click', = this._multiSeatViewCheckboxClicked.bindAsEventListener(this)); Event.observe(this._multiSeatEdit, 'click', = this._multiSeatEditCheckboxClicked.bindAsEventListener(this)); if (this._publicView.offsetWidth !=3D 12) { divElement.style.width =3D (128 - ((this._publicView.offsetWidth - = 12) * 2)) + 'px'; } } } =09 this._updateSharingIsImage(); }, onChange: function() { if (!this._initializationDone) return; var multiSeatGroup =3D = g_shareWithDropDownSearchArray.getMultiSeatGroupId(); if (multiSeatGroup > 0) { var group =3D = g_shareWithDropDownSearchArray.findGroupId(multiSeatGroup); this._multiSeatElement.update(group.sharegroupname); } }, loadShareSettings: function(string) { if (!this._initializationDone) { this._initialShareSettings =3D string; return; } var friendListGroup =3D = g_shareWithDropDownSearchArray.getFriendListGroupId(); var multiSeatGroup =3D = g_shareWithDropDownSearchArray.getMultiSeatGroupId(); while ($('sharewithsettings').childElements().length > (multiSeatGroup = > 0 ? 3 : 2)) { = $('sharewithsettings').childElements()[$('sharewithsettings').childElemen= ts().length - 1].remove(); } this._sharedWith.each(function(pair) { this._sharedWith.unset(pair.key); }.bind(this)); this._createShareWithInputBox(); var input; try { if (string =3D=3D null || string =3D=3D '' || string =3D=3D '[]') string =3D '{}'; input =3D new Hash(string.evalJSON()); } catch(err) { input =3D new Hash(); } var publicSeen =3D false; var friendSeen =3D false; var multiSeatSeen =3D false; input.each(function(pair) { if (pair.key =3D=3D "U123") { publicSeen =3D true; this._setPublicView(true); this._publicView.checked =3D true; if (typeof pair.value.edit !=3D=3D 'undefined' && pair.value.edit = =3D=3D=3D true) { this._setPublicEdit(true); this._publicEdit.checked =3D true; } else { this._setPublicEdit(false); this._publicEdit.checked =3D false; } } else if (pair.value.type =3D=3D=3D 'group' && ((typeof = pair.value.friendlistgroup !=3D=3D 'undefined' && = pair.value.friendlistgroup =3D=3D=3D true) || (friendListGroup > 0 && = pair.value.id =3D=3D friendListGroup))) { friendSeen =3D true; if (friendListGroup <=3D 0) g_shareWithDropDownSearchArray.setFriendListGroupId(pair.value.id); this._setFriendView(true); this._friendView.checked =3D true; if (typeof pair.value.edit !=3D=3D 'undefined' && pair.value.edit = =3D=3D=3D true) { this._setFriendEdit(true); this._friendEdit.checked =3D true; } else { this._setFriendEdit(false); this._friendEdit.checked =3D false; } } else if (pair.value.type =3D=3D=3D 'group' && multiSeatGroup > 0 && = pair.value.id =3D=3D multiSeatGroup) { multiSeatSeen =3D true; this._setMultiSeatView(true); this._multiSeatView.checked =3D true; if (typeof pair.value.edit !=3D=3D 'undefined' && pair.value.edit = =3D=3D=3D true) { this._setMultiSeatEdit(true); this._multiSeatEdit.checked =3D true; } else { this._setMultiSeatEdit(false); this._multiSeatEdit.checked =3D false; } } else { if (pair.value.type !=3D=3D 'group') { g_shareWithDropDownSearchArray.addEntry( { "id": pair.value.id, = "username": pair.value.value, "fname": pair.value.fname, "lname": = pair.value.lname } ); } this._createShareWithEntry(pair.value.value, pair.value.id, = pair.value.type =3D=3D=3D 'group', pair.value.edit); } }.bind(this)); if (publicSeen =3D=3D=3D false) { this._setPublicView(false); this._publicView.checked =3D false; this._publicEdit.checked =3D false; } if (friendSeen =3D=3D=3D false) { this._setFriendView(false); this._friendView.checked =3D false; this._friendEdit.checked =3D false; } if (multiSeatSeen =3D=3D=3D false && multiSeatGroup > 0) { this._setMultiSeatView(false); this._multiSeatView.checked =3D false; this._multiSeatEdit.checked =3D false; } this._updateSharingIsImage(); }, =09 saveShareSettings: function() { if (!this._initializationDone) return '{}'; if (this._sharingIsOn =3D=3D=3D true) { var result =3D $H(); this._sharedWith.each(function(pair) { var entry =3D $H(); Object.keys(pair.value).each(function(key) { var type =3D typeof pair.value[key]; if (type =3D=3D "string" || type =3D=3D "number"|| type = =3D=3D "boolean") entry.set(key, pair.value[key]); }); result.set(pair.key, entry); }); return Object.toJSON(result.toObject()); } else { return '{}'; } }, _finishInitialize: function() { this._initializationDone =3D true; if (typeof this._initialShareSettings !=3D=3D 'undefined') { this.loadShareSettings(this._initialShareSettings); } else { this._createShareWithInputBox(); } $('sharewithinput').show(); $('sharewithtitle').update("Sharing"); }, =09 initialize: function(elementToReplace, shareSettings) { if (g_shareWithDropDownSearchArray =3D=3D=3D null) { g_shareWithDropDownSearchArray =3D new = ShareWithDropDownSearchArray(app); } if (typeof shareSettings !=3D=3D 'undefined') this._initialShareSettings =3D shareSettings; this._initializationDone =3D false; this._showingAlertBox =3D false; this._checkboxWidth =3D 12; this._sharedWith =3D new Hash(); this._findPeoplePopUp =3D new = FindPeoplePopUp(FindPeopleModes.ADD_TO_SHARE, = this._findPeopleCallback.bind(this)); =09 if (g_shareWithPopUp =3D=3D=3D null) { g_shareWithPopUp =3D new = ShareWithPopUp(this._shareWithPopupCallbackForInputBox.bind(this)); } =09 var divElement =3D new Element('div', {'id': 'sharewith', 'style': = 'margin: 0 auto; width:160px; padding: 4px 2px; position: relative;'}); divElement.insert(new Element('div', {'id': 'sharewithmode', 'style': = 'float: left; position: relative;'})); divElement.insert(new Element('div', {'id': 'sharewithtitle', 'class': = 'label-2', 'style': 'text-align: center; position: relative;'})); divElement.insert(new Element('div', {'id': 'sharewithheader', = 'style': 'text-align: center; position: relative;'})); divElement.insert(new Element('div', {'id': 'sharewithsettings', = 'style': 'position: relative; clear: both;'})); divElement.insert(new Element('div', {'id': 'sharewithinput', 'style': = 'text-align: center; position: relative; display: block; clear: = both;'})); elementToReplace.replace(divElement); $('sharewithinput').hide(); var inputElement =3D new Element('input', { 'type': 'text', 'value': = '', 'id': 'sharewithinputfield', 'size': '14', 'style': 'position: = relative;', 'autocomplete': 'off', 'placeholder': 'Click to Share' }); Event.observe(inputElement, 'change', = this._changeShareWithInputBox.bindAsEventListener(this)); Event.observe(inputElement, 'focus', = this._focusSetToShareWithInputBox.bindAsEventListener(this)); Event.observe(inputElement, 'blur', = this._focusRemovedFromShareWithInputBox.bindAsEventListener(this)); Event.observe(inputElement, 'keydown', = this._keyDownHandlerShareWithInputBox.bindAsEventListener(this)); Event.observe(inputElement, 'keypress', = this._keyPressHandlerShareWithInputBox.bindAsEventListener(this)); $('sharewithinput').appendChild(inputElement); this._instructionsHint =3D new Hint(inputElement, "Type a username, = email address, share group name, or someone\'s first and last name.", = "right"); //$('sharewithinput').appendChild(spanElement); $('sharewithinput').appendChild(new Element('br')); $('sharewithinput').appendChild(linkElement =3D new Element('a', { = 'href': '#', 'class': 'Smaller' }).update('Friends')); Event.observe(linkElement, 'click', = this._clickShowFriends.bindAsEventListener(this)); $('sharewithinput').appendChild(new = Element('span').update(' | ')); $('sharewithinput').appendChild(linkElement =3D new Element('a', { = 'href': '#', 'class': 'Smaller' }).update('Groups')); Event.observe(linkElement, 'click', = this._clickShowManageGroups.bindAsEventListener(this)); $('sharewithinput').appendChild(new = Element('span').update(' | ')); $('sharewithinput').appendChild(linkElement =3D new Element('a', { = 'href': '#', 'class': 'Smaller' }).update('Find Friends')); Event.observe(linkElement, 'click', = this._clickShowFindPeople.bindAsEventListener(this)); $('sharewithtitle').appendChild(new Element('img', {'src': = '/global/sharewithdropdown/images/gif/ajax-spinner.gif'})); =09 this._dropdown =3D new ShareWithDropDown(inputElement.identify(), = this._shareWithInputBoxDropDownCallback.bind(this), = this._clickShowFindPeople.bind(this)); this._dropdown.onShow =3D = this._hideShareWithInputBoxPopupInstructions.bind(this); this._dropdown.onHide =3D = this._delayShowShareWithInputBoxPopupInstructions.bind(this); this._sharingIsOn =3D true; = g_shareWithDropDownSearchArray.addChangeCallback(this.onChange.bind(this)= ); if (!g_shareWithDropDownSearchArray.ready()) = g_shareWithDropDownSearchArray.addReadyCallback(this._finishInitialize.bi= nd(this)); else this._finishInitialize(); } }); function initShareWithDropDown(hooktome1, hooktome2, callback, app) { if (hooktome2) { var dropdown2 =3D new ShareWithDropDown(hooktome2, callback); } if (hooktome1) { var dropdown1 =3D new ShareWithDropDown(hooktome1, callback); } if (g_shareWithDropDownSearchArray =3D=3D=3D null) { g_shareWithDropDownSearchArray =3D new ShareWithDropDownSearchArray(); } } // create CSS element on the fly function __setCSS_Helper(css) { try { // append stylesheet to alter document.getElementsByTagName("head")[0].appendChild(css); } catch (e) { setTimeout(function(){__setCSS_Helper(css)}, 100); } } function _setCSS() { var css =3D new Element('link', { 'href': = '/global/sharewithdropdown/sharewithdropdown.css', 'rel': 'stylesheet', = 'type': 'text/css' }); =09 // attempt to add the css and then keep trying till we do __setCSS_Helper(css); css =3D null; } // _setCSS(); =0A= /* /global/javascript/email_validate.js */=0A= // email_validate.js Javascript functions to do initial validation of = multiple email addresses // addr =3D email address, man =3D 1 if email address is manatory, db = =3D 1 if displaying error messages is ok function validateEmail(addr,man,db) { if (addr =3D=3D '' && man) { if (db) alert('email address is mandatory'); return false; } if (addr =3D=3D '') return true; =09 addr =3D addr.replace(/^\s+|\s+$/g, ''); // Trim left and right of = spaces =09 var invalidChars =3D '\/\'\\";:?!()[]\{\}^|'; // removed blank = (space) from illegal chars for (i=3D0; i -1) { if (db) alert('email address "' + addr + '" contains invalid = characters'); //alert( 'rich' ); return false; } } for (i=3D0; i127) { if (db) alert('email address "' + addr + '" contains non ascii = characters.'); return false; } } =09 var atPos =3D addr.indexOf('@',0); if (atPos =3D=3D -1) { if (db) alert('email address "' + addr + '" must contain an @'); return false; } if (atPos =3D=3D 0) { if (db) alert('email address "' + addr + '" must not start with @'); return false; } if (addr.indexOf('@', atPos + 1) > - 1) { if (db) alert('email address "' + addr + '" must contain only one = @'); return false; } if (addr.indexOf('.', atPos) =3D=3D -1) { if (db) alert('email address "' + addr + '" must contain a period in = the domain name after the "@"'); return false; } if (addr.indexOf('@.',0) !=3D -1) { if (db) alert('period must not immediately follow @ in email address = "' + addr + '"'); return false; } if (addr.indexOf('.@',0) !=3D -1){ if (db) alert('period must not immediately precede @ in email address = "' + addr + '"'); return false; } if (addr.indexOf('..',0) !=3D -1) { if (db) alert('two periods must not be adjacent in email address "' + = addr + '"'); return false; } var suffix =3D addr.substring(addr.lastIndexOf('.')+1); suffix =3D suffix.toLowerCase(); =09 if (suffix.length =3D=3D 0) { if (db) alert('The email address ' + addr + ' will not work because = you need a suffix such as "com" or "net" after the period'); return false; } =09 if (suffix.length !=3D 2 && suffix !=3D 'com' && suffix !=3D 'net' && = suffix !=3D 'org' && suffix !=3D 'edu' && suffix !=3D 'int' && suffix = !=3D 'mil' && suffix !=3D 'gov' & suffix !=3D 'arpa' && suffix !=3D = 'biz' && suffix !=3D 'aero' && suffix !=3D 'name' && suffix !=3D 'coop' = && suffix !=3D 'info' && suffix !=3D 'pro' && suffix !=3D 'museum') { if (db) alert('The email address ' + addr + ' will not work because = "' + suffix + '" not a valid domain extension'); return false; } return true; } function multiEmail(email_field)=20 { email_field =3D email_field.replace(/^\s+|\s+$/g, ''); // Trim left = and right of spaces var email =3D email_field.split(','); for (var i =3D 0; i < email.length; i++)=20 { if( i > 0 && email[i].length < 1 ) continue; if (!validateEmail(email[i], 1, 1))=20 return false; } return true; }=0A= /* /global/javascript/nav_bar.js */=0A= /** * Used by top Navigation Bar. =20 * Put in a separate file because in many cases the nav bar is loaded = twice (at top and bottom of screen */ function open_calc_window() { = window.open("http://www.keepandshare.com/global/calculator.htm","Calculat= or","menubar=3Dno,scrollbars=3Dyes,resizable=3D1,width=3D320,height=3D380= "); } function open_upgrade_window() { = window.open("http://www.keepandshare.com/business/purchase.php","Upgrade"= ,"menubar=3Dyes,scrollbars=3Dyes,resizable=3D1,width=3D600,height=3D500")= ; } function NavBarShareBtnOff(obj) { if (obj && obj.setAttribute) { obj.setAttribute('background', '/graphics/menushareup.gif') } } function NavBarBtnOn(obj) { if (obj && obj.setAttribute) { obj.setAttribute('background', '/graphics/menubackdn.gif') } } function NavBarBtnOff(obj) { if (obj && obj.setAttribute) { obj.setAttribute('background', '/graphics/menubackup.gif') } } function NavBarBtnClick(strName, do_not_display_popup ) { if (document.getElementById) { =09 =09 // In New/Edit pages, give user warning if they are leaving = without saving this work if( g_QWebEditorIsBeingUsed =3D=3D 'y' ) =20 { if( HtmlEditIsModified( "MyQWeb" ) =3D=3D true ) { // This warning is also in global/global_output.php function = global_display_nav_bar() if( window.confirm( "Do you want to save your work before = leaving? \n\n To save your work, press \"OK\" and then \"Save and = Exit\" \n To leave without saving your work, press \"Cancel\"" ) = =3D=3D true ) return( false ); } } else if( g_calendar_modified =3D=3D 'y' ) { // This warning is also in global/javascript/nav_bar.js function = NavBarBtnClick() if( do_not_display_popup !=3D 'n' ) if( window.confirm( "Do you want to save your calendar changes = before leaving? \n\n To save your changes, press \"OK\" and then = \"Save\" \n To leave without saving your changes, press \"Cancel\"" ) = =3D=3D true ) return( false ); } =20 obj =3D document.getElementById(strName) if (!obj.target || obj.target.length =3D=3D 0) { str =3D "_self" } else { str =3D obj.target } window.open(obj.href, obj.target) } } =0A= /* /global/javascript/misc.js */=0A= // misc.js function isFramed() { /* Is KAS running in a iFrame? */ return (self.location !=3D top.location); } // Used only by the View link (currently the whole title is the view = link) so that view.php will recieve the array it needs=20 // to support the NEXT and PREV buttons. // Called from incl_view.php and recent.php function submit_form_for_view_php( value, view_index ) { document.form_show.action =3D value; // what item to view document.form_show.view_index.value =3D view_index; // index of this = item in the hidden array view_array[] document.form_show.submit(); } /************************************************************************= * This code is from Dynamic Web Coding at dyn-web.com Copyright 2002-5 by Sharon Paine See Terms of Use at http://www.dyn-web.com/bus/terms.html regarding conditions under which you may use this code. This notice must be retained in the code as is! *************************************************************************= / /* this code is duplicated in file "lp_lib.js" for use external LPs by = Rob -- this lib has more code */ function showRollTip(msg, e) { if ( typeof RollTip =3D=3D "undefined" || !RollTip.ready ) return; RollTip.reveal(msg, e); } function hideRollTip() { if ( typeof RollTip =3D=3D "undefined" || !RollTip.ready ) return; RollTip.conceal(); } ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.keepandshare.com/global/javascript/navigator/global_navigator-009.js /* global navigator javascript code */=0A= =0A= function gnav_show(show, newCat) {=0A= if (newCat =3D=3D null) {=0A= newCat =3D gnav_cat;=0A= }=0A= var url =3D = "fns_navigator.php?i=3D"+gnav_search_peopleid+"&int=3Dy&sh=3D"+(show ? = 'y' : 'n')+"&cat=3D"+newCat+(gnav_photo_library ? "&ph=3Dy": "");=0A= new Ajax.Request( url,=0A= { method:'post', // use post to defeat browser caching=0A= postBody : "",=0A= onSuccess: function(transport) {=0A= var content =3D transport.responseText;=0A= content.evalScripts();=0A= //alert(content);=0A= $('gnav_mainWindow').innerHTML =3D content;=0A= if (show) {=0A= $('gnav_mainWindow').style.width =3D gnav_open_width;=0A= } else {=0A= $('gnav_mainWindow').style.width =3D gnav_closed_width;=0A= }=0A= gnav_showState =3D show;=0A= setTimeout('gnav_onresize()', 10);=0A= if (typeof calendarNavResizeCallback =3D=3D 'function' ) {=0A= if ($('thePage') !=3D=3D null) {=0A= calendarNavResizeCallback(); // hook back to calendar=0A= }=0A= } else if (typeof tableNavResizeCallback =3D=3D 'function' ) {=0A= tableNavResizeCallback();=0A= }=0A= },=0A= onFailure: function (transport) {=0A= alert("Request failed, please try again in a while.");=0A= },=0A= onException : function(request, e) {=0A= if (e.toString)=0A= alert("Javascript Exception: " + e.toString());=0A= else=0A= alert("Exception");=0A= }=0A= } );=0A= =0A= }=0A= =0A= function gnav_toggleFolderState() {=0A= var folder =3D $('gnav_folderTagList');=0A= var folderState =3D $('gnav_selectedFolderState');=0A= if (folder !=3D null) {=0A= if (folder.style.display =3D=3D 'none') {=0A= folder.style.display =3D '';=0A= folderState.innerHTML =3D ' [-] ';=0A= } else {=0A= folder.style.display =3D 'none';=0A= folderState.innerHTML =3D ' [+] ';=0A= }=0A= }=0A= }=0A= =0A= function gnav_toggleCabinetContent() {=0A= var cabinet =3D $('gnav_cabinetContent');=0A= var cabinetState =3D $('gnav_selectedCabinetState');=0A= if (cabinet !=3D null) {=0A= if (cabinet.style.display =3D=3D 'none') {=0A= cabinet.style.display =3D '';=0A= cabinetState.innerHTML =3D ' [-] ';=0A= } else {=0A= cabinet.style.display =3D 'none';=0A= cabinetState.innerHTML =3D ' [+] ';=0A= }=0A= }=0A= }=0A= =0A= function gnav_doAddNewFolder(showorhide) {=0A= if (showorhide) {=0A= $('gnav_NewFolderEntry').style.display =3D "";=0A= $('gnav_NewFolderName').value =3D "";=0A= $('gnav_NewFolderName').focus();=0A= $('gnav_NewFolderHint').style.display =3D "none";=0A= } else {=0A= $('gnav_NewFolderEntry').style.display =3D "none";=0A= $('gnav_NewFolderHint').style.display =3D "";=0A= }=0A= return false;=0A= }=0A= =0A= function gnav_doCheckAddNewFolder() {=0A= var fName =3D $('gnav_NewFolderName').value;=0A= if (fName.length > 0) {=0A= var url =3D = 'fns_asynch_api.php?action=3DnewCategory&fnm=3D'+escape(fName);=0A= new Ajax.Request( url,=0A= { method:'get',=0A= onSuccess: function(transport) {=0A= var jdata =3D transport.responseText;=0A= var json =3D jdata.evalJSON(true);=0A= if (json.status !=3D 0) {=0A= alert(json.message);=0A= } else {=0A= if (!gnav_is_calendar) {=0A= // refresh the folder display=0A= if (gnav_showState) {=0A= = location.href=3D"show.php?i=3D"+gnav_search_peopleid+"&cat=3D"+json.data[= 0]+"&fclick=3Dy";=0A= return;=0A= }=0A= } else {=0A= location.href=3D'/'+json.data[0]+'?i=3D'+gnav_search_peopleid;=0A= return;=0A= }=0A= }=0A= },=0A= =0A= onFailure: function () {=0A= alert('Your request failed, please refresh your browser and try = again');=0A= },=0A= onException: function(tr, e) {=0A= alert('Javascript Exception: '+e.toString());=0A= }=0A= } );=0A= =0A= }=0A= gnav_doAddNewFolder(false);=0A= }=0A= =0A= function gnav_doProcessNewFolderKey(ev) {=0A= var keycode;=0A= var escapeKeycode =3D 0;=0A= =0A= if (window.event) {=0A= // IE=0A= keycode =3D window.event.keyCode;=0A= escapeKeycode =3D 27;=0A= } else if (ev) {=0A= keycode =3D ev.keyCode;=0A= escapeKeycode =3D ev.DOM_VK_ESCAPE;=0A= } else {=0A= return true;=0A= }=0A= if (keycode =3D=3D 13) {=0A= gnav_doCheckAddNewFolder();=0A= return false;=0A= } else if (keycode =3D=3D escapeKeycode) {=0A= gnav_doAddNewFolder(false);=0A= return false;=0A= }=0A= return true;=0A= }=0A= =0A= function gnav_toggleFriendsState() {=0A= =0A= var friendsList =3D $('gnav_friendsCabinets');=0A= var friendsState =3D $('gnav_selectedFriendState');=0A= if (friendsList !=3D null) {=0A= if (friendsList.style.display =3D=3D 'none') {=0A= friendsList.style.display =3D '';=0A= friendsState.innerHTML =3D ' [-] ';=0A= $('gnav_appContent').scrollTop =3D $('gnav_appContent').scrollHeight; = // scroll content to bottom of opened list=0A= } else {=0A= friendsList.style.display =3D 'none';=0A= friendsState.innerHTML =3D ' [+] ';=0A= }=0A= }=0A= return false;=0A= }=0A= =0A= function gnav_saveTabSettings() {=0A= var url =3D 'fns_asynch_api.php';=0A= var body =3D 'action=3DsaveTabSettings';=0A= // calendar=0A= for (var i =3D 1; i <=3D 30; i++) {=0A= var ctrl =3D $('gnav_calendarTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_calendarTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= for (var i =3D 1; i <=3D 20; i++) {=0A= var ctrl =3D $('gnav_docTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_docTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= for (var i =3D 1; i <=3D 4; i++) {=0A= var ctrl =3D $('gnav_photoTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_photoTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= for (var i =3D 1; i <=3D 4; i++) {=0A= var ctrl =3D $('gnav_favTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_favTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= for (var i =3D 1; i <=3D 4; i++) {=0A= var ctrl =3D $('gnav_discussTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_discussTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= for (var i =3D 1; i <=3D 4; i++) {=0A= var ctrl =3D $('gnav_todoTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_todoTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= for (var i =3D 1; i <=3D 4; i++) {=0A= var ctrl =3D $('gnav_addrTab'+i);=0A= if (ctrl) {=0A= body +=3D '&gnav_addrTab'+i+'=3D'+(ctrl.checked ? "y" : "n");=0A= }=0A= }=0A= =0A= new Ajax.Request( url,=0A= { method:'post',=0A= postBody : body,=0A= onSuccess: function(transport) {=0A= var jdata =3D transport.responseText;=0A= var json =3D jdata.evalJSON(true);=0A= if (json.status !=3D 0) {=0A= alert(json.message);=0A= } else {=0A= // refresh the folder display if it's open=0A= if (gnav_showState) {=0A= gnav_show(gnav_showState);=0A= return;=0A= }=0A= }=0A= },=0A= =0A= onFailure: function () {=0A= alert('Your request failed, please refresh your browser and try = again');=0A= },=0A= onException: function(tr, e) {=0A= alert('Javascript Exception: '+e.toString());=0A= }=0A= } );=0A= }=0A= =0A= =0A= var CalendarTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'calendarTabId' }, 'gnav_manageCalendarTabs');=0A= }=0A= });=0A= var DocTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'docTabId' }, 'gnav_manageDocTabs');=0A= }=0A= });=0A= var PhotoTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'photoTabId' }, 'gnav_managePhotoTabs');=0A= }=0A= });=0A= var FavTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'favTabId' }, 'gnav_manageFavTabs');=0A= }=0A= });=0A= var DiscussTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'discussTabId' }, 'gnav_manageDiscussTabs');=0A= }=0A= });=0A= var ToDoTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'todoTabId' }, 'gnav_manageToDoTabs');=0A= }=0A= });=0A= var AddrTabClass =3D Class.create(Tab, {=0A= initialize: function($super) {=0A= $super({ 'id': 'addrTabId' }, 'gnav_manageAddrTabs');=0A= }=0A= });=0A= =0A= var ManageTabsTabbedPopUpClass =3D Class.create(TabbedPopUp, {=0A= initialize: function($super) {=0A= $super();=0A= this.calendarTab =3D new CalendarTabClass();=0A= this.addTab("Calendars", this.calendarTab);=0A= this.docTab =3D new DocTabClass();=0A= this.addTab("Files", this.docTab);=0A= this.photoTab =3D new PhotoTabClass();=0A= this.addTab("Photo", this.photoTab);=0A= this.favTab =3D new FavTabClass();=0A= this.addTab("Bookmark", this.favTab);=0A= this.discussTab =3D new DiscussTabClass();=0A= this.addTab("Discuss", this.discussTab);=0A= this.todoTab =3D new ToDoTabClass();=0A= this.addTab("To Do", this.todoTab);=0A= this.addrTab =3D new AddrTabClass();=0A= this.addTab("Address", this.addrTab);=0A= =0A= var okButton =3D new Element('button', { 'class': 'kasBtn kasBtnGreen' = }).update("OK");=0A= this.addButton(okButton);=0A= Event.observe(okButton, 'click', = this.okButtonClick.bindAsEventListener(this));=0A= var closeButton =3D new Element('button', { 'class': 'kasBtn = kasBtnRed' }).update("Close");=0A= this.addButton(closeButton);=0A= Event.observe(closeButton, 'click', = this.closeButtonClick.bindAsEventListener(this));=0A= =0A= },=0A= okButtonClick: function(e) {=0A= gnav_saveTabSettings();=0A= this.hide();=0A= },=0A= closeButtonClick: function(e) {=0A= this.hide();=0A= },=0A= show: function($super, whichTab) {=0A= this.showTab(whichTab);=0A= $super();=0A= }=0A= =0A= });=0A= var gnav_manageTagInstance =3D null;=0A= function gnav_showManage(show) {=0A= if (gnav_manageTagInstance =3D=3D null) {=0A= gnav_manageTagInstance =3D new ManageTabsTabbedPopUpClass();=0A= }=0A= if (show) {=0A= gnav_manageTagInstance.show(gnav_activeManageTab);=0A= } else {=0A= gnav_manageTagInstance.hide();=0A= }=0A= }=0A= =0A= =0A= // resize the navigator so that the blue bars are always at the bottom = left portion of the window, unless the window is too small=0A= function gnav_findPos(obj) {=0A= var cleft =3D 0;=0A= var ctop =3D 0;=0A= if (obj.offsetParent) {=0A= do {=0A= cleft +=3D obj.offsetLeft;=0A= ctop +=3D obj.offsetTop;=0A= } while (obj =3D obj.offsetParent);=0A= }=0A= return { top: ctop, left: cleft };=0A= }=0A= =0A= var gnav_lastScrollTop =3D 0;=0A= function gnav_onresize() {=0A= //Get size of window (either browser or iframe size) and subtract = scroll bar offset from it=0A= var pageH =3D 0; // height of the display area=0A= var windowH =3D 0; // height of the main window=0A= var noff, ieoff;=0A= var blueBarHeight =3D 0; // height of the blue menu bar for scrolling??=0A= var iframe =3D gnav_is_iframe; // true if iframe mode=0A= if(iframe){ //if iframe =3D true will not take scroll bar sizes into = account when rendering calendar=0A= noff =3D 108;=0A= ieoff =3D 108;=0A= } else {=0A= noff =3D 0;=0A= ieoff =3D 0;=0A= }=0A= if (parseInt(navigator.appVersion)>3) {=0A= if (navigator.appName=3D=3D"Netscape") {=0A= pageH =3D window.innerHeight - noff - (iframe ? 0 : blueBarHeight);=0A= gnav_lastScrollTop =3D document.documentElement.scrollTop;=0A= windowH =3D document.body.offsetHeight - noff - (iframe ? 0 : = blueBarHeight);=0A= }=0A= if (navigator.appName.indexOf("Microsoft")!=3D-1) {=0A= pageH =3D document.documentElement.clientHeight - ieoff - (iframe ? 0 = : blueBarHeight);=0A= gnav_lastScrollTop =3D document.documentElement.scrollTop;=0A= windowH =3D document.body.offsetHeight - ieoff - (iframe ? 0 : = blueBarHeight);=0A= }=0A= }=0A= var mainHeight =3D $('gnav_appContent').offsetHeight;=0A= //alert("windowH =3D "+windowH+", pageH =3D "+pageH+", mainHeight =3D = "+mainHeight);=0A= if (windowH > pageH && mainHeight =3D=3D 0) {=0A= pageH =3D windowH;=0A= }=0A= pageH +=3D gnav_lastScrollTop;=0A= var manageTabControl =3D $('gnav_mangageTagControl');=0A= if (manageTabControl !=3D null) {=0A= pageH -=3D manageTabControl.scrollHeight; // make room for the Manage = Tabs link=0A= }=0A= // make the content area big enough to push the tabs to the bottom=0A= var tabPos =3D gnav_findPos($('gnav_mainWindow')); // locate the top of = the main window=0A= var tabBarHeight =3D $('gnav_mainWindow').offsetHeight;=0A= //var tabBarParentHeight =3D = $('gnav_mainWindow').parentNode.offsetHeight-5;=0A= var tabHeight =3D $('gnav_selectedTab').offsetHeight;=0A= =0A= tabBarHeight =3D (pageH - tabPos.top); // everyting but what's above it=0A= var newHeight =3D (tabBarHeight - ( (gnav_numOfTabs+(!gnav_showState ? = 1 : 0)) * tabHeight))-(gnav_showState ? 3 : 5);=0A= if (newHeight < gnav_minimumContentHeight) {=0A= newHeight =3D gnav_minimumContentHeight;=0A= }=0A= //alert("newHeight =3D "+newHeight);=0A= $('gnav_appContent').style.height =3D newHeight+"px";=0A= if (gnav_cat.length > 0 && gnav_cat !=3D 0) {=0A= var selectedCat =3D $('gnav_cat'+gnav_cat);=0A= if (selectedCat !=3D null) {=0A= var itemPos =3D gnav_findPos(selectedCat);=0A= var myPos =3D gnav_findPos($('gnav_appContent'));=0A= $('gnav_appContent').scrollTop =3D itemPos.top - myPos.top;=0A= }=0A= } else {=0A= var selectedCabinet =3D $('gnav_app_'+gnav_curApp);=0A= if (selectedCabinet !=3D null) {=0A= var itemPos =3D gnav_findPos(selectedCabinet);=0A= var myPos =3D gnav_findPos($('gnav_appContent'));=0A= $('gnav_appContent').scrollTop =3D itemPos.top - myPos.top;=0A= }=0A= }=0A= }=0A= =0A= function gnav_delayedResize() {=0A= setTimeout('gnav_onresize()', 50);=0A= }=0A= =0A= =0A= function gnav_scrollTopCheck() {=0A= var newScrollTop =3D document.documentElement.scrollTop;=0A= if (newScrollTop !=3D gnav_lastScrollTop) {=0A= gnav_onresize();=0A= }=0A= }=0A= =0A= var gnav_lastFetch =3D 0;=0A= function gnav_fetchFriendsList() {=0A= var now =3D new Date().getTime();=0A= if ( (now - gnav_lastFetch) < 60000) {=0A= return; // just used the cached content=0A= }=0A= gnav_lastFetch =3D now;=0A= var url =3D 'fns_asynch_api.php?action=3DfriendsList&r'+Math.random();=0A= new Ajax.Request( url,=0A= { method:'get',=0A= onSuccess: function(transport) {=0A= var jdata =3D transport.responseText;=0A= var json =3D jdata.evalJSON(true);=0A= if (json.status !=3D 0) {=0A= alert(json.message);=0A= } else {=0A= var listdata =3D json.data;=0A= var html =3D '';=0A= if (listdata !=3D null) {=0A= for (var i =3D 0; i < listdata.length; i++) {=0A= var sharedata =3D listdata[i].shares.evalJSON(true);=0A= var location =3D '';=0A= if (sharedata.length > 0) {=0A= location =3D listdata[i].lastVisit; // this is set if we've = visited the user in this session=0A= if (location =3D=3D null || location.length =3D=3D 0) {=0A= // otherwise, just use the first shared app=0A= location =3D = "/"+sharedata[0].lastApp+sharedata[0].lastAppShow+"?i=3D"+sharedata[0].pe= opleid+"&cat=3D0&fclick=3Dy"+sharedata[0].lastAppParam;=0A= }=0A= }=0A= =0A= html +=3D "
    0) {=0A= html +=3D " onclick=3D'location.href=3D\""+location+"\"' ";=0A= }=0A= html +=3D "onMouseOver=3D\"this.style.backgroundColor =3D = '"+gnav_highlight_color+"'\" onMouseOut=3D\"this.style.backgroundColor = =3D '"+gnav_bgcolor+"'\">";=0A= html +=3D "";=0A= html +=3D "";=0A= if (sharedata.length =3D=3D 0) {=0A= html +=3D "";=0A= } else {=0A= // has shares=0A= html +=3D "";=0A= }=0A= html +=3D "
    "+listdata[i].name+":";=0A= html +=3D " = "+sharedata.length+" share"+(sharedata.length =3D=3D 1 ? "" : "s");=0A= html +=3D "";=0A= html +=3D ""+listdata[i].name+"
    ";=0A= html +=3D "
    ";=0A= //html +=3D "
    ";=0A= if (sharedata.length > 0) {=0A= for (var j =3D 0; j < sharedata.length; j++) {=0A= var lastVisitLocation =3D sharedata[j].lastVisit;=0A= if (lastVisitLocation =3D=3D null || lastVisitLocation.length = =3D=3D 0) {=0A= if (sharedata[j].lastApp.substring(0, 3) =3D=3D 'doc' || = sharedata[j].lastApp.substring(0, 5) =3D=3D 'photo') {=0A= lastVisitLocation =3D = "/"+sharedata[j].lastApp+sharedata[j].lastAppShow+"?i=3D"+sharedata[j].pe= opleid+"&cat=3D0&date=3Dy"+sharedata[j].lastAppParam;=0A= } else {=0A= lastVisitLocation =3D = "/"+sharedata[j].lastApp+sharedata[j].lastAppShow+"?i=3D"+sharedata[j].pe= opleid+"&cat=3D0&fclick=3Dy"+sharedata[j].lastAppParam;=0A= }=0A= }=0A= html +=3D "
    ";=0A= html +=3D "";=0A= html +=3D "";=0A= html +=3D "
    1 ? 's' : '')+" with = you'>"+sharedata[j].name+" ("+sharedata[j].shareCount+")
    ";=0A= html +=3D "
    ";=0A= }=0A= }=0A= html +=3D "
    ";=0A= }=0A= }=0A= html +=3D "
    ";=0A= html +=3D "
    +<= /span>  ( Add = a friend )
    ";=0A= html +=3D "
    ";=0A= $('gnav_visitContent').innerHTML =3D html;=0A= }=0A= },=0A= =0A= onFailure: function () {=0A= alert('Your request failed, please refresh your browser and try = again');=0A= },=0A= onException: function(tr, e) {=0A= alert('Javascript Exception: '+e.toString());=0A= }=0A= } );=0A= }=0A= =0A= function gnav_toggleFriendsShares(forceOpen, isDashboard) {=0A= if (isDashboard) {=0A= var flist =3D $('gnav_visitContent');=0A= if (flist !=3D null) {=0A= if (forceOpen || flist.style.display =3D=3D 'none') {=0A= flist.style.display =3D '';=0A= gnav_fetchFriendsList();=0A= } else {=0A= flist.style.display =3D 'none';=0A= }=0A= }=0A= } else {=0A= location.href=3D"/myhome/index.php?vf=3Dy";=0A= }=0A= return false;=0A= }=0A= =0A= =0A= var gnav_lastRecentFetch =3D 0;=0A= function gnav_fetchRecentVisits() {=0A= var now =3D new Date().getTime();=0A= if ( (now - gnav_lastRecentFetch) < 60000) {=0A= return; // just used the cached content=0A= }=0A= gnav_lastRecentFetch =3D now;=0A= var url =3D = 'fns_asynch_api.php?action=3DrecentVisitsList&i=3D'+gnav_search_peopleid+= '&r'+Math.random();=0A= new Ajax.Request( url,=0A= { method:'get',=0A= onSuccess: function(transport) {=0A= var jdata =3D transport.responseText;=0A= var json =3D jdata.evalJSON(true);=0A= if (json.status !=3D 0) {=0A= alert(json.message);=0A= } else {=0A= var listdata =3D json.data;=0A= var html =3D '';=0A= if (listdata !=3D null && listdata.length > 0) {=0A= for (var i =3D 0; i < listdata.length; i++) {=0A= =0A= html +=3D "
    ";=0A= html +=3D listdata[i].link;=0A= html +=3D "
    ";=0A= }=0A= } else {=0A= html +=3D "
    No recent visits
    ";=0A= }=0A= $('gnav_recentVisitContent').innerHTML =3D html;=0A= }=0A= },=0A= =0A= onFailure: function () {=0A= alert('Your request failed, please refresh your browser and try = again');=0A= },=0A= onException: function(tr, e) {=0A= alert('Javascript Exception: '+e.toString());=0A= }=0A= } );=0A= }=0A= =0A= function gnav_toggleRecentVisits(forceOpen) {=0A= var flist =3D $('gnav_recentVisitContent');=0A= if (flist !=3D null) {=0A= if (forceOpen || flist.style.display =3D=3D 'none') {=0A= flist.style.display =3D '';=0A= gnav_fetchRecentVisits();=0A= } else {=0A= flist.style.display =3D 'none';=0A= }=0A= }=0A= return false;=0A= }=0A= =0A= =0A= =0A= var NavigatorUpgradeDialogClass =3D null;=0A= var navigatorUpgradeDialog =3D null;=0A= =0A= function showNavigatorUpgradeDialog() {=0A= if (NavigatorUpgradeDialogClass =3D=3D null) {=0A= NavigatorUpgradeDialogClass =3D Class.create(PopUp, {=0A= initialize: function($super) {=0A= $super();=0A= this.setContent($('navigatorUpgradeDialog'));=0A= var closeButton =3D new Element('button', { 'class': 'kasBtn = kasBtnRed' }).update("Close");=0A= this.addButton(closeButton);=0A= Event.observe(closeButton, 'click', = this.closeButtonClick.bindAsEventListener(this));=0A= this.content.show();=0A= },=0A= closeButtonClick: function(e) {=0A= this.hide();=0A= }=0A= });=0A= navigatorUpgradeDialog =3D new NavigatorUpgradeDialogClass();=0A= }=0A= navigatorUpgradeDialog.show();=0A= }=0A= =0A= =0A= =0A= var gnav_renameCtrl;=0A= function gnav_renameCabinet(ctrlId) {=0A= gnav_renameCtrl =3D $(ctrlId);=0A= if (gnav_renameCtrl !=3D null) {=0A= var editor =3D $('gnav_inplaceEditor');=0A= if (editor !=3D null) {=0A= var pos =3D gnav_findPos(gnav_renameCtrl); // find the name=0A= editor.style.top =3D (pos.top-2)+"px";=0A= editor.style.left =3D pos.left+"px";=0A= $('gnav_inplaceEditorField').value =3D gnav_renameCtrl.innerHTML;=0A= editor.style.display =3D "";=0A= $('gnav_inplaceEditorField').focus();=0A= $('gnav_inplaceEditorField').select();=0A= }=0A= }=0A= }=0A= =0A= function gnav_renameOK(saveData) {=0A= if (saveData) {=0A= var newName =3D $('gnav_inplaceEditorField').value;=0A= if (newName.length >=3D 0) {=0A= var url =3D = 'fns_asynch_api.php?action=3DrenameCab&an=3D'+gnav_appName+'&name=3D'+esc= ape(newName)+"&r"+Math.random();=0A= new Ajax.Request( url,=0A= { method:'get',=0A= onSuccess: function(transport) {=0A= var jdata =3D transport.responseText;=0A= var json =3D jdata.evalJSON(true);=0A= if (json.status !=3D 0) {=0A= alert(json.message);=0A= } else {=0A= gnav_renameCtrl.innerHTML =3D newName;=0A= var nameDiv =3D $('calendarNameTextDiv');=0A= if (nameDiv !=3D null) {=0A= nameDiv.innerHTML =3D newName;=0A= }=0A= customtitle =3D newName;=0A= }=0A= },=0A= =0A= onFailure: function () {=0A= alert('Your request failed, please refresh your browser and try = again');=0A= },=0A= onException: function(tr, e) {=0A= alert('Javascript Exception: '+e.toString());=0A= }=0A= } );=0A= }=0A= }=0A= $('gnav_inplaceEditor').style.display=3D"none";=0A= }=0A= =0A= function gnav_doProcessRenameKey(ev) {=0A= var keycode;=0A= var escapeKeycode =3D 0;=0A= =0A= if (window.event) {=0A= // IE=0A= keycode =3D window.event.keyCode;=0A= escapeKeycode =3D 27;=0A= } else if (ev) {=0A= keycode =3D ev.keyCode;=0A= escapeKeycode =3D ev.DOM_VK_ESCAPE;=0A= } else {=0A= return true;=0A= }=0A= if (keycode =3D=3D 13) {=0A= gnav_renameOK(true);=0A= return false;=0A= } else if (keycode =3D=3D escapeKeycode) {=0A= gnav_renameOK(false);=0A= return false;=0A= }=0A= return true;=0A= }=0A= =0A= =0A= var gnav_renameFolderCtrl;=0A= var gnav_renameFolderNumber;=0A= function gnav_renameFolder(ctrlId, category) {=0A= gnav_renameFolderCtrl =3D $(ctrlId);=0A= gnav_renameFolderNumber =3D category;=0A= if (gnav_renameFolderCtrl !=3D null) {=0A= var editor =3D $('gnav_inplaceFolderEditor');=0A= if (editor !=3D null) {=0A= var pos =3D gnav_findPos(gnav_renameFolderCtrl); // find the name=0A= editor.style.top =3D (pos.top-2)+"px";=0A= editor.style.left =3D pos.left+"px";=0A= $('gnav_inplaceFolderEditorField').value =3D = gnav_renameFolderCtrl.innerHTML;=0A= editor.style.display =3D "";=0A= $('gnav_inplaceFolderEditorField').focus();=0A= $('gnav_inplaceFolderEditorField').select();=0A= }=0A= }=0A= }=0A= =0A= function gnav_renameFolderOK(saveData) {=0A= if (saveData) {=0A= var newName =3D $('gnav_inplaceFolderEditorField').value;=0A= // restrictions copied from categories_change.php=0A= if( newName =3D=3D null || newName.length =3D=3D 0) {=0A= alert( "The new name field is empty, please enter in the new name." );=0A= return( false );=0A= }=0A= else if( newName.toLowerCase() =3D=3D "empty" ) {=0A= alert( "The new name can not be named Empty, please enter in the new = name." );=0A= return( false );=0A= }=0A= else if( newName.indexOf('"') >=3D 0 ) {=0A= alert( 'The new name can not have an double quote " in it, please = enter in the new name.' );=0A= return( false );=0A= }=0A= else if( newName.indexOf('\\') >=3D 0 ) {=0A= alert( 'The new name can not have an backward slash \\ in it, please = enter in the new name.' );=0A= return( false );=0A= }=0A= =0A= if (newName.length >=3D 0) {=0A= var url =3D = 'fns_asynch_api.php?action=3DrenameCategory&an=3D'+gnav_appName+'&cat=3D'= +gnav_renameFolderNumber+'&name=3D'+escape(newName)+"&r"+Math.random();=0A= new Ajax.Request( url,=0A= { method:'get',=0A= onSuccess: function(transport) {=0A= var jdata =3D transport.responseText;=0A= var json =3D jdata.evalJSON(true);=0A= if (json.status !=3D 0) {=0A= alert(json.message);=0A= } else {=0A= gnav_renameFolderCtrl.innerHTML =3D newName;=0A= var name_display =3D = $('category_'+gnav_renameFolderNumber+'_name_div');=0A= if (name_display !=3D null) {=0A= name_display.innerHTML =3D newName;=0A= }=0A= }=0A= },=0A= =0A= onFailure: function () {=0A= alert('Your request failed, please refresh your browser and try = again');=0A= },=0A= onException: function(tr, e) {=0A= alert('Javascript Exception: '+e.toString());=0A= }=0A= } );=0A= }=0A= }=0A= $('gnav_inplaceFolderEditor').style.display=3D"none";=0A= return true;=0A= }=0A= =0A= function gnav_doProcessRenameFolderKey(ev) {=0A= var keycode;=0A= var escapeKeycode =3D 0;=0A= =0A= if (window.event) {=0A= // IE=0A= keycode =3D window.event.keyCode;=0A= escapeKeycode =3D 27;=0A= } else if (ev) {=0A= keycode =3D ev.keyCode;=0A= escapeKeycode =3D ev.DOM_VK_ESCAPE;=0A= } else {=0A= return true;=0A= }=0A= if (keycode =3D=3D 13) {=0A= gnav_renameFolderOK(true);=0A= return false;=0A= } else if (keycode =3D=3D escapeKeycode) {=0A= gnav_renameFolderOK(false);=0A= return false;=0A= }=0A= return true;=0A= } ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://s7.addthis.com/js/250/addthis_widget.js#username=rocarr /* (c) 2008-2012 Add This, LLC */=0A= if(!((window._atc||{}).ver)){var = _atd=3D"www.addthis.com/",_atr=3D"//s7.addthis.com/",_euc=3DencodeURIComp= onent,_duc=3DdecodeURIComponent,_atc=3D{dbg:0,rrev:116780,dr:0,ver:250,lo= c:0,enote:"",cwait:500,bamp:0.25,camp:1,csmp:0.0001,damp:0,famp:0.02,pamp= :0.2,tamp:1,lamp:1,plmp:0.00001,vamp:1,vrmp:0.0001,ohmp:0,ltj:1,xamp:1,ab= f:!!window.addthis_do_ab,qs:0,cdn:0,rsrcs:{bookmark:_atr+"static/r07/book= mark022.html",atimg:_atr+"static/r07/atimg022.html",countercss:_atr+"stat= ic/r07/counter003.css",counterIE67css:_atr+"static/r07/counterIE67002.css= ",counter:_atr+"static/r07/counter003.js",core:_atr+"static/r07/core036.j= s",wombat:_atr+"static/r07/bar010.js",qbarcss:_atr+"bannerQuirks.css",flt= css:_atr+"static/r07/floating002.css",barcss:_atr+"static/r07/banner004.c= ss",barjs:_atr+"static/r07/banner001.js",contentcss:_atr+"static/r07/cont= ent005C.css",contentjs:_atr+"static/r07/content006C.js",copythis:_atr+"st= atic/r07/copythis00B.js",copythiscss:_atr+"static/r07/copythis00B.css",ss= ojs:_atr+"static/r07/ssi002.js",ssocss:_atr+"static/r07/ssi002.css",authj= s:_atr+"static/r07/auth005.js",peekaboocss:_atr+"static/r07/peekaboo002.c= ss",overlayjs:_atr+"static/r07/overlay004.js",widget32css:_atr+"static/r0= 7/widgetbig046.css",widgetcss:_atr+"static/r07/widget095.css",widgetIE67c= ss:_atr+"static/r07/widgetIE67004.css",widgetpng:"//s7.addthis.com/static= /r07/widget046.png",link:_atr+"static/r07/link005.html",pinit:_atr+"stati= c/r07/pinit005.html",linkedin:_atr+"static/r07/linkedin019.html",fbshare:= _atr+"static/r07/fbshare001.html",tweet:_atr+"static/r07/tweet019.html",m= enujs:_atr+"static/r07/menu123.js",sh:_atr+"static/r07/sh101.html"}};}(fu= nction(){var g;var = p=3D(window.location.protocol=3D=3D"https:"),D,m,z=3D(navigator.userAgent= ||"unk").toLowerCase(),v=3D(/firefox/.test(z)),o=3D(/msie/.test(z)&&!(/op= era/.test(z))),c=3D{0:_atr,1:"//ct1.addthis.com/",2:"//ct2.addthis.com/",= 3:"//ct3.addthis.com/",4:"//ct4.addthis.com/",5:"//ct5.addthis.com/",100:= "//ct0.addthis.com/"},C=3D{au:"1",hk:"1",is:"1",id:"1",jp:"1",my:"1",ph:"= 1",sg:"1",kr:"1",ch:"1",tw:"1",th:"1",tr:"1",ru:"1",vn:"1"},E=3D{de:"1",e= s:"1"},j=3D{no:"1",pl:"1"},f=3D{be:"1",ca:"1",fr:"1",mx:"1",nl:"1",no:"1"= ,pl:"1",gb:"1",us:"1"},n=3D{at:"1",cz:"1",dk:"1",fi:"1",gr:"1",hu:"1",it:= "1",pt:"1",ro:"1",se:"1",ua:"1"};_atc.cdn=3D0;if(!window.addthis||window.= addthis.nodeType!=3D=3Dg){try{D=3Dwindow.navigator?(navigator.userLanguag= e||navigator.language):"";m=3DD.split("-").pop().toLowerCase();if(m.lengt= h!=3D2){m=3D"unk";}if(p||_atr.indexOf("-")>-1){}else{if(window.addthis_cd= n!=3D=3Dg){_atc.cdn=3Dwindow.addthis_cdn;}else{if(C[m]){_atc.cdn=3D5;}els= e{if(f[m]){_atc.cdn=3D(v||o)?5:1;}else{if(E[m]){_atc.cdn=3D(o||(/chrome/.= test(z)))?5:1;}else{if(j[m]){_atc.cdn=3Dv?5:1;}else{if(n[m]){_atc.cdn=3D(= o)?5:1;}}}}}}}if(_atc.cdn){for(var y in = _atc.rsrcs){if(_atc.rsrcs.hasOwnProperty(y)){_atc.rsrcs[y]=3D_atc.rsrcs[y= ].replace(_atr,c[_atc.cdn]).replace(/live\/([a-z])07/,"live/$107");}}_atr= =3Dc[_atc.cdn];}}catch(A){}function b(r,k,e,a){return = function(){if(!this.qs){this.qs=3D0;}_atc.qs++;if(!((this.qs++>0&&a)||_at= c.qs>1000)&&window.addthis){window.addthis.plo.push({call:r,args:argument= s,ns:k,ctx:e});}};}function x(k){var = e=3Dthis,a=3Dthis.queue=3D[];this.name=3Dk;this.call=3Dfunction(){a.push(= arguments);};this.call.queuer=3Dthis;this.flush=3Dfunction(F,s){this.flus= hed=3D1;for(var r=3D0;r";i=3Ddocument.getElementById("_atssh"+u);}else{i=3Ddocument.c= reateElement("iframe");i.id=3D"_atssh"+u;i.title=3D"AddThis utility = frame";q.appendChild(i);}d(i);i.frameborder=3Di.style.border=3D0;i.style.= top=3Di.style.left=3D0;_atc._atf=3Di;}}var = B=3Ddocument.createElement("script");B.type=3D"text/javascript";B.src=3D(= p?"https:":"http:")+_atc.rsrcs.core;t.parentNode.appendChild(B);var = l=3D10000;setTimeout(function(){if(!window.addthis.timer.core){if(Math.ra= ndom()<_atc.ohmp){(new = Image()).src=3D"//m.addthisedge.com/live/t00/oh.gif?"+Math.floor(Math.ran= dom()*4294967295).toString(36)+"&cdn=3D"+_atc.cdn+"&sr=3D"+_atc.ohmp+"&re= v=3D"+_atc.rrev+"&to=3D"+l;}if(_atc.cdn!=3D=3D0){var = e=3Ddocument.createElement("script");e.type=3D"text/javascript";e.src=3D(= p?"https:":"http:")+_atr+"static/r07/core036.js";t.parentNode.appendChild= (e);}}},l);}})(); ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js (function(){var f=3D!0,h=3Dnull,i=3D!1,aa=3Dfunction(a,b,c){return = a.call.apply(a.bind,arguments)},ba=3Dfunction(a,b,c){if(!a)throw = Error();if(2/g,fa=3D/\"/g,l=3D{"\x00":"\\0","\b":"\\b","\f= ":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\= \\\"},q=3D{"'":"\\'"};var = r=3Dwindow,t,ga=3Dh,u=3Ddocument.getElementsByTagName("script");u&&u.leng= th&&(ga=3Du[u.length-1].parentNode);t=3Dga;var = v=3Dfunction(a){a=3DparseFloat(a);return = isNaN(a)||1a?0:a},ha=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,ia=3Df= unction(a){return!a?"pagead2.googlesyndication.com":(a=3Da.match(ha))?a[0= ]:"pagead2.googlesyndication.com"};var w=3Dfunction(){return = ia("")};w();var x=3Dfunction(a){return!!a&&"function"=3D=3Dtypeof = a&&!!a.call},ja=3Dfunction(a,b){if(!(2>arguments.length))for(var = c=3D1,d=3Darguments.length;cMath.random())){var = c=3DMath.random();if(c");b=3D"border:none;height:"+c+"px= ;margin:0;padding:0;position:relative;visibility:visible;width:"+b+"px";r= eturn['',d.join(" = "),""].join("")};var ta=3D/^true$/.test("false")?f:i;var = M=3Dfunction(a,b,c){c||(c=3Dta?"https":"http");return[c,"://",a,b].join("= ")};var ua=3Dfunction(){},N=3Dfunction(a,b,c){switch(typeof b){case = "string":xa(b,c);break;case = "number":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case = "boolean":c.push(b);break;case "undefined":c.push("null");break;case = "object":if(b=3D=3Dh){c.push("null");break}if(b instanceof Array){var = d=3Db.length;c.push("[");for(var = e=3D"",g=3D0;gb?e+=3D"000":256>b?e+=3D"00":4096>b&&(e+= =3D"0");return O[a]=3De+b.toString(16)}));b.push('"')};var = P=3D"google_ad_block google_ad_channel google_ad_client google_ad_format = google_ad_height google_ad_host google_ad_host_channel = google_ad_host_tier_id google_ad_output google_ad_override = google_ad_region google_ad_section google_ad_slot google_ad_type = google_ad_width google_adtest google_allow_expandable_ads = google_alternate_ad_url google_alternate_color = google_analytics_domain_name google_analytics_uacct google_bid = google_city google_color_bg google_color_border google_color_line = google_color_link google_color_text google_color_url google_container_id = google_contents google_country google_cpm google_ctr_threshold = google_cust_age google_cust_ch google_cust_gender google_cust_id = google_cust_interests google_cust_job google_cust_l google_cust_lh = google_cust_u_url google_disable_video_autoplay google_ed google_eids = google_enable_ose google_encoding google_font_face google_font_size = google_frame_id google_gl google_hints google_image_size google_kw = google_kw_type google_language google_loeid google_max_num_ads = google_max_radlink_len google_mtl google_num_radlinks = google_num_radlinks_per_unit google_num_slots_to_rotate = google_only_ads_with_video google_only_pyv_ads = google_only_userchoice_ads google_override_format google_page_url = google_previous_watch google_previous_searches google_referrer_url = google_region google_reuse_colors google_rl_dest_url google_rl_filtering = google_rl_mode google_rt google_safe google_scs google_skip = google_tag_info google_targeting google_tdsma google_tfs google_tl = google_ui_features google_ui_version google_video_doc_id = google_video_product_type google_with_pyv_ads google_yt_pt = google_yt_up".split(" ");var = Q=3Dfunction(a){this.a=3Da;a.google_iframe_oncopy||(a.google_iframe_oncop= y=3D{handlers:{},log:[],shouldLog:0.01>Math.random()?f:i});this.e=3Da.goo= gle_iframe_oncopy;a.setTimeout(j(this.k,this),3E4)},za;var R=3D"var = i=3Dthis.id,s=3Dwindow.google_iframe_oncopy,H=3Ds&&s.handlers,h=3DH&&H[i]= ,w=3Dthis.contentWindow,d;try{d=3Dw.document}catch(e){}if(h&&d&&(!d.body|= |!d.body.firstChild)){if(h.call){i+=3D'.call';setTimeout(h,0)}else = if(h.match){i+=3D'.nav';w.location.replace(h)}s.log&&s.log.push(i)}";=0A= /[&<>\"]/.test(R)&&(-1!=3DR.indexOf("&")&&(R=3DR.replace(ca,"&")),-1!= =3DR.indexOf("<")&&(R=3DR.replace(da,"<")),-1!=3DR.indexOf(">")&&(R=3D= R.replace(ea,">")),-1!=3DR.indexOf('"')&&(R=3DR.replace(fa,""")))= ;za=3DR;Q.prototype.set=3Dfunction(a,b){this.e.handlers[a]=3Db;this.a.add= EventListener&&this.a.addEventListener("load",j(this.j,this,a),i)};Q.prot= otype.j=3Dfunction(a){var = a=3Dthis.a.document.getElementById(a),b=3Da.contentWindow.document;if(a.o= nload&&b&&(!b.body||!b.body.firstChild))a.onload()};=0A= Q.prototype.k=3Dfunction(){if(this.e.shouldLog){var = a=3Dthis.e.log,b=3Dthis.a.document;if(a.length){b=3D["/pagead/gen_204?id=3D= iframecopy&log=3D",z(a.join("-")),"&url=3D",z(b.URL.substring(0,512)),"&r= ef=3D",z(b.referrer.substring(0,512))].join("");a.length=3D0;a=3Dthis.a;b= =3DM(ia(""),b);a.google_image_requests||(a.google_image_requests=3D[]);va= r = c=3Da.document.createElement("img");c.src=3Db;a.google_image_requests.pus= h(c)}}};var Aa=3Dfunction(){var a=3D"script";return["<",a,' = src=3D"',M(w(),"/pagead/js/r20120905/r20120730/show_ads_impl.js",""),'"><= /',a,">"].join("")},Ba=3Dfunction(){var a=3D"script";return["<",a,' = src=3D"',M(w(),"/pagead/expansion_embed.js"),'">"].join("")},Ca=3D= function(a){var b;if(!(b=3D"expt"!=3Da.google_expand_experiment))a:{var = c=3Da.document;try{if(a.google_allow_expandable_ads=3D=3D=3D=0A= i||!c.body||a.google_ad_output&&"html"!=3Da.google_ad_output||isNaN(a.goo= gle_ad_height)||isNaN(a.google_ad_width)||c.domain!=3Da.location.hostname= ){b=3Df;break a}}catch(d){b=3Df;break a}b=3Di}return = b?i:f},Da=3Dfunction(a,b,c,d){return function(){var = e=3Di;d&&G().al(3E4);try{if(B(a.document.getElementById(b).contentWindow)= ){var = g=3Da.document.getElementById(b).contentWindow,p=3Dg.document;if(!p.body|= |!p.body.firstChild)p.open(),g.google_async_iframe_close=3Df,p.write(c)}e= lse{var I=3Da.document.getElementById(b).contentWindow,=0A= Z;g=3Dc;g=3DString(g);if(g.quote)Z=3Dg.quote();else{for(var = p=3D['"'],J=3D0;Jva)y=3DK;else{var n=3DK;if(n in q)y=3Dq[n];else if(n = in l)y=3Dq[n]=3Dl[n];else{var = m=3Dn,s=3Dn.charCodeAt(0);if(31s)m=3Dn;else{if(256>s){if(m=3D"\\x= ",16>s||256s&&(m+=3D"0");m+=3Ds.toString(16).toUpperCase()}y=3Dq[n]=3D= m}}$=3Dy}ab[bb]=3D$}p.push('"');Z=3Dp.join("")}I.location.replace("javasc= ript:"+Z)}var wa=3Da.google_enclosing_element||=0A= {};wa[b]=3Dt;a.google_enclosing_element=3Dwa;e=3Df}catch(mb){I=3Dka().goo= gle_jobrunner,na(I)&&I.rl()}e&&(new = Q(a)).set(b,Da(a,b,c,i))}},Ea=3Dfunction(){var = a=3DS.google_adk_experiment;if("control"=3D=3Da)return"control";if("expt"= =3D=3Da){var = a=3Dwindow.google_ad_output,b=3Dwindow.google_ad_format;if(!b&&("html"=3D= =3Da||a=3D=3Dh))b=3Dwindow.google_ad_width+"x"+window.google_ad_height;b=3D= b&&(!window.google_ad_slot||window.google_override_format)?b.toLowerCase(= ):"";window.google_ad_format=3Db;a=3D[r.google_ad_slot,r.google_ad_format= ,r.google_ad_type,=0A= r.google_ad_width,r.google_ad_height];if(t){if(t){for(var = b=3D[],c=3D0,d=3Dt;d&&25>c;d=3Dd.parentNode,++c)b.push(9!=3Dd.nodeType&&d= .id||"");b=3Db.join()}else = b=3D"";b&&a.push(b)}b=3D0;if(a)if(a=3Da.join(":"),b=3Da.length,0=3D=3Db)b= =3D0;else{c=3D305419896;for(d=3D0;d>2)+a.charCodeAt= (d)&4294967295;b=3D0<",_script$$inline_97,">",Wa,"google_show_ads_impl=3Dtru= e;google_unique_id=3D",S.google_unique_id,';google_async_iframe_id=3D"',W= ,'";google_start_time=3D',k,";",kb?'google_top_experiment=3D"'+kb+'";':""= ,fb?'google_adk_sa=3D"'+fb+'";':"",lb?'google_expand_experiment=3D"'+lb+'= ";':"","google_bpp=3D",jb>k?jb-k:1,";",nb,Aa(),"= "].join("");(S.document.getElementById(W)?=0A= oa:pa)(Da(S,W,ob,f))}else window.q=3Dk,!("object"=3D=3Dtypeof = ExpandableAdSlotFactory&&"function"=3D=3Dtypeof = ExpandableAdSlotFactory.createIframe)&&Ca(window)&&document.write(Ba()),d= ocument.write(Aa());})();=0A= ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.keepandshare.com/doc/javascript/1.1.1.9/printRichTextDialog.js =0A= var KasPrintRichTextDialogClass =3D Class.create(PopUp, {=0A= initialize: function($super, pId, rId, useHeader, docHeader, useFooter, = docFooter, =0A= userPaperSizeSetting, savedAppName, htmlUrl, docName) {=0A= $super();=0A= this.peopleId =3D pId;=0A= this.requestId =3D rId;=0A= this.docHeader =3D docHeader;=0A= this.docFooter =3D docFooter;=0A= this.titleCheckBoxChecked =3D true;=0A= this.headerCheckBoxChecked =3D useHeader;=0A= this.footerCheckBoxChecked =3D useFooter;=0A= this.savedAppName =3D savedAppName;=0A= this.htmlUrl =3D htmlUrl;=0A= this.docName =3D docName;=0A= =0A= this.userPaperSizeSetting =3D userPaperSizeSetting;=0A= var myContent =3D new Element('div', { 'id': 'myblock' });=0A= myContent.appendChild(new Element('h1', { 'style': 'padding: 3px 0 0 = 6px;' }).update("Print"));=0A= =0A= var outputAsHtmlRow =3D myContent.appendChild(new Element('div', = {'id': 'ouputAsHtmlRow',=0A= 'style': 'clear: both; border-bottom: 1px #bec6cc solid; padding: 0 = 10px 0 6px;'}));=0A= var outputAsHtmlContent =3D outputAsHtmlRow.appendChild(new = Element('div', {'style': 'padding: 8px 0 6px 0;'}));=0A= titleText =3D 'Output as an HTML web page instead of as a PDF = page';=0A= this.outputAsHtmlCheckBox =3D outputAsHtmlContent.appendChild(new = Element('input', {'id': 'outputAsHtmlBox', 'type': 'checkbox',=0A= 'title': titleText}));=0A= this.outputCBtext =3D outputAsHtmlContent.appendChild(new = Element('span').update("Output as a web page"));=0A= this.outputCBtext.title =3D titleText;=0A= Event.observe(this.outputAsHtmlCheckBox, 'click', = this.outputAsHtmlCheckBoxToggle.bindAsEventListener(this));=0A= =0A= var topRow =3D myContent.appendChild(new Element('div', {'id': = 'toprow'}));=0A= =0A= var column1 =3D topRow.appendChild(new Element('div', {'id': = 'column1', 'style': 'float: left;'}));=0A= =0A= this.orientContent =3D column1.appendChild(new Element('div', = {'style': 'padding: 3px 0 6px 0;'}).update("Orientation: "));=0A= this.orientationSelect =3D new Element('select');=0A= this.orientContent.appendChild(this.orientationSelect);=0A= this.orientationSelect.appendChild(new Element('option', {'value': = '0'}).update("Landscape"));=0A= this.orientationSelect.appendChild(new Element('option', {'value': = '1'}).update("Portrait"));=0A= =0A= this.paperSizeContent =3D column1.appendChild(new Element('div', = {'style': 'padding: 3px 0 6px 0;'}).update("Paper Size: "));=0A= this.paperSizeSelect =3D new Element('select');=0A= this.paperSizeContent.appendChild(this.paperSizeSelect);=0A= this.paperSizeSelect.appendChild(new Element('option', {'value': = '0'}).update("Letter"));=0A= this.paperSizeSelect.appendChild(new Element('option', {'value': = '1'}).update("Legal"));=0A= this.paperSizeSelect.appendChild(new Element('option', {'value': = '2'}).update("Organizer"));=0A= this.paperSizeSelect.appendChild(new Element('option', {'value': = '3'}).update("A4"));=0A= this.paperSizeSelect.appendChild(new Element('option', {'value': = '4'}).update("A5"));=0A= this.paperSizeSelect.appendChild(new Element('option', {'value': = '5'}).update("B5"));=0A= =0A= var column2 =3D topRow.appendChild(new Element('div', {'id': = 'column2', 'style': 'padding: 0 19px 0 14px; float: left;' }));=0A= =0A= this.fontContent =3D column2.appendChild(new Element('div', = {'style': 'padding: 3px 0 6px 0;'}).update("Font: "));=0A= this.fontSelect =3D new Element('select');=0A= this.fontContent.appendChild(this.fontSelect);=0A= this.fontSelect.appendChild(new Element('option', {'value': = '0'}).update("Arial"));=0A= this.fontSelect.appendChild(new Element('option', {'value': = '1'}).update("Serif"));=0A= this.fontSelect.appendChild(new Element('option', {'value': = '2'}).update("Sans Serif"));=0A= =0A= this.fontSizeContent =3D column2.appendChild(new Element('div', = {'style': 'padding: 3px 0 6px 0;'}).update("Font Size: "));=0A= this.fontSizeSelect =3D new Element('select');=0A= this.fontSizeContent.appendChild(this.fontSizeSelect);=0A= this.fontSizeSelect.appendChild(new Element('option', {'value': = '0'}).update("Smaller"));=0A= this.fontSizeSelect.appendChild(new Element('option', {'value': = '1'}).update("Small"));=0A= this.fontSizeSelect.appendChild(new Element('option', {'value': = '2'}).update("Normal"));=0A= this.fontSizeSelect.appendChild(new Element('option', {'value': = '3'}).update("Large"));=0A= this.fontSizeSelect.appendChild(new Element('option', {'value': = '4'}).update("Larger"));=0A= =0A= var headerFooterRow =3D myContent.appendChild(new Element('div', = {'id': 'headerFooterRow', =0A= 'style': 'clear: both; border-top: 1px #bec6cc solid; padding: 0 = 10px 0 6px;'}));=0A= =0A= var titleContent =3D headerFooterRow.appendChild(new = Element('div', {'style': 'padding: 8px 0 6px 0;'}));=0A= titleText =3D 'Include a first page title in the printout';=0A= this.titleCheckBox =3D titleContent.appendChild(new Element('input', = {'id': 'titleBox', 'type': 'checkbox',=0A= 'title': titleText}));=0A= this.titleCheckBoxText =3D titleContent.appendChild(new = Element('span').update("Title"));=0A= this.titleCheckBoxText.title =3D titleText;=0A= titleContent.appendChild(new Element('span').update("  "));=0A= this.titleInput =3D titleContent.appendChild(new Element('input', { = 'type': 'text', 'id': 'titleText', 'size': '50' }));=0A= =0A= var headerContent =3D headerFooterRow.appendChild(new = Element('div', {'style': 'padding: 8px 0 6px 0;'}));=0A= titleText =3D 'Include a header in the printout';=0A= this.headerCheckBox =3D headerContent.appendChild(new Element('input', = {'id': 'headerBox', 'type': 'checkbox',=0A= 'title': titleText}));=0A= this.headerCheckBoxText =3D headerContent.appendChild(new = Element('span').update("Header"));=0A= this.headerCheckBoxText.title =3D titleText;=0A= headerContent.appendChild(new Element('span').update("  "));=0A= this.headerInput1 =3D headerContent.appendChild(new Element('input', { = 'type': 'text', 'id': 'headerText1', 'size': '15' }));=0A= headerContent.appendChild(new = Element('span').update("  "));=0A= this.headerInput2 =3D headerContent.appendChild(new = Element('input', { 'type': 'text', 'id': 'headerText2', 'size': '15' }));=0A= headerContent.appendChild(new = Element('span').update("  "));=0A= this.headerInput3 =3D headerContent.appendChild(new = Element('input', { 'type': 'text', 'id': 'headerText3', 'size': '15' }));=0A= var footerContent =3D headerFooterRow.appendChild(new Element('div', = {'style': 'padding: 3px 0 6px 0;'}));=0A= titleText =3D 'Include a footer in the printout';=0A= this.footerCheckBox =3D footerContent.appendChild(new Element('input', = {'id': 'footerBox', 'type': 'checkbox',=0A= 'title': titleText}));=0A= this.footerCheckBoxText =3D footerContent.appendChild(new = Element('span').update("Footer"));=0A= this.footerCheckBoxText.title =3D titleText;=0A= footerContent.appendChild(new = Element('span').update("   "));=0A= this.footerInput1 =3D footerContent.appendChild(new Element('input', { = 'type': 'text', 'id': 'footerText', 'size': '15' }));=0A= footerContent.appendChild(new = Element('span').update("  "));=0A= this.footerInput2 =3D footerContent.appendChild(new = Element('input', { 'type': 'text', 'id': 'footerText', 'size': '15' }));=0A= footerContent.appendChild(new = Element('span').update("  "));=0A= this.footerInput3 =3D footerContent.appendChild(new = Element('input', { 'type': 'text', 'id': 'footerText', 'size': '15' }));=0A= =0A= var saveAsFileRow =3D myContent.appendChild(new Element('div', {'id': = 'saveAsFileRow', =0A= 'style': 'clear: both; border-top: 1px #bec6cc solid; padding: 0 = 10px 0 6px;'}));=0A= var saveAsFileContent =3D saveAsFileRow.appendChild(new Element('div', = {'style': 'padding: 8px 0 6px 0;'}));=0A= titleText =3D 'Save the PDF as a file';=0A= this.saveAsFileCheckBox =3D saveAsFileContent.appendChild(new = Element('input', {'id': 'saveAsFileBox', 'type': 'checkbox',=0A= 'title': titleText}));=0A= this.saveAsFileCheckBoxText =3D saveAsFileContent.appendChild(new = Element('span').update("Save as File"));=0A= this.saveAsFileCheckBoxText.title =3D titleText;=0A= saveAsFileContent.appendChild(new = Element('span').update("  "));=0A= this.saveAsFileInput =3D saveAsFileContent.appendChild(new = Element('input', { 'type': 'text', 'id': 'saveAsFileName', 'size': '35' = }));=0A= =0A= =0A= this.setContent(myContent);=0A= var closeButton =3D new Element('button', { 'class': 'kasBtn = kasBtnRed' }).update("Cancel");=0A= this.addButton(closeButton);=0A= Event.observe(closeButton, 'click', = this.closeButtonClick.bindAsEventListener(this));=0A= =0A= var helpButton =3D new Element('span')=0A= var spacer =3D new Element('span').update("  ");=0A= helpButton.appendChild(spacer);=0A= helpButton.appendChild(new Element('a', {'href': = 'http://www.keepandshare.com/htm/help3/documents/printing-documents.php',= =0A= 'target': '_blank'}).update("Help"));=0A= helpButton.appendChild(spacer);=0A= this.addButton(helpButton);=0A= =0A= // this.addButton(betaButton);=0A= var pdfButton =3D new Element('span');=0A= this.pdfButtonContent =3D=0A= pdfButton.appendChild(new Element('em', {'style': = 'font-size:small'}).update("       &nb= sp;    Generate a PDF  "));=0A= this.addButton(pdfButton);=0A= var okButton =3D new Element('button', { 'class': 'kasBtn = kasBtnGreen', 'align': 'right' }).update("OK");=0A= this.addButton(okButton);=0A= Event.observe(okButton, 'click', = this.okButtonClick.bindAsEventListener(this));=0A= // this.divobject.style.width=3D'650px';=0A= =0A= // this.content.show();=0A= },=0A= initPrintDialog: function() {=0A= =0A= this.orientationSelect.selectedIndex =3D 1; // default to Portrait=0A= this.fontSelect.selectedIndex =3D 0;=0A= this.fontSizeSelect.selectedIndex =3D 2;=0A= this.paperSizeSelect.selectedIndex =3D 0;=0A= this.titleCheckBox.checked =3D true;=0A= this.titleInput.value =3D this.docName;=0A= this.headerCheckBox.checked =3D this.headerCheckBoxChecked;=0A= var hdrArr =3D this.docHeader.split("&|");=0A= this.headerInput1.value =3D (hdrArr.length > 0)?hdrArr[0]:"";=0A= this.headerInput2.value =3D (hdrArr.length > 1)?hdrArr[1]:"";=0A= this.headerInput3.value =3D (hdrArr.length > 2)?hdrArr[2]:"";=0A= this.footerCheckBox.checked =3D this.footerCheckBoxChecked;=0A= var ftrArr =3D this.docFooter.split("&|");=0A= this.footerInput1.value =3D (ftrArr.length > 0)?ftrArr[0]:"";=0A= this.footerInput2.value =3D (ftrArr.length > 1)?ftrArr[1]:"";=0A= this.footerInput3.value =3D (ftrArr.length > 2)?ftrArr[2]:"";=0A= this.saveAsFileCheckBox.checked =3D false;=0A= this.saveAsFileInput.value =3D this.defaultFileName();=0A= this.paperSizeSelect.selectedIndex =3D this.userPaperSizeSetting;=0A= =0A= this.content.show();=0A= },=0A= initPrintDialogWithVals: function(pId, rId) {=0A= this.peopleId =3D pId;=0A= this.requestId =3D rId;=0A= =0A= // These others should be just laying around from the last usage=0A= // since it was instantiated=0A= // Restore those values=0A= =0A= this.titleCheckBox.checked =3D this.titleCheckBoxChecked;=0A= this.titleInput.value =3D this.docName;=0A= this.headerCheckBox.checked =3D this.headerCheckBoxChecked;=0A= var hdrArr =3D this.docHeader.split("&|");=0A= this.headerInput1.value =3D (hdrArr.length > 0)?hdrArr[0]:"";=0A= this.headerInput2.value =3D (hdrArr.length > 1)?hdrArr[1]:"";=0A= this.headerInput3.value =3D (hdrArr.length > 2)?hdrArr[2]:"";=0A= this.footerCheckBox.checked =3D this.footerCheckBoxChecked;=0A= var ftrArr =3D this.docFooter.split("&|");=0A= this.footerInput1.value =3D (ftrArr.length > 0)?ftrArr[0]:"";=0A= this.footerInput2.value =3D (ftrArr.length > 1)?ftrArr[1]:"";=0A= this.footerInput3.value =3D (ftrArr.length > 2)?ftrArr[2]:"";=0A= this.paperSizeSelect.selectedIndex =3D this.userPaperSizeSetting;=0A= this.fontSelect.selectedIndex =3D this.fontSave;=0A= this.fontSizeSelect.selectedIndex =3D this.fontSizeSave;=0A= this.orientationSelect.selectedIndex =3D this.portraitSave;=0A= =0A= this.content.show();=0A= },=0A= setDisabledState: function (isDisabled, stateColor) {=0A= this.orientContent.style.color =3D stateColor;=0A= this.orientationSelect.disabled =3D isDisabled;=0A= this.paperSizeContent.style.color =3D stateColor;=0A= this.paperSizeSelect.disabled =3D isDisabled;=0A= this.fontContent.style.color =3D stateColor;=0A= this.fontSelect.disabled =3D isDisabled;=0A= this.fontSizeContent.style.color =3D stateColor;=0A= this.fontSizeSelect.disabled =3D isDisabled;=0A= this.titleCheckBox.disabled =3D isDisabled;=0A= this.titleCheckBoxText.style.color =3D stateColor;=0A= this.titleInput.disabled =3D isDisabled;=0A= this.headerCheckBox.disabled =3D isDisabled;=0A= this.headerCheckBoxText.style.color =3D stateColor;=0A= this.headerInput1.disabled =3D isDisabled;=0A= this.headerInput2.disabled =3D isDisabled;=0A= this.headerInput3.disabled =3D isDisabled;=0A= this.footerCheckBox.disabled =3D isDisabled;=0A= this.footerCheckBoxText.style.color =3D stateColor;=0A= this.footerInput1.disabled =3D isDisabled;=0A= this.footerInput2.disabled =3D isDisabled;=0A= this.footerInput3.disabled =3D isDisabled;=0A= this.saveAsFileCheckBox.disabled =3D isDisabled;=0A= this.saveAsFileCheckBoxText.style.color =3D stateColor;=0A= this.saveAsFileInput.disabled =3D isDisabled;=0A= },=0A= putObjInnerText: function(obj, text){=0A= obj.innerHTML =3D text;=0A= // if (document.all) { // IE;=0A= // obj.innerText =3D text;=0A= // } else {=0A= // obj.textContent =3D text;=0A= // }=0A= },=0A= outputAsHtmlCheckBoxToggle: function() {=0A= if (this.outputAsHtmlCheckBox.checked) {=0A= this.putObjInnerText(this.pdfButtonContent, =0A= "      Generate an HTML = page  ");=0A= // " Generate an HTML page ");=0A= this.setDisabledState(true, "gray");=0A= } else {=0A= this.putObjInnerText(this.pdfButtonContent,=0A= = "            = Generate a PDF  ");=0A= //" Generate a PDF ");=0A= this.setDisabledState(false, "black");=0A= }=0A= },=0A= okButtonClick: function(e) {=0A= // new AlertPopUp(this.generateRequest());=0A= var winObject =3D null;=0A= if (this.outputAsHtmlCheckBox.checked)=0A= winObject =3D window.open(this.htmlUrl+"?p=3Dy", = 'printwindow');=0A= else=0A= winObject =3D window.open(this.generateRequest(), = 'pdfwindow');=0A= =0A= if(winObject=3D=3Dnull){=0A= new AlertPopUp("Your web browser blocked the pop-up\nthat contains = your printable Calendar.\n\nPlease turn off pop-up blocking = for\nkeepandshare.com to fix this.");=0A= }=0A= this.hide();=0A= },=0A= closeButtonClick: function(e) {=0A= this.hide();=0A= },=0A= paperSizeName: function() {=0A= var whichOne =3D this.paperSizeSelect.selectedIndex;=0A= switch (this.paperSizeSelect.options[whichOne].value) {=0A= case "0": // Letter=0A= return 'LETTER';=0A= break;=0A= case "1": //Legal=0A= return 'LEGAL';=0A= break;=0A= case "2": // Organizer=0A= return 'ORGANIZERL';=0A= break;=0A= case "3": // A4=0A= return 'A4';=0A= break;=0A= case "4": // A5=0A= return 'A5';=0A= break;=0A= case "5": // B5=0A= return 'B5';=0A= break;=0A= }=0A= },=0A= defaultFileName: function() {=0A= return "DocPrintout";=0A= },=0A= generateRequest: function (){=0A= var string =3D '';=0A= // Save some values for the next call to this dialog=0A= this.docHeader =3D = this.headerInput1.value+"&|"+this.headerInput2.value+"&|"+this.headerInpu= t3.value;=0A= this.docFooter =3D = this.footerInput1.value+"&|"+this.footerInput2.value+"&|"+this.footerInpu= t3.value;=0A= this.userPaperSizeSetting =3D this.paperSizeSelect.selectedIndex;=0A= this.titleCheckBoxChecked =3D this.titleCheckBox.checked;=0A= this.headerCheckBoxChecked =3D this.headerCheckBox.checked;=0A= this.footerCheckBoxChecked =3D this.footerCheckBox.checked;=0A= this.fontSave =3D this.fontSelect.selectedIndex;=0A= this.fontSizeSave =3D this.fontSizeSelect.selectedIndex;=0A= this.portraitSave =3D this.orientationSelect.selectedIndex;=0A= =0A= string +=3D '/'+this.savedAppName+'/printDoc.php?'; // appName = is doc, doc2, ...=0A= // var string =3D '/doc/printTable.php?';=0A= var titleText =3D (this.titleCheckBox.checked ? = escape(this.titleInput.value) : '');=0A= //var headerText =3D (this.headerCheckBox.checked ? = escape(this.docHeader) : '');=0A= var headerText =3D escape(this.docHeader);=0A= //var footerText =3D (this.footerCheckBox.checked ? = escape(this.docFooter) : '');=0A= var footerText =3D escape(this.docFooter);=0A= var saveAsFile =3D (this.saveAsFileCheckBox.checked ? = escape(this.saveAsFileInput.value) : '');=0A= // Also, need to map Layout appropriately=0A= var paperSize =3D this.paperSizeName();=0A= =0A= var args =3D new Array('i=3D'+this.peopleId,=0A= 'rid=3D'+this.requestId,=0A= 'font=3D'+this.fontSave,=0A= 'size=3D'+this.fontSizeSave,=0A= 'customtitle=3D'+titleText,=0A= 'uh=3D'+ (this.headerCheckBox.checked ? '1' = : '0'),=0A= 'header=3D'+headerText,=0A= 'uf=3D'+ (this.footerCheckBox.checked ? '1' = : '0'),=0A= 'footer=3D'+footerText,=0A= 'portrait=3D'+this.portraitSave,=0A= 'pprsz=3D'+paperSize,=0A= 'saveas=3D'+saveAsFile);=0A= string +=3D args.join('&');=0A= return string;=0A= }=0A= =0A= });=0A= ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://connect.facebook.net/en_US/all.js#xfbml=1 /*1347630214,172024384,JIT Construction: v627188,en_US*/=0A= =0A= window.FB || (function(window) {=0A= var document =3D window.document;=0A= var ES5 =3D function(){=0A= __d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var = g=3D{};g.map=3Dfunction(h,i){if(typeof h!=3D'function')throw new = TypeError();var j,k=3Dthis.length,l=3Dnew = Array(k);for(j=3D0;j1)))/4)-ca((ga-1901+ha)/100)+= ca((ga-1601+ha)/400);};}if(typeof = JSON=3D=3D"object"&&JSON){k.stringify=3DJSON.stringify;k.parse=3DJSON.par= se;}if((m=3Dtypeof = k.stringify=3D=3D"function"&&!ea)){(ba=3Dfunction(){return = 1;}).toJSON=3Dba;try{m=3Dk.stringify(0)=3D=3D=3D"0"&&k.stringify(new = Number())=3D=3D=3D"0"&&k.stringify(new = String())=3D=3D'""'&&k.stringify(g)=3D=3D=3Dj&&k.stringify(j)=3D=3D=3Dj&&= k.stringify()=3D=3D=3Dj&&k.stringify(ba)=3D=3D=3D"1"&&k.stringify([ba])=3D= =3D"[1]"&&k.stringify([j])=3D=3D"[null]"&&k.stringify(null)=3D=3D"null"&&= k.stringify([j,g,null])=3D=3D"[null,null,null]"&&k.stringify({result:[ba,= true,false,null,"\0\b\n\f\r\t"]})=3D=3Dl&&k.stringify(null,ba)=3D=3D=3D"1= "&&k.stringify([1,2],null,1)=3D=3D"[\n 1,\n 2\n]"&&k.stringify(new = Date(-8.64e+15))=3D=3D'"-271821-04-20T00:00:00.000Z"'&&k.stringify(new = Date(8.64e+15))=3D=3D'"+275760-09-13T00:00:00.000Z"'&&k.stringify(new = Date(-62198755200000))=3D=3D'"-000001-01-01T00:00:00.000Z"'&&k.stringify(= new = Date(-1))=3D=3D'"1969-12-31T23:59:59.999Z"';}catch(fa){m=3Dfalse;}}if(typ= eof = k.parse=3D=3D"function")try{if(k.parse("0")=3D=3D=3D0&&!k.parse(false)){b= a=3Dk.parse(l);if((r=3Dba.A.length=3D=3D5&&ba.A[0]=3D=3D1)){try{r=3D!k.pa= rse('"\t"');}catch(fa){}if(r)try{r=3Dk.parse("01")!=3D1;}catch(fa){}}}}ca= tch(fa){r=3Dfalse;}ba=3Dl=3Dnull;if(!m||!r){if(!(h=3D{}.hasOwnProperty))h= =3Dfunction(ga){var = ha=3D{},ia;if((ha.__proto__=3Dnull,ha.__proto__=3D{toString:1},ha).toStri= ng!=3Dg){h=3Dfunction(ja){var ka=3Dthis.__proto__,la=3Dja in = (this.__proto__=3Dnull,this);this.__proto__=3Dka;return = la;};}else{ia=3Dha.constructor;h=3Dfunction(ja){var = ka=3D(this.constructor||ia).prototype;return ja in this&&!(ja in = ka&&this[ja]=3D=3D=3Dka[ja]);};}ha=3Dnull;return = h.call(this,ga);};i=3Dfunction(ga,ha){var = ia=3D0,ja,ka,la,ma;(ja=3Dfunction(){this.valueOf=3D0;}).prototype.valueOf= =3D0;ka=3Dnew ja();for(la in = ka)if(h.call(ka,la))ia++;ja=3Dka=3Dnull;if(!ia){ka=3D["valueOf","toString= ","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty= ","constructor"];ma=3Dfunction(na,oa){var pa=3Dg.call(na)=3D=3D"[object = Function]",qa,ra;for(qa in = na)if(!(pa&&qa=3D=3D"prototype")&&h.call(na,qa))oa(qa);for(ra=3Dka.length= ;qa=3Dka[--ra];h.call(na,qa)&&oa(qa));};}else = if(ia=3D=3D2){ma=3Dfunction(na,oa){var = pa=3D{},qa=3Dg.call(na)=3D=3D"[object Function]",ra;for(ra in = na)if(!(qa&&ra=3D=3D"prototype")&&!h.call(pa,ra)&&(pa[ra]=3D1)&&h.call(na= ,ra))oa(ra);};}else ma=3Dfunction(na,oa){var = pa=3Dg.call(na)=3D=3D"[object Function]",qa,ra;for(qa in = na)if(!(pa&&qa=3D=3D"prototype")&&h.call(na,qa)&&!(ra=3Dqa=3D=3D=3D"const= ructor"))oa(qa);if(ra||h.call(na,(qa=3D"constructor")))oa(qa);};return = ma(ga,ha);};if(!m){n=3D{"\\":"\\\\",'"':'\\"',"\b":"\\b","\f":"\\f","\n":= "\\n","\r":"\\r","\t":"\\t"};o=3Dfunction(ga,ha){return = ("000000"+(ha||0)).slice(-ga);};p=3Dfunction(ga){var = ha=3D'"',ia=3D0,ja;for(;ja=3Dga.charAt(ia);ia++)ha+=3D'\\"\b\f\n\r\t'.ind= exOf(ja)>-1?n[ja]:ja<" = "?"\\u00"+o(2,ja.charCodeAt(0).toString(16)):ja;return = ha+'"';};q=3Dfunction(ga,ha,ia,ja,ka,la,ma){var = na=3Dha[ga],oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,ab,bb,cb;if(typeof = na=3D=3D"object"&&na){oa=3Dg.call(na);if(oa=3D=3D"[object = Date]"&&!h.call(na,"toJSON")){if(na>-1/0&&na<1/0){if(ea){ra=3Dca(na/86400= 000);for(pa=3Dca(ra/365.2425)+1970-1;ea(pa+1,0)<=3Dra;pa++);for(qa=3Dca((= ra-ea(pa,0))/30.42);ea(pa,qa+1)<=3Dra;qa++);ra=3D1+ra-ea(pa,qa);sa=3D(na%= 86400000+86400000)%86400000;ta=3Dca(sa/3600000)%24;ua=3Dca(sa/60000)%60;v= a=3Dca(sa/1000)%60;wa=3Dsa%1000;}else{pa=3Dna.getUTCFullYear();qa=3Dna.ge= tUTCMonth();ra=3Dna.getUTCDate();ta=3Dna.getUTCHours();ua=3Dna.getUTCMinu= tes();va=3Dna.getUTCSeconds();wa=3Dna.getUTCMilliseconds();}na=3D(pa<=3D0= ||pa>=3D10000?(pa<0?"-":"+")+o(6,pa<0?-pa:pa):o(4,pa))+"-"+o(2,qa+1)+"-"+= o(2,ra)+"T"+o(2,ta)+":"+o(2,ua)+":"+o(2,va)+"."+o(3,wa)+"Z";}else = na=3Dnull;}else if(typeof na.toJSON=3D=3D"function"&&((oa!=3D"[object = Number]"&&oa!=3D"[object String]"&&oa!=3D"[object = Array]")||h.call(na,"toJSON")))na=3Dna.toJSON(ga);}if(ia)na=3Dia.call(ha,= ga,na);if(na=3D=3D=3Dnull)return = "null";oa=3Dg.call(na);if(oa=3D=3D"[object Boolean]"){return ""+na;}else = if(oa=3D=3D"[object Number]"){return na>-1/0&&na<1/0?""+na:"null";}else = if(oa=3D=3D"[object String]")return p(na);if(typeof = na=3D=3D"object"){for(ab=3Dma.length;ab--;)if(ma[ab]=3D=3D=3Dna)throw = TypeError();ma.push(na);xa=3D[];bb=3Dla;la+=3Dka;if(oa=3D=3D"[object = Array]"){for(za=3D0,ab=3Dna.length;za0)for(ja=3D"",ia>10&&(ia=3D10);ja.length-1){z++;}else if("{}[]:,".indexOf(ia)>-1){z++;return = ia;}else = if(ia=3D=3D'"'){for(ja=3D"@",z++;z-1){ja+=3D= t[ia];z++;}else = if(ia=3D=3D"u"){ka=3D++z;for(la=3Dz+4;z=3D"0"&&ia<=3D"9"||ia>=3D"a"&&ia<=3D"f"||ia>=3D"A"&&ia<=3D"F"))u();}ja+=3D= s("0x"+ga.slice(ka,z));}else = u();}else{if(ia=3D=3D'"')break;ja+=3Dia;z++;}}if(ga.charAt(z)=3D=3D'"'){z= ++;return = ja;}u();}else{ka=3Dz;if(ia=3D=3D"-"){ma=3Dtrue;ia=3Dga.charAt(++z);}if(ia= >=3D"0"&&ia<=3D"9"){if(ia=3D=3D"0"&&(ia=3Dga.charAt(z+1),ia>=3D"0"&&ia<=3D= "9"))u();ma=3Dfalse;for(;z=3D"0"&&ia<=3D"9");z= ++);if(ga.charAt(z)=3D=3D"."){la=3D++z;for(;la=3D"0"&&ia<=3D"9");la++);if(la=3D=3Dz)u();z=3Dla;}ia=3Dga.charAt(z);if(i= a=3D=3D"e"||ia=3D=3D"E"){ia=3Dga.charAt(++z);if(ia=3D=3D"+"||ia=3D=3D"-")= z++;for(la=3Dz;la=3D"0"&&ia<=3D"9");la++);if(= la=3D=3Dz)u();z=3Dla;}return = +ga.slice(ka,z);}if(ma)u();if(ga.slice(z,z+4)=3D=3D"true"){z+=3D4;return = true;}else if(ga.slice(z,z+5)=3D=3D"false"){z+=3D5;return false;}else = if(ga.slice(z,z+4)=3D=3D"null"){z+=3D4;return null;}u();}}return = "$";};w=3Dfunction(ga){var ha,ia,ja;if(ga=3D=3D"$")u();if(typeof = ga=3D=3D"string"){if(ga.charAt(0)=3D=3D"@")return = ga.slice(1);if(ga=3D=3D"["){ha=3D[];for(;;ia||(ia=3Dtrue)){ga=3Dv();if(ga= =3D=3D"]")break;if(ia)if(ga=3D=3D","){ga=3Dv();if(ga=3D=3D"]")u();}else = u();if(ga=3D=3D",")u();ha.push(w(ga));}return ha;}else = if(ga=3D=3D"{"){ha=3D{};for(;;ia||(ia=3Dtrue)){ga=3Dv();if(ga=3D=3D"}")br= eak;if(ia)if(ga=3D=3D","){ga=3Dv();if(ga=3D=3D"}")u();}else = u();if(ga=3D=3D","||typeof = ga!=3D"string"||ga.charAt(0)!=3D"@"||v()!=3D":")u();ha[ga.slice(1)]=3Dw(v= ());}return ha;}u();}return ga;};y=3Dfunction(ga,ha,ia){var = ja=3Dx(ga,ha,ia);if(ja=3D=3D=3Dj){delete ga[ha];}else = ga[ha]=3Dja;};x=3Dfunction(ga,ha,ia){var ja=3Dga[ha],ka;if(typeof = ja=3D=3D"object"&&ja)if(g.call(ja)=3D=3D"[object = Array]"){for(ka=3Dja.length;ka--;)y(ja,ka,ia);}else = i(ja,function(la){y(ja,la,ia);});return = ia.call(ga,ha,ja);};k.parse=3Dfunction(ga,ha){z=3D0;aa=3Dga;var = ia=3Dw(v());if(v()!=3D"$")u();z=3Daa=3Dnull;return = ha&&g.call(ha)=3D=3D"[object = Function]"?x((ba=3D{},ba[""]=3Dia,ba),"",ha):ia;};}}}).call(this);});=0A= __d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype= ","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var = g=3Db('ES5ArrayPrototype'),h=3Db('ES5FunctionPrototype'),i=3Db('ES5String= Prototype'),j=3Db('ES5Array'),k=3Db('ES5Object'),l=3Db('ES5Date'),m=3Db('= JSON3'),n=3DArray.prototype.slice,o=3DObject.prototype.toString,p=3D{'JSO= N.stringify':m.stringify,'JSON.parse':m.parse},q=3D{array:g,'function':h,= string:i,Object:k,Array:j,Date:l};for(var r in = q){if(!q.hasOwnProperty(r))continue;var = s=3Dq[r],t=3Dr=3D=3D=3Dr.toLowerCase()?window[r.replace(/^\w/,function(x)= {return x.toUpperCase();})].prototype:window[r];for(var u in = s){if(!s.hasOwnProperty(u))continue;var = v=3Dt[u];p[r+'.'+u]=3Dv&&/\{\s+\[native = code\]\s\}/.test(v)?v:s[u];}}function w(x,y,z){var = aa=3Dn.call(arguments,3),ba=3Dz?/\s(.*)\]/.exec(o.call(x).toLowerCase())[= 1]:x,ca=3Dp[ba+'.'+y]||x[y];if(typeof ca=3D=3D=3D'function')return = ca.apply(x,aa);}e.exports=3Dw;});=0A= ES5 =3D require('ES5');=0A= return ES5.apply(null, arguments);=0A= };=0A= =0A= var FB =3D {};=0A= var __DEV__ =3D 0;=0A= function bagofholding() {};=0A= function __c() = {__d("UrlMapConfig",[],{"www":"www.facebook.com","m":"m.facebook.com","co= nnect":"connect.facebook.net","api_https":"api.facebook.com","api_read_ht= tps":"api-read.facebook.com","graph_https":"graph.facebook.com","fbcdn_ht= tp":"s-static.ak.fbcdn.net","fbcdn_https":"s-static.ak.fbcdn.net","cdn_ht= tp":"static.ak.facebook.com","cdn_https":"s-static.ak.facebook.com"});__d= ("SDKConfig",[],{"xfbmlUseLegacy":true,"migrate":true,"errorHandling":{"r= ate":4},"api":{"mode":"warn","whitelist":["Arbiter","Arbiter.inform","Can= vas","Canvas.Prefetcher.addStaticResource","Canvas.Prefetcher.setCollecti= onMode","Canvas.getPageInfo","Canvas.hideFlashElement","Canvas.scrollTo",= "Canvas.setAutoGrow","Canvas.setDoneLoading","Canvas.setSize","Canvas.set= UrlHandler","Canvas.showFlashElement","Canvas.startTimer","Canvas.stopTim= er","Data","Data.query","Data.waitOn","Dom","Dom.addCssRules","Event","Ev= ent.subscribe","Event.unsubscribe","Insights","Insights.impression","Musi= c","Music.flashCallback","Music.init","Music.send","Payment","Payment.ini= t","Payment.setSize","UA","UA.nativeApp","XD","XD.onMessage","XFBML","XFB= ML.parse","api","getAccessToken","getAuthResponse","getLoginStatus","getU= serID","init","login","logout","ui"]}});__d("ApiClientConfig",[],{"FlashR= equest":{"swfUrl":"https:\/\/connect.facebook.net\/rsrc.php\/v1\/y5\/r\/S= rnvQJBTxo-.swf"}});__d("XDConfig",[],{"XdUrl":"connect\/xd_arbiter.php?ve= rsion=3D11","Flash":{"path":"https:\/\/connect.facebook.net\/rsrc.php\/v1= \/ys\/r\/WON-TVLCpDP.swf"},"useCdn":true});__d("CanvasPrefetcherConfig",[= ],{"blacklist":[144959615576466],"sampleRate":500});}=0A= (function() {=0A= (function(a){if(a.require)return;var = b=3DObject.prototype.toString,c=3D{},d=3D{},e=3D{},f=3D0,g=3D1,h=3D2,i=3D= Object.prototype.hasOwnProperty;function = j(u){if(a.ErrorUtils&&!a.ErrorUtils.inGuard())return = ErrorUtils.applyWithGuard(j,this,arguments);var = v=3Dc[u],w,x,y;if(!c[u]){y=3D'Requiring unknown module "'+u+'"';throw = new Error(y);}if(v.waiting&&v.special&h)m();if(v.waiting){y=3D'Requiring = module "'+u+'" with unresolved dependencies';throw new = Error(y);}if(!v.exports){var z=3Dv.exports=3D{},aa=3Dv.factory;if(typeof = aa=3D=3D=3D'string'){var = ba=3D'('+aa+')';aa=3Deval.apply(window,[ba]);}if(b.call(aa)=3D=3D=3D'[obj= ect Function]'){var = ca=3D[],da=3Dv.dependencies,ea=3Dda.length;if(v.special&h)ea=3DMath.min(e= a,aa.length);for(x=3D0;x=3Dk)o[l in o?l:'log'](n);}var = j=3D{level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:= ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARN= ING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=3Dj= ;});=0A= __d("FB",["guid","dotAccess","copyProperties","safeEval","wrapFunction","= sdk.ErrorHandling","GlobalCallback","sdk.Insights","Log","sdk.Scribe","sd= k.Runtime","SDKConfig"],function(a,b,c,d,e,f){var = g=3Dc('SDKConfig'),h=3Db('guid'),i=3Db('dotAccess'),j=3Db('copyProperties= '),k=3Db('safeEval'),l=3Db('wrapFunction'),m=3Db('sdk.ErrorHandling'),n=3D= b('GlobalCallback'),o=3Db('sdk.Insights'),p=3Db('Log'),q=3Db('sdk.Scribe'= ),r=3Db('sdk.Runtime'),s,t,u,v=3Di(g,'api.mode'),w=3D{};s=3DFB;t=3Dwindow= .FB=3D{};n.setPrefix('FB._callbacks');if(i(g,'api.whitelist.length')){u=3D= {};ES5(g.api.whitelist,'forEach',true,function(ca){u[ca]=3D1;});}function= x(ca,da,ea,fa){var ga;if(/^_/.test(ea)){ga=3D'hide';}else = if(u&&!u[da])ga=3Dv;switch(ga){case 'hide':return;case 'stub':return = function(){p.warn('The method FB.%s has been removed from the JS = SDK.',da);};break;default:return = m.guard(function(){if(ga=3D=3D=3D'warn'){p.warn('The method FB.%s is not = officially supported by '+'Facebook and access to it will soon be = removed.',da);if(!w.hasOwnProperty(da)){o.log(o.TYPE.WARNING,o.CATEGORY.D= EPRECATED,'FB.'+da);q.log('jssdk_error',{appId:s._apiKey,error:'Private = method used',extra:{args:da}});w[da]=3Dtrue;}}var = ha=3DES5(Array.prototype.slice.call(arguments),'map',true,function(oa){re= turn typeof = oa=3D=3D=3D'function'&&/^function/.test(oa.toString())?m.unguard(oa):oa;}= ),ia=3Dca.apply(fa,ha),ja,ka=3Dtrue;if(ia&&typeof = ia=3D=3D=3D'object'){var la=3DFunction();la.prototype=3Dia;ja=3Dnew = la();for(var ma in ia){var na=3Dia[ma];if(typeof = na!=3D=3D'function'||ma=3D=3D=3D'constructor')continue;ka=3Dfalse;ja[ma]=3D= x(na,da+':'+ma,ma,ia);}}if(!ka)return ja;return = ka?ia:ja;},da);}}function y(ca,da){var = ea=3Dca?i(s,ca,true):s,fa=3Dca?i(t,ca,true):t;ES5(ES5('Object','keys',fal= se,da),'forEach',true,function(ga){var ha=3Dda[ga];ea[ga]=3Dha;if(typeof = ha=3D=3D=3D'function'){var = ia=3D(ca?ca+'.':'')+ga,ja=3Dx(ha,ia,ga,ea);if(ja)fa[ga]=3Dja;}});}var = z=3D/iframe_canvas|app_runner/.test(window.name),aa=3D/dialog/.test(windo= w.name);r.setSecure((function(){if(location.protocol=3D=3D'https:'&&(wind= ow=3D=3Dtop||!(z||aa)))return = true;if(/_fb_https?/.test(window.name))return = ES5(window.name,'indexOf',true,'_fb_https')!=3D-1;})());function = ba(ca,da,ea,fa){for(var ga in da)if(ea||typeof = ca[ga]=3D=3D=3D'undefined')ca[ga]=3Dfa?fa(da[ga]):da[ga];return = ca;}j(s,{_apiKey:null,_authResponse:null,_logging:true,_inCanvas:z,onlyUs= eHttps:function(){return = r.getSecure()=3D=3D=3Dtrue;},onlyUseHttp:function(){return = r.setSecure()=3D=3D=3Dfalse&&location.protocol=3D=3D'http:';},_locale:nul= l,_localeIsRtl:false,getDomain:function(ca,da){var = ea=3D!da&&(window.location.protocol=3D=3D'https:'||r.getSecure());switch(= ca){case 'api':return s._domain.api;case 'api_read':return = s._domain.api_read;case 'cdn':return = ea?s._domain.https_cdn:s._domain.cdn;case 'cdn_foreign':return = s._domain.cdn_foreign;case 'https_cdn':return s._domain.https_cdn;case = 'graph':return s._domain.graph;case 'staticfb':return = ea?s._domain.https_staticfb:s._domain.staticfb;case = 'https_staticfb':return s._domain.https_staticfb;case 'www':return = ea?s._domain.https_www:s._domain.www;case 'https_www':return = s._domain.https_www;case 'm':return = ea?s._domain.https_m:s._domain.m;case 'https_m':return = s._domain.https_m;}},copy:ba,create:function(ca,da){var = ea=3Dca.split('.');ca=3Dea.pop();var = fa=3Dea.length?i(s,ea.join('.'),true):s;return ca in = fa?fa[ca]:fa[ca]=3D(da||{});},provide:y,guid:h,log:function(ca){if(s._log= ging)if(window.Debug&&window.Debug.writeln){window.Debug.writeln(ca);}els= e = if(window.console)window.console.log(ca);if(s.Event)s.Event.fire('fb.log'= ,ca);},$:function(ca){return = document.getElementById(ca);},dotAccess:i,Runtime:r,guard:m.guard,unguard= :m.unguard,wrapFunction:l,safeEval:k});if(t)j(t,{provide:function(){p.err= or('FB.provide is no longer = supported');if(!w.hasOwnProperty('provide')){o.log(o.TYPE.ERROR,o.CATEGOR= Y.DEPRECATED,'FB.provide');q.log('jssdk_error',{appId:s._apiKey,error:'Pr= ivate method = used',extra:{args:'provide'}});w.provide=3Dtrue;}}});e.exports=3Ds;});=0A= __d("flattenObject",[],function(a,b,c,d,e,f){function g(h){var = i=3D{};for(var j in h)if(h.hasOwnProperty(j)){var = k=3Dh[j];if(null=3D=3D=3Dk||undefined=3D=3D=3Dk){continue;}else = if(typeof k=3D=3D'string'){i[j]=3Dk;}else = i[j]=3DES5('JSON','stringify',false,k);}return i;}e.exports=3Dg;});=0A= __d("CORSRequest",["wrapFunction","QueryString"],function(a,b,c,d,e,f){va= r g=3Db('wrapFunction'),h=3Db('QueryString');function = i(l,m){if(!window.XMLHttpRequest)return null;var n=3Dnew = XMLHttpRequest(),o=3Dfunction(){};if('withCredentials' in = n){n.open(l,m,true);n.setRequestHeader('Content-type','application/x-www-= form-urlencoded');}else if(window.XDomainRequest){n=3Dnew = XDomainRequest();try{n.open(l,m);n.onprogress=3Dn.ontimeout=3Do;}catch(p)= {return null;}}else return null;var = q=3D{send:function(t){n.send(t);}},r=3Dg(function(){r=3Do;if('onload' in = q)q.onload(n);},'entry','XMLHttpRequest:load'),s=3Dg(function(){s=3Do;if(= 'onerror' in = q)q.onerror(n);},'entry','XMLHttpRequest:error');n.onload=3Dfunction(){r(= );};n.onerror=3Dfunction(){s();};n.onreadystatechange=3Dfunction(){if(n.r= eadyState=3D=3D4)if(n.status=3D=3D200){r();}else s();};return = q;}function j(l,m,n,o){n.suppress_http_code=3D1;var = p=3Dh.encode(n);if(m!=3D'post'){l=3Dh.appendToUrl(l,p);p=3D'';}var = q=3Di(m,l);if(!q)return = false;q.onload=3Dfunction(r){o(ES5('JSON','parse',false,r.responseText));= };q.onerror=3Dfunction(r){if(r.responseText){o(ES5('JSON','parse',false,r= .responseText));}else o({error:{type:'http',message:'unknown = error',status:r.status}});};q.send(p);return true;}var = k=3D{execute:j};e.exports=3Dk;});=0A= __d("DOMWrapper",[],function(a,b,c,d,e,f){var = g,h,i=3D{setRoot:function(j){g=3Dj;},getRoot:function(){return = g||document.body;},setWindow:function(j){h=3Dj;},getWindow:function(){ret= urn h||window;}};e.exports=3Di;});=0A= __d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","gui= d"],function(a,b,c,d,e,f){var = g=3Db('DOMWrapper'),h=3Db('QueryString'),i=3Db('UserAgent'),j=3Db('copyPr= operties'),k=3Db('guid'),l=3D{},m,n=3Dg.getWindow().document;function = o(t){var u=3Dn.getElementById(t);if(u)u.parentNode.removeChild(u);delete = l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function = q(t){return t.replace(/\d+/g,function(u){return = '000'.substring(u.length)+u;});}function = r(t){if(!m){if(i.ie()>=3D9)window.attachEvent('onunload',p);m=3Dtrue;}l[t= ]=3Dt;}var s=3D{embed:function(t,u,v,w){var = x=3Dk();t=3DencodeURI(t);v=3Dj({allowscriptaccess:'always',flashvars:w,mo= vie:t},v||{});if(typeof = v.flashvars=3D=3D'object')v.flashvars=3Dh.encode(v.flashvars);var = y=3D[];for(var z in v)if(v.hasOwnProperty(z)&&v[z])y.push('');var = aa=3Dn.createElement('div'),ba=3D''+y.join('')+'';aa.innerHTML=3Dba;var = ca=3Du.appendChild(aa.firstChild);r(x);return = ca;},remove:o,getVersion:function(){var t=3D'Shockwave = Flash',u=3D'application/x-shockwave-flash',v=3D'ShockwaveFlash.ShockwaveF= lash',w;if(navigator.plugins&&typeof = navigator.plugins[t]=3D=3D'object'){var = x=3Dnavigator.plugins[t].description;if(x&&navigator.mimeTypes&&navigator= .mimeTypes[u]&&navigator.mimeTypes[u].enabledPlugin)w=3Dx.match(/\d+/g);}= if(!w)try{w=3D(new = ActiveXObject(v)).GetVariable('$version').match(/(\d+),(\d+),(\d+),(\d+)/= );w=3DArray.prototype.slice.call(w,1);}catch(y){}return = w;},checkMinVersion:function(t){var u=3Ds.getVersion();if(!u)return = false;return q(u.join('.'))>=3Dq(t);},isAvailable:function(){return = !!s.getVersion();}};e.exports=3Ds;});=0A= __d("Queue",["copyProperties"],function(a,b,c,d,e,f){var = g=3Db('copyProperties'),h=3D{};function i(l,m){return = function(){m.apply(l,arguments);};}function j(){var = l=3DArray.prototype.slice.call(arguments);for(var = m=3D0;m2000){h= .remove(n.callback);return = false;}p.onerror=3Dfunction(){q({error:{type:'http',message:'unknown = error'}});};var = r=3Dfunction(){setTimeout(function(){q({error:{type:'http',message:'unkno= wn = error'}});},0);};if(p.addEventListener){p.addEventListener('load',r,false= );}else = p.onreadystatechange=3Dfunction(){if(/loaded|complete/.test(this.readySta= te))r();};p.src=3Dl;g.getRoot().appendChild(p);return true;}var = k=3D{execute:j};e.exports=3Dk;});=0A= __d("URL",["copyProperties","QueryString","Log"],function(a,b,c,d,e,f){va= r g=3Db('copyProperties'),h=3Db('QueryString'),i=3Db('Log'),j=3Dnew = RegExp('('+'(((\\w+):)?//)'+'(.*?@)?'+'([^~/?#:]+)'+'(:(\\d+))?'+')?'+'([= ^\\?$#]+)?'+'(\\?([^$#]+))?'+'(#([^$]+))?'),k=3D/[\0\\]/,l=3D/[^\w\-\.,;\= /?:@=3D&%#$~+!*'\[\]()]+/g,m=3D/^[a-z0-9.][a-z0-9\-\.]+[a-z0-9.]$/,n=3D/\= .facebook\.com$/;function o(p){if(typeof p!=3D'string')throw new = TypeError('The passed argument was of invalid type.');if(k.test(p))throw = new URIError('The passed argument could not be parsed as a = url.');if(this instanceof o=3D=3D=3Dfalse)return new o(p);var = q=3Dp.replace(l,function(s){i.warn('Escaping unescaped character \\x%s = from "%s"',s.charCodeAt(0).toString(16),p);return = encodeURIComponent(s);}).match(j);if(!p||!q)throw new URIError('The = passed argument could not be parsed as a url.');var = r=3D!!location.hostname;this.setProtocol(q[4]||(r?location.protocol.repla= ce(/:/,''):''));this.setDomain(q[6]||location.hostname);this.setPort(q[8]= ||(r&&!q[6]?location.port:''));this.setPath(q[9]||'');this.setSearch(q[11= ]||'');this.setFragment(q[13]||'');if(this._path.substring(0,1)!=3D'/')th= is._path=3D'/'+this._path;if(this._domain&&!m.test(decodeURIComponent(thi= s._domain.toLowerCase()))){i.error('Invalid characters found in domain = name: %s',this._domain);throw new URIError('Domain contained invalid = characters.');}}g(o.prototype,{constructor:o,getProtocol:function(){retur= n this._protocol;},setProtocol:function(p){this._protocol=3Dp;return = this;},getDomain:function(){return = this._domain;},setDomain:function(p){this._domain=3Dp;return = this;},getPort:function(){return = this._port;},setPort:function(p){this._port=3Dp;return = this;},getPath:function(){return = this._path;},setPath:function(p){this._path=3Dp;return = this;},getSearch:function(){return = this._search;},setSearch:function(p){this._search=3Dp;return = this;},getFragment:function(){return = this._fragment;},setFragment:function(p){this._fragment=3Dp;return = this;},getParsedSearch:function(){return = h.decode(this._search);},getParsedFragment:function(){return = h.decode(this._fragment);},isFacebookURL:function(){return = n.test(this._domain);},toString:function(){return = (this._protocol?this._protocol+':':'')+(this._domain?'//'+this._domain:''= )+(this._port?':'+this._port:'')+this._path+(this._search?'?'+this._searc= h:'')+(this._fragment?'#'+this._fragment:'');},valueOf:function(){return = this.toString();}});g(o,{getCurrent:function(){return new = o(location.href);},getReferrer:function(){return document.referrer?new = o(document.referrer):null;}});e.exports=3Do;});=0A= __d("ArgumentError",["ManagedError"],function(a,b,c,d,e,f){var = g=3Db('ManagedError');function = h(i,j){g.prototype.constructor.apply(this,arguments);}h.prototype=3Dnew = g();h.prototype.constructor=3Dh;e.exports=3Dh;});=0A= __d("ApiClient",["copyProperties","flattenObject","sprintf","CORSRequest"= ,"FlashRequest","JSONPRequest","Log","UrlMap","URL","ArgumentError","Asse= rt","ApiClientConfig"],function(a,b,c,d,e,f){var = g=3Db('copyProperties'),h=3Db('flattenObject'),i=3Db('sprintf'),j=3Db('CO= RSRequest'),k=3Db('FlashRequest'),l=3Db('JSONPRequest'),m=3Db('Log'),n=3D= b('UrlMap'),o=3Db('URL'),p=3Db('ArgumentError'),q=3Db('Assert'),r=3Dc('Ap= iClientConfig'),s,t,u,v,w=3D{get:true,post:true,'delete':true,put:true},x= =3D{fql_query:true,fql_multiquery:true,friends_get:true,notifications_get= :true,stream_get:true,users_getinfo:true};function = y(ca,da,ea,fa){if(!ea.access_token)ea.access_token=3Ds;ea.pretty=3D0;if(v= )g(ea,v);ea=3Dh(ea);if(!fa){m.warn('No callback passed to the ApiClient = for %s',ca);fa=3Dfunction(){};}var = ga=3D{jsonp:l,cors:j,flash:k},ha;if(ea.transport){ha=3D[ea.transport];del= ete ea.transport;}else ha=3D['jsonp','cors','flash'];var = ia=3Dfunction(ma){var na=3Dfalse;if(t&&ma&&typeof = ma=3D=3D'object'){if(ma.error){if(ma.error=3D=3D'invalid_token'||(ma.erro= r.type=3D=3D'OAuthException'&&ma.error.code=3D=3D190))na=3Dtrue;}else = if(ma.error_code)if(ma.error_code=3D=3D'190')na=3Dtrue;if(na)t();}fa(ma);= };for(var ja=3D0;jam)m=3Dv;});if(l.clientLeft>0)m+=3D(l.= clientLeft*2);if(l.clientTop>0)t+=3D(l.clientTop*2);return = {height:t,width:m};}e.exports=3Di;});=0A= __d("sdk.Canvas.IframeHandling",["sdk.Runtime","Log","sdk.RPC","sdk.compu= teContentSize"],function(a,b,c,d,e,f){var = g=3Db('sdk.Runtime'),h=3Db('Log'),i=3Db('sdk.RPC'),j=3Db('sdk.computeCont= entSize'),k=3Dnull,l;function = m(p){if(!g.getInitialized()&&arguments.callee.caller!=3Dn)h.warn('FB.init= is required for setSize to take effect');if(typeof = p!=3D'object')p=3D{};var = q=3D0,r=3D0;if(!p.height){p.height=3Dj().height;q=3D16;r=3D4;}if(!p.frame= )p.frame=3Dwindow.name||'iframe_canvas';if(l){var = s=3Dl.height,t=3Dp.height-s;if(t<=3Dr&&t>=3D-q)return = false;}l=3Dp;i.remote.setSize(p);return true;}function = n(p,q){if(!g.getInitialized())h.warn('FB.init is required for = setAutoGrow to take effect');if(q=3D=3D=3Dundefined&&typeof = p=3D=3D=3D'number'){q=3Dp;p=3Dtrue;}if(p||p=3D=3D=3Dundefined){if(k=3D=3D= =3Dnull)k=3DsetInterval(m,q||100);m();}else = if(k!=3D=3Dnull){clearInterval(k);k=3Dnull;}}i.stub('setSize');var = o=3D{setSize:m,setAutoGrow:n};e.exports=3Do;});=0A= __d("sdk.Canvas.Environment",["sdk.Runtime","Log","sdk.RPC"],function(a,b= ,c,d,e,f){var = g=3Db('sdk.Runtime'),h=3Db('Log'),i=3Db('sdk.RPC');function = j(m){if(typeof m!=3D=3D'function'){h.error('FB.Canvas.getPageInfo called = without a callback');return;}if(!g.getInitialized())h.warn('FB.init is = required for getPageInfo to take = effect');i.remote.getPageInfo(function(n){m(n.result);});}function = k(m,n){if(!g.getInitialized())h.warn('FB.init is required for scrollTo = to take = effect');i.remote.scrollTo({x:m||0,y:n||0});}i.stub('getPageInfo');i.stub= ('scrollTo');var l=3D{getPageInfo:j,scrollTo:k};e.exports=3Dl;});=0A= __d("sdk.Canvas.Tti",["sdk.RPC","sdk.Runtime"],function(a,b,c,d,e,f){var = g=3Db('sdk.RPC'),h=3Db('sdk.Runtime');function i(n,o){var = p=3D{appId:h.getClientID(),time:(new = Date()).getTime(),name:o},q=3D[p];if(n)q.push(function(r){n(r.result);});= g.remote.logTtiMessage.apply(null,q);}function = j(){i(null,'StartIframeAppTtiTimer');}function = k(n){i(n,'StopIframeAppTtiTimer');}function = l(n){i(n,'RecordIframeAppTti');}g.stub('logTtiMessage');var = m=3D{setDoneLoading:l,startTimer:j,stopTimer:k};e.exports=3Dm;});=0A= __d("sdk.Canvas.Flash",["sdk.api","sdk.RPC","Log","sdk.Runtime","createAr= rayFrom"],function(a,b,c,d,e,f){var = g=3Db('sdk.api'),h=3Db('sdk.RPC'),i=3Db('Log'),j=3Db('sdk.Runtime'),k=3Db= ('createArrayFrom'),l=3D'CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000',m=3D= null;function n(r){r.style.visibility=3D'hidden';}function = o(r){r.style.visibility=3D'';}function p(r){i.info('hideFlashCallback = called with %s',r.state);var = s=3Dwindow.document.getElementsByTagName('object');ES5(k(s),'forEach',tru= e,function(t){if(t.type.toLowerCase()!=3D"application/x-shockwave-flash"&= &(!t.classid||t.classid.toUpperCase()!=3Dl))return;for(var = u=3D0;u#%"]/,encodeURIComponent);g.re= mote.setHash(n);}function k(n){if(typeof = n!=3D=3D'function'){h.error('FB.Canvas.getHash called without a = callback');return;}g.remote.getHash(function(o){n(o.result);});}function = l(n){if(!i.getInitialized())h.warn('FB.init is required for = setUrlHandler to take = effect');g.local.navigate=3Dfunction(o){h.info('navigate = %s',o);n({path:o});};g.remote.setNavigationEnabled(true);}g.stub('setNavi= gationEnabled');g.stub('getHash');g.stub('setHash');var = m=3D{getHash:k,setHash:j,setUrlHandler:l};e.exports=3Dm;});=0A= __d("sdk.Canvas",["copyProperties","sdk.RPC","sdk.Runtime","sdk.Canvas.If= rameHandling","sdk.Canvas.Environment","sdk.Canvas.Tti","sdk.Canvas.Flash= ","sdk.Canvas.Navigation"],function(a,b,c,d,e,f){var = g=3Db('copyProperties'),h=3Db('sdk.RPC'),i=3Db('sdk.Runtime'),j=3Db('sdk.= Canvas.IframeHandling'),k=3Db('sdk.Canvas.Environment'),l=3Db('sdk.Canvas= .Tti'),m=3Db('sdk.Canvas.Flash'),n=3Db('sdk.Canvas.Navigation');h.stub('s= howDialog');var o=3D{isTabIframe:function(){return = i.isEnvironment(i.ENVIRONMENTS.PAGETAB);}};g(o,j);g(o,k);g(o,l);g(o,m);g(= o,n);e.exports=3Do;});=0A= __d("legacy:fb.canvas",["FB","sdk.Canvas"],function(a,b,c,d){var = e=3Db('FB'),f=3Db('sdk.Canvas');e.provide('Canvas',f);e.provide('CanvasIn= sights',{setDoneLoading:f.setDoneLoading});},3);=0A= __d("legacy:fb.ua",["copyProperties","FB","UserAgent"],function(a,b,c,d){= var = e=3Db('copyProperties'),f=3Db('FB'),g=3Db('UserAgent'),h=3De({},g);h.mobi= le=3Dfunction(){return !f._inCanvas&&g.mobile();};f.provide('UA',h);},3);=0A= __d("insertIframe",["guid","GlobalCallback"],function(a,b,c,d,e,f){var = g=3Db('guid'),h=3Db('GlobalCallback');function = i(j){j.id=3Dj.id||g();j.name=3Dj.name||g();var = k=3Dfalse,l=3Dfalse,m=3Dfunction(){if(k&&!l){l=3Dtrue;j.onload&&j.onload(= j.root.firstChild);}},n=3Dh.create(m);if(document.attachEvent){var = o=3D('');j.root.innerHTML=3D('');k=3Dtrue;window.setTimeout(function(){j.= root.innerHTML=3Do;j.root.firstChild.src=3Dj.url;j.onInsert&&j.onInsert(j= .root.firstChild);},0);}else{var = p=3Ddocument.createElement('iframe');p.id=3Dj.id;p.name=3Dj.name;p.onload= =3Dm;p.scrolling=3D'no';p.style.border=3D'none';p.style.overflow=3D'hidde= n';if(j.title)p.title=3Dj.title;if(j.className)p.className=3Dj.className;= if(j.height!=3D=3Dundefined)p.style.height=3Dj.height+'px';if(j.width!=3D= =3Dundefined)if(j.width=3D=3D'100%'){p.style.width=3Dj.width;}else = p.style.width=3Dj.width+'px';j.root.appendChild(p);k=3Dtrue;p.src=3Dj.url= ;j.onInsert&&j.onInsert(p);}}e.exports=3Di;});=0A= __d("legacy:insertIframe",["FB","insertIframe"],function(a,b,c,d){var = e=3Db('FB'),f=3Db('insertIframe');e.provide('Content',{insertIframe:f});}= ,3);=0A= FB.provide('Content',{_root:null,_hiddenRoot:null,append:function(a,b){if= (!b)if(!FB.Content._root){FB.Content._root=3Db=3DFB.$('fb-root');if(!b){F= B.log('The "fb-root" div has not been created, = auto-creating');FB.Content._root=3Db=3Ddocument.createElement('div');b.id= =3D'fb-root';if(FB.UA.ie()||!document.body){FB.Dom.ready(function(){docum= ent.body.appendChild(b);});}else = document.body.appendChild(b);}b.className+=3D' fb_reset';}else = b=3DFB.Content._root;if(typeof a=3D=3D'string'){var = c=3Ddocument.createElement('div');b.appendChild(c).innerHTML=3Da;return = c;}else return = b.appendChild(a);},appendHidden:function(a){if(!FB.Content._hiddenRoot){v= ar = b=3Ddocument.createElement('div'),c=3Db.style;c.position=3D'absolute';c.t= op=3D'-10000px';c.width=3Dc.height=3D0;FB.Content._hiddenRoot=3DFB.Conten= t.append(b);}return = FB.Content.append(a,FB.Content._hiddenRoot);},submitToTarget:function(a,b= ){var = c=3Ddocument.createElement('form');c.action=3Da.url;c.target=3Da.target;c= .method=3D(b)?'GET':'POST';FB.Content.appendHidden(c);ES5(FB.Array,'forEa= ch',true,a.params,function(d,e){if(d!=3D=3Dnull&&d!=3D=3Dundefined){var = f=3Ddocument.createElement('input');f.name=3De;f.value=3Dd;c.appendChild(= f);}});c.submit();c.parentNode.removeChild(c);}});=0A= __d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var = i=3Dwindow,j=3Dh.split('.');try{for(var l=3D0;l'):document.createElement("iframe");if(k.style)g(l.s= tyle,k.style);l.name=3Dl.id=3Dk.name;l.src=3D"javascript:false";k.root.ap= pendChild(l);l.src=3Dk.url;return l;}e.exports=3Dj;});=0A= __d("DOMEventListener",[],function(a,b,c,d,e,f){var = g,h;if(window.addEventListener){g=3Dfunction(j,k,l){j.addEventListener(k,= l,false);};h=3Dfunction(j,k,l){j.removeEventListener(k,l,false);};}else = if(window.attachEvent){g=3Dfunction(j,k,l){j.attachEvent('on'+k,l);};h=3D= function(j,k,l){j.detachEvent('on'+k,l);};}var = i=3D{add:function(j,k,l){g(j,k,l);return = {remove:function(){h(j,k,l);j=3Dnull;}};},remove:h};e.exports=3Di;});=0A= __d("XDM",["guid","DOMEventListener","DOMWrapper","Flash","Log","UserAgen= t"],function(a,b,c,d,e,f){var = g=3Db('guid'),h=3Db('DOMEventListener'),i=3Db('DOMWrapper'),j=3Db('Flash'= ),k=3Db('Log'),l=3Db('UserAgent'),m=3D{},n=3D{transports:[]},o=3Di.getWin= dow();function p(r){var = s=3D{},t=3Dr.length,u=3Dn.transports;while(t--)s[r[t]]=3D1;t=3Du.length;w= hile(t--){var v=3Du[t],w=3Dm[v];if(!s[v]&&w.isAvailable())return v;}}var = q=3D{register:function(r,s){k.debug('Registering %s as XDM = provider',r);n.transports.push(r);m[r]=3Ds;},create:function(r){if(!r.whe= nReady&&!r.onMessage){k.error('An instance without whenReady or = onMessage makes no sense');throw new Error('An instance without = whenReady or '+'onMessage makes no = sense');}if(!r.channel){k.warn('Missing channel name, selecting at = random');r.channel=3Dg();}if(!r.whenReady)r.whenReady=3Dbagofholding;if(!= r.onMessage)r.onMessage=3Dbagofholding;var = s=3Dr.transport||p(r.blacklist||[]),t=3Dm[s];if(t&&t.isAvailable()){k.deb= ug('%s is available',s);t.init(r);return = s;}}};q.register('fragment',(function(){var = r=3Dfalse,s,t=3Dlocation.protocol+'//'+location.host;function u(v){var = w=3Ddocument.createElement('iframe');w.src=3D'javascript:false';var = x=3Dh.add(w,'load',function(){x.remove();setTimeout(function(){w.parentNo= de.removeChild(w);},5000);});s.appendChild(w);w.src=3Dv;}return = {isAvailable:function(){return true;},init:function(v){k.debug('init = fragment');var w=3D{send:function(x,y,z,aa){k.debug('sending to: %s = (%s)',y+v.channelPath,aa);u(y+v.channelPath+x+'&xd_rel=3Dparent.parent&re= lation=3Dparent.parent&xd_origin=3D'+encodeURIComponent(t));}};if(r){v.wh= enReady(w);return;}s=3Dv.root;r=3Dtrue;v.whenReady(w);}};})());q.register= ('flash',(function(){var r=3Dfalse,s,t=3D{},u=3Dfalse,v=3D15000,w;return = {isAvailable:function(){return = j.checkMinVersion('8.0.24');},init:function(x){k.debug('init flash: = '+x.channel);var y=3D{send:function(ba,ca,da,ea){k.debug('sending to: %s = (%s)',ca,ea);s.postMessage(ba,ca,ea);}};if(r){x.whenReady(y);return;}var = z=3Dx.root.appendChild(o.document.createElement('div')),aa=3Dg();t[aa]=3D= function(){clearTimeout(w);k.info('xdm.swf called the callback');delete = t[aa];aa=3Dg();t[aa]=3Dfunction(ba,ca){ba=3DdecodeURIComponent(ba);k.debu= g('received message %s from = %s',ba,ca);x.onMessage(ba,ca);};s.init(x.channel,'FB_XDM_CALLBACKS.'+aa);= x.whenReady(y);};o.FB_XDM_CALLBACKS=3Dt;s=3Dj.embed(x.flashUrl,z,null,{pr= otocol:location.protocol.replace(':',''),host:location.host,callback:'FB_= XDM_CALLBACKS.'+aa,log:u});w=3DsetTimeout(function(){k.warn('The Flash = component did not load within %s ms - '+'verify that the container is = not set to hidden or invisible '+'using CSS as this will cause some = browsers to not load '+'the = components',v);},v);r=3Dtrue;}};})());q.register('postmessage',(function(= ){var r=3Dfalse;return {isAvailable:function(){return = !!o.postMessage;},init:function(s){k.debug('init postMessage: = '+s.channel);var = t=3D'_FB_'+s.channel,u=3D{send:function(v,w,x,y){if(o=3D=3D=3Dx){k.error(= 'Invalid windowref, equal to window (self)');throw new = Error();}k.debug('sending to: %s (%s)',w,y);var = z=3Dfunction(){x.postMessage('_FB_'+y+v,w);};if(l.ie()=3D=3D8){setTimeout= (z,0);}else = z();}};if(r){s.whenReady(u);return;}h.add(o,'message',function(event){var= v=3Devent.data,w=3Devent.origin||'native';if(typeof = v!=3D'string'){k.warn('Received message of type %s from %s, expected a = string',typeof v,w);return;}k.debug('received message %s from = %s',v,w);if(v.substring(0,t.length)=3D=3Dt)v=3Dv.substring(t.length);s.on= Message(v,w);});s.whenReady(u);r=3Dtrue;}};})());e.exports=3Dq;});=0A= __d("sdk.XD",["guid","resolveWindow","wrapFunction","sdk.createIframe","F= B","XDM","Log","QueryString","Queue","URL","sdk.RPC","sdk.Runtime","XDCon= fig"],function(a,b,c,d,e,f){var = g=3Dc('XDConfig'),h=3Db('guid'),i=3Db('resolveWindow'),j=3Db('wrapFunctio= n'),k=3Db('sdk.createIframe'),l=3Db('FB'),m=3Db('XDM'),n=3Db('Log'),o=3Db= ('QueryString'),p=3Db('Queue'),q=3Db('URL'),r=3Db('sdk.RPC'),s=3Db('sdk.R= untime'),t=3Dnew p(),u=3Dnew p(),v=3Dnew = p(),w,x,y=3Dh(),z=3Dh(),aa=3Dlocation.protocol+'//'+location.host,ba,ca=3D= false,da=3D{},ea=3Dnew p();r.setInQueue(ea);function = fa(ka){n.info('Remote XD can talk to facebook.com = (%s)',ka);if(ka=3D=3D'canvas'){s.setEnvironment(s.ENVIRONMENTS.CANVAS);l.= _inCanvas=3Dtrue;}else{s.setEnvironment(s.ENVIRONMENTS.PAGETAB);l.Canvas.= _isTabIframe=3Dtrue;}}function ga(ka,la){if(!la){n.error('No = senderOrigin');throw new Error();}var = ma=3D/^https?/.exec(la)[0];switch(ka.xd_action){case 'proxy_ready':var = na,oa;if(ma=3D=3D'https'){na=3Dv;oa=3Dx;}else{na=3Du;oa=3Dw;}if(ka.regist= ered){fa(ka.registered);t=3Dna.merge(t);}n.info('Proxy ready, starting = queue %s containing %s = messages',ma+'ProxyQueue',na.getLength());na.start(function(qa){ba.send(t= ypeof = qa=3D=3D=3D'string'?qa:o.encode(qa),la,oa.contentWindow,z+'_'+ma);});brea= k;case 'plugin_ready':n.info('Plugin %s ready, protocol: = %s',ka.name,ma);da[ka.name]=3D{protocol:ma};if(p.exists(ka.name)){var = pa=3Dp.get(ka.name);n.debug('Enqueuing %s messages for %s in = %s',pa.getLength(),ka.name,ma+'ProxyQueue');(ma=3D=3D'https'?v:u).merge(p= a);}break;}if(ka.data)ha(ka.data,la);}function = ha(ka,la){if(la&&la!=3D=3D'native'&&!q(la).isFacebookURL())return;if(type= of = ka=3D=3D'string'){if(/^FB_RPC:/.test(ka)){ea.enqueue(ka.substring(7));ret= urn;}if(ka.substring(0,1)=3D=3D'{'){try{ka=3DES5('JSON','parse',false,ka)= ;}catch(ma){n.warn('Failed to decode %s as JSON',ka);return;}}else = ka=3Do.decode(ka);}if(!la)if(ka.xd_sig=3D=3Dy)la=3Dka.xd_origin;if(ka.xd_= action){ga(ka,la);return;}if(ka.access_token)s.setSecure(/^https/.test(aa= ));if(ka.cb){var = na=3Dja._callbacks[ka.cb];if(!l.XD._forever[ka.cb])delete = ja._callbacks[ka.cb];if(na)na(ka);}}function = ia(ka,la){if(ka=3D=3D'facebook'){la.relation=3D'parent.parent';t.enqueue(= la);}else{la.relation=3D'parent.frames["'+ka+'"]';var = ma=3Dda[ka];if(ma){n.debug('Enqueuing message for plugin %s in = %s',ka,ma.protocol+'ProxyQueue');(ma.protocol=3D=3D'https'?v:u).enqueue(l= a);}else{n.debug('Buffering message for plugin = %s',ka);p.get(ka).enqueue(la);}}}r.getOutQueue().start(function(ka){ia('f= acebook','FB_RPC:'+ka);});var = ja=3D{rpc:r,_callbacks:{},_forever:{},_channel:z,_origin:aa,onMessage:ha,= recv:ha,init:function(ka,la){if(ca)return;var = ma=3Dka?/\/\/.*?(\/[^#]*)/.exec(ka)[1]:location.pathname+location.search;= ma+=3D(~ES5(ma,'indexOf',true,'?')?'&':'?')+'fb_xd_fragment#xd_sig=3D'+y+= '&';var = na=3Dl.Content.appendHidden(document.createElement('div')),oa=3Dm.create(= {root:na,channel:z,channelPath:'/'+g.XdUrl+'#',flashUrl:g.Flash.path,when= Ready:function(pa){ba=3Dpa;var = qa=3D{channel:z,origin:location.protocol+'//'+location.host,channel_path:= ma,transport:oa,xd_name:la},ra=3Dg.XdUrl+'#'+o.encode(qa),sa=3Dg.useCdn?l= ._domain.staticfb:'http://www.facebook.com/',ta=3Dg.useCdn?l._domain.http= s_staticfb:'https://www.facebook.com/';if(!l.onlyUseHttps())w=3Dk({url:sa= +ra,name:'fb_xdm_frame_http',root:na});x=3Dk({url:ta+ra,name:'fb_xdm_fram= e_https',root:na});},onMessage:j(ha,'entry','XD:message')});ca=3Dtrue;},s= endToFacebook:ia,inform:function(ka,la,ma,na,oa){ia('facebook',{method:ka= ,params:ES5('JSON','stringify',false,la||{}),behavior:oa||'p',relation:ma= });},handler:function(ka,la,ma,na){var = oa=3Dlocation.protocol=3D=3D'https:'?l._domain.https_staticfb:l._domain.s= taticfb,pa=3Dg.useCdn?oa:location.protocol+'//www.facebook.com/';return = pa+g.XdUrl+'#'+o.encode({cb:this.registerCallback(ka,ma,na),origin:aa+'/'= +z,domain:location.hostname,relation:la||'opener'});},registerCallback:fu= nction(ka,la,ma){ma=3Dma||h();if(la)ja._forever[ma]=3Dtrue;ja._callbacks[= ma]=3Dka;return ma;}};(function(){var = ka=3Dlocation.href.match(/[?&]fb_xd_fragment#(.*)$/);if(ka){document.docu= mentElement.style.display=3D'none';var = la=3Do.decode(ka[1]),ma=3Di(la.xd_rel);n.debug('Passing fragment based = message: = %s',ka[1]);ma.FB.XD.onMessage(la);document.open();document.close();}})();= e.exports=3Dja;});=0A= __d("legacy:fb.arbiter",["FB","sdk.XD"],function(a,b,c,d){var = e=3Db('FB'),f=3Db('sdk.XD');e.provide('Arbiter',{inform:f.inform});},3);=0A= FB.provide('String',{format:function(a){if(!FB.String.format._formatRE)FB= .String.format._formatRE=3D/(\{[^\}^\{]+\})/g;var b=3Darguments;return = a.replace(FB.String.format._formatRE,function(c,d){var = e=3DparseInt(d.substr(1),10),f=3Db[e+1];if(f=3D=3D=3Dnull||f=3D=3D=3Dunde= fined)return '';return f.toString();});},escapeHTML:function(a){var = b=3Ddocument.createElement('div');b.appendChild(document.createTextNode(a= ));return = b.innerHTML.replace(/"/g,'"').replace(/'/g,''');},quote:function= (a){var = b=3D/["\\\x00-\x1f\x7f-\x9f]/g,c=3D{'\b':'\\b','\t':'\\t','\n':'\\n','\f'= :'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};return = b.test(a)?'"'+a.replace(b,function(d){var e=3Dc[d];if(e)return = e;e=3Dd.charCodeAt();return = '\\u00'+Math.floor(e/16).toString(16)+(e%16).toString(16);})+'"':'"'+a+'"= ';}});=0A= FB.provide('Dom',{containsCss:function(a,b){var c=3D' '+a.className+' = ';return ES5(c,'indexOf',true,' '+b+' = ')>=3D0;},addCss:function(a,b){if(!FB.Dom.containsCss(a,b))a.className=3D= a.className+' = '+b;},removeCss:function(a,b){if(FB.Dom.containsCss(a,b)){a.className=3Da= .className.replace(b,'');FB.Dom.removeCss(a,b);}},getByClass:function(a,b= ,c){b=3Db||document.body;c=3Dc||'*';if(b.querySelectorAll)return = FB.Array.toArray(b.querySelectorAll(c+'.'+a));var = d=3Db.getElementsByTagName(c),e=3D[];for(var = f=3D0,g=3Dd.length;f=3D100)c=3D99.999;if(c<0)c=3D0;d.op= acity=3Dc/100;d.MozOpacity=3Dc/100;d.KhtmlOpacity=3Dc/100;if(a.filters)if= (a.filters.alpha=3D=3Dundefined){a.filter=3D"alpha(opacity=3D"+c+")";}els= e a.filters.alpha.opacity=3Dc;}else d[b]=3Dc;},addScript:function(a){var = b=3Ddocument.createElement('script');b.type=3D"text/javascript";b.src=3Da= ;return = document.getElementsByTagName('head')[0].appendChild(b);},addCssRules:fun= ction(a,b){if(!FB.Dom._cssRules)FB.Dom._cssRules=3D{};var = c=3Dtrue;ES5(b,'forEach',true,function(f){if(!(f in = FB.Dom._cssRules)){c=3Dfalse;FB.Dom._cssRules[f]=3Dtrue;}});if(c)return;i= f(!FB.UA.ie()){var = d=3Ddocument.createElement('style');d.type=3D'text/css';d.textContent=3Da= ;document.getElementsByTagName('head')[0].appendChild(d);}else = try{document.createStyleSheet().cssText=3Da;}catch(e){if(document.styleSh= eets[0])document.styleSheets[0].cssText+=3Da;}},getViewportInfo:function(= ){var = a=3D(document.documentElement&&document.compatMode=3D=3D'CSS1Compat')?doc= ument.documentElement:document.body;return = {scrollTop:a.scrollTop||document.body.scrollTop,scrollLeft:a.scrollLeft||= document.body.scrollLeft,width:self.innerWidth?self.innerWidth:a.clientWi= dth,height:self.innerHeight?self.innerHeight:a.clientHeight};},ready:func= tion(a){if(FB.Dom._isReady){a&&a();}else = FB.Event.subscribe('dom.ready',a);},getPosition:function(a){var = b=3D0,c=3D0;do{b+=3Da.offsetLeft;c+=3Da.offsetTop;}while(a=3Da.offsetPare= nt);return {x:b,y:c};}});(function(){function = a(){FB.Dom._isReady=3Dtrue;FB.Event.fire('dom.ready');FB.Event.clear('dom= .ready');}if(FB.Dom._isReady||document.readyState=3D=3D'complete')return = a();if(document.addEventListener){document.addEventListener('DOMContentLo= aded',a,false);}else = if(document.attachEvent)document.attachEvent('onreadystatechange',a);if(F= B.UA.ie()&&window=3D=3Dwindow.top)(function(){try{document.documentElemen= t.doScroll('left');}catch(c){setTimeout(arguments.callee,0);return;}a();}= )();var b=3Dwindow.onload;window.onload=3Dfunction(){a();if(b)if(typeof = b=3D=3D'string'){FB.safeEval(b);}else b();};})();=0A= FB.provide('Intl',(function(){var = a=3D('['+'.!?'+'\u3002'+'\uFF01'+'\uFF1F'+'\u0964'+'\u2026'+'\u0EAF'+'\u1= 801'+'\u0E2F'+'\uFF0E'+']');function b(e){if(typeof e!=3D'string')return = false;return e.match(new = RegExp(a+'['+')"'+"'"+'\u00BB'+'\u0F3B'+'\u0F3D'+'\u2019'+'\u201D'+'\u203= A'+'\u3009'+'\u300B'+'\u300D'+'\u300F'+'\u3011'+'\u3015'+'\u3017'+'\u3019= '+'\u301B'+'\u301E'+'\u301F'+'\uFD3F'+'\uFF07'+'\uFF09'+'\uFF3D'+'\s'+']*= $'));}function c(e,f){if(f!=3D=3Dundefined)if(typeof = f!=3D'object'){FB.log('The second arg to FB.Intl.tx() must be an Object = for '+'FB.Intl.tx('+e+', ...)');}else{var g;for(var h in = f)if(f.hasOwnProperty(h)){if(b(f[h])){g=3Dnew = RegExp('\{'+h+'\}'+a+'*','g');}else g=3Dnew = RegExp('\{'+h+'\}','g');e=3De.replace(g,f[h]);}}return e;}function = d(e,f){if(!FB.Intl._stringTable)return null;return = c(FB.Intl._stringTable[e],f);}d._=3Dc;return {tx:d,_tx:c};})());=0A= FB.provide('',{Class:function(a,b,c){if(FB.CLASSES[a])return = FB.CLASSES[a];var = d=3Db||function(){};d.prototype=3Dc;d.prototype.bind=3Dfunction(e){return= = ES5(e,'bind',true,this);};d.prototype.constructor=3Dd;FB.create(a,d);FB.C= LASSES[a]=3Dd;return = d;},subclass:function(a,b,c,d){if(FB.CLASSES[a])return FB.CLASSES[a];var = e=3DFB.create(b);FB.copy(d,e.prototype);d._base=3De;d._callBase=3Dfunctio= n(f){var g=3DArray.prototype.slice.call(arguments,1);return = e.prototype[f].apply(this,g);};return = FB.Class(a,c?c:function(){if(e.apply)e.apply(this,arguments);},d);},CLASS= ES:{}});FB.provide('Type',{isType:function(a,b){while(a)if(a.constructor=3D= =3D=3Db||a=3D=3D=3Db){return true;}else = a=3Da._base||a.constructor.prototype._base;return false;}});=0A= FB.Class('Obj',null,FB.copy({setProperty:function(a,b){if(ES5('JSON','str= ingify',false,b)!=3DES5('JSON','stringify',false,this[a])){this[a]=3Db;th= is.fire(a,b);}}},FB.EventProvider));=0A= __d("legacy:fb.xd",["FB","sdk.XD"],function(a,b,c,d){var = e=3Db('FB'),f=3Db('sdk.XD');e.provide('XD',f);},3);=0A= FB.subclass('Dialog','Obj',function(a){this.id=3Da;if(!FB.Dialog._dialogs= ){FB.Dialog._dialogs=3D{};FB.Dialog._addOrientationHandler();}FB.Dialog._= dialogs[a]=3Dthis;},{});FB.provide('Dialog',{_dialogs:null,_lastYOffset:0= ,_loaderEl:null,_overlayEl:null,_stack:[],_active:null,get:function(a){re= turn = FB.Dialog._dialogs[a];},_findRoot:function(a){while(a){if(FB.Dom.contains= Css(a,'fb_dialog'))return = a;a=3Da.parentNode;}},_createWWWLoader:function(a){a=3DparseInt(a,10);a=3D= a?a:460;return FB.Dialog.create({content:('
    '+' '+'
    '+'
    '+' = Facebook'+'
    '+'
    '+'
    '+'
    '),width:a});},_createMobileLoader:function= (){var a=3DFB.UA.nativeApp()?'':(''+' '+' '+' = '+' = '+' '+' '+' = '+'
    '+' '+' '+' =
    '+FB.Intl.tx._("Loading...")+'
    '+'
    '+'
    ');return = FB.Dialog.create({classes:'loading'+(FB.UA.ipad()?' = centered':''),content:('
    '+a+'
    ')});},_restoreBodyPosition:function()= {if(!FB.UA.ipad()){var = a=3Ddocument.getElementsByTagName('body')[0];FB.Dom.removeCss(a,'fb_hidde= n');}},_showIPadOverlay:function(){if(!FB.UA.ipad())return;if(!FB.Dialog.= _overlayEl){FB.Dialog._overlayEl=3Ddocument.createElement('div');FB.Dialo= g._overlayEl.setAttribute('id','fb_dialog_ipad_overlay');FB.Content.appen= d(FB.Dialog._overlayEl,null);}FB.Dialog._overlayEl.className=3D'';},_hide= IPadOverlay:function(){if(FB.UA.ipad())FB.Dialog._overlayEl.className=3D'= hidden';},showLoader:function(a,b){FB.Dialog._showIPadOverlay();if(!FB.Di= alog._loaderEl)FB.Dialog._loaderEl=3DFB.Dialog._findRoot(FB.UA.mobile()?F= B.Dialog._createMobileLoader():FB.Dialog._createWWWLoader(b));if(!a)a=3Df= unction(){};var = c=3DFB.$('fb_dialog_loader_close');FB.Dom.removeCss(c,'fb_hidden');c.oncl= ick=3Dfunction(){FB.Dialog._hideLoader();FB.Dialog._restoreBodyPosition()= ;FB.Dialog._hideIPadOverlay();a();};var = d=3DFB.$('fb_dialog_ipad_overlay');if(d)d.ontouchstart=3Dc.onclick;FB.Dia= log._makeActive(FB.Dialog._loaderEl);},_hideLoader:function(){if(FB.Dialo= g._loaderEl&&FB.Dialog._loaderEl=3D=3DFB.Dialog._active)FB.Dialog._loader= El.style.top=3D'-10000px';},_makeActive:function(a){FB.Dialog._setDialogS= izes();FB.Dialog._lowerActive();FB.Dialog._active=3Da;if(FB.Canvas)FB.Can= vas.getPageInfo(function(b){FB.Dialog._centerActive(b);});FB.Dialog._cent= erActive(FB.Canvas._pageInfo);},_lowerActive:function(){if(!FB.Dialog._ac= tive)return;FB.Dialog._active.style.top=3D'-10000px';FB.Dialog._active=3D= null;},_removeStacked:function(a){FB.Dialog._stack=3DES5(FB.Dialog._stack= ,'filter',true,function(b){return = b!=3Da;});},_centerActive:function(a){var = b=3DFB.Dialog._active;if(!b)return;var = c=3DFB.Dom.getViewportInfo(),d=3DparseInt(b.offsetWidth,10),e=3DparseInt(= b.offsetHeight,10),f=3Dc.scrollLeft+(c.width-d)/2,g=3D(c.height-e)/2.5;if= (fh)i=3Dh;i+=3Dc.scrollTop;if(FB.UA.mobile()){var = j=3D100;if(FB.UA.ipad()){j+=3D(c.height-e)/2;}else{var = k=3Ddocument.getElementsByTagName('body')[0];FB.Dom.addCss(k,'fb_hidden')= ;f=3D10000;i=3D10000;}var = l=3DFB.Dom.getByClass('fb_dialog_padding',b);if(l.length)l[0].style.heigh= t=3Dj+'px';}b.style.left=3D(f>0?f:0)+'px';b.style.top=3D(i>0?i:0)+'px';},= _setDialogSizes:function(){if(!FB.UA.mobile()||FB.UA.ipad())return;for(va= r a in FB.Dialog._dialogs)if(document.getElementById(a)){var = b=3Ddocument.getElementById(a);b.style.width=3DFB.UIServer.getDefaultSize= ().width+'px';b.style.height=3DFB.UIServer.getDefaultSize().height+'px';}= },_handleOrientationChange:function(a){if(FB.UA.android()&&screen.availWi= dth=3D=3DFB.Dialog._availScreenWidth){window.setTimeout(FB.Dialog._handle= OrientationChange,50);return;}FB.Dialog._availScreenWidth=3Dscreen.availW= idth;if(FB.UA.ipad()){FB.Dialog._centerActive();}else for(var b in = FB.Dialog._dialogs)if(document.getElementById(b))document.getElementById(= b).style.width=3DFB.UIServer.getDefaultSize().width+'px';},_addOrientatio= nHandler:function(){if(!FB.UA.mobile())return;var = a=3D"onorientationchange" in = window?'orientationchange':'resize';FB.Dialog._availScreenWidth=3Dscreen.= availWidth;FB.Event.listen(window,a,FB.Dialog._handleOrientationChange);}= ,create:function(a){a=3Da||{};var = b=3Ddocument.createElement('div'),c=3Ddocument.createElement('div'),d=3D'= fb_dialog';if(a.closeIcon&&a.onClose){var = e=3Ddocument.createElement('a');e.className=3D'fb_dialog_close_icon';e.on= click=3Da.onClose;b.appendChild(e);}d+=3D' = '+(a.classes||'');if(FB.UA.ie()){d+=3D' = fb_dialog_legacy';ES5(['vert_left','vert_right','horiz_top','horiz_bottom= ','top_left','top_right','bottom_left','bottom_right'],'forEach',true,fun= ction(h){var = i=3Ddocument.createElement('span');i.className=3D'fb_dialog_'+h;b.appendC= hild(i);});}else d+=3D(FB.UA.mobile())?' fb_dialog_mobile':' = fb_dialog_advanced';if(a.content)FB.Content.append(a.content,c);b.classNa= me=3Dd;var = f=3DparseInt(a.width,10);if(!isNaN(f))b.style.width=3Df+'px';c.className=3D= 'fb_dialog_content';b.appendChild(c);if(FB.UA.mobile()){var = g=3Ddocument.createElement('div');g.className=3D'fb_dialog_padding';b.app= endChild(g);}FB.Content.append(b);if(a.visible)FB.Dialog.show(b);return = c;},show:function(a){var = b=3DFB.Dialog._findRoot(a);if(b){FB.Dialog._removeStacked(b);FB.Dialog._h= ideLoader();FB.Dialog._makeActive(b);FB.Dialog._stack.push(b);if('fbCallI= D' in = a)FB.Dialog.get(a.fbCallID).fire('iframe_show');}},hide:function(a){var = b=3DFB.Dialog._findRoot(a);if(b=3D=3DFB.Dialog._active){FB.Dialog._lowerA= ctive();FB.Dialog._restoreBodyPosition();FB.Dialog._hideIPadOverlay();if(= 'fbCallID' in = a)FB.Dialog.get(a.fbCallID).fire('iframe_hide');}},remove:function(a){a=3D= FB.Dialog._findRoot(a);if(a){var = b=3DFB.Dialog._active=3D=3Da;FB.Dialog._removeStacked(a);if(b){FB.Dialog.= _hideLoader();if(FB.Dialog._stack.length>0){FB.Dialog.show(FB.Dialog._sta= ck.pop());}else{FB.Dialog._lowerActive();FB.Dialog._restoreBodyPosition()= ;FB.Dialog._hideIPadOverlay();}}else = if(FB.Dialog._active=3D=3D=3Dnull&&FB.Dialog._stack.length>0)FB.Dialog.sh= ow(FB.Dialog._stack.pop());window.setTimeout(function(){a.parentNode.remo= veChild(a);},3000);}},isActive:function(a){var = b=3DFB.Dialog._findRoot(a);return b&&b=3D=3D=3DFB.Dialog._active;}});=0A= FB.provide('QS',{encode:function(a,b,c){b=3Db=3D=3D=3Dundefined?'&':b;c=3D= c=3D=3D=3Dfalse?function(e){return e;}:encodeURIComponent;var = d=3D[];ES5(FB.Array,'forEach',true,a,function(e,f){if(e!=3D=3Dnull&&typeo= f e!=3D'undefined')d.push(c(f)+'=3D'+c(e));});d.sort();return = d.join(b);},decode:function(a){var = b=3DdecodeURIComponent,c=3D{},d=3Da.split('&'),e,f;for(e=3D0;e2000;},getDisplayMode:function(a,b){if(b.display=3D=3D=3D'hidden= '||b.display=3D=3D=3D'none')return b.display;var = c=3DFB.require('SDKConfig').useAsync?FB._inCanvas:FB.Canvas.isTabIframe()= ;if(c&&!b.display)return = 'async';if(FB.UA.mobile()||b.display=3D=3D=3D'touch')return = 'touch';if(!FB.getAccessToken()&&b.display=3D=3D'dialog'&&!a.loggedOutIfr= ame){FB.log('"dialog" mode can only be used when the user is = connected.');return 'popup';}if(a.connectDisplay&&!FB._inCanvas)return = a.connectDisplay;return = b.display||(FB.getAccessToken()?'dialog':'popup');},getXdRelation:functio= n(a){var b=3Da.display;if(b=3D=3D=3D'popup'||b=3D=3D=3D'touch')return = 'opener';if(b=3D=3D=3D'dialog'||b=3D=3D=3D'iframe'||b=3D=3D=3D'hidden'||b= =3D=3D=3D'none')return 'parent';if(b=3D=3D=3D'async')return = 'parent.frames['+window.name+']';},popup:function(a){var b=3Dtypeof = window.screenX!=3D'undefined'?window.screenX:window.screenLeft,c=3Dtypeof= = window.screenY!=3D'undefined'?window.screenY:window.screenTop,d=3Dtypeof = window.outerWidth!=3D'undefined'?window.outerWidth:document.documentEleme= nt.clientWidth,e=3Dtypeof = window.outerHeight!=3D'undefined'?window.outerHeight:(document.documentEl= ement.clientHeight-22),f=3DFB.UA.mobile()?null:a.size.width,g=3DFB.UA.mob= ile()?null:a.size.height,h=3D(b<0)?window.screen.width+b:b,i=3DparseInt(h= +((d-f)/2),10),j=3DparseInt(c+((e-g)/2.5),10),k=3D[];if(f!=3D=3Dnull)k.pu= sh('width=3D'+f);if(g!=3D=3Dnull)k.push('height=3D'+g);k.push('left=3D'+i= );k.push('top=3D'+j);k.push('scrollbars=3D1');if(a.name=3D=3D'permissions= .request'||a.name=3D=3D'permissions.oauth')k.push('location=3D1,toolbar=3D= 0');k=3Dk.join(',');var = l;if(a.post){l=3Dwindow.open('about:blank',a.id,k);if(l){FB.UIServer.setL= oadedNode(a,l,'popup');FB.Content.submitToTarget({url:a.url,target:a.id,p= arams:a.params});}}else{l=3Dwindow.open(a.url,a.id,k);if(l)FB.UIServer.se= tLoadedNode(a,l,'popup');}if(!l)return;if(a.id in = FB.UIServer._defaultCb)FB.UIServer._popupMonitor();},setLoadedNode:functi= on(a,b,c){if(a.params&&a.params.display!=3D'popup')b.fbCallID=3Da.id;b=3D= {node:b,type:c,fbCallID:a.id};FB.UIServer._loadedNodes[a.id]=3Db;},getLoa= dedNode:function(a){var b=3Dtypeof = a=3D=3D'object'?a.id:a,c=3DFB.UIServer._loadedNodes[b];return = c?c.node:null;},hidden:function(a){a.className=3D'FB_UI_Hidden';a.root=3D= FB.Content.appendHidden('');FB.UIServer._insertIframe(a);},iframe:functio= n(a){a.className=3D'FB_UI_Dialog';var = b=3Dfunction(){FB.UIServer._triggerDefault(a.id);};a.root=3DFB.Dialog.cre= ate({onClose:b,closeIcon:true,classes:(FB.UA.ipad()?'centered':'')});if(!= a.hideLoader)FB.Dialog.showLoader(b,a.size.width);FB.Dom.addCss(a.root,'f= b_dialog_iframe');FB.UIServer._insertIframe(a);},touch:function(a){if(a.p= arams&&a.params.in_iframe){if(a.ui_created){FB.Dialog.showLoader(function= (){FB.UIServer._triggerDefault(a.id);},0);}else = FB.UIServer.iframe(a);}else = if(FB.UA.nativeApp()&&!a.ui_created){a.frame=3Da.id;FB.Native.onready(fun= ction(){FB.UIServer.setLoadedNode(a,FB.Native.open(a.url+'#cb=3D'+a.frame= Name),'native');});FB.UIServer._popupMonitor();}else = if(!a.ui_created)FB.UIServer.popup(a);},async:function(a){a.params.redire= ct_uri=3Dlocation.protocol+'//'+location.host+location.pathname;FB.XD.rpc= .remote.showDialog(a.params,function(b){a.cb(b.result);});},getDefaultSiz= e:function(){if(FB.UA.mobile())if(FB.UA.ipad()){return = {width:500,height:590};}else if(FB.UA.android()){return = {width:screen.availWidth,height:screen.availHeight};}else{var = a=3Dwindow.innerWidth,b=3Dwindow.innerHeight,c=3Da/b>1.2;return = {width:a,height:Math.max(b,(c?screen.width:screen.height))};}return = {width:575,height:240};},_insertIframe:function(a){FB.UIServer._loadedNod= es[a.id]=3Dfalse;var b=3Dfunction(c){if(a.id in = FB.UIServer._loadedNodes)FB.UIServer.setLoadedNode(a,c,'iframe');};if(a.p= ost){FB.Content.insertIframe({url:'about:blank',root:a.root,className:a.c= lassName,width:a.size.width,height:a.size.height,id:a.id,onInsert:b,onloa= d:function(c){FB.Content.submitToTarget({url:a.url,target:c.name,params:a= .params});}});}else = FB.Content.insertIframe({url:a.url,root:a.root,className:a.className,widt= h:a.size.width,height:a.size.height,id:a.id,name:a.frameName,onInsert:b})= ;},_handleResizeMessage:function(a,b){var = c=3DFB.UIServer.getLoadedNode(a);if(!c)return;if(b.height)c.style.height=3D= b.height+'px';if(b.width)c.style.width=3Db.width+'px';FB.Arbiter.inform('= resize.ack',b||{},'parent.frames['+c.name+']');if(!FB.Dialog.isActive(c))= FB.Dialog.show(c);},_triggerDefault:function(a){FB.UIServer._xdRecv({fram= e:a},FB.UIServer._defaultCb[a]||function(){});},_popupMonitor:function(){= var a;for(var b in = FB.UIServer._loadedNodes)if(FB.UIServer._loadedNodes.hasOwnProperty(b)&&b= in FB.UIServer._defaultCb){var = c=3DFB.UIServer._loadedNodes[b];if(c.type!=3D'popup'&&c.type!=3D'native')= continue;win=3Dc.node;try{if(win.closed){FB.UIServer._triggerDefault(b);}= else = a=3Dtrue;}catch(d){}}if(a&&!FB.UIServer._popupInterval){FB.UIServer._popu= pInterval=3Dwindow.setInterval(FB.UIServer._popupMonitor,100);}else = if(!a&&FB.UIServer._popupInterval){window.clearInterval(FB.UIServer._popu= pInterval);FB.UIServer._popupInterval=3Dnull;}},_xdChannelHandler:functio= n(a,b){var c=3D(FB.UIServer._forceHTTPS&&FB.UA.ie()!=3D=3D7);return = FB.XD.handler(function(d){var = e=3DFB.UIServer.getLoadedNode(a);if(!e)return;if(d.type=3D=3D'resize'){FB= .UIServer._handleResizeMessage(a,d);}else = if(d.type=3D=3D'hide'){FB.Dialog.hide(e);}else = if(d.type=3D=3D'rendered'){var = f=3DFB.Dialog._findRoot(e);FB.Dialog.show(f);}else = if(d.type=3D=3D'fireevent')FB.Event.fire(d.event);},b,true,null,c);},_xdN= extHandler:function(a,b,c,d){if(d)FB.UIServer._defaultCb[b]=3Da;return = FB.XD.handler(function(e){FB.UIServer._xdRecv(e,a);},c)+'&frame=3D'+b;},_= xdRecv:function(a,b){var = c=3DFB.UIServer.getLoadedNode(a.frame);if(c){try{if(FB.Dom.containsCss(c,= 'FB_UI_Hidden')){window.setTimeout(function(){c.parentNode.parentNode.rem= oveChild(c.parentNode);},3000);}else = if(FB.Dom.containsCss(c,'FB_UI_Dialog')){FB.Dialog.remove(c);if(FB.Templa= teUI&&FB.UA.mobile())FB.TemplateUI.populateCache();}}catch(d){}try{if(c.c= lose){c.close();FB.UIServer._popupCount--;}}catch(e){}}delete = FB.UIServer._loadedNodes[a.frame];delete = FB.UIServer._defaultCb[a.frame];b(a);},_xdResult:function(a,b,c,d){return= = (FB.UIServer._xdNextHandler(function(e){a&&a(e.result&&e.result!=3DFB.UIS= erver._resultToken&&ES5('JSON','parse',false,e.result));},b,c,d)+'&result= =3D'+encodeURIComponent(FB.UIServer._resultToken));},xdHandler:function(a= ,b,c,d,e){return = FB.UIServer._xdNextHandler(FB.Auth.xdResponseWrapper(a,d,e),b,c,true);}})= ;=0A= __d("sdk.Cookie",["QueryString","sdk.Runtime"],function(a,b,c,d,e,f){var = g=3Db('QueryString'),h=3Db('sdk.Runtime'),i=3Dnull;function = j(m,n,o){m=3Dm+h.getClientID();if(i){document.cookie=3Dm+'=3D; = expires=3DWed, 04 Feb 2004 08:00:00 GMT;';document.cookie=3Dm+'=3D; = expires=3DWed, 04 Feb 2004 08:00:00 = GMT;'+'domain=3D'+location.hostname+';';}var p=3Dnew = Date(o).toGMTString();document.cookie=3Dm+'=3D'+n+(n&&o=3D=3D=3D0?'':'; = expires=3D'+p)+'; path=3D/'+(i?'; domain=3D'+i:'');}function = k(m){m=3Dm+h.getClientID();var n=3Dnew = RegExp('\\b'+m+'=3D([^;]*)\\b');return = n.test(document.cookie)?RegExp.$1:null;}var = l=3D{setDomain:function(m){i=3Dm;var = n=3Dg.encode({base_domain:i}),o=3Dnew = Date();o.setFullYear(o.getFullYear()+1);j('fbm_',n,o.getTime());},getDoma= in:function(){return i;},loadMeta:function(){var m=3Dk('fbm_');if(m){var = n=3Dg.decode(m);if(!i)i=3Dn.base_domain;return = n;}},loadSignedRequest:function(){return = k('fbsr_');},setSignedRequestCookie:function(m,n){if(!m)throw new = Error('Value passed to Cookie.setSignedRequestCookie '+'was = empty.');j('fbsr_',m,n);},clearSignedRequestCookie:function(){j('fbsr_','= ',0);},setRaw:j};e.exports=3Dl;});=0A= __d("sdk.getContextType",["UserAgent","sdk.Runtime"],function(a,b,c,d,e,f= ){var g=3Db('UserAgent'),h=3Db('sdk.Runtime');function = i(){if(g.nativeApp())return 3;if(g.mobile())return = 2;if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))return 5;return = 1;}e.exports=3Di;});=0A= __d("Base64",[],function(a,b,c,d,e,f){var = g=3D'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';fu= nction = h(l){l=3D(l.charCodeAt(0)<<16)|(l.charCodeAt(1)<<8)|l.charCodeAt(2);retur= n = String.fromCharCode(g.charCodeAt(l>>>18),g.charCodeAt((l>>>12)&63),g.char= CodeAt((l>>>6)&63),g.charCodeAt(l&63));}var = i=3D'>___?456789:;<=3D_______'+'\0\1\2\3\4\5\6\7\b\t\n\13\f\r\16\17\20\21= \22\23\24\25\26\27\30\31'+'______\32\33\34\35\36\37 = !"#$%&\'()*+,-./0123';function = j(l){l=3D(i.charCodeAt(l.charCodeAt(0)-43)<<18)|(i.charCodeAt(l.charCodeA= t(1)-43)<<12)|(i.charCodeAt(l.charCodeAt(2)-43)<<6)|i.charCodeAt(l.charCo= deAt(3)-43);return String.fromCharCode(l>>>16,(l>>>8)&255,l&255);}var = k=3D{encode:function(l){l=3Dunescape(encodeURI(l));var = m=3D(l.length+2)%3;l=3D(l+'\0\0'.slice(m)).replace(/[\s\S]{3}/g,h);return= = l.slice(0,l.length+m-2)+'=3D=3D'.slice(m);},decode:function(l){l=3Dl.repl= ace(/[^A-Za-z0-9+\/]/g,'');var = m=3D(l.length+3)&3;l=3D(l+'AAA'.slice(m)).replace(/..../g,j);l=3Dl.slice(= 0,l.length+m-3);try{return decodeURIComponent(escape(l));}catch(n){throw = new Error('Not valid UTF-8');}},encodeObject:function(l){return = k.encode(ES5('JSON','stringify',false,l));},decodeObject:function(l){retu= rn ES5('JSON','parse',false,k.decode(l));},encodeNums:function(l){return = String.fromCharCode.apply(String,ES5(l,'map',true,function(m){return = g.charCodeAt((m|-(m>63))&-(m>0)&63);}));}};e.exports=3Dk;});=0A= __d("sdk.SignedRequest",["Base64"],function(a,b,c,d,e,f){var = g=3Db('Base64');function h(j){if(!j)return null;var = k=3Dj.split('.',2)[1].replace(/\-/g,'+').replace(/\_/g,'/');return = g.decodeObject(k);}var i=3D{parse:h};e.exports=3Di;});=0A= __d("sdk.Auth",["sdk.Cookie","copyProperties","sdk.createIframe","DOMWrap= per","sdk.getContextType","guid","ObservableMixin","QueryString","sdk.Run= time","sdk.SignedRequest","UrlMap","URL","sdk.XD"],function(a,b,c,d,e,f){= var = g=3Db('sdk.Cookie'),h=3Db('copyProperties'),i=3Db('sdk.createIframe'),j=3D= b('DOMWrapper'),k=3Db('sdk.getContextType'),l=3Db('guid'),m=3Db('Observab= leMixin'),n=3Db('QueryString'),o=3Db('sdk.Runtime'),p=3Db('sdk.SignedRequ= est'),q=3Db('UrlMap'),r=3Db('URL'),s=3Db('sdk.XD'),t,u,v=3Dnew = m();function w(aa,ba){var = ca=3Do.getUserID(),da=3D0;if(aa)if(aa.userID){da=3Daa.userID;}else = if(aa.signedRequest){var = ea=3Dp.parse(aa.signedRequest);if(ea&&ea.user_id)da=3Dea.user_id;}var = fa=3D!ca&&aa,ga=3Dca&&!aa,ha=3Daa&&ca&&ca!=3Dda,ia=3Daa!=3Dt,ja=3Dba!=3Do= .getLoginStatus();o.setLoginStatus(ba);o.setAccessToken(aa&&aa.accessToke= n||null);o.setUserID(da);t=3Daa;var = ka=3D{authResponse:aa,status:ba};if(ga||ha)v.inform('logout',ka);if(fa||h= a)v.inform('login',ka);if(ia)v.inform('authresponse.change',ka);if(ja)v.i= nform('status.change',ka);return ka;}function x(){return t;}function = y(aa,ba,ca){return function(da){var ea;if(da&&da.access_token){var = fa=3Dp.parse(da.signed_request);ba=3D{accessToken:da.access_token,userID:= fa.user_id,expiresIn:parseInt(da.expires_in,10),signedRequest:da.signed_r= equest};if(o.getUseCookie()){var ga=3Dba.expiresIn=3D=3D=3D0?0:(new = Date()).getTime()+ba.expiresIn*1000,ha=3Dg.getDomain();if(!ha&&da.base_do= main)g.setDomain('.'+da.base_domain);g.setSignedRequestCookie(da.signed_r= equest,ga);}ea=3D'connected';w(ba,ea);}else = if(ca=3D=3D=3D'logout'||ca=3D=3D=3D'login_status'){if(da.error&&da.error=3D= =3D=3D'not_authorized'){ea=3D'not_authorized';}else = ea=3D'unknown';w(null,ea);if(o.getUseCookie())g.clearSignedRequestCookie(= );}if(da&&da.https=3D=3D1)o.setSecure(true);if(aa)aa({authResponse:ba,sta= tus:o.getLoginStatus()});return ba;};}function z(aa){var = ba;if(u){clearTimeout(u);u=3Dnull;}var = ca=3Dy(aa,t,'login_status'),da=3Dr(q.resolve('www',true)+'/dialog/oauth/'= ).setSearch(n.encode({client_id:o.getClientID(),response_type:'token,sign= ed_request,code',display:'none',domain:location.hostname,origin:k(),redir= ect_uri:s.handler(function(ea){ba.parentNode.removeChild(ba);if(ca(ea))u=3D= setTimeout(function(){z();},1200000);},'parent'),sdk:'joey'}));ba=3Di({ro= ot:j.getRoot(),name:l(),url:da.toString(),style:{display:'none'}});}h(v,{= fetchLoginStatus:z,setAuthResponse:w,getAuthResponse:x,parseSignedRequest= :p.parse,xdResponseWrapper:y});e.exports=3Dv;});=0A= __d("legacy:fb.auth",["sdk.Auth","copyProperties","FB","sdk.getContextTyp= e","guid","Log","sdk.Runtime","sdk.SignedRequest","UrlMap","UserAgent","s= dk.XD","SDKConfig"],function(a,b,c,d){var = e=3Db('sdk.Auth'),f=3Db('copyProperties'),g=3Db('FB'),h=3Db('sdk.getConte= xtType'),i=3Db('guid'),j=3Db('Log'),k=3Db('sdk.Runtime'),l=3Dc('SDKConfig= '),m=3Db('sdk.SignedRequest'),n=3Db('UrlMap'),o=3Db('UserAgent'),p=3Db('s= dk.XD');g.provide('',{_getContextType:h,getLoginStatus:function(q,r){if(!= k.getClientID()){j.warn('FB.getLoginStatus() called before calling = FB.init().');return;}if(q)if(!r&&g.Auth._loadState=3D=3D'loaded'){q({stat= us:k.getLoginStatus(),authResponse:g.getAuthResponse()});return;}else = g.Event.subscribe('FB.loginStatus',q);if(!r&&g.Auth._loadState=3D=3D'load= ing')return;g.Auth._loadState=3D'loading';var = s=3Dfunction(t){g.Auth._loadState=3D'loaded';g.Event.fire('FB.loginStatus= ',t);g.Event.clear('FB.loginStatus');};g.Auth.fetchLoginStatus(s);},getAu= thResponse:function(){return = g.Auth.getAuthResponse();},getAccessToken:function(){return = k.getAccessToken()||null;},getUserID:function(){return = k.getUserID();},login:function(q,r){if(r&&r.perms&&!r.scope){r.scope=3Dr.= perms;delete r.perms;j.warn('OAuth2 specification states that \'perms\' = '+'should now be called \'scope\'. Please = update.');}g.ui(f({method:'permissions.oauth',display:l.useAsync&&g._inCa= nvas?'async':'popup',domain:location.hostname},r||{}),q);},logout:functio= n(q){g.ui({method:'auth.logout',display:'hidden'},q);}});if(l.migrate){g.= provide('Auth',e);e.subscribe('logout',ES5(g.Event.fire,'bind',true,g.Eve= nt,'auth.logout'));e.subscribe('login',ES5(g.Event.fire,'bind',true,g.Eve= nt,'auth.login'));e.subscribe('authresponse.change',ES5(g.Event.fire,'bin= d',true,g.Event,'auth.authResponseChange'));e.subscribe('status.change',E= S5(g.Event.fire,'bind',true,g.Event,'auth.statusChange'));}else = g.provide('Auth',{_callbacks:[],_xdStorePath:'xd_localstorage/',fetchLogi= nStatus:function(q){if(o.mobile()&&window.postMessage&&window.localStorag= e){g.Auth.staticAuthCheck(q);}else = g.ui({method:'login.status',display:'none',domain:location.hostname},q);}= ,staticAuthCheck:function(q){var = r=3Dn.resolve('cdn',true);g.Content.insertIframe({root:g.Content.appendHi= dden(''),className:'FB_UI_Hidden',url:r+'/'+g.Auth._xdStorePath,onload:fu= nction(s){var = t=3Dframes[s.name],u=3Di(),v=3Dfalse,w=3Dfunction(x){if(!v){v=3Dtrue;g.Au= th._staticAuthHandler(q,x);}};p.handler(w,'parent',true,u);setTimeout(w,5= 00);t.postMessage(ES5('JSON','stringify',false,{method:'getItem',params:[= 'LoginInfo_'+k.getClientID(),true],returnCb:u}),r);}});},_staticAuthHandl= er:function(q,r){if(r&&r.data&&r.data.status&&r.data.status=3D=3D'connect= ed'){var = s,t=3Dr.data.status;if(r.data.https=3D=3D1)k.setSecure(true);var = u=3Dr.data.authResponse||null;s=3Dg.Auth.setAuthResponse(u,t);q&&q(s);}g.= ui({method:'login.status',display:'none'},q);},setAuthResponse:function(q= ,r){var s=3Dk.getUserID(),t=3D0;if(q)if(q.userID){t=3Dq.userID;}else = if(q.signedRequest){var = u=3Dm.parse(q.signedRequest);if(u&&u.user_id)t=3Du.user_id;}var = v=3D!s&&q,w=3Ds&&!q,x=3Dq&&s!=3Dt,y=3Dq!=3Dg._authResponse,z=3Dr!=3Dk.get= LoginStatus(),aa=3D{authResponse:q,status:r};k.setLoginStatus(r);k.setAcc= essToken(q&&q.accessToken||null);k.setUserID(t);g._authResponse=3Dq;if(w|= |x)g.Event.fire('auth.logout',aa);if(v||x)g.Event.fire('auth.login',aa);i= f(y)g.Event.fire('auth.authResponseChange',aa);if(z)g.Event.fire('auth.st= atusChange',aa);if(g.Auth._refreshTimer){clearTimeout(g.Auth._refreshTime= r);delete = g.Auth._refreshTimer;}if(g.Auth._loadState&&q)g.Auth._refreshTimer=3DsetT= imeout(function(){g.getLoginStatus(null,true);},1200000);return = aa;},getAuthResponse:function(){return = g._authResponse;},xdResponseWrapper:function(q,r,s){return = function(t){if(t&&t.access_token){var = u=3Dm.parse(t.signed_request);r=3D{accessToken:t.access_token,userID:u.us= er_id,expiresIn:parseInt(t.expires_in,10),signedRequest:t.signed_request}= ;if(k.getUseCookie()){var v=3Dr.expiresIn=3D=3D=3D0?0:(new = Date()).getTime()+r.expiresIn*1000,w=3Dg.Cookie.getDomain();if(!w&&t.base= _domain)g.Cookie.setDomain('.'+t.base_domain);g.Cookie.setSignedRequestCo= okie(t.signed_request,v);}g.Auth.setAuthResponse(r,'connected');}else = if(!g._authResponse&&r){g.Auth.setAuthResponse(r,'connected');}else = if(s=3D=3D=3D'logout'||s=3D=3D=3D'login_status'){var = x;if(t.error&&t.error=3D=3D=3D'not_authorized'){x=3D'not_authorized';}els= e = x=3D'unknown';g.Auth.setAuthResponse(null,x);if(k.getUseCookie())g.Cookie= .clearSignedRequestCookie();}if(t&&t.https=3D=3D1)k.setSecure(true);var = y=3D{authResponse:g._authResponse,status:k.getLoginStatus()};q&&q(y);};},= parseSignedRequest:m.parse});},3);=0A= __d("sdk.Canvas.Prefetcher",["sdk.api","createArrayFrom","sdk.Runtime","C= anvasPrefetcherConfig"],function(a,b,c,d,e,f){var = g=3Db('sdk.api'),h=3Db('createArrayFrom'),i=3Dc('CanvasPrefetcherConfig')= ,j=3Db('sdk.Runtime'),k=3D{AUTOMATIC:0,MANUAL:1},l=3Di.sampleRate,m=3Di.b= lacklist,n=3Dk.AUTOMATIC,o=3D[];function p(){var = u=3D{object:'data',link:'href',script:'src'};if(n=3D=3Dk.AUTOMATIC)ES5(ES= 5('Object','keys',false,u),'forEach',true,function(v){var = w=3Du[v];ES5(h(document.getElementsByTagName(v)),'forEach',true,function(= x){if(x[w])o.push(x[w]);});});if(o.length=3D=3D=3D0)return;g(j.getClientI= D()+'/staticresources','post',{urls:ES5('JSON','stringify',false,o),is_ht= tps:location.protocol=3D=3D=3D'https:'});o=3D[];}function = q(){if(!j.isEnvironment(j.ENVIRONMENTS.CANVAS)||!j.getClientID()||!l)retu= rn;if(Math.random()>1/l||m=3D=3D'*'||~ES5(m,'indexOf',true,j.getClientID(= )))return;setTimeout(p,30000);}function r(u){n=3Du;}function = s(u){o.push(u);}var = t=3D{COLLECT_AUTOMATIC:k.AUTOMATIC,COLLECT_MANUAL:k.MANUAL,addStaticResou= rce:s,setCollectionMode:r,_maybeSample:q};e.exports=3Dt;});=0A= __d("legacy:fb.canvas.prefetcher",["FB","sdk.Canvas.Prefetcher"],function= (a,b,c,d){var = e=3Db('FB'),f=3Db('sdk.Canvas.Prefetcher');e.provide('Canvas.Prefetcher',= f);},3);=0A= FB.provide('UIServer.MobileIframableMethod',{transform:function(a){if(a.p= arams.display=3D=3D=3D'touch'&&a.params.access_token&&window.postMessage)= {a.params.channel=3DFB.UIServer._xdChannelHandler(a.id,'parent');if(!FB.U= A.nativeApp())a.params.in_iframe=3D1;return a;}else return = FB.UIServer.genericTransform(a);},getXdRelation:function(a){var = b=3Da.display;if(b=3D=3D=3D'touch'&&window.postMessage&&a.in_iframe)retur= n 'parent';return = FB.UIServer.getXdRelation(a);}});FB.provide('UIServer.Methods',{'stream.s= hare':{size:{width:670,height:340},url:'sharer.php',transform:function(a)= {if(!a.params.u)a.params.u=3Dwindow.location.toString();a.params.display=3D= 'popup';return = a;}},'fbml.dialog':{size:{width:575,height:300},url:'render_fbml.php',log= gedOutIframe:true,transform:function(a){return = a;}},'auth.logintofacebook':{size:{width:530,height:287},url:'login.php',= transform:function(a){a.params.skip_api_login=3D1;var = b=3DFB.UIServer.getXdRelation(a.params),c=3DFB.UIServer._xdResult(a.cb,a.= id,b,true);a.params.next=3DFB.getDomain(FB.Runtime.getSecure()?'https_www= ':'www')+"login.php?"+FB.QS.encode({api_key:FB._apiKey,next:c,skip_api_lo= gin:1});return = a;}},apprequests:{transform:function(a){a=3DFB.UIServer.MobileIframableMe= thod.transform(a);a.params.frictionless=3DFB.Frictionless&&FB.Frictionles= s._useFrictionless;if(a.params.frictionless){if(FB.Frictionless.isAllowed= (a.params.to)){a.params.display=3D'iframe';a.params.in_iframe=3Dtrue;a.hi= deLoader=3Dtrue;}a.cb=3DFB.Frictionless._processRequestResponse(a.cb,a.hi= deLoader);}return a;},getXdRelation:function(a){return = FB.UIServer.MobileIframableMethod.getXdRelation(a);}},feed:FB.UIServer.Mo= bileIframableMethod,'permissions.oauth':{url:'dialog/oauth',size:{width:(= FB.UA.mobile()?null:627),height:(FB.UA.mobile()?null:326)},transform:func= tion(a){if(!FB._apiKey){FB.log('FB.login() called before = FB.init().');return;}if(FB.getAuthResponse()&&!a.params.scope){FB.log('FB= .login() called when user is already = connected.');a.cb&&a.cb({status:FB.Runtime.getLoginStatus(),authResponse:= FB.getAuthResponse()});return;}var b=3Da.cb,c=3Da.id;delete = a.cb;if(a.params.display=3D=3D=3D'async'){FB.copy(a.params,{client_id:FB.= _apiKey,origin:FB._getContextType(),response_type:'token,signed_request',= domain:location.hostname});a.cb=3DFB.Auth.xdResponseWrapper(b,FB.getAuthR= esponse(),'permissions.oauth');}else = FB.copy(a.params,{client_id:FB._apiKey,redirect_uri:FB.URI.resolve(FB.UIS= erver.xdHandler(b,c,'opener',FB.getAuthResponse(),'permissions.oauth')),o= rigin:FB._getContextType(),response_type:'token,signed_request',domain:lo= cation.hostname});return = a;}},'auth.logout':{url:'logout.php',transform:function(a){if(!FB._apiKey= ){FB.log('FB.logout() called before calling FB.init().');}else = if(!FB.getAuthResponse()){FB.log('FB.logout() called without an access = token.');}else{a.params.next=3DFB.UIServer.xdHandler(a.cb,a.id,'parent',F= B.getAuthResponse(),'logout');return = a;}}},'login.status':{url:'dialog/oauth',transform:function(a){var = b=3Da.cb,c=3Da.id;delete = a.cb;FB.copy(a.params,{client_id:FB._apiKey,redirect_uri:FB.UIServer.xdHa= ndler(b,c,'parent',FB.getAuthResponse(),'login_status'),origin:FB._getCon= textType(),response_type:'token,signed_request,code',domain:location.host= name});return a;}}});=0A= FB.provide('',{share:function(a){FB.log('FB.share() has been deprecated. = Please use FB.ui() = instead.');FB.ui({display:'popup',method:'stream.share',u:a});},publish:f= unction(a,b){FB.log('FB.publish() has been deprecated. Please use = FB.ui() = instead.');a=3Da||{};FB.ui(FB.copy({display:'popup',method:'stream.publis= h',preview:1},a||{}),b);},addFriend:function(a,b){FB.log('FB.addFriend() = has been deprecated. Please use FB.ui() = instead.');FB.ui({display:'popup',id:a,method:'friend.add'},b);}});FB.UIS= erver.Methods['auth.login']=3DFB.UIServer.Methods['permissions.request'];=0A= __d("resolveURI",[],function(a,b,c,d,e,f){function g(h){if(!h)return = window.location.href;var = i=3Ddocument.createElement('div');i.innerHTML=3D'';return = i.firstChild.href;}e.exports=3Dg;});=0A= __d("legacy:fb.uri",["FB","resolveURI"],function(a,b,c,d){var = e=3Db('FB'),f=3Db('resolveURI');e.provide('URI',{resolve:f});},3);=0A= __d("PluginTags",[],function(a,b,c,d,e,f){var = g=3D{shared_activity:{},privacy_selector:{},send_to_mobile:{max_rows:'str= ing',show_faces:'bool',size:'string'},subscribe:{href:'url',layout:'strin= g',show_faces:'bool'},want:{href:'url',layout:'string',show_faces:'bool'}= };e.exports=3Dg;});=0A= __d("legacy:fb.xfbml.iframeplugintags",["FB","PluginTags"],function(a,b,c= ,d){var = e=3Db('FB'),f=3Db('PluginTags');e.create('XFBML.IframePluginTags',f);},3)= ;=0A= FB.provide('XFBML',{_renderTimeout:30000,_widgetPipeThreshold:0,getElemen= ts:function(a,b,c){var = d=3DFB.XFBML._getDomElements(a,b,c),e=3DFB.Dom.getByClass(b+'-'+c,a,'div'= );d=3DFB.Array.toArray(d);e=3DFB.Array.toArray(e);e=3DES5(e,'filter',true= ,function(f){return = !f.hasChildNodes()||(f.childNodes.length=3D=3D=3D1&&f.childNodes[0].nodeT= ype=3D=3D=3D3);});return = FB.Array.merge(d,e);},parse:function(a,b){a=3Da||document.body;var = c=3D1,d=3Dfunction(){c--;if(c=3D=3D=3D0){b&&b();FB.Event.fire('xfbml.rend= er');}},e=3D{};if(FB.XFBML._widgetPipeIsEnabled())ES5(FB.XFBML._tagInfos,= 'forEach',true,function(f){if(f.supportsWidgetPipe){var = g=3Df.xmlns?f.xmlns:'fb',h=3DFB.XFBML.getElements(a,g,f.localName);e[f.lo= calName]=3Dh;FB.XFBML._widgetPipeEnabledTagCount+=3Dh.length;}});ES5(FB.X= FBML._tagInfos,'forEach',true,function(f){if(!f.xmlns)f.xmlns=3D'fb';var = g;if(e[f.localName]!=3D=3Dundefined){g=3De[f.localName];}else = g=3DFB.XFBML.getElements(a,f.xmlns,f.localName);for(var = h=3D0;h0)FB.log(c+' = XFBML tags failed to render in = '+FB.XFBML._renderTimeout+'ms.');},FB.XFBML._renderTimeout);d();},registe= rTag:function(a){FB.XFBML._tagInfos.push(a);},shouldUseWidgetPipe:functio= n(){if(!FB.XFBML._widgetPipeIsEnabled())return false;var = a=3DFB.XFBML._widgetPipeEnabledTagCount>this._widgetPipeThreshold;return = a;},getBoolAttr:function(a,b){b=3DFB.XFBML.getAttr(a,b);return = (b&&ES5(['true','1','yes','on'],'indexOf',true,b.toLowerCase())>-1);},get= Attr:function(a,b){return = (a.getAttribute(b)||a.getAttribute(b.replace(/_/g,'-'))||a.getAttribute(b= .replace(/-/g,'_'))||a.getAttribute(b.replace(/-/g,''))||a.getAttribute(b= .replace(/_/g,''))||a.getAttribute('data-'+b)||a.getAttribute('data-'+b.r= eplace(/_/g,'-'))||a.getAttribute('data-'+b.replace(/-/g,'_'))||a.getAttr= ibute('data-'+b.replace(/-/g,''))||a.getAttribute('data-'+b.replace(/_/g,= ''))||null);},_processElement:function(a,b,c){var = d=3Da._element;if(d){d.subscribe('render',c);d.process();}else{var = e=3Db.localName.replace(/-/g,'_'),f=3Dfunction(){var = g=3DFB.XFBML.IframePluginTags[e]?FB.XFBML.IframePlugin:FB.dotAccess(FB,b.= className.replace(/^FB\./,''));d=3Da._element=3Dnew = g(a,b.xmlns,e);d.subscribe('render',c);d.process();};if(FB.XFBML.IframePl= uginTags[e]||FB.CLASSES[b.className.substr(3)]){f();}else FB.log('Tag = '+b.className+' was not found.');}},_getDomElements:function(a,b,c){var = d=3Db+':'+c;if(FB.UA.firefox()){return = a.getElementsByTagNameNS(document.body.namespaceURI,d);}else = if(FB.UA.ie()<9){try{var f=3Ddocument.namespaces;if(f&&f[b]){var = g=3Da.getElementsByTagName(c);if(!document.addEventListener||g.length>0)r= eturn g;}}catch(e){}return a.getElementsByTagName(d);}else return = a.getElementsByTagName(d);},_tagInfos:[{localName:'activity',className:'F= B.XFBML.Activity'},{localName:'shared-activity',className:'FB.XFBML.Share= dActivity'},{localName:'add-profile-tab',className:'FB.XFBML.AddProfileTa= b'},{localName:'add-to-timeline',className:'FB.XFBML.AddToTimeline'},{loc= alName:'bookmark',className:'FB.XFBML.Bookmark'},{localName:'comments',cl= assName:'FB.XFBML.Comments'},{localName:'comments-count',className:'FB.XF= BML.CommentsCount'},{localName:'connect-bar',className:'FB.XFBML.ConnectB= ar'},{localName:'create-event-button',className:'FB.XFBML.CreateEventButt= on'},{localName:'fan',className:'FB.XFBML.Fan'},{localName:'like',classNa= me:'FB.XFBML.Like'},{localName:'like-box',className:'FB.XFBML.LikeBox'},{= localName:'live-stream',className:'FB.XFBML.LiveStream'},{localName:'logi= n',className:'FB.XFBML.Login'},{localName:'login-button',className:'FB.XF= BML.LoginButton'},{localName:'facepile',className:'FB.XFBML.Facepile'},{l= ocalName:'friendpile',className:'FB.XFBML.Friendpile'},{localName:'name',= className:'FB.XFBML.Name'},{localName:'page-events',className:'FB.XFBML.P= ageEvents'},{localName:'privacy-selector'},{localName:'profile-pic',class= Name:'FB.XFBML.ProfilePic'},{localName:'recommendations',className:'FB.XF= BML.Recommendations'},{localName:'recommendations-bar',className:'FB.XFBM= L.RecommendationsBar'},{localName:'rectangle',className:'FB.XFBML.Rectang= le',supportsWidgetPipe:true},{localName:'registration',className:'FB.XFBM= L.Registration'},{localName:'send',className:'FB.XFBML.Send'},{localName:= 'send-to-mobile'},{localName:'share-button',className:'FB.XFBML.ShareButt= on'},{localName:'social-context',className:'FB.XFBML.SocialContext'},{loc= alName:'subscribe'},{localName:'want'}],_widgetPipeEnabledTagCount:0,_wid= getPipeIsEnabled:function(){return = FB.widgetPipeEnabledApps&&FB.widgetPipeEnabledApps[FB._apiKey]!=3D=3Dunde= fined;}});(function(){try{if(document.namespaces&&!document.namespaces.it= em.fb)document.namespaces.add('fb');}catch(a){}}());=0A= __d("XFBML",["Assert","FB","Log","ObservableMixin","copyProperties","crea= teArrayFrom","dotAccess"],function(a,b,c,d,e,f){var = g=3Db('Assert'),h=3Db('FB'),i=3Db('Log'),j=3Db('ObservableMixin'),k=3Db('= copyProperties'),l=3Db('createArrayFrom'),m=3Db('dotAccess'),n=3D{},o=3D{= },p=3D0,q=3Dnew j();function r(w){return = w.scopeName?(w.scopeName+':'+w.nodeName):'';}function s(w){return = n[w.nodeName.toLowerCase()]||n[r(w).toLowerCase()];}function t(w){var = x=3DES5(w.className,'trim',true);if(!o[x])return = undefined;if(!w.childNodes||w.childNodes.length=3D=3D=3D0||(w.childNodes.= length=3D=3D1&&w.childNodes[0].nodeType=3D=3D3)||w.getAttribute('fb-xfbml= -state'))return o[x];}function u(w){var = x=3D{};ES5(l(w.attributes),'forEach',true,function(y){x[y.name]=3Dy.value= ;});return x;}function v(w,x,y){var z=3D++p;i.info('XFBML Parsing Start = %s',z);var = aa=3D1,ba=3D0,ca=3Dfunction(){aa--;if(aa=3D=3D=3D0){i.info('XFBML = Parsing Finish %s, %s tags = found',z,ba);x();q.inform('render',z,ba);}g.isTrue(aa>=3D0,'onrender() = has been called too many = times');};ES5(l(w.getElementsByTagName('*')),'forEach',true,function(ea){= if(!y&&ea.getAttribute('fb-xfbml-state'))return;var = fa=3Ds(ea)||t(ea);if(!fa)return;aa++;ba++;var = ga=3Dfa.ctor||m(h,fa.className.substr(3)),ha=3Dnew = ga(ea,fa.xmlns,fa.localName,u(ea));ha.subscribe('render',function = ja(){ha.unsubscribe('render',ja);ea.setAttribute('fb-xfbml-state','render= ed');ca();});var = ia=3Dfunction(){if(ea.getAttribute('fb-xfbml-state')=3D=3D'parsed'){q.sub= scribe('render.queue',ia);}else{ea.setAttribute('fb-xfbml-state','parsed'= );ha.process();}};ia();});q.inform('parse',z,ba);var = da=3D30000;window.setTimeout(function(){if(aa>0)i.warn('%s tags failed = to render in %s = ms',aa,da);},da);ca();}q.subscribe('render',function(){var = w=3Dq.getSubscribers('render.queue');q.clearSubscribers('render.queue');E= S5(w,'forEach',true,function(x){x();});});k(q,{registerTag:function(w){n[= w.xmlns+':'+w.localName]=3Dw;o[w.xmlns+'-'+w.localName]=3Dw;},parse:funct= ion(w,x){v(w||document.body,x||function(){},true);},parseNew:function(){v= (document.body,function(){},false);}});e.exports=3Dq;});=0A= __d("PluginCustomClass",[],function(a,b,c,d,e,f){var = g=3D['activity','add-profile-tab','add-to-timeline','bookmark','comments'= ,'comments-count','connect-bar','fan','like','like-box','login','login-bu= tton','facepile','friendpile','name','page-events','profile-pic','recomme= ndations','recommendations-bar','registration','send','share-button','soc= ial-context'];e.exports=3Dg;});=0A= __d("RegisterTags",["XFBML","PluginCustomClass","PluginTags"],function(a,= b,c,d,e,f){var = g=3Db('XFBML'),h=3Db('PluginCustomClass'),i=3Db('PluginTags');function = j(k){return = k.length>0?k.charAt(0).toUpperCase()+k.substr(1):'';}ES5(ES5('Object','ke= ys',false,i),'forEach',true,function(k){g.registerTag({xmlns:'fb',localNa= me:k.replace(/_/g,'-'),className:'FB.XFBML.IframePlugin'});});ES5(h,'forE= ach',true,function(k){g.registerTag({xmlns:'fb',localName:k,className:'FB= .XFBML.'+ES5(k.split('-'),'map',true,j).join('')});});});=0A= FB.Class('XFBML.IframePlugin',function(a,b,c){c=3Dc.replace(/-/g,'_');fun= ction d(n){return function(o){var = p=3Da.getElementsByTagName(n)[0];o.height&&(p.style.height=3Do.height+'px= ');o.width&&(p.style.width=3Do.width+'px');var = q=3Da.getElementsByTagName('span')[0],r=3Da.getElementsByTagName('iframe'= )[0],s=3Dr.style.height=3D=3D=3Dq.style.height&&r.style.width=3D=3D=3Dq.s= tyle.width,t=3Ds?'removeCss':'addCss';FB.Dom[t](r,'fb_iframe_widget_lift'= );};}function = e(n){FB.Event.fire('xfbml.resize',{width:n.width,height:n.height,pluginID= :FB.XFBML.getAttr(a,'plugin-id')});}var f=3D{string:function(n){return = n;},bool:function(n){return = (/^(?:true|1|yes|on)$/i).test(n);},url:function(n){return = FB.URI.resolve(n);},px:function(n){return = (/^(\d+)(?:px)?$/).test(n)?parseInt(RegExp.$1,10):undefined;}};function = g(n,o){ES5(ES5('Object','keys',false,n),'forEach',true,function(p){var = q=3Df[n[p]];o[p]=3Dq(FB.XFBML.getAttr(a,p));});}var = h=3D{skin:'string',font:'string',width:'px',height:'px',ref:'string',colo= r_scheme:'string'};FB.Dom.addCss(a,'fb_iframe_widget');this.subscribe('xd= .resize',d('span'));this.subscribe('xd.resize',d('iframe'));this.subscrib= e('xd.resize',e);this.subscribe('xd.resize.flow',d('span'));this.subscrib= e('xd.resize.iframe',d('iframe'));this.subscribe('xd.resize.flow',e);var = i=3DFB.getDomain('www')+'plugins/'+c+'?',j=3D{};g(FB.XFBML.IframePluginTa= gs[c],j);g(h,j);j.app_id=3DFB._apiKey;j.locale=3DFB._locale;j.sdk=3D'joey= ';var = k=3DES5(function(n){this.fire('xd.'+n.type,n);},'bind',true,this);j.chann= el=3DFB.XD.handler(k,'parent.parent',true);var = l=3DFB.guid();this.subscribe('xd.verify',function(n){FB.XD.sendToFacebook= (l,{method:'xd/verify',params:ES5('JSON','stringify',false,n.token),behav= ior:FB.Arbiter.BEHAVIOR_PERSISTENT});});var = m=3D{url:i+FB.QS.encode(j),name:l,onload:ES5(this.fire,'bind',true,this,'= render'),width:j.width||400,height:j.height||400};this.process=3Dfunction= (){a.innerHTML=3D'';var = n=3Ddocument.createElement('span');n.style.cssText=3D'width: 0px; = height: = 0px';m.root=3Da.appendChild(n);FB.Content.insertIframe(m);};},FB.copy({},= FB.EventProvider));ES5(ES5('Object','keys',false,FB.XFBML.IframePluginTag= s),'forEach',true,function(a){FB.XFBML.registerTag({xmlns:'fb',localName:= a.replace(/_/g,'-'),className:'FB.XFBML.IframePlugin'});});=0A= __d("legacy:fb.xfbml",["FB","Log","RegisterTags","XFBML","SDKConfig"],fun= ction(a,b,c,d){var = e=3Db('FB'),f=3Db('Log'),g=3Db('RegisterTags'),h=3Dc('SDKConfig'),i=3Db('= XFBML');if(!h.xfbmlUseLegacy){f.info('Using new XFBML = implementation');(function(){})(g);e.provide('XFBML',i);i.subscribe('pars= e',ES5(e.Event.fire,'bind',true,e.Event,'xfbml.parse'));i.subscribe('rend= er',ES5(e.Event.fire,'bind',true,e.Event,'xfbml.render'));}},3);=0A= FB.provide('XFBML',{set:function(a,b,c){FB.log('FB.XFBML.set() has been = deprecated.');a.innerHTML=3Db;FB.XFBML.parse(a,c);}});=0A= FB.Class('XFBML.Element',function(a,b,c){this.dom=3Da;},FB.copy({getAttri= bute:function(a,b,c){var d=3DFB.XFBML.getAttr(this.dom,a);return = d?(c?c(d):d):b;},_getBoolAttribute:function(a,b){if(FB.XFBML.getAttr(this= .dom,a)=3D=3D=3Dnull)return b;return = FB.XFBML.getBoolAttr(this.dom,a);},_getPxAttribute:function(a,b){return = this.getAttribute(a,b,function(c){var = d=3DparseInt(c.replace('px',''),10);if(isNaN(d)){return b;}else return = d;});},_getAttributeFromList:function(a,b,c){return = this.getAttribute(a,b,function(d){d=3Dd.toLowerCase();if(ES5(c,'indexOf',= true,d)>-1){return d;}else return b;});},isValid:function(){for(var = a=3Dthis.dom;a;a=3Da.parentNode)if(a=3D=3Ddocument.body)return = true;},clear:function(){this.dom.innerHTML=3D'';}},FB.EventProvider));=0A= FB.subclass('XFBML.IframeWidget','XFBML.Element',null,{_iframeName:null,_= showLoader:true,_refreshOnAuthChange:false,_allowReProcess:false,_fetchPr= eCachedLoader:false,_visibleAfter:'load',_widgetPipeEnabled:false,_border= Reset:false,getUrlBits:function(){throw new Error('Inheriting class = needs to implement getUrlBits().');},setupAndValidate:function(){return = true;},oneTimeSetup:function(){},getSize:function(){},getIframeName:funct= ion(){if(this._widgetPipeEnabled&&FB.XFBML.shouldUseWidgetPipe()){this._i= frameName=3Dthis.generateWidgetPipeIframeName();FB.XFBML.IframeWidget.all= WidgetPipeIframes[this._iframeName]=3Dthis;if(FB.XFBML.IframeWidget.maste= rWidgetPipeIframe=3D=3D=3Dnull)FB.XFBML.IframeWidget.masterWidgetPipeIfra= me=3Dthis;}return = this._iframeName;},getIframeTitle:function(){},getChannelUrl:function(){i= f(!this._channelUrl){var = a=3Dthis;this._channelUrl=3DFB.XD.handler(function(b){a.fire('xd.'+b.type= ,b);},'parent.parent',true);}return = this._channelUrl;},getIframeNode:function(){return = this.dom.getElementsByTagName('iframe')[0];},arbiterInform:function(event= ,a,b){FB.XD.sendToFacebook(this.getIframeName(),{method:event,params:ES5(= 'JSON','stringify',false,a||{}),behavior:b||FB.Arbiter.BEHAVIOR_PERSISTEN= T});},_arbiterInform:function(event,a,b){var = c=3D'parent.frames["'+this.getIframeNode().name+'"]';FB.Arbiter.inform(ev= ent,a,c,b);},getDefaultWebDomain:function(){return = 'www';},getDefaultStaticDomain:function(){return = 'cdn';},process:function(a){if(this._done){if(!this._allowReProcess&&!a)r= eturn;this.clear();}else = this._oneTimeSetup();this._done=3Dtrue;this._iframeName=3Dthis.getIframeN= ame()||this._iframeName||FB.guid();if(!this.setupAndValidate()){this.fire= ('render');return;}if(this._showLoader)this._addLoader();FB.Dom.addCss(th= is.dom,'fb_iframe_widget');if(this._visibleAfter!=3D'immediate'){FB.Dom.a= ddCss(this.dom,'fb_hide_iframes');}else = this.subscribe('iframe.onload',ES5(this.fire,'bind',true,this,'render'));= var = b=3Dthis.getSize()||{},c=3Dthis.getFullyQualifiedURL();if(b.width=3D=3D'1= 00%')FB.Dom.addCss(this.dom,'fb_iframe_widget_fluid');this.clear();FB.Con= tent.insertIframe({url:c,root:this.dom.appendChild(document.createElement= ('span')),name:this._iframeName,title:this.getIframeTitle(),className:FB.= _localeIsRtl?'fb_rtl':'fb_ltr',height:b.height,width:b.width,onload:ES5(t= his.fire,'bind',true,this,'iframe.onload')});this._resizeFlow(b);this.loa= ded=3Dfalse;this.subscribe('iframe.onload',ES5(function(){this.loaded=3Dt= rue;},'bind',true,this));},generateWidgetPipeIframeName:function(){FB.XFB= ML.IframeWidget.widgetPipeIframeCount++;return = 'fb_iframe_'+FB.XFBML.IframeWidget.widgetPipeIframeCount;},getFullyQualif= iedURL:function(){if(FB.XFBML.shouldUseWidgetPipe()&&this._widgetPipeEnab= led)return this._getWidgetPipeShell();var = a=3Dthis._getURL();if(!this._fetchPreCachedLoader)a+=3D'?'+FB.QS.encode(t= his._getQS());if(a.length>2000){a=3D'about:blank';var = b=3DES5(function(){this._postRequest();this.unsubscribe('iframe.onload',b= );},'bind',true,this);this.subscribe('iframe.onload',b);}return = a;},_getWidgetPipeShell:function(){return = FB.getDomain('www')+'common/widget_pipe_shell.php';},_oneTimeSetup:functi= on(){this.subscribe('xd.resize',ES5(this._handleResizeMsg,'bind',true,thi= s));this.subscribe('xd.resize',ES5(this._bubbleResizeEvent,'bind',true,th= is));this.subscribe('xd.resize.iframe',ES5(this._resizeIframe,'bind',true= ,this));this.subscribe('xd.resize.flow',ES5(this._resizeFlow,'bind',true,= this));this.subscribe('xd.resize.flow',ES5(this._bubbleResizeEvent,'bind'= ,true,this));if(FB.getLoginStatus){this.subscribe('xd.refreshLoginStatus'= ,ES5(FB.getLoginStatus,'bind',true,FB,function(){},true));this.subscribe(= 'xd.logout',ES5(FB.logout,'bind',true,FB,function(){}));}if(this._refresh= OnAuthChange)this._setupAuthRefresh();if(this._visibleAfter=3D=3D'load')t= his.subscribe('iframe.onload',ES5(this._makeVisible,'bind',true,this));th= is.subscribe('xd.verify',ES5(function(a){this.arbiterInform('xd/verify',a= .token);},'bind',true,this));this.oneTimeSetup();},_makeVisible:function(= ){this._removeLoader();FB.Dom.removeCss(this.dom,'fb_hide_iframes');this.= fire('render');},_setupAuthRefresh:function(){FB.getLoginStatus(ES5(funct= ion(a){var = b=3Da.status;FB.Event.subscribe('auth.statusChange',ES5(function(c){if(!t= his.isValid())return;if(b=3D=3D'unknown'||c.status=3D=3D'unknown')this.pr= ocess(true);b=3Dc.status;},'bind',true,this));},'bind',true,this));},_han= dleResizeMsg:function(a){if(!this.isValid())return;this._resizeIframe(a);= this._resizeFlow(a);if(!this._borderReset){this.getIframeNode().style.bor= der=3D'none';this._borderReset=3Dtrue;}this._makeVisible();},_bubbleResiz= eEvent:function(a){var = b=3D{height:a.height,width:a.width,pluginID:this.getAttribute('plugin-id'= )};FB.Event.fire('xfbml.resize',b);},_resizeIframe:function(a){var = b=3Dthis.getIframeNode();a.height&&(b.style.height=3Da.height+'px');a.wid= th&&(b.style.width=3Da.width+'px');this._updateIframeZIndex();},_resizeFl= ow:function(a){var = b=3Dthis.dom.getElementsByTagName('span')[0];a.height&&(b.style.height=3D= a.height+'px');a.width&&(b.style.width=3Da.width+'px');this._updateIframe= ZIndex();},_updateIframeZIndex:function(){var = a=3Dthis.dom.getElementsByTagName('span')[0],b=3Dthis.getIframeNode(),c=3D= b.style.height=3D=3D=3Da.style.height&&b.style.width=3D=3D=3Da.style.widt= h,d=3Dc?'removeCss':'addCss';FB.Dom[d](b,'fb_iframe_widget_lift');},_addL= oader:function(){if(!this._loaderDiv){FB.Dom.addCss(this.dom,'fb_iframe_w= idget_loader');this._loaderDiv=3Ddocument.createElement('div');this._load= erDiv.className=3D'FB_Loader';this.dom.appendChild(this._loaderDiv);}},_r= emoveLoader:function(){if(this._loaderDiv){FB.Dom.removeCss(this.dom,'fb_= iframe_widget_loader');if(this._loaderDiv.parentNode)this._loaderDiv.pare= ntNode.removeChild(this._loaderDiv);this._loaderDiv=3Dnull;}},_getQS:func= tion(){return = FB.copy({api_key:FB._apiKey,locale:FB._locale,sdk:'joey',ref:this.getAttr= ibute('ref')},this.getUrlBits().params);},_getURL:function(){var = a=3Dthis.getDefaultWebDomain(),b=3D'';if(this._fetchPreCachedLoader){a=3D= this.getDefaultStaticDomain();b=3D'static/';}return = FB.getDomain(a)+'plugins/'+b+this.getUrlBits().name+'.php';},_postRequest= :function(){FB.Content.submitToTarget({url:this._getURL(),target:this.get= IframeNode().name,params:this._getQS()});}});FB.provide('XFBML.IframeWidg= et',{widgetPipeIframeCount:0,masterWidgetPipeIframe:null,allWidgetPipeIfr= ames:{},batchWidgetPipeRequests:function(){if(!FB.XFBML.IframeWidget.mast= erWidgetPipeIframe)return;var = a=3DFB.XFBML.IframeWidget._groupWidgetPipeDescriptions(),b=3D{widget_pipe= :ES5('JSON','stringify',false,a),href:window.location,site:location.hostn= ame,channel:FB.XFBML.IframeWidget.masterWidgetPipeIframe.getChannelUrl(),= api_key:FB._apiKey,locale:FB._locale,sdk:'joey'},c=3DFB.guid(),d=3DFB.XFB= ML.IframeWidget.masterWidgetPipeIframe.dom,e=3Dd.appendChild(document.cre= ateElement('span'));FB.Content.insertIframe({url:'about:blank',root:e,nam= e:c,className:'fb_hidden = fb_invisible',onload:function(){FB.Content.submitToTarget({url:FB._domain= .www+'plugins/pipe/',target:c,params:b},1);}});},_groupWidgetPipeDescript= ions:function(){var a=3D{};for(var b in = FB.XFBML.IframeWidget.allWidgetPipeIframes){var = c=3DFB.XFBML.IframeWidget.allWidgetPipeIframes[b],d=3D{widget:c.getUrlBit= s().name,params:c._getQS()};a[b]=3Dd;}return a;}});=0A= FB.subclass('XFBML.CreateEventButton','XFBML.IframeWidget',null,{setupAnd= Validate:function(){this._attr=3D{channel:this.getChannelUrl(),api_key:FB= ._apiKey,font:this.getAttribute('font'),colorscheme:this.getAttribute('co= lorscheme'),href:this.getAttribute('href'),ref:this.getAttribute('ref')};= return true;},getUrlBits:function(){return = {name:'create_event_button',params:this._attr};}});=0A= FB.subclass('Waitable','Obj',function(){},{set:function(a){this.setProper= ty('value',a);},error:function(a){this.fire("error",a);},wait:function(a,= b){if(b)this.subscribe('error',FB.unguard(b));this.monitor('value',ES5(th= is,'bind',true,function(){if(this.value!=3D=3Dundefined){FB.unguard(a)(th= is.value);return true;}}));}});=0A= FB.subclass('Data.Query','Waitable',function(){if(!FB.Data.Query._c)FB.Da= ta.Query._c=3D1;this.name=3D'v_'+FB.Data.Query._c++;},{hasDependency:func= tion(a){if(arguments.length)this._hasDependency=3Da;return = this._hasDependency;},parse:function(a){var = b=3DFB.String.format.apply(null,a),c=3D(/^select (.*?) from = (\w+)\s+where = (.*)$/i).exec(b);this.fields=3Dthis._toFields(c[1]);this.table=3Dc[2];thi= s.where=3Dthis._parseWhere(c[3]);for(var = d=3D1;d=3D1e+14&&a<=3D100099999989999)||(a>=3D8.9e+13&&a<=3D899999= 99999999);},getLoggedInUser:function(){return = FB.getUserID();},upperCaseFirstChar:function(a){if(a.length>0){return = a.substr(0,1).toUpperCase()+a.substr(1);}else return = a;},getProfileLink:function(a,b,c){c=3Dc||(a?FB.getDomain('www')+'profile= .php?id=3D'+a.uid:null);if(c)b=3D''+b+'';return = b;},invokeHandler:function(a,b,c){if(a)if(typeof = a=3D=3D=3D'string'){FB.safeEval(a);}else = if(a.apply)a.apply(b,c||[]);},fireEvent:function(a,b){var = c=3Db._attr.href;b.fire(a,c);FB.Event.fire(a,c,b);},executeFunctionByName= :function(a){var = b=3DArray.prototype.slice.call(arguments,1),c=3Da.split("."),d=3Dc.pop(),= e=3Dwindow;for(var f=3D0;fFB.TemplateData._localStorageTimeout;},getResponse:funct= ion(){var = a=3DFB.TemplateData;try{a._response=3Da._response||(a.supportsLocalStorag= e()&&ES5('JSON','parse',false,localStorage.FB_templateDataResponse||"null= "));}catch(b){a._response=3Dnull;}if(a._isStale(a._response))a.saveRespon= se(null);return = a._response;},saveResponse:function(a){FB.TemplateData._response=3Da;if(F= B.TemplateData.supportsLocalStorage())localStorage.FB_templateDataRespons= e=3DES5('JSON','stringify',false,a);},getData:function(){var = a=3DFB.TemplateData.getResponse();return = a?a.data:{};},init:function(a){if(!a)return;FB.TemplateData._initialized=3D= true;FB.TemplateData._version=3Da;if(FB.TemplateData.supportsLocalStorage= ()&&!('FB_templateDataResponse' in = localStorage))FB.TemplateData.clear();},clear:function(){FB.TemplateData.= saveResponse(null);},update:function(a){var = b=3DFB.Runtime.getLoginStatus();if(b!=3D'connected')FB.TemplateData.clear= ();if(b=3D=3D'connected'&&!FB.TemplateData.getResponse())FB.api({method:'= dialog.template_data'},function(c){if('error_code' in c)return;var = d=3D{data:c,currentUserID:FB.getUserID(),setAt:(new = Date()).getTime(),version:FB.TemplateData._version};FB.TemplateData.saveR= esponse(d);});}});=0A= FB.subclass('TemplateUI','Obj',function(a,b){this.method=3Da;var = c=3DFB.UA.nativeApp()?0:1,d=3D{display:'touch',preview_template:1,in_ifra= me:c,locale:FB._locale,v:FB.TemplateUI._version,user_agent:navigator.user= Agent};if(window.devicePixelRatio)d.m_pixel_ratio=3Dwindow.devicePixelRat= io;var = e=3DFB.QS.encode(d);this.cachedCall=3D{url:FB.getDomain('staticfb')+'dial= og/'+a+'?'+e,frameName:FB.guid(),id:FB.guid(),size:FB.UIServer.getDefault= Size(),hideLoader:true};FB.XD.handler(ES5(this,'bind',true,function(g){if= (g.type=3D=3D'getParams')this.setProperty('getParamsCb',g.returnCb);}),'p= arent',true,this.cachedCall.frameName);if(c){FB.UIServer.iframe(this.cach= edCall);FB.Dialog.hide(this.cachedCall.root);}else = if(b&&!FB.TemplateUI._preloads[this.cachedCall.url]){var = f=3Ddocument.createElement('div');FB.TemplateUI._preloads[this.cachedCall= .url]=3D{container:f};FB.Content.insertIframe({url:this.cachedCall.url,ro= ot:FB.Content.appendHidden(f)});}},{use:function(a){if(!this.cachedCall.r= oot){FB.UIServer.touch(this.cachedCall);var = b=3DFB.TemplateUI._preloads[this.cachedCall.url];if(b&&b.container){b.con= tainer.parentNode.removeChild(b.container);delete = b.container;}}a.ui_created=3Dtrue;a.root=3Dthis.cachedCall.root;FB.UIServ= er.setLoadedNode(a,FB.UIServer.getLoadedNode(this.cachedCall.id));delete = FB.UIServer._loadedNodes[this.cachedCall.id];var = c=3DFB.Dialog._dialogs[a.id];FB.Dialog._dialogs[this.cachedCall.id]=3Dc;c= .id=3Dthis.cachedCall.id;delete = FB.Dialog._dialogs[a.id];FB.UIServer.getLoadedNode(a).fbCallID=3Dthis.cac= hedCall.id;this.cachedCall.id=3Da.id;var = d=3D{};FB.copy(d,a.params);FB.copy(d,FB.TemplateData.getData()[this.metho= d]);d.frictionless=3DFB.TemplateUI.isFrictionlessAppRequest(this.method,d= );d.common=3DFB.TemplateData.getData().common;d.method=3Dthis.method;this= .setParams(d);if(FB.UA.nativeApp())FB.UIServer._popupMonitor();},setParam= s:function(a){this.monitor('getParamsCb',ES5(this,'bind',true,function(){= if(this.getParamsCb){var = b=3Dframes[this.cachedCall.frameName]||FB.UIServer.getLoadedNode(this.cac= hedCall);b.postMessage(ES5('JSON','stringify',false,{params:a,cb:this.get= ParamsCb}),'*');return = true;}}));}});FB.provide('TemplateUI',{_timer:null,_cache:{},_preloads:{}= ,_version:0,init:function(){FB.TemplateData.init(FB.TemplateUI._version);= FB.TemplateUI.initCache();},useCachedUI:function(a,b){try{FB.TemplateUI.p= opulateCache();cache=3DFB.TemplateUI._cache[a];delete = FB.TemplateUI._cache[a];cache.use(b);}catch(c){FB.TemplateData.clear();}}= ,populateCache:function(a){if(!FB.TemplateData.enabled()||!FB.UA.mobile()= )return;clearInterval(FB.TemplateUI._timer);var = b=3D{feed:true,apprequests:true};for(var c in b)if(!(c in = FB.TemplateUI._cache))FB.TemplateUI._cache[c]=3Dnew = FB.TemplateUI(c,a);},initCache:function(){FB.TemplateUI._timer=3DsetInter= val(function(){FB.TemplateUI.populateCache(true);},2000);},supportsTempla= te:function(a,b){return = FB.TemplateData.enabled()&&FB.TemplateUI.paramsAllowTemplate(a,b.params)&= &b.params.display=3D=3D=3D'touch'&&FB.UA.mobile();},paramsAllowTemplate:f= unction(a,b){var = c=3D{feed:{to:1,attachment:1,source:1},apprequests:{}};if(!(a in = c))return false;for(var d in c[a])if(b[d])return false;return = !FB.TemplateUI.willWriteOnGet(a,b);},isFrictionlessAppRequest:function(a,= b){return = a=3D=3D=3D'apprequests'&&FB.Frictionless&&FB.Frictionless._useFrictionles= s;},willWriteOnGet:function(a,b){return = FB.TemplateUI.isFrictionlessAppRequest(a,b)&&b.to&&FB.Frictionless.isAllo= wed(b.to);}});=0A= FB.subclass('XFBML.Activity','XFBML.IframeWidget',null,{_visibleAfter:'lo= ad',_refreshOnAuthChange:true,setupAndValidate:function(){this._attr=3D{b= order_color:this.getAttribute('border-color'),colorscheme:this.getAttribu= te('color-scheme'),filter:this.getAttribute('filter'),action:this.getAttr= ibute('action'),max_age:this.getAttribute('max_age'),font:this.getAttribu= te('font'),linktarget:this.getAttribute('linktarget','_blank'),header:thi= s._getBoolAttribute('header'),height:this._getPxAttribute('height',300),r= ecommendations:this._getBoolAttribute('recommendations'),site:this.getAtt= ribute('site',location.hostname),width:this._getPxAttribute('width',300)}= ;return true;},getSize:function(){return = {width:this._attr.width,height:this._attr.height};},getUrlBits:function()= {return {name:'activity',params:this._attr};}});=0A= FB.subclass('XFBML.ButtonElement','XFBML.Element',null,{_allowedSizes:['i= con','small','medium','large','xlarge'],onClick:function(){throw new = Error('Inheriting class needs to implement = onClick().');},setupAndValidate:function(){return = true;},getButtonMarkup:function(){return = this.getOriginalHTML();},getOriginalHTML:function(){return = this._originalHTML;},process:function(){if(!('_originalHTML' in = this))this._originalHTML=3DES5(this.dom.innerHTML,'trim',true);if(!this.s= etupAndValidate()){this.fire('render');return;}var = a=3Dthis._getAttributeFromList('size','medium',this._allowedSizes),b=3D''= ,c=3D'';if(a=3D=3D'icon'){b=3D'fb_button_simple';}else{var = d=3DFB._localeIsRtl?'_rtl':'';c=3Dthis.getButtonMarkup();b=3D'fb_button'+= d+' fb_button_'+a+d;}if(c!=3D=3D''){this.dom.innerHTML=3D(''+''+c+''+'');this.dom.firstChild.onclic= k=3DES5(this.onClick,'bind',true,this);}this.fire('render');}});=0A= FB.subclass('XFBML.AddProfileTab','XFBML.ButtonElement',null,{getButtonMa= rkup:function(){return FB.Intl.tx._("Add Profile Tab on = Facebook");},onClick:function(){FB.ui({method:'profile.addtab'},ES5(this,= 'bind',true,function(a){if(a.tab_added)FB.Helper.invokeHandler(this.getAt= tribute('on-add'),this);}));}});=0A= FB.subclass('XFBML.Facepile','XFBML.IframeWidget',null,{_visibleAfter:'lo= ad',setupAndValidate:function(){this._attr=3D{channel:this.getChannelUrl(= ),colorscheme:this.getAttribute('colorscheme'),font:this.getAttribute('fo= nt'),href:this.getAttribute('href'),width:this._getPxAttribute('width'),m= ax_rows:this.getAttribute('max-rows'),action:this.getAttribute('action'),= size:this.getAttribute('size')};return = true;},getSize:function(){if(this._attr.size=3D=3D'large')return = {width:this._attr.width,height:90};return = {width:this._attr.width,height:70};},getUrlBits:function(){return = {name:'facepile',params:this._attr};}});=0A= FB.subclass('XFBML.AddToTimeline','XFBML.Facepile',null,{_visibleAfter:'l= oad',getSize:function(){return = {width:300,height:250};},getUrlBits:function(){return = {name:'add_to_timeline',params:this._attr};}});=0A= FB.subclass('XFBML.Bookmark','XFBML.ButtonElement',null,{getButtonMarkup:= function(){return FB.Intl.tx._("Bookmark on = Facebook");},onClick:function(){FB.ui({method:'bookmark.add'},ES5(this,'b= ind',true,function(a){if(a.bookmarked)FB.Helper.invokeHandler(this.getAtt= ribute('on-add'),this);}));}});=0A= FB.subclass('XFBML.Comments','XFBML.IframeWidget',null,{_visibleAfter:'im= mediate',_refreshOnAuthChange:true,setupAndValidate:function(){var = a=3D{channel_url:this.getChannelUrl(),colorscheme:this.getAttribute('colo= rscheme'),numposts:this.getAttribute('num-posts',10),width:this._getPxAtt= ribute('width',550),href:this.getAttribute('href'),permalink:this.getAttr= ibute('permalink'),publish_feed:this.getAttribute('publish_feed'),order_b= y:this.getAttribute('order_by'),mobile:this._getBoolAttribute('mobile')};= if(FB.initSitevars.enableMobileComments&&FB.UA.mobile()&&a.mobile!=3D=3Df= alse){a.mobile=3Dtrue;delete = a.width;}if(!a.href){a.migrated=3Dthis.getAttribute('migrated');a.xid=3Dt= his.getAttribute('xid');a.title=3Dthis.getAttribute('title',document.titl= e);a.url=3Dthis.getAttribute('url',document.URL);a.quiet=3Dthis.getAttrib= ute('quiet');a.reverse=3Dthis.getAttribute('reverse');a.simple=3Dthis.get= Attribute('simple');a.css=3Dthis.getAttribute('css');a.notify=3Dthis.getA= ttribute('notify');if(!a.xid){var = b=3DES5(document.URL,'indexOf',true,'#');if(b>0){a.xid=3DencodeURICompone= nt(document.URL.substring(0,b));}else = a.xid=3DencodeURIComponent(document.URL);}if(a.migrated)a.href=3D'http://= www.facebook.com/plugins/comments_v1.php?'+'app_id=3D'+FB._apiKey+'&xid=3D= '+encodeURIComponent(a.xid)+'&url=3D'+encodeURIComponent(a.url);}else{var= = c=3Dthis.getAttribute('fb_comment_id');if(!c){c=3DFB.QS.decode(document.U= RL.substring(ES5(document.URL,'indexOf',true,'?')+1)).fb_comment_id;if(c&= &ES5(c,'indexOf',true,'#')>0)c=3Dc.substring(0,ES5(c,'indexOf',true,'#'))= ;}if(c){a.fb_comment_id=3Dc;this.subscribe('render',ES5(function(){if(!wi= ndow.location.hash)window.location.hash=3Dthis.getIframeNode().id;},'bind= ',true,this));}}this._attr=3Da;return = true;},oneTimeSetup:function(){this.subscribe('xd.addComment',ES5(this._h= andleCommentMsg,'bind',true,this));this.subscribe('xd.commentCreated',ES5= (this._handleCommentCreatedMsg,'bind',true,this));this.subscribe('xd.comm= entRemoved',ES5(this._handleCommentRemovedMsg,'bind',true,this));},getSiz= e:function(){if(this._attr.mobile)return = {width:'100%',height:160};return = {width:this._attr.width,height:160};},getUrlBits:function(){return = {name:'comments',params:this._attr};},getDefaultWebDomain:function(){if(t= his._attr.mobile){return 'https_m';}else return = 'https_www';},_handleCommentMsg:function(a){if(!this.isValid())return;FB.= Event.fire('comments.add',{post:a.post,user:a.user,widget:this});},_handl= eCommentCreatedMsg:function(a){if(!this.isValid())return;var = b=3D{href:a.href,commentID:a.commentID,parentCommentID:a.parentCommentID}= ;FB.Event.fire('comment.create',b);},_handleCommentRemovedMsg:function(a)= {if(!this.isValid())return;var = b=3D{href:a.href,commentID:a.commentID};FB.Event.fire('comment.remove',b)= ;}});=0A= FB.subclass('XFBML.CommentsCount','XFBML.Element',null,{process:function(= ){this._href=3Dthis.getAttribute('href',window.location.href);this._count= =3DFB.Data._selectByIndex(['commentsbox_count'],'link_stat','url',this._h= ref);FB.Dom.addCss(this.dom,'fb_comments_count_zero');this._count.wait(ES= 5(function(){var = a=3Dthis._count.value[0].commentsbox_count;this.dom.innerHTML=3DFB.String= .format('{0}',a);if(a>0)FB.Dom.removeCss(this.d= om,'fb_comments_count_zero');this.fire('render');},'bind',true,this));}})= ;=0A= FB.provide('Anim',{ate:function(a,b,c,d){c=3D!isNaN(parseFloat(c))&&c>=3D= 0?c:750;var = e=3D40,f=3D{},g=3D{},h=3Dnull,i=3Da.style,j=3DsetInterval(ES5(function(){= if(!h)h=3Dnew Date().getTime();var k=3D1;if(c!=3D0)k=3DMath.min((new = Date().getTime()-h)/c,1);ES5(FB.Array,'forEach',true,b,ES5(function(l,m){= if(!f[m]){var = n=3DFB.Dom.getStyle(a,m);if(n=3D=3D=3Dfalse)return;f[m]=3Dthis._parseCSS(= n+'');}if(!g[m])g[m]=3Dthis._parseCSS(l.toString());var = o=3D'';ES5(FB.Array,'forEach',true,f[m],function(p,q){if(isNaN(g[m][q].nu= mPart)&&g[m][q].textPart=3D=3D'?'){o=3Dp.numPart+p.textPart;}else = if(isNaN(p.numPart)){o=3Dp.textPart;}else = o+=3D(p.numPart+Math.ceil((g[m][q].numPart-p.numPart)*Math.sin(Math.PI/2*= k)))+g[m][q].textPart+' = ';});FB.Dom.setStyle(a,m,o);},'bind',true,this));if(k=3D=3D1){clearInterv= al(j);if(d)d(a);}},'bind',true,this),e);},_parseCSS:function(a){var = b=3D[];ES5(a.split(' '),'forEach',true,function(c){var = d=3DparseInt(c,10);b.push({numPart:d,textPart:c.replace(d,'')});});return= b;}});=0A= __d("legacy:fb.insights",["FB","sdk.Insights"],function(a,b,c,d){var = e=3Db('FB'),f=3Db('sdk.Insights');e.provide('Insights',{impression:f.impr= ession});},3);=0A= FB.subclass('XFBML.ConnectBar','XFBML.Element',null,{_initialHeight:null,= _initTopMargin:0,_picFieldName:'pic_square',_page:null,_displayed:false,_= notDisplayed:false,_container:null,_animationSpeed:0,process:function(){F= B.getLoginStatus(ES5(this,'bind',true,function(a){FB.Event.monitor('auth.= statusChange',ES5(this,'bind',true,function(){if(this.isValid()&&FB.Runti= me.getLoginStatus()=3D=3D'connected'){this._uid=3DFB.Helper.getLoggedInUs= er();FB.api({method:'Connect.shouldShowConnectBar'},ES5(this,'bind',true,= function(b){if(b!=3D2){this._animationSpeed=3D(b=3D=3D0)?750:0;this._show= Bar();}else this._noRender();}));}else this._noRender();return = false;}));}));},_showBar:function(){var = a=3DFB.Data._selectByIndex(['first_name','profile_url',this._picFieldName= ],'user','uid',this._uid),b=3DFB.Data._selectByIndex(['display_name'],'ap= plication','api_key',FB._apiKey);FB.Data.waitOn([a,b],ES5(function(c){c[0= ][0].site_name=3Dc[1][0].display_name;if(!this._displayed){this._displaye= d=3Dtrue;this._notDisplayed=3Dfalse;this._renderConnectBar(c[0][0]);this.= fire('render');FB.Insights.impression({lid:104,name:'widget_load'});this.= fire('connectbar.ondisplay');FB.Event.fire('connectbar.ondisplay',this);F= B.Helper.invokeHandler(this.getAttribute('on-display'),this);}},'bind',tr= ue,this));},_noRender:function(){if(this._displayed){this._displayed=3Dfa= lse;this._closeConnectBar();}if(!this._notDisplayed){this._notDisplayed=3D= true;this.fire('render');this.fire('connectbar.onnotdisplay');FB.Event.fi= re('connectbar.onnotdisplay',this);FB.Helper.invokeHandler(this.getAttrib= ute('on-not-display'),this);}},_renderConnectBar:function(a){var = b=3Ddocument.createElement('div'),c=3Ddocument.createElement('div');b.cla= ssName=3D'fb_connect_bar';c.className=3D'fb_reset = fb_connect_bar_container';c.appendChild(b);document.body.appendChild(c);t= his._container=3Dc;this._initialHeight=3DMath.round(parseFloat(FB.Dom.get= Style(c,'height'))+parseFloat(FB.Dom.getStyle(c,'borderBottomWidth')));b.= innerHTML=3DFB.String.format('
    '+''+'3D"{2}"'+''+'
    '+''+'3D"{4}"'+''+'{5}'+' '+'{6} – '+'{0}'+'',FB.Intl.tx._("No = Thanks"),FB.getDomain('cdn')+FB.XFBML.ConnectBar.imgs.buttonUrl,FB.Intl.t= x._("Close"),a[this._picFieldName]||FB.getDomain('cdn')+FB.XFBML.ConnectB= ar.imgs.missingProfileUrl,FB.String.escapeHTML(a.first_name),FB.Intl.tx._= ("Hi {firstName}. \u003Cstrong>{siteName}\u003C\/strong> is using = Facebook to personalize your = experience.",{firstName:FB.String.escapeHTML(a.first_name),siteName:FB.St= ring.escapeHTML(a.site_name)}),FB.Intl.tx._("Learn = More"),a.profile_url,FB.getDomain('www')+'sitetour/connect.php');var = d=3Dthis;ES5(FB.Array.toArray(b.getElementsByTagName('a')),'forEach',true= ,function(g){g.onclick=3DES5(d._clickHandler,'bind',true,d);});this._page= =3Ddocument.body;var = e=3D0;if(this._page.parentNode){e=3DMath.round((parseFloat(FB.Dom.getStyl= e(this._page.parentNode,'height'))-parseFloat(FB.Dom.getStyle(this._page,= 'height')))/2);}else = e=3DparseInt(FB.Dom.getStyle(this._page,'marginTop'),10);e=3DisNaN(e)?0:e= ;this._initTopMargin=3De;if(!window.XMLHttpRequest){c.className+=3D" = fb_connect_bar_container_ie6";}else{c.style.top=3D(-1*this._initialHeight= )+'px';FB.Anim.ate(c,{top:'0px'},this._animationSpeed);}var = f=3D{marginTop:this._initTopMargin+this._initialHeight+'px'};if(FB.UA.ie(= )){f.backgroundPositionY=3Dthis._initialHeight+'px';}else = f.backgroundPosition=3D'? = '+this._initialHeight+'px';FB.Anim.ate(this._page,f,this._animationSpeed)= ;},_clickHandler:function(a){a=3Da||window.event;var = b=3Da.target||a.srcElement;while(b.nodeName!=3D'A')b=3Db.parentNode;switc= h(b.className){case = 'fb_bar_close':FB.api({method:'Connect.connectBarMarkAcknowledged'});FB.I= nsights.impression({lid:104,name:'widget_user_closed'});this._closeConnec= tBar();break;case 'fb_learn_more':case = 'fb_profile':window.open(b.href);break;case = 'fb_no_thanks':this._closeConnectBar();FB.api({method:'Connect.connectBar= MarkAcknowledged'});FB.Insights.impression({lid:104,name:'widget_user_no_= thanks'});FB.api({method:'auth.revokeAuthorization',block:true},ES5(this,= 'bind',true,function(){this.fire('connectbar.ondeauth');FB.Event.fire('co= nnectbar.ondeauth',this);FB.Helper.invokeHandler(this.getAttribute('on-de= auth'),this);if(this._getBoolAttribute('auto-refresh',true))window.locati= on.reload();}));break;}return = false;},_closeConnectBar:function(){this._notDisplayed=3Dtrue;var = a=3D{marginTop:this._initTopMargin+'px'};if(FB.UA.ie()){a.backgroundPosit= ionY=3D'0px';}else a.backgroundPosition=3D'? 0px';var = b=3D(this._animationSpeed=3D=3D0)?0:300;FB.Anim.ate(this._page,a,b);FB.An= im.ate(this._container,{top:(-1*this._initialHeight)+'px'},b,function(c){= c.parentNode.removeChild(c);});this.fire('connectbar.onclose');FB.Event.f= ire('connectbar.onclose',this);FB.Helper.invokeHandler(this.getAttribute(= 'on-close'),this);}});FB.provide('XFBML.ConnectBar',{imgs:{buttonUrl:'ima= ges/facebook-widgets/close_btn.png',missingProfileUrl:'pics/q_silhouette.= gif'}});=0A= FB.subclass('XFBML.Degrees','XFBML.IframeWidget',null,{_showLoader:false,= setupAndValidate:function(){this._attr=3D{api_key:FB._apiKey,channel_url:= this.getChannelUrl(),font:this.getAttribute('font'),href:this.getAttribut= e('href'),colorscheme:this.getAttribute('color-scheme')};return = true;},getSize:function(){return = {width:500,height:25};},getUrlBits:function(){return = {name:'degrees',params:this._attr};}});FB.XFBML._tagInfos.push({localName= :'degrees',className:'FB.XFBML.Degrees'});=0A= FB.subclass('XFBML.Fan','XFBML.IframeWidget',null,{_visibleAfter:'load',s= etupAndValidate:function(){this._attr=3D{api_key:FB._apiKey,connections:t= his.getAttribute('connections','10'),css:this.getAttribute('css'),height:= this._getPxAttribute('height'),id:this.getAttribute('profile-id'),logobar= :this._getBoolAttribute('logo-bar'),name:this.getAttribute('name'),stream= :this._getBoolAttribute('stream',true),width:this._getPxAttribute('width'= ,300)};if(!this._attr.id&&!this._attr.name){FB.log(' requires = one of the "id" or "name" attributes.');return false;}var = a=3Dthis._attr.height;if(!a)if((!this._attr.connections||this._attr.conne= ctions=3D=3D=3D'0')&&!this._attr.stream){a=3D65;}else = if(!this._attr.connections||this._attr.connections=3D=3D=3D'0'){a=3D375;}= else if(!this._attr.stream){a=3D250;}else = a=3D550;if(this._attr.logobar)a+=3D25;this._attr.height=3Da;return = true;},getSize:function(){return = {width:this._attr.width,height:this._attr.height};},getUrlBits:function()= {return {name:'fan',params:this._attr};}});=0A= FB.subclass('XFBML.Friendpile','XFBML.Facepile',null,{});=0A= FB.subclass('XFBML.EdgeCommentWidget','XFBML.IframeWidget',function(a){th= is._iframeWidth=3Da.width+1;this._iframeHeight=3Da.height;this._attr=3D{m= aster_frame_name:a.masterFrameName,offsetX:a.relativeWidthOffset-a.paddin= gLeft};this.dom=3Da.commentNode;this.dom.style.top=3Da.relativeHeightOffs= et+'px';this.dom.style.left=3Da.relativeWidthOffset+'px';this.dom.style.z= Index=3DFB.XFBML.EdgeCommentWidget.NextZIndex++;FB.Dom.addCss(this.dom,'f= b_edge_comment_widget');},{_visibleAfter:'load',_showLoader:false,getSize= :function(){return = {width:this._iframeWidth,height:this._iframeHeight};},getUrlBits:function= (){return = {name:'comment_widget_shell',params:this._attr};}});FB.provide('XFBML.Edg= eCommentWidget',{NextZIndex:10000});=0A= FB.subclass('XFBML.EdgeWidget','XFBML.IframeWidget',null,{_visibleAfter:'= immediate',_showLoader:false,_rootPadding:null,setupAndValidate:function(= ){FB.Dom.addCss(this.dom,'fb_edge_widget_with_comment');this._attr=3D{cha= nnel_url:this.getChannelUrl(),debug:this._getBoolAttribute('debug'),href:= this.getAttribute('href',window.location.href),is_permalink:this._getBool= Attribute('is-permalink'),node_type:this.getAttribute('node-type','link')= ,width:this._getWidgetWidth(),font:this.getAttribute('font'),layout:this.= _getLayout(),colorscheme:this.getAttribute('color-scheme'),action:this.ge= tAttribute('action'),ref:this.getAttribute('ref'),show_faces:this._should= ShowFaces(),no_resize:this._getBoolAttribute('no_resize'),send:this._getB= oolAttribute('send'),url_map:this.getAttribute('url_map'),extended_social= _context:this._getBoolAttribute('extended_social_context',false)};this._r= ootPadding=3D{left:parseFloat(FB.Dom.getStyle(this.dom,'paddingLeft')),to= p:parseFloat(FB.Dom.getStyle(this.dom,'paddingTop'))};return = true;},oneTimeSetup:function(){this.subscribe('xd.authPrompted',ES5(this.= _onAuthPrompt,'bind',true,this));this.subscribe('xd.edgeCreated',ES5(this= ._onEdgeCreate,'bind',true,this));this.subscribe('xd.edgeRemoved',ES5(thi= s._onEdgeRemove,'bind',true,this));this.subscribe('xd.presentEdgeCommentD= ialog',ES5(this._handleEdgeCommentDialogPresentation,'bind',true,this));t= his.subscribe('xd.dismissEdgeCommentDialog',ES5(this._handleEdgeCommentDi= alogDismissal,'bind',true,this));this.subscribe('xd.hideEdgeCommentDialog= ',ES5(this._handleEdgeCommentDialogHide,'bind',true,this));this.subscribe= ('xd.showEdgeCommentDialog',ES5(this._handleEdgeCommentDialogShow,'bind',= true,this));},getSize:function(){return = {width:this._getWidgetWidth(),height:this._getWidgetHeight()};},_getWidge= tHeight:function(){var = a=3Dthis._getLayout(),b=3Dthis._shouldShowFaces()?'show':'hide',c=3Dthis.= _getBoolAttribute('send'),d=3D65+(c?25:0),e=3D{standard:{show:80,hide:35}= ,box_count:{show:d,hide:d},button_count:{show:21,hide:21},simple:{show:20= ,hide:20}};return e[a][b];},_getWidgetWidth:function(){var = a=3Dthis._getLayout(),b=3Dthis._getBoolAttribute('send'),c=3Dthis._should= ShowFaces()?'show':'hide',d=3D(this.getAttribute('action')=3D=3D=3D'recom= mend'),e=3D(d?265:225)+(b?60:0),f=3D(d?130:90)+(b?60:0),g=3Dthis.getAttri= bute('action')=3D=3D=3D'recommend'?100:55,h=3Dthis.getAttribute('action')= =3D=3D=3D'recommend'?90:50,i=3D{standard:{show:450,hide:450},box_count:{s= how:g,hide:g},button_count:{show:f,hide:f},simple:{show:h,hide:h}},j=3Di[= a][c],k=3Dthis._getPxAttribute('width',j),l=3D{standard:{min:e,max:900},b= ox_count:{min:g,max:900},button_count:{min:f,max:900},simple:{min:49,max:= 900}};if(kl[a].max)k=3Dl[a].max;return k;},_getLayout:function(){return = this._getAttributeFromList('layout','standard',['standard','button_count'= ,'box_count','simple']);},_shouldShowFaces:function(){return = this._getLayout()=3D=3D=3D'standard'&&this._getBoolAttribute('show-faces'= ,true);},_handleEdgeCommentDialogPresentation:function(a){if(!this.isVali= d())return;var = b=3Ddocument.createElement('span');this._commentSlave=3Dthis._createEdgeC= ommentWidget(a,b);this.dom.appendChild(b);this._commentSlave.process();th= is._commentWidgetNode=3Db;},_createEdgeCommentWidget:function(a,b){var = c=3D{commentNode:b,externalUrl:a.externalURL,masterFrameName:a.masterFram= eName,layout:this._getLayout(),relativeHeightOffset:this._getHeightOffset= (a),relativeWidthOffset:this._getWidthOffset(a),anchorTargetX:parseFloat(= a['query[anchorTargetX]'])+this._rootPadding.left,anchorTargetY:parseFloa= t(a['query[anchorTargetY]'])+this._rootPadding.top,width:parseFloat(a.wid= th),height:parseFloat(a.height),paddingLeft:this._rootPadding.left};retur= n new = FB.XFBML.EdgeCommentWidget(c);},_getHeightOffset:function(a){return = parseFloat(a['anchorGeometry[y]'])+parseFloat(a['anchorPosition[y]'])+thi= s._rootPadding.top;},_getWidthOffset:function(a){var = b=3DparseFloat(a['anchorPosition[x]'])+this._rootPadding.left,c=3DFB.Dom.= getPosition(this.dom).x,d=3Dthis.dom.offsetWidth,e=3DFB.Dom.getViewportIn= fo().width,f=3DparseFloat(a.width),g=3Dfalse;if(FB._localeIsRtl){g=3Dfe)g=3Dtrue;if(g)b+=3DparseFloat(a['anchorGeometry[x]'])-f;return= b;},_getCommonEdgeCommentWidgetOpts:function(a,b){return = {colorscheme:this._attr.colorscheme,commentNode:b,controllerID:a.controll= erID,nodeImageURL:a.nodeImageURL,nodeRef:this._attr.ref,nodeTitle:a.nodeT= itle,nodeURL:a.nodeURL,nodeSummary:a.nodeSummary,width:parseFloat(a.width= ),height:parseFloat(a.height),relativeHeightOffset:this._getHeightOffset(= a),relativeWidthOffset:this._getWidthOffset(a),error:a.error,siderender:a= .siderender,extended_social_context:a.extended_social_context,anchorTarge= tX:parseFloat(a['query[anchorTargetX]'])+this._rootPadding.left,anchorTar= getY:parseFloat(a['query[anchorTargetY]'])+this._rootPadding.top};},_hand= leEdgeCommentDialogDismissal:function(a){if(this._commentWidgetNode){this= .dom.removeChild(this._commentWidgetNode);delete = this._commentWidgetNode;}},_handleEdgeCommentDialogHide:function(){if(thi= s._commentWidgetNode)this._commentWidgetNode.style.display=3D"none";},_ha= ndleEdgeCommentDialogShow:function(){if(this._commentWidgetNode)this._com= mentWidgetNode.style.display=3D"block";},_fireEventAndInvokeHandler:funct= ion(a,b){FB.Helper.fireEvent(a,this);FB.Helper.invokeHandler(this.getAttr= ibute(b),this,[this._attr.href]);},_onEdgeCreate:function(){this._fireEve= ntAndInvokeHandler('edge.create','on-create');},_onEdgeRemove:function(){= this._fireEventAndInvokeHandler('edge.remove','on-remove');},_onAuthPromp= t:function(){this._fireEventAndInvokeHandler('auth.prompt','on-prompt');}= });=0A= FB.subclass('XFBML.SendButtonFormWidget','XFBML.EdgeCommentWidget',functi= on(a){this._base(a);FB.Dom.addCss(this.dom,'fb_send_button_form_widget');= FB.Dom.addCss(this.dom,a.colorscheme);FB.Dom.addCss(this.dom,(typeof = a.siderender!=3D'undefined'&&a.siderender)?'siderender':'');this._attr.no= deImageURL=3Da.nodeImageURL;this._attr.nodeRef=3Da.nodeRef;this._attr.nod= eTitle=3Da.nodeTitle;this._attr.nodeURL=3Da.nodeURL;this._attr.nodeSummar= y=3Da.nodeSummary;this._attr.offsetX=3Da.relativeWidthOffset;this._attr.o= ffsetY=3Da.relativeHeightOffset;this._attr.anchorTargetX=3Da.anchorTarget= X;this._attr.anchorTargetY=3Da.anchorTargetY;this._attr.channel=3Dthis.ge= tChannelUrl();this._attr.controllerID=3Da.controllerID;this._attr.colorsc= heme=3Da.colorscheme;this._attr.error=3Da.error;this._attr.siderender=3Da= .siderender;this._attr.extended_social_context=3Da.extended_social_contex= t;},{_showLoader:true,getUrlBits:function(){return = {name:'send_button_form_shell',params:this._attr};},oneTimeSetup:function= (){this.subscribe('xd.messageSent',ES5(this._onMessageSent,'bind',true,th= is));},_onMessageSent:function(){FB.Event.fire('message.send',this._attr.= nodeURL,this);}});=0A= FB.subclass('XFBML.Send','XFBML.EdgeWidget',null,{setupAndValidate:functi= on(){FB.Dom.addCss(this.dom,'fb_edge_widget_with_comment');this._attr=3D{= channel:this.getChannelUrl(),api_key:FB._apiKey,font:this.getAttribute('f= ont'),colorscheme:this.getAttribute('colorscheme','light'),href:this.getA= ttribute('href',window.location.href),ref:this.getAttribute('ref'),extend= ed_social_context:this.getAttribute('extended_social_context',false)};thi= s._rootPadding=3D{left:parseFloat(FB.Dom.getStyle(this.dom,'paddingLeft')= ),top:parseFloat(FB.Dom.getStyle(this.dom,'paddingTop'))};return = true;},getUrlBits:function(){return = {name:'send',params:this._attr};},_createEdgeCommentWidget:function(a,b){= var c=3Dthis._getCommonEdgeCommentWidgetOpts(a,b);return new = FB.XFBML.SendButtonFormWidget(c);},getSize:function(){return = {width:FB.XFBML.Send.Dimensions.width,height:FB.XFBML.Send.Dimensions.hei= ght};}});FB.provide('XFBML.Send',{Dimensions:{width:80,height:25}});=0A= FB.subclass('XFBML.Like','XFBML.EdgeWidget',null,{_widgetPipeEnabled:fals= e,getUrlBits:function(){return = {name:'like',params:this._attr};},_createEdgeCommentWidget:function(a,b){= if('send' in this._attr&&'widget_type' in = a&&a.widget_type=3D=3D'send'){var = c=3Dthis._getCommonEdgeCommentWidgetOpts(a,b);return new = FB.XFBML.SendButtonFormWidget(c);}else return = this._callBase("_createEdgeCommentWidget",a,b);},getIframeTitle:function(= ){return 'Like this content on Facebook.';}});=0A= FB.subclass('XFBML.LikeBox','XFBML.EdgeWidget',null,{_visibleAfter:'load'= ,setupAndValidate:function(){this._attr=3D{channel:this.getChannelUrl(),a= pi_key:FB._apiKey,connections:this.getAttribute('connections'),css:this.g= etAttribute('css'),height:this.getAttribute('height'),id:this.getAttribut= e('profile-id'),header:this._getBoolAttribute('header',true),name:this.ge= tAttribute('name'),show_faces:this._getBoolAttribute('show-faces',true),s= tream:this._getBoolAttribute('stream',true),width:this._getPxAttribute('w= idth',300),href:this.getAttribute('href'),colorscheme:this.getAttribute('= colorscheme','light'),border_color:this.getAttribute('border_color')};if(= this._getBoolAttribute('force_wall',false))this._attr.force_wall=3Dtrue;i= f(this._attr.connections=3D=3D=3D'0'){this._attr.show_faces=3Dfalse;}else= = if(this._attr.connections)this._attr.show_faces=3Dtrue;if(!this._attr.id&= &!this._attr.name&&!this._attr.href){FB.log(' requires one = of the "id" or "name" attributes.');return false;}var = a=3Dthis._attr.height;if(!a)if(!this._attr.show_faces&&!this._attr.stream= ){a=3D62;}else{a=3D95;if(this._attr.show_faces)a+=3D163;if(this._attr.str= eam)a+=3D300;if(this._attr.header&&this._attr.header!=3D=3D'0')a+=3D32;}t= his._attr.height=3Da;this.subscribe('xd.likeboxLiked',ES5(this._onLiked,'= bind',true,this));this.subscribe('xd.likeboxUnliked',ES5(this._onUnliked,= 'bind',true,this));return true;},getSize:function(){return = {width:this._attr.width,height:this._attr.height};},getUrlBits:function()= {return = {name:'likebox',params:this._attr};},_onLiked:function(){FB.Helper.fireEv= ent('edge.create',this);},_onUnliked:function(){FB.Helper.fireEvent('edge= .remove',this);}});=0A= FB.subclass('XFBML.LiveStream','XFBML.IframeWidget',null,{_visibleAfter:'= load',setupAndValidate:function(){this._attr=3D{app_id:this.getAttribute(= 'event-app-id'),href:this.getAttribute('href',window.location.href),heigh= t:this._getPxAttribute('height',500),hideFriendsTab:this.getAttribute('hi= de-friends-tab'),redesigned:this._getBoolAttribute('redesigned-stream'),w= idth:this._getPxAttribute('width',400),xid:this.getAttribute('xid','defau= lt'),always_post_to_friends:this._getBoolAttribute('always-post-to-friend= s'),via_url:this.getAttribute('via_url')};return = true;},getSize:function(){return = {width:this._attr.width,height:this._attr.height};},getUrlBits:function()= {var = a=3Dthis._attr.redesigned?'live_stream_box':'livefeed';if(this._getBoolAt= tribute('modern',false))a=3D'live_stream';return = {name:a,params:this._attr};}});=0A= FB.subclass('XFBML.LoginButton','XFBML.IframeWidget',null,{_showLoader:fa= lse,setupAndValidate:function(){var = a=3Dthis.getAttribute('registration-url');this._attr=3D{channel:this.getC= hannelUrl(),colorscheme:this.getAttribute('colorscheme'),max_rows:this.ge= tAttribute('max-rows'),width:this._getPxAttribute('width'),show_faces:thi= s._getBoolAttribute('show-faces'),show_login_face:this._getBoolAttribute(= 'show-login-face'),size:this.getAttribute('size'),login_text:this.dom.tex= tContent||this.dom.innerText,registration_url:a?FB.URI.resolve(a):null,on= e_click:this.getAttribute('one-click'),scope:this.getAttribute('scope')||= this.getAttribute('perms'),auto_logout_link:this._getBoolAttribute('auto-= logout-link')};this.clear();var = b=3Dthis.getAttribute('on-login');if(b)this.subscribe('xd.refreshLoginSta= tus',ES5(function(){FB.getLoginStatus(ES5(function(c){FB.Helper.invokeHan= dler(b,this,[c]);},'bind',true,this));},'bind',true,this));return = true;},oneTimeSetup:function(){var = a=3DFB.Runtime.getLoginStatus();FB.Event.subscribe('auth.statusChange',ES= 5(function(b){if(a=3D=3D'connected'||b.status=3D=3D'connected')this.proce= ss(true);a=3Db.status;},'bind',true,this));},getSize:function(){return = {width:this._attr.width,height:94};},getUrlBits:function(){return = {name:'login_button',params:this._attr};}});=0A= FB.subclass('XFBML.Name','XFBML.Element',null,{process:function(){FB.copy= (this,{_uid:this.getAttribute('uid'),_firstnameonly:this._getBoolAttribut= e('first-name-only'),_lastnameonly:this._getBoolAttribute('last-name-only= '),_possessive:this._getBoolAttribute('possessive'),_reflexive:this._getB= oolAttribute('reflexive'),_objective:this._getBoolAttribute('objective'),= _linked:this._getBoolAttribute('linked',true),_subjectId:this.getAttribut= e('subject-id')});if(!this._uid){FB.log('"uid" is a required attribute = for ');this.fire('render');return;}var = a=3D[];if(this._firstnameonly){a.push('first_name');}else = if(this._lastnameonly){a.push('last_name');}else = a.push('name');if(this._subjectId){a.push('sex');if(this._subjectId=3D=3D= FB.Helper.getLoggedInUser())this._reflexive=3Dtrue;}var = b;FB.Event.monitor('auth.statusChange',ES5(this,'bind',true,function(){if= (!this.isValid()){this.fire('render');return = true;}if(!this._uid||this._uid=3D=3D'loggedinuser')this._uid=3DFB.Helper.= getLoggedInUser();if(!this._uid)return;if(FB.Helper.isUser(this._uid)){b=3D= FB.Data._selectByIndex(a,'user','uid',this._uid);}else = b=3DFB.Data._selectByIndex(['name','id'],'profile','id',this._uid);b.wait= (ES5(this,'bind',true,function(c){if(this._subjectId=3D=3Dthis._uid){this= ._renderPronoun(c[0]);}else = this._renderOther(c[0]);this.fire('render');}));}));},_renderPronoun:func= tion(a){var = b=3D'',c=3Dthis._objective;if(this._subjectId){c=3Dtrue;if(this._subjectI= d=3D=3D=3Dthis._uid)this._reflexive=3Dtrue;}if(this._uid=3D=3DFB.Connect.= get_loggedInUser()&&this._getBoolAttribute('use-you',true)){if(this._poss= essive){if(this._reflexive){b=3D'your own';}else b=3D'your';}else = if(this._reflexive){b=3D'yourself';}else b=3D'you';}else = switch(a.sex){case 'male':if(this._possessive){b=3Dthis._reflexive?'his = own':'his';}else if(this._reflexive){b=3D'himself';}else = if(c){b=3D'him';}else b=3D'he';break;case = 'female':if(this._possessive){b=3Dthis._reflexive?'her own':'her';}else = if(this._reflexive){b=3D'herself';}else if(c){b=3D'her';}else = b=3D'she';break;default:if(this._getBoolAttribute('use-they',true)){if(th= is._possessive){if(this._reflexive){b=3D'their own';}else = b=3D'their';}else if(this._reflexive){b=3D'themselves';}else = if(c){b=3D'them';}else b=3D'they';}else = if(this._possessive){if(this._reflexive){b=3D'his/her own';}else = b=3D'his/her';}else if(this._reflexive){b=3D'himself/herself';}else = if(c){b=3D'him/her';}else = b=3D'he/she';break;}if(this._getBoolAttribute('capitalize',false))b=3DFB.= Helper.upperCaseFirstChar(b);this.dom.innerHTML=3Db;},_renderOther:functi= on(a){var = b=3D'',c=3D'';if(this._uid=3D=3DFB.Helper.getLoggedInUser()&&this._getBoo= lAttribute('use-you',true)){if(this._reflexive){if(this._possessive){b=3D= 'your own';}else b=3D'yourself';}else = if(this._possessive){b=3D'your';}else b=3D'you';}else = if(a){if(null=3D=3D=3Da.first_name)a.first_name=3D'';if(null=3D=3D=3Da.la= st_name)a.last_name=3D'';if(this._firstnameonly&&a.first_name!=3D=3Dundef= ined){b=3DFB.String.escapeHTML(a.first_name);}else = if(this._lastnameonly&&a.last_name!=3D=3Dundefined)b=3DFB.String.escapeHT= ML(a.last_name);if(!b)b=3DFB.String.escapeHTML(a.name);if(b!=3D=3D''&&thi= s._possessive)b+=3D'\'s';}if(!b)b=3DFB.String.escapeHTML(this.getAttribut= e('if-cant-see','Facebook = User'));if(b){if(this._getBoolAttribute('capitalize',false))b=3DFB.Helper= .upperCaseFirstChar(b);if(a&&this._linked){c=3DFB.Helper.getProfileLink(a= ,b,this.getAttribute('href',null));}else = c=3Db;}this.dom.innerHTML=3Dc;}});=0A= FB.subclass('XFBML.PageEvents','XFBML.IframeWidget',null,{setupAndValidat= e:function(){this._attr=3D{channel:this.getChannelUrl(),api_key:FB._apiKe= y,font:this.getAttribute('font'),colorscheme:this.getAttribute('colorsche= me'),href:this.getAttribute('href')};return = true;},getUrlBits:function(){return = {name:'page_events',params:this._attr};}});=0A= FB.subclass('XFBML.ProfilePic','XFBML.Element',null,{process:function(){v= ar = a=3Dthis.getAttribute('size','thumb'),b=3DFB.XFBML.ProfilePic._sizeToPicF= ieldMap[a],c=3Dthis._getPxAttribute('width'),d=3Dthis._getPxAttribute('he= ight'),e=3Dthis.dom.style,f=3Dthis.getAttribute('uid');if(this._getBoolAt= tribute('facebook-logo'))b+=3D'_with_logo';if(c){c=3Dc+'px';e.width=3Dc;}= if(d){d=3Dd+'px';e.height=3Dd;}var = g=3DES5(this,'bind',true,function(h){var = i=3Dh?h[0]:null,j=3Di?i[b]:null;if(!j)j=3DFB.getDomain('cdn')+FB.XFBML.Pr= ofilePic._defPicMap[b];var = k=3D((c?'width:'+c+';':'')+(d?'height:'+c+';':'')),l=3DFB.String.format('= 3D"{1}"',j,i?FB.String.escapeHTML(i.name):'',k,this.dom.className);if(this._ge= tBoolAttribute('linked',true))l=3DFB.Helper.getProfileLink(i,l,this.getAt= tribute('href',null));this.dom.innerHTML=3Dl;FB.Dom.addCss(this.dom,'fb_p= rofile_pic_rendered');this.fire('render');});FB.Event.monitor('auth.statu= sChange',ES5(this,'bind',true,function(){if(!this.isValid()){this.fire('r= ender');return = true;}if(this.getAttribute('uid',null)=3D=3D'loggedinuser')f=3DFB.Helper.= getLoggedInUser();if(FB.Runtime.getLoginStatus()!=3D=3D'unknown'&&f){FB.D= ata._selectByIndex(['name',b],FB.Helper.isUser(f)?'user':'profile',FB.Hel= per.isUser(f)?'uid':'id',f).wait(g);}else = g();}));}});FB.provide('XFBML.ProfilePic',{_defPicMap:{pic:'pics/s_silhou= ette.jpg',pic_big:'pics/d_silhouette.gif',pic_big_with_logo:'pics/d_silho= uette_logo.gif',pic_small:'pics/t_silhouette.jpg',pic_small_with_logo:'pi= cs/t_silhouette_logo.gif',pic_square:'pics/q_silhouette.gif',pic_square_w= ith_logo:'pics/q_silhouette_logo.gif',pic_with_logo:'pics/s_silhouette_lo= go.gif'},_sizeToPicFieldMap:{n:'pic_big',normal:'pic_big',q:'pic_square',= s:'pic',small:'pic',square:'pic_square',t:'pic_small',thumb:'pic_small'}}= );=0A= FB.subclass('XFBML.Recommendations','XFBML.IframeWidget',null,{_visibleAf= ter:'load',_refreshOnAuthChange:true,setupAndValidate:function(){this._at= tr=3D{border_color:this.getAttribute('border-color'),colorscheme:this.get= Attribute('color-scheme'),filter:this.getAttribute('filter'),font:this.ge= tAttribute('font'),action:this.getAttribute('action'),linktarget:this.get= Attribute('linktarget','_blank'),max_age:this.getAttribute('max_age'),hea= der:this._getBoolAttribute('header'),height:this._getPxAttribute('height'= ,300),site:this.getAttribute('site',location.hostname),width:this._getPxA= ttribute('width',300)};return true;},getSize:function(){return = {width:this._attr.width,height:this._attr.height};},getUrlBits:function()= {return {name:'recommendations',params:this._attr};}});=0A= FB.subclass('XFBML.RecommendationsBar','XFBML.IframeWidget',null,{getUrlB= its:function(){return = {name:'recommendations_bar',params:this._attr};},setupAndValidate:functio= n(){function a(j,k){var l=3D0,m=3Dnull;function = n(){k();m=3Dnull;l=3D(new Date()).getTime();}return = function(){if(!m){var o=3D(new = Date()).getTime();if(o-l=3Dthis._attr.trigger;}}});FB.XFBML.RecommendationsBar.markRead=3D= function(a){FB.Event.fire('xfbml.recommendationsbar.read',a||window.locat= ion.href);};=0A= FB.subclass('XFBML.Rectangle','XFBML.IframeWidget',null,{_widgetPipeEnabl= ed:true,setupAndValidate:function(){this._attr=3D{channel:this.getChannel= Url(),api_key:FB._apiKey,color:this.getAttribute('color'),render_time:thi= s.getAttribute('render_time'),height:this._getPxAttribute('height',50),wi= dth:this._getPxAttribute('width',200)};return = true;},getSize:function(){return = {width:this._attr.width,height:this._attr.height};},getUrlBits:function()= {return {name:'test_rectangle',params:this._attr};}});=0A= FB.subclass('XFBML.Registration','XFBML.IframeWidget',null,{_visibleAfter= :'immediate',_baseHeight:167,_fieldHeight:28,_skinnyWidth:520,_skinnyBase= Height:173,_skinnyFieldHeight:52,setupAndValidate:function(){this._attr=3D= {action:this.getAttribute('action'),border_color:this.getAttribute('borde= r-color'),channel_url:this.getChannelUrl(),client_id:FB._apiKey,fb_only:t= his._getBoolAttribute('fb-only',false),fb_register:this._getBoolAttribute= ('fb-register',false),fields:this.getAttribute('fields'),height:this._get= PxAttribute('height'),redirect_uri:this.getAttribute('redirect-uri',windo= w.location.href),no_footer:this._getBoolAttribute('no-footer'),no_header:= this._getBoolAttribute('no-header'),onvalidate:this.getAttribute('onvalid= ate'),width:this._getPxAttribute('width',600),target:this.getAttribute('t= arget')};if(this._attr.onvalidate)this.subscribe('xd.validate',ES5(this,'= bind',true,function(a){var = b=3DES5('JSON','parse',false,a.value),c=3DES5(function(e){this.arbiterInf= orm('Registration.Validation',{errors:e,id:a.id});},'bind',true,this),d=3D= FB.Helper.executeFunctionByName(this._attr.onvalidate,b,c);if(d)c(d);}));= this.subscribe('xd.authLogin',ES5(this._onAuthLogin,'bind',true,this));th= is.subscribe('xd.authLogout',ES5(this._onAuthLogout,'bind',true,this));re= turn true;},getSize:function(){return = {width:this._attr.width,height:this._getHeight()};},_getHeight:function()= {if(this._attr.height)return this._attr.height;var = a;if(!this._attr.fields){a=3D['name'];}else = try{a=3DES5('JSON','parse',false,this._attr.fields);}catch(b){a=3Dthis._a= ttr.fields.split(/,/);}if(this._attr.width = span{background:url(https:\/\/s-static.ak.fbcdn.net\/rsrc.php\/v2\/yD\/x\= /Cou7n-nqK52.gif)\nno-repeat 5px 50\u0025;float:left;padding:5px 0 7px = 26px}\nbody.fb_hidden{-webkit-transform:none;height:100\u0025;margin:0;le= ft:-10000px;overflow:visible;position:absolute;top:-10000px;width:100\u00= 25\n}\n.fb_dialog.fb_dialog_mobile.loading{background:url(https:\/\/s-sta= tic.ak.fbcdn.net\/rsrc.php\/v2\/yc\/x\/3rhSv5V8j3o.gif)\nwhite no-repeat = 50\u0025 = 50\u0025;min-height:100\u0025;min-width:100\u0025;overflow:hidden;positio= n:absolute;top:0;z-index:10001}\n.fb_dialog.fb_dialog_mobile.loading.cent= ered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}\n= #fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, = .45);position:absolute;left:0;top:0;width:100\u0025;min-height:100\u0025;= z-index:10000}\n#fb-root = #fb_dialog_ipad_overlay.hidden{display:none}\n.fb_dialog.fb_dialog_mobile= .loading iframe{visibility:hidden}\n.fb_dialog_content = .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px = inset;background:-webkit-gradient(linear, 0 0, 0 100\u0025, = from(#738ABA), to(#2C4987));border-bottom:1px = solid;border-color:#1d4088;color:#fff;font:14px Helvetica, = sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, = 30, 84, .296875) 0 -1px = 0;vertical-align:middle;white-space:nowrap}\n.fb_dialog_content = .dialog_header = table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100\u= 0025\n}\n.fb_dialog_content .dialog_header = td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;widt= h:60px\n}\n.fb_dialog_content .dialog_header = td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;wi= dth:60px\n}\n.fb_dialog_content = .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100\u0025, = from(#4966A6),\ncolor-stop(0.5, #355492), to(#2A4887));border:1px solid = #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-we= bkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,\nrgba(255, 255, = 255, .167969) 0 1px = 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;pad= ding:4px 12px;position:relative}\n.fb_dialog_content .dialog_header = .touchable_button input{border:none;background:none;color:#fff;font:12px = Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px = 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px = 0}\n.fb_dialog_content .dialog_header = .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18p= x;text-align:center;vertical-align:middle}\n.fb_dialog_content = .dialog_content{background:url(https:\/\/s-static.ak.fbcdn.net\/rsrc.php\= /v2\/yJ\/x\/jKEcVPZFk-2.gif) no-repeat 50\u0025 50\u0025;border:1px = solid = #555;border-bottom:0;border-top:0;height:150px}\n.fb_dialog_content = .dialog_footer{background:#f2f2f2;border:1px solid = #555;border-top-color:#ccc;height:40px}\n#fb_dialog_loader_close{float:le= ft}\n.fb_dialog.fb_dialog_mobile = .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px = 0}\n.fb_dialog.fb_dialog_mobile = .fb_dialog_close_icon{visibility:hidden}\n.fb_iframe_widget{position:rela= tive;display:-moz-inline-block;display:inline-block}\n.fb_iframe_widget = iframe{position:absolute}\n.fb_iframe_widget_lift{z-index:1}\n.fb_iframe_= widget = span{position:relative;display:inline-block;vertical-align:text-bottom;te= xt-align:justify}\n.fb_hide_iframes = iframe{position:relative;left:-10000px}\n.fb_iframe_widget_loader{positio= n:relative;display:inline-block}\n.fb_iframe_widget_fluid{display:inline}= \n.fb_iframe_widget_loader = iframe{min-height:32px;z-index:2;zoom:1}\n.fb_iframe_widget_loader = .FB_Loader{background:url(https:\/\/s-static.ak.fbcdn.net\/rsrc.php\/v2\/= yJ\/x\/jKEcVPZFk-2.gif) = no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left= :50\u0025;z-index:4}\n.fb_button_simple,\n.fb_button_simple_rtl{backgroun= d-image:url(https:\/\/s-static.ak.fbcdn.net\/rsrc.php\/v2\/yH\/x\/eIpbnVK= I9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-de= coration:none}\n.fb_button_simple_rtl{background-position:right = 0}\n.fb_button_simple .fb_button_text{margin:0 0 0 = 20px;padding-bottom:1px}\n.fb_button_simple_rtl .fb_button_text{margin:0 = 10px 0 0}\na.fb_button_simple:hover = .fb_button_text,\na.fb_button_simple_rtl:hover = .fb_button_text,\n.fb_button_simple:hover = .fb_button_text,\n.fb_button_simple_rtl:hover = .fb_button_text{text-decoration:underline}\n.fb_button,\n.fb_button_rtl{b= ackground:#29447e = url(https:\/\/s-static.ak.fbcdn.net\/rsrc.php\/v2\/yl\/x\/FGFbc80dUKj.png= );background-repeat:no-repeat;cursor:pointer;display:inline-block;padding= :0 0 0 1px;text-decoration:none;outline:none}\n.fb_button = .fb_button_text,\n.fb_button_rtl .fb_button_text{background:#5f78ab = url(https:\/\/s-static.ak.fbcdn.net\/rsrc.php\/v2\/yl\/x\/FGFbc80dUKj.png= );border-top:solid 1px #879ac0;border-bottom:solid 1px = #1a356e;color:#fff;display:block;font-family:\"lucida = grande\",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px = 6px 3px 6px;margin:1px 1px 0 = 21px;text-shadow:none}\na.fb_button,\na.fb_button_rtl,\n.fb_button,\n.fb_= button_rtl{text-decoration:none}\na.fb_button:active = .fb_button_text,\na.fb_button_rtl:active = .fb_button_text,\n.fb_button:active = .fb_button_text,\n.fb_button_rtl:active = .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px = #45619d;background:#4f6aa3;text-shadow:none}\n.fb_button_xlarge,\n.fb_but= ton_xlarge_rtl{background-position:left = -60px;font-size:24px;line-height:30px}\n.fb_button_xlarge = .fb_button_text{padding:3px 8px 3px = 12px;margin-left:38px}\na.fb_button_xlarge:active{background-position:lef= t -99px}\n.fb_button_xlarge_rtl{background-position:right = -268px}\n.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px = 12px;margin-right:39px}\na.fb_button_xlarge_rtl:active{background-positio= n:right = -307px}\n.fb_button_large,\n.fb_button_large_rtl{background-position:left= -138px;font-size:13px;line-height:16px}\n.fb_button_large = .fb_button_text{margin-left:24px;padding:2px 6px 4px = 6px}\na.fb_button_large:active{background-position:left = -163px}\n.fb_button_large_rtl{background-position:right = -346px}\n.fb_button_large_rtl = .fb_button_text{margin-right:25px}\na.fb_button_large_rtl:active{backgrou= nd-position:right = -371px}\n.fb_button_medium,\n.fb_button_medium_rtl{background-position:le= ft = -188px;font-size:11px;line-height:14px}\na.fb_button_medium:active{backgr= ound-position:left = -210px}\n.fb_button_medium_rtl{background-position:right = -396px}\n.fb_button_text_rtl,\n.fb_button_medium_rtl = .fb_button_text{padding:2px 6px 3px = 6px;margin-right:22px}\na.fb_button_medium_rtl:active{background-position= :right = -418px}\n.fb_button_small,\n.fb_button_small_rtl{background-position:left= -232px;font-size:10px;line-height:10px}\n.fb_button_small = .fb_button_text{padding:2px 6px = 3px;margin-left:17px}\na.fb_button_small:active,\n.fb_button_small:active= {background-position:left = -250px}\n.fb_button_small_rtl{background-position:right = -440px}\n.fb_button_small_rtl .fb_button_text{padding:2px = 6px;margin-right:18px}\na.fb_button_small_rtl:active{background-position:= right = -458px}\n.fb_share_count_wrapper{position:relative;float:left}\n.fb_share= _count{background:#b0b9ec none repeat scroll 0 = 0;color:#333;font-family:\"lucida grande\", tahoma, verdana, arial, = sans-serif;text-align:center}\n.fb_share_count_inner{background:#e8ebf2;d= isplay:block}\n.fb_share_count_right{margin-left:-1px;display:inline-bloc= k}\n.fb_share_count_right .fb_share_count_inner{border-top:solid 1px = #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 = 1px;font-size:10px;line-height:10px;padding:2px 6px = 3px;font-weight:bold}\n.fb_share_count_top{display:block;letter-spacing:-= 1px;line-height:34px;margin-bottom:7px;font-size:22px;border:solid 1px = #b0b9ec}\n.fb_share_count_nub_top{border:none;display:block;position:abso= lute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background= -repeat:no-repeat;background-image:url(https:\/\/s-static.ak.fbcdn.net\/r= src.php\/v2\/yP\/x\/bSOHtKbCGYI.png)}\n.fb_share_count_nub_right{border:n= one;display:inline-block;padding:0;width:5px;height:10px;background-repea= t:no-repeat;background-image:url(https:\/\/s-static.ak.fbcdn.net\/rsrc.ph= p\/v2\/yL\/x\/i_oIVTKMYsL.png);vertical-align:top;background-position:rig= ht 5px;z-index:10;left:2px;margin:0 2px 0 = 0;position:relative}\n.fb_share_no_count{display:none}\n.fb_share_size_Sm= all .fb_share_count_right = .fb_share_count_inner{font-size:10px}\n.fb_share_size_Medium = .fb_share_count_right .fb_share_count_inner{font-size:11px;padding:2px = 6px 3px;letter-spacing:-1px;line-height:14px}\n.fb_share_size_Large = .fb_share_count_right = .fb_share_count_inner{font-size:13px;line-height:16px;padding:2px 6px = 4px;font-weight:normal;letter-spacing:-1px}\n.fb_share_count_hidden = .fb_share_count_nub_top,\n.fb_share_count_hidden = .fb_share_count_top,\n.fb_share_count_hidden = .fb_share_count_nub_right,\n.fb_share_count_hidden = .fb_share_count_right{visibility:hidden}\n.fb_connect_bar_container = div,\n.fb_connect_bar_container span,\n.fb_connect_bar_container = a,\n.fb_connect_bar_container img,\n.fb_connect_bar_container = strong{background:none;border-spacing:0;border:0;direction:ltr;font-style= :normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;= overflow:visible;padding:0;text-align:left;text-decoration:none;text-inde= nt:0;text-shadow:none;text-transform:none;visibility:visible;white-space:= normal;word-spacing:normal;vertical-align:baseline}\n.fb_connect_bar_cont= ainer{position:fixed;left:0 !important;right:0 !important;height:42px = !important;padding:0 25px !important;margin:0 = !important;vertical-align:middle !important;border-bottom:1px solid #333 = !important;background:#3b5998 !important;z-index:99999999 = !important;overflow:hidden = !important}\n.fb_connect_bar_container_ie6{position:absolute;top:expressi= on(document.compatMode=3D=3D\"CSS1Compat\"? = document.documentElement.scrollTop+\"px\":body.scrollTop+\"px\")}\n.fb_co= nnect_bar{position:relative;margin:auto;height:100\u0025;width:100\u0025;= padding:6px 0 0 0 !important;background:none;color:#fff = !important;font-family:\"lucida grande\", tahoma, verdana, arial, = sans-serif !important;font-size:13px !important;font-style:normal = !important;font-variant:normal !important;font-weight:normal = !important;letter-spacing:normal !important;line-height:1 = !important;text-decoration:none !important;text-indent:0 = !important;text-shadow:none !important;text-transform:none = !important;white-space:normal !important;word-spacing:normal = !important}\n.fb_connect_bar a:hover{color:#fff}\n.fb_connect_bar = .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 = 6px 5px 0}\n.fb_connect_bar div a,\n.fb_connect_bar = span,\n.fb_connect_bar span = a{color:#bac6da;font-size:11px;text-decoration:none}\n.fb_connect_bar = .fb_buttons{float:right;margin-top:7px}\n.fb_edge_widget_with_comment{pos= ition:relative;*z-index:1000}\n.fb_edge_widget_with_comment = span.fb_edge_comment_widget{position:absolute}\n.fb_edge_widget_with_comm= ent = span.fb_send_button_form_widget{z-index:1}\n.fb_edge_widget_with_comment = span.fb_send_button_form_widget = .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-positio= n:50\u0025 = 50\u0025;background-color:#fff;height:150px;width:394px;border:1px #666 = solid;border-bottom:2px solid = #283e6c;z-index:1}\n.fb_edge_widget_with_comment = span.fb_send_button_form_widget.dark = .FB_Loader{background-color:#000;border-bottom:2px solid = #ccc}\n.fb_edge_widget_with_comment = span.fb_send_button_form_widget.siderender\n.FB_Loader{margin-top:0}\n.fb= pluginrecommendationsbarleft,\n.fbpluginrecommendationsbarright{position:= fixed !important;bottom:0;z-index:999}\n\/* \u0040noflip = *\/\n.fbpluginrecommendationsbarleft{left:10px}\n\/* \u0040noflip = *\/\n.fbpluginrecommendationsbarright{right:10px}\n", = ["fb.css.base","fb.css.dialog","fb.css.iframewidget","fb.css.button","fb.= css.sharebutton","fb.css.connectbarwidget","fb.css.edgecommentwidget","fb= .css.sendbuttonformwidget","fb.css.plugin.recommendationsbar"]); }=0A= if (FB.resolveSoft) FB.resolveSoft();=0A= })(window.inDapIF ? parent.window : window);=0A= ------=_NextPart_000_0026_01CD9255.CA55F9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://resources.infolinks.com/js/infolinks_main.js eval(function(p,a,c,k,e,d){e=3Dfunction(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace= (/^/,String)){while(c--){d[e(c)]=3Dk[c]||e(c)}k=3D[function(e){return = d[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--){if(k[c]){p=3Dp.repl= ace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(l(){3 = L=3D6["1a"]=3D{m:{}},T=3DL.m,D=3D6["1n"];l I(W){1c = 6[D+"1d"+W]||6["1e"+W]||6["1f"+W]||t}3 = K=3DT.1h=3D{"1i.1.1j":q,"k.0.1k":q,"k.0.11":1l};3 A=3DT.1o=3D{};3 = B=3D0,J,E,M,N=3De.12;J=3De.u.c(/[\\?&]r\\.Z=3D([^&]+)/);2(J){T.a=3DJ[1]}b= {5(E i = K){M=3DK[E];K[E]=3D{1r:M,w:B,y:B+M};B+=3DM}T.j=3DX.1t((X.1v()*B));5(E i = K){2(T.j>K[E].w&&T.j<=3DK[E].y){T.a=3DE;g}}}5(E i = A){5(Q=3D0,C=3DA[E].h;Q-1){T.a=3DE;g}}}3 = V=3D["/",T.a,"/13.Y"].x("");3 = R=3DI("14");J=3De.u.c(/[\\?&]r\\.1g=3D([^&]+)/);2(J){T.4=3DJ[1]+V}b{2(R){= 2(!/^v:\\/\\//.19(R)){R=3D"v://"+R}T.4=3DR+V}b{3 O=3D7.s("9"),F,Q,C;3 = P=3D/\\/1b\\.Y$/;5(Q=3D0,C=3DO.h;Q<\\/9>\'].x(""))}}})()',62,97,'||if|var|url|for|window|do= cument||script|version|else|match|src|location|async|break|length|in|rand= |306|function|_boot|javascript|defer|text|30|il|getElementsByTagName|null= |search|http|from|join|to|type||||||||||||||||||||||||Math|js|sv|ddw||hos= tname|infolinks|resources|createElement|charset|appendChild|UTF|test|INFO= LINKS|infolinks_main|return|_|infolinks_|infolink_|su|versions|308|3b|11c= |40|replace|infolinks_white_label|siteVersions|indexOf|getTime|weight|hea= d|ceil|write|random|tmr_scr|new|Date'.split('|'),0,{}))=0A= ------=_NextPart_000_0026_01CD9255.CA55F9C0--