From: Subject: Una piacevole serata con gli Ospiti della RSA di Montesilvano Date: Wed, 13 Jan 2010 14:20:43 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0000_01CA945B.9737C5F0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/info_header_logo.gif iVBORw0KGgoAAAANSUhEUgAAAPEAAAAhCAMAAAA/K70UAAAC1lBMVEXAwMCtra29vb3Ozs7W1tbn 5+fv7+/37+/e1tbn3tbWzsbv7+fn59739+fe59bn7+fW3ta1vbXn7+/Gzs7O1tbW3t7e5+e9xsac paXO3t7W5+fe7+/G1ta1xsaUpaXG3t7O5+e91talxsa95+d7paVzpa17tb2t1t6Mtb17pa1arb1a pbXO7/e11t6tztaUtb2MrbWEpa1jpbVanK0xc4S93uecvcZrpbVjnK1alKVSpb1SrcZCnLXe9//W 7/fO5++91t61ztatxs6Mpa2Mvc57rb1zpbVrnK1ajJxShJRapb0pc4zG3uelvcalzt6cxtaErb17 pbVrrcZjpb1anLVSlK1KjKVCnL0xjK2Uvc5rlKVrpb1alK1KhJxSpcY5c4xKnL0xa4RClLU5jK0p e5wQc5ze7/e9zta1xs6Upa2tzt6lxtaEpbVrjJxzpb1jnLVapcZCe5RSnL1KlLVCjK1CnMYpc5Qx jLUphK0he6UYc5wQa5QIc6XG1t6ltb2UtcZ7nK1zlKVrnLVajKVKe5RanL1SlLVKjK1ChKVKnMY5 e5wxc5Q5jLUxhK0pe6UphLUhc5wYa5QQa5wQc6UIY5QIa5wIc60AY5QAa6WtvcZahJxalLVSjK1K hKU5c5Qxa4wxe6UxhLUha5QYY4wYa5wYc6UQY5QIa6UAWozO5/e1zt6Urb2UvdaMtc6ErcZznLVr lK1jjKVKjLU5e6U5hLUhY4wpe60ha5whc6UYWoQYY5QQa6UIY5wAWpTG3u+91uelvc6ctcaEnK2l xt6Epb1Ke5xCc5Qxa5QYa6UQY5wIa617nLVrjKVae5RahKVCe6Uxc6Uxe7Uha6UYY5wYa62Uvd5r lLW9xs7O1t7Gztattb2lrbXO3u+ltcaMnK2lvdaUrcaEnLV7nL1ae5zW3ueMpca9xtbn7//Gzt6t tcbn5+/Gxs69vcbn5/fOzt7v5/fv5+/WztZ0V5EcAAAAAXRSTlMAQObYZgAAEHRJREFUWMPtmY1X G9eVwGfromwXZ53KkrIgsybt0iXrGqi9tanYWkgNIiamRkaAiUGdzshGNqohGhVLeAkODgILjZDG crLECAtpJPwRDERhNGEUPhxjJLxdsoYtuLbz4bCbbrqquv/BvhmNMG7ic3Z77J49e/YdOBq9j/ve 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 rkJggg== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i3.fainformazione.it/img/spacer.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.informazione.it/img/cs_icon.gif R0lGODlhEAAQANUAAP/////Je6zD4pyu0o6s0oei0X6Rr22LsWZ6nWN+q2B+pGB8q158ol16pFNn ik5qkUxqkEtohktgfUlpiUhgfEhffkdmhUdliUdhfEdhekdgfkdfe0defUZiekZhfkZhfEZge0Zg eUZffUZeekZcdEVijEVheUVhd0VgfkVge0VfekVbc0RliERiiERhiUNhh0Jii0JYcEFdgkFXb0Be gkBegD9UbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAGecCPRITZnESZDGrT MRE/oYBUWlg8EoNpIBTVNmAsF0Kb4mgDpdKr5dBiOmfF6/IyaD2jM4EBOQi0FBpng1MgKFo1MjQ1 jFoiKVoTFpMWJFogIFoRm5MrWh+ZZxGTMWQYg6MWM24qqKSXgqKTNqaDlLRToJi7vLwVIEEAOw== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/scissor_top.gif R0lGODlhAQAOAID/AMDAwBdEXyH5BAEAAAAALAAAAAABAA4AAAIEDIynVgA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i3.fainformazione.it/img/login.gif R0lGODlhDAARAOb/AOjMtN+yi92sg92ofNy+otnCq9alfdalfNS/rNSfc8DAwNCpis/Gpc3Husqn i8madMmWabvVqLvUq7qPbLnRsbahjLXSobOMbazYvanVs6V5VKOye6NyVJ7Jip3Ih52uZ5y5aZul cJh4T5d4Y5a2a5W+aJW9Z5W7aJRqRJO/ZJOpYJK9YZK8Y5K7bpK2ZpJdO5G7YZGJfo+5X4+4co21 X42xaY2XUoixYoisXYilVYexVoajboSscYOuUoOtfIOpVoKmVoKlU4KlUoGnX4GkUYGHjICoWICj UYB4On+uUn+lWn+jUX6kWH6iUH55P31bLXuhVHuhU3uhTXqqTnqiUHqgU3muUnmlU3miUnmhW3l1 cHiuWnheR3hcRHedTnadTnacTnRaN3JmMnFtamFJM0tFR0g1JkgxIUI9OT01My4cECwrLCopJSkV BBYEARIHAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAEAAAoALAAAAAAMABEAAAeSgAqCg4SFY2hpZYWCMWZnam9FiwgOCyNua4sAAQYXbWyLBAIDE2Ra iwUHCRpciwoNDxAoXa4KFRwvYbUMIk9iIYsSG05INjk7FIMWLS4qHyA9WDURChglKyknJDdWSTIm GR0wNDQ3N1NbUzosHuI3QkRARldUUj8zMDhBRERHS00AlwzxkQWKFzBfqkSJwkQJj0AAOwQCADs= ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/scissor.gif R0lGODlhAQAOAID/AMDAwJaWliH5BAEAAAAALAAAAAABAA4AAAIEDIynVgA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i3.fainformazione.it/img/rss.gif R0lGODlhEwATAOb/AP/////v7/e9rd5aKedzQt5rOd5aIf/ezvfWxu+9pd5jKe+UY+9zMedrKd5j IedjIfe9nPethOdzMe9zKedrIedjGP/WvffOte+9nPe1jO+thOele9aUa96MWu+EQud7Od5zMe97 MedzKe9zIf/exv/OrffGpc6Ua9aMWvecWveUUu+MStZ7Oe+EOed7MfeEMd5zKe97KedzIedrGPe1 hP+1e+eEOfeMOe+EMfeEKe97If/WtffOrf/OpffGnP/GlN6lc/+ta/elY/ecUtaEQveUQu+MOdZ7 Mf+UOeeEMfeMMd57Ke+EKe97GP+1c/elWv+cQveUOe+MMf+UMfeMKf+MIfeEGP/37//v3v/nzv/e vf/Wrf/OnP/GjP+9e/+1a/+tWvelUv+lSv+cOfeUMf+UKf/GhP+9c/+lQv+cMfeUKf+UIf/etf/v 1v/35///98DAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAEAAHAALAAAAAATABMAAAf/gHAdLi42Ni2IRoqLUkobcEASLiIiMSE4L0pKZGRTaWNQShxLEiIr Ky06TJqcZEhjsEhHSyIyPFdXWT9Fm2SfsGNkOEkiIzsAyMg9YmXAwUotSSExKTQ+JG/Ibk7Nzy+I lzpNVmRPx8hdZWRKUjiIOEwlJD1PnV7Zb0E5Sjghhy85SCTTAmbNmWxYivRj4KKFEio1tLhBdsVJ FS/IfFgSYcPIJipRxHChGEaJFgBvPIho8MFIK1hpzCDTwkQIsggNGrhwSQZMmzZfpvRApgLHAQAI KihoOUXNSQBYooS5AgDCDBMAAjRw0DJNGTbISNwwCcBCBQ0ArhAwIAEHLDRbQnYMyYGDBoIMDxZc EFDAAAwjMKlQedFvAgUKWw0oVsDiRCslhEMwWNlAgYIBAxQ4wAAHRSIjLQzZ+ECaNAgiCeAEAgA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i3.fainformazione.it/img/add-to-fai-info.gif R0lGODlhZgARAMT/AP///8DAwGlrbkN4mCtvlCpwqyN0rCJ0nCJxmCJuqCF1oSF0niBzmyBqqx92 ox90qx9znx5wlh5snB1wmh1vnh1vlxtxohlllxdynhdvnQAAAAAAAAAAAAAAAAAAAAAAACH5BAEA AAEALAAAAABmABEAAAX/4COOZGmeaKqu7AgtRzUpTiExVNIYGRYhlkvgASgaj0cicslsOp/QqLQo JLIAyql2y+1SBdYV1ksum7/hUbE0Ng6Y72b8vJx34/YLGEta97N2UoF0hG5HemkifmpKA45FjngA kXiPk5ZvmZeWm5CUk56VnJFHmZyIfE2KgJCGmq2gsaCYr6+ysba5snOSRqiKTKuGoZq8sMbGuMTD s66un8eHe2x8jMPIu9GtyZLJ2djbcLBo1cBsrLjF1+O6ypXjzeHy2be/feVWzI/q2p30vfs2BfTH DVM6X9PEZCnEsKE9FW0aSiSESgqBiRjPIGrBsaPHjyBPCAgQQIDJkyhTDKpcybKly5cwY7YMAQA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://it.i1.yimg.com/us.yimg.com/i/it/my/addtomyyahoo4.gif R0lGODlhYgARANU/AP////7//WZmZpmZmf7+/v7+//7////9/1RUVPwZIwE0zQAyzJqanAEAmZmZ lzNm//7FyAIyzZqYmfwZH5eamQE0ya+vr//k5v/w8PsrMoWFhf1KUf7/+tHR0f6xtP6NkZiZlv7Y 1/12fPxla6PP/vv//fT09P1udP1/g/6fov1aYP78/QE1z8bGxvs9RP39/P7z85yZmV9fX5eXl7u7 vPz//9zc3JuXlv/8+//5/QU0y/z/+QEyyXZ2dl9hYP///yH5BAEAAD8ALAAAAABiABEAAAb/QEeM MigyJEVkkYhkFI3PqDNKfR4djqcElBwgZwMGSCJxgLKgmBNEZFCyjnaYAmI4JM7pb0AwFAoBAQCB AAYHAAd/JYMABI2PAJEAL42Oko+OASUchYMFngaFAY6cABx/nyWGowAFiaOfiASAn3+SjgMCDgcP vb6/wA2flpfFxcSOBAeHg4KSHH0By38BBgSC1dLXfwehrdcBn4IvzjuXDAI3AQ8VCu0RC+3uCvQL Dcu3kMb7BI4FygFOdWtlqhAtbKBiGQi3AhQOQ7EKXStxQFAydBQKPFCwIEKFjhXgRVAAz14nABYs WCJgw0KHSBZaXGpRxIKJUQZG6BQh4gMG/0EHrgWtUWjhKBgYcvx8NYhSJBgXona7kCCBh1u5GADY uCBehQoASIzsGK9BKQIIEMgEYEIAAguREGhwZKJH2rQybBhYAeFEggkbMABIMULFBhUQCJTAcSFE 4wsfMkxA0SoEBAgXAGHYMKHqhAyCq15wCiDXgHULOMJTELYCDx1dTUrCa6J0WrgA5EbS8DZSCxk+ TAA6EKIzhAIYMiRwISJFiBAAPlQVIQjCBAAYXFStmiLAXw+BLiinusFiJNNb43U0360eiwYlnCFw q6HD/N65NQCwIZeYBQQ0BCRNCqJ5MMEHB2DQmQoGGCDCBCl88MEG5SWQQSQBeJDABlZlA/8AVR9M IEJEpQmgFTscKUACCTusSAJJ9DRASG4DzICADAK0gJ9uNABIjH0SODMKCn9NAEEgIWSQAXUHiJDA CSqM4MIGECRwJDYTaLcBhgSoYGUGHmRyni6owagACwSQkBo9H91jCQIDtIVAB/bhppuOcPUDgH1a BfKCK8ZZkkGUEyQl2QWBECmdVZe5MAEMBiYgwgnKgYfgJQWYRsADHpEEWwFqpvZRBA14k9sMew6w 5476mTCfCY68wFsH1axigHINZjeBBzlMcAIEG2SAwmUonODBBSccRmEIgIRwgk4oXGBAChOMcABR jVCgiwEbRTCSSCG5swAPFTRwCZz9OFL/Z1z6oYRADzTQwJsGATTUDQrKWbhBCij4VKWkMMyCQysN LYSUYIwMskogGJwQAgcJIALADLqklyJHLLAQAQsgvXdNXKhasm5+j1ggw11aRVTAZSxfdogzoXTj TyizEILQjLNUxIwoyqBz2gMNBC300EQTUEokxCDNTz6CiNNgOIEAshCmB3AQDjQHlFDAClsPUpEr FWEYQA3ZBFINOjf4EYrZ1ogzUD9kr3SM0vtAUg03ooQS3zLYTM2lIKcA0onZkVSEDVBdmxKDAEw4 4AYFYsQxABFPxMHAFFVgLkUVA8RQhhs3bHHHAFiQrsXkWZTBRhxllPFEDJND7sXoY1ghFcAPAuSu ++689+7778AHL/zwxPceBAA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/add-to-google-plus.gif R0lGODlhaAARAMQfAIaGhtfX2NdIMUdRR16xY+bn6KPP/86yqyVRscqqGk102ZWmzNzEXvb19S4u LunboHGKvxhL3+F+bsPK2enFv05tsvno4NXs1w0mmmNjY5ycnAAAAAAAmQAzzP///////yH5BAEA AB8ALAAAAABoABEAAAX/4KeNZGmeaKqubOuun6h5dG3feK7vfO//upGI1ikaj0egcsls3jSZWUdB VUSuWCyG4+zSGguEWLEIeC8EwoUHlSqOmDgGzrUdHDkAwFbAMwsQFRMBARoIEA1daAQBiUFRHlNw HgZzRls3GQAzN3p8GzYNGT6BhI4LBQVeaao7bZFvHXKUckWYNRMZEwM1ABsOG3sBA7+gNcQbM74O Ga0eBQhlN44SAhISFDQPCQwMDzQTCAoVCAWsDdXXT5AdEbY4lrc0GmYOiXdmmh4DwsY0AcbweWCG K5qjG9cKHBAgwMI2CwESJHgwQUGBBRgGsZJwwEK1CTZetbNlwAClkvHq/9AAtiGZB30e9EwwVsDf M2OePNzBVQERDgsCDpihYK1bIw/cIEAw07NBGqLXDhQ4Oo+dO1lxaMWxpXIXDQCjYMr0U/MTDZgT /NAgB9JDAKUIAlxzZE2iIwYJ2DaIZo4AhYQBnFWVcvVdJTo1YNYsoMHeSwB9+vFxoKpxAVF7Chq8 LEaugGxED2xj4MFCggMVyZVxSqBAtQM5RBbGuvVSnZoHHexBRvBAS2BmagDb3ZLXjQkVMIhBUAFA I4YMKTTCK5FBgIrKIaQiMIAAUIbYQrKTQ758HJVemjQoMGhQ4H+EqE4lVKDn9QoLPFyg3yA+VQ+v eMDBgAQWWGB6CDoRzjp70AjmShScJCjhhOAwR8MCFQTHBhQyvODhhyCGqMcII7aQQQwfZKDiiiy2 6OKLMMYo44w01hhjDCEAADsK ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i3.fainformazione.it/img/addlive.gif R0lGODlhagARAPeaAP///7i4uN3d3ZaWlh8fH8PDw1tbWz09PVG9Sdzy29LS0vDw8Hl5eUxMTOj5 5lS/TIPcfS4uLoiIiH7Yd1zEVGvNZLS0tOHh4VjBUGpqaqWlpXfVcHLRambKXnfVcWHHWWDHWd7z 3eH14HHRat3y2+T34+D03/Hx8eX35Ob45d/03uP24fzSwutkKny3Q+pjK//qbaDOVi+n49VHJwqD xYSyd+Do27fX6PqRKvGoQmKw2+FaSP/dM/p5LuDt9uPi4v/GLenEg8a3gAmIy3m4R/i+VqTd+fbV ynfUcK3FjPz8/P+vLt7z3OnMbpjJUL3CnwqQ0lGaUeOtXvyWObnbctVBKK2lXKTQW/V7Tf/lPvOl jv3r4/rNwP+tKPalLP6gQ5TA1fb29t3z3HHRa/X19vZ9L2anQS6Cvf/ZLpOxa/j4+NxbMpqZTP/a NXDA7aXDbajM5QmS0//tZVfBUM7kj62trYu4g2u35H3Ydz+u5YenWpTS9U2YP7vVefPdvObUzv/r eOf55vR5Kv+vKLnQsKnDnneRqaSZiOy2Wv/tbdtKLqHL37nk/PPpsSSj38fhgezKj3Ct1O/y7O31 +bPR4P/KLL3Rpv/3mrGwsLPSgf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJoALAAAAABqABEA AAj/AAMIHEiwoMGDCBMqXMiwoUNNARxIdBBookWJAQBo3Mixo8ePIEOKHElSZAABAVJAWMmy5coU GTtuOVKyps2bODueDIBigs+fP/H4RBFz444qM9awyMm0qdOdJTxs8IBkw1SpVjeUKAqAi6IXgspY yWSpkB0bJS0oEKnhglOOCiww3bmCA4cxIzhotJuXwwquWlrgGPTlTQwXfKKc0GiBAGMCawtEAMBA g0gDBZoOGLBRA4O5KEVUGD1aI+nRIrhi6TGli5Q+VJyYqaFkI4HMDA5wHpChJGbNnN8C2Gmig3GP xjuYKOrD0B0jf4TQeXSFCCGOGTjr7m2Ac/cCBAwc/2gAYIH4AwcKKBgfQQIAAhcWEJAbYX33jZvx G5C/VsJnCegxUMAFCqy10U4qfPABCB4tCIIKRcEBRR57MNJIEmnowYYkHA1gwAUHXOAYfAB8R8AC 8hUwAHkLRFBABu6JqEAGGlhwAAMKNMBbR/lp5CFl7h1QYAQoElCHipkdiFIIFDTZpEZONhlCUZEM 4YgbiwByCQxtFKEGRyIO8JluB2hkoka39YjZb++pyAADNg4ggQLiJQlAj3caAICNOQIgmQGAGqgT SmJgYKihGs1xKAZMFHUGDXHI8EQicmRRCSQeHRCBZRIQ8FmJA4CHpoos3gZjefCBSF4DDRgogZ4+ BqiXp0YHZAeAAkSWB9JOJDzg66/A+kpCTJOAQckNOjTBAxpALHHIYhwxcOKe85kZqmNtLtDAAQY0 oB57lgFwIwASTLbipvgRoK6KsHa6gEYMRGBAbx/tlAAC+OarL74JcLWRH4h4kUMQmPwg3MEIa2Tv vgwj0G9IYZCR8MQH25vAxRhnjLG/FHec8E4OhSzyyCSXXJAAmgig8sost+zyyzDHLPPMNNdsc0AA Ow== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: quoted-printable Content-Location: http://static.technorati.com/pix/fave/tech-fav-5.gif =0A= =0A= =0A= Test=0A= =0A= =0A= =0A= =0A= =0A= =0A= Azienda=0A= Usl Pescara
=0A= Servizio C.e.d.
=0A=
=0A= =0A= =0A= =0A=
=0A=
=0A=
Accesso=0A= non consentito!
=0A=
=0A=
=0A=
( = Si=0A= e' tentato di accedere ad una pagina contenente materiale ritenuto=0A= inappropriato )
=0A=
=0A=
-=0A= Codice interno: P109 -
=0A=
=0A=
Dati=0A= richiesta (informazioni aggiuntive):
=0A=
=0A= =0A= =0A= - Client IP:  =0A= 10.1.12.80 =0A=
=0A= - Utente: =0A= cytron.muni =0A=
=0A= =0A= - URL:  =0A= http://static.technorati.com/pix/fave/tech-fav-5.gif=0A=
=0A=
=0A= Per ulteriori informazioni contattare = il personale c.e.d. ai seguenti riferimenti:=0A=
=0A=
=0A=
=0A= - Telefono: 085-4253093=0A= - E-mail: ced@ausl.pe.it =0A=
=0A=
=0A=
=0A=
=0A=
=0A= =0A= =0A= =0A= ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/okno.gif R0lGODlhMgARAOYAAP//////9//3///39//37//v7//v5//v3v/n3v/n1v/e1v/ezv/exv/Wxv/W vf/Otf/Orf/GnP+9nP+9lP+1lP+1hP+te/+lc/+la/+ca/+cY/+cWv+UWv+UUv+USv+MQv+EOf97 Mf97Kf9zKf9zIf9zGP9rGP9rEP9rCP9jCP9jAP9aAP9SAPf///f/9/f/7/f3//f39/f37/f35/fv 9/fv7/fvzu//5+//3u/39+/37+/33u/31u/v9+/v7+/n5+/nvef31uf3zuf3xufv7+fn7+fn5+fe 3t73xt73vd7n597e3t7W1tbvtdbvrdbe3tbelNbW1tbOzs7vpc7vnM7OzsbvnMbvlMbvjMbGxsa9 vb3vjL3nhL29vb21tbXne7Xnc7Xna7W1ta3na63nY62traXnWqXeWqXeUqWlpZzeSpzeQpycnJTe OZTeMZTWMZTWKZSUlIzWKYzWIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwA AAAAMgARAAAH/4AAADhXX1hCgkhgVIKCBBkdFwMABxwUjhUcGhEBjYIxPqE+MTGegkNrcqpvUwBT c2OeBiYsKw8ADCwdAAYjLL8sHpMAoD2lOTmgo40uZ3JkSV9vaztNcLGNBiQrK7sLLBsAGiwnExYq LBMAPjktOTDEpTA6RaUAQ21vSQA3a29UTeTECsAFDJARKFKcMJBghQYDJVhgEASCBQgAyXoEyNED QMcAPYgoKeVEzhoeAAI4++LkTRgAVuZcmWECBAcWFRpqaIBihTpxLEgYgAEjRgsYLj7lIOKjx6gr b9TsAOCCjBwwU958QfKGTIsCNR+oCOFgRQaxKyQIwsDCRIIWMf+KeophjFQ9K3CkAhhgNUzWM2je OOFlIsQAECsuqNCANsJacgrg2msUA1koJT6o5J0awCrWNvnegOFVIgQACStKmHWgIu3jEghg5DBF jCMRpkSSvGmD6IWaN1uaTNuips0OsKYhctOg4MSKCoJuhiDgjnYpu0qM7PC3BUCTfElajgkQRo4V 5JMwLA9QEcSABCdYaMBIam4pF6CUFAGwBU6bM6mQAUBJL00hhxk2kCDCJAukwAIHAEDADQkmrHDC AsQY4wM8n+hAAyhG+LDXFv60AcYNrggEwHZuQGHCgnt98KAgE1S4gggOAFDUbC0w1cIApBAhgxGY MRPEDI28wAPNiivicIMCCGTTgAGNDKDAAYKwAwAR9owi2WVG2PNDFDrWAAooAogYQxQiRsEmKTC4 SUopT0RhFykdFVGXMko8Ycw6YnSRhRFleOGDEWxEkQUAWnQhhg9ZpOEDE1nEIAUbRgy6RBxdlOID U59yGUMNMvigBGb2RFGFAFkswYYYMWRahhYtiAFAFj9kCsASi1ZhxK1GEPprPEU8UYQoPhQR7Cj1 xSBGGlEY4WsVSyxRha1VpGGrEosyQW0cjw56BBtdiBhPDocSoSxTewIQCAA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/segnalo.gif R0lGODlhFgARAPcAAP///////v/+/f/++v/9/f/8+v/8+P/69//59f/58//48v/06P/v4f7+8P76 5/754P744f716P7w4P7u1f7q1v7qyP7l0f7gyP7buv7Ytv30zv3zw/3xs/3wwP3wu/3uxv3sxv3l u/3ktv3jsv3Qm/3Dif3Bjv20dvzyq/zrrfzpoPzdjvzOkPzOe/zDa/zCdPy8cfyxW/yJIfvigPvc f/vcdfvafPvWcfvTXfvQXfu4UvuyTPucKvuAFft9C/r5jPrfUfrDUvqqKfqRGfqPBfqNAPqMAPqJ APqHAfqHAPqGAPqFAPqDAPqCAPqADfqAAPp+APp8APn2cvnmXvnhTfncQPnVN/nSRvnIMfnAK/m6 HfmyHfmjAfmjAPmgAPmfAPmdAPmcAPmbAPmaAPmYAPmXAPmWC/mUAPmTAPmSAPmRAPmPAPjmP/je RfjRGfjHKPi7Efi7APi6APi5Cvi4APi1APi0APiyAPiwAPiuAPirBPirAPiqAPipAPioAfioAPin APimAPilAPfoFffbE/fZEvfSAPfRAPfQAPfPAPfNAPfMAPfLAPfKAffKAPfJAPfIAPfFAPfEAPfD APfCAPfBAPe/Afe9APbmAPblAPbjCfbjAPbiAPbfAPbdAPbbAPbaAPbYDvbVAPbUAPbTAPbSAPX9 APX0APXxAPXwAPXuAPXsAPXpAPXoAOr46uT25NzUer/qvrPclKnjqJjel4XYhHHRb2rOaF3LW1HH T0/GTUnER0bDRELCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAFgARAAAI/wABCBxI MNauV7Z6KVTIaxZBgQE8zLiCJQcsWbVu6cqFi5arhwAeVDGEiFGkS3b0tDAAksBADqE+efokSpEk OXgECYlA8MBAB4U6YWKViQ0VK5bs9AGzY6AAgkA+YUp1SsrAFHP2fDlDAqSGQ55anTL1o8FAG3u8 nOEBUkUiUJlUoVqlacoGADf4fEGDJMHDGo5Gedo0iNOnUpDeZAEURs0SDA9xTFpEitAAFG0aUaKT pwuZIk0yICC4Is6kR24GQqCh5Q8YNEegMChAEMQdOpcqdSAoQIQOIkycgDSwJc+dOnA+gFxQ4gRI ACG4BOrDx0+QERUmvIBB4flAF2LAiCkfUyaNESVQfFjwDkAACzNq1KwxkqRJlB4X2A+UEGMIkydR yGCCAt4FBAA7 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/pruploads/331f33d7-2582-472b-8110-e0c9312b4bcc/webthumb.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAMgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3i8vL bT7OW7u5kht4VLySOcBQO9cJ/wALh8PSySLZ2mp3caHBlhtxt/Ug9qg+OMtxF8OJTb5ObmLeB3UZ Jz7cCvnjTdWKRIG1T7Hvz5gWNmHBAHAPoTVrDYiouaktDrw/1Sz9u3fpY+j3+LmkxqrPo+sqGYIC 1uoyT0H3qiX4y6G+Nul6w2RuGLdTx6/e6V4H/bUZiBbxDK5VxIEaBvvA8Hkn2NOg1i2jtomHiGeO 52BSVgbaq9SvXsaPqeM/lOlf2bbVyPfJPjFokUYkk0vV0UqWy0CjgEDP3vUj86Vfi/o7nCaRrLH2 t1P/ALN7ivn651lLpwra5I8bBUZ5omJAOSRj6qnfvT4dbVF2/wDCRyoPm+7C/wBB39hR9Txn8of8 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/pruploads/467fc180-168a-45c2-80b5-c35d6b679948/webthumb.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAMgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gArnZPGFibfUXtYpbmWxkEbRR4zIf9n17/lXQSLvjZM43AjNfP3h3Tb3SNR1qWWZSkEuwKVyCuSu cGky4pNO56zceMcRs9nYmfEqR4Zyv3hnOcHgdzWXB481u9imm0/wqbyKKQxs0V2Oo64BUGvIYPEm tWt2NOuInSKacRrIflxFuH3cd/f6V6F8H7m+vNY1+Z1mXTwyrBvzjqeh9e5+tGqauV7qTe5Pe/Fn VtPJF34Jvosd2lOPz2VmN8e0Q4bw7ID6G5/+xr0yy8T6RqlxfW0ErO9jnzw0ZAXBI7j2NZt/L4Rv Vb7bZW0vy7jut+f5daUqkIu0nqax5b2dP8ziLf47G7uY7e38NSSTSMFRFueST/wGtq6+KN1a3c8B 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/pruploads/98e5d44b-829b-4d26-a992-d83d8aab995f/webthumb.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAMgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0T4pe NZ/BugQNZeWt7eSGOKSQZWMAZLY7npj6143bfELUpYy994s1NZyx4hkULjj06d67r4/6bfatZaBa adaS3Vw08xEUSFmICjPAryS38N+NLZVC+EbmTagQebYs/Az6j3rojglVip89vI7MPjIUYuLpqT7s 6Sfx9d7YzbeLNWyQ+/zJhwcHbjHvimx+O70s/meMtWVcLsIYHJx83f1rCk0LxxLbmE+EpwCMZXTy D0weg71NJpvj2RFQ+EpdqZ2D+zThM+nHFP8Asxf8/Df+1Kdv4K/r5GzN49vBJiHxdqhT5RuaXBJw 2Tj/AL5/M0snju52Ep4z1bdtOAWGM4PfPriufOheN2nMz+Ebh2JY4ewYgZCjgf8AAB+Zp0ejeOIl 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/pruploads/10f2f510-7c0f-422f-9851-7c472f995ea7/webthumb.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAMgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDtfEHi ZdIAG6NcKOoFcPf/ABXmtpo4oUSRpDwcDArX8eTQx/6x1HA4JryDUEttR1JGhkMWxcsSuQSD2xXL To0lRUmlc75KMad1uenL8Srw2QuQquAAZFEeCtTQ/Ea5nUNGEOe2BXlFutx9keNFkdd2WCLyRT7a 5h+1GMgoCcANwQaKUKd7SSZnCok1dHp1t8RL+aS4BRcJJtHHtUreP74fwj8hXn+l2omuWhiUs0ku 3Acg5q9JZKjMpaVWU4I8w8GuuNChLTlVzrpwhJbHWN8QtQHQfoKgb4kakvp/3yK5GS2x0ml/76zV WSBx0mf8QP8ACm8LR/lFKlFdD0Cw+I1/PdJG+zBPdBXrKXkaeH47940yVUn5R3IFfNGmxyLqMR80 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/pruploads/f8b8597a-dca9-4367-8a45-76d18c033066/webthumb.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAMgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gArnZPGFibfUXtYpbmWxkEbRR4zIf9n17/lXQSLvjZM43AjNfP3h3Tb3SNR1qWWZSkEuwKVyCuSu cGky4pNO56zceMcRs9nYmfEqR4Zyv3hnOcHgdzWXB481u9imm0/wqbyKKQxs0V2Oo64BUGvIYPEm tWt2NOuInSKacRrIflxFuH3cd/f6V6F8H7m+vNY1+Z1mXTwyrBvzjqeh9e5+tGqauV7qTe5Pe/Fn VtPJF34Jvosd2lOPz2VmN8e0Q4bw7ID6G5/+xr0yy8T6RqlxfW0ErO9jnzw0ZAXBI7j2NZt/L4Rv Vb7bZW0vy7jut+f5daUqkIu0nqax5b2dP8ziLf47G7uY7e38NSSTSMFRFueST/wGtq6+KN1a3c8B 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://i4.fainformazione.it/img/spacer_c8.gif R0lGODlhAQABAJEAAP///8jIyAAAAAAAACwAAAAAAQABAAACAkwBADs= ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://i3.fainformazione.it/img/prwidget.jpg /9j/4AAQSkZJRgABAgEASABIAAD/2wBDAAQDAwMDAwQDAwQGBAMEBgcFBAQFBwgGBgcGBggKCAkJ CQkICgoMDAwMDAoMDAwMDAwMDAwMDAwMDAwMDAwMDAz/2wBDAQQFBQgHCA8KCg8UDg4OFBQODg4O FBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAA7AJ8DAREA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6HsT4 q+JniTxVJa+J77wzoHhjUm0PTbXSlt/MmvLaOOSee5a4il3rmQKsQCLtHrnPnR5605Wk4qL5Vbv5 n2dT6tltCipUY1qlaHtZyqc1owm3GEKfJKPK/d1lqxx/4Sj4geNfFGi2fii/8O6L4R+yWNt/ZqWw uLq/ntxcPPcNLFICi7lURIEDdflo9+rUklJxUbbW1fmL/Z8BhKNSVGNWdfmm/ac3LCnGXIoQ5ZR9 5787vbzOK1L43+JNI8NeC59QlWTWE8RXuneKJoIlWO407RWkiu5QmMINjxynGNrL/drlljJxhC+/ M1L/AAx+I92jw3QrYjEKC9z2MJ0U38FWvaVKP97VSh6eYur/ABk8QXf/AAuKLTLtrWPQLWKbwpOq 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.informazione.it/img/Header%20Fai%20Info_sm.gif iVBORw0KGgoAAAANSUhEUgAAAJwAAAASCAMAAACZ3EfXAAACJVBMVEXOzs7W1tbe3t7AwMDv7+/v 5+f37+/e1tbn3t735+fv597v7+fn597n7+/v9/fGzs7O1tbW3t7e5+e9xsbO3t7W5+fG1tatvb21 xsa9zs7G3t691ta1zs6lvb2txsactbWtzs6lxsacvb2UtbWUvb2EtbVzra2Etb17rbVzpa1zrbVr pa2Mtb2ErbWUvcalxs6Utb2MrbVanK2cvcZrpbVjnK291t61ztatxs6ctb2UrbV7rb1zpbVrnK1C jKWlvcaErb17pbVSlK1KjKVznK1rpb1alK1SjKUxhKUpe5zW5++9zta1xs6crbWlxtaMrb2EpbVz pb1jnLVCjK05hKUxe5wYc5zG1t6ltb2cvc6UtcZrnLVjlK1KjK1ChKUpe6Uhc5wQa5wIY5TO3uet vcZ7pb1jnL1alLVSjK1KhKU5hK0xe6Upc5wYa5y1zt6txtaUrb2MpbWErcZznLVrlK1zpcZajK1S hKVChK05e6Uxc5wha5whc6UYY5QIY5wAWpSlvc6ctcaEpb1rnL1jlLVSjLVKhK05c5wpc6UQY5wI WpQAUoyUtc6MrcZ7nLV7pcZCe6Uxc6UYY5xznL1rlLVjjK1ajLVShK0AUpTe5++9xs69zt61xtac rb2Mpb0ASozn7/fO1t7Gztattb3G1uetvc6ltcaUrcZzlLXW3ue1vca9xtbO1uettcbn5+/v7/fG xs7OztbW1t7e3ue9vcb37/fe1t4gkDLMAAAABHRSTlP///8AQCqp9AAABjhJREFUSMfNVv93GlUW T7lU6ypSUiSNdLVNvw0Q0gQYgXXSANHpVtC0cSqxMAPBIIOTZ7Mli4zsMkkbMRATl9oqibVd6Ha7 UJuaov593gHSbT3H3Zwej8fLD3Pfe5/7uZ9577479EDbelu7YWfWamnht7KetrSx7Fc3ag/nwrcN /3Vbj8Frd4rZuSfJU1sw7BB5/e5j4jZT1erNv1/fnnphWbnadV/JK49JMcqIrDyBtkalurYz5LsK qQOEgtviVhVFSK4+XH6vtJLrum9VVy49GplSCtmzC08g7hXl5tWdIT+/WQ3CUiLaFacVq1eajyxr FzP1bX81+ehptCrKxz07y7HnZ+PFTLj9fO7/gQ1f3AGjUr3WEfdtjihX0kmoLVUqUnQD3hLFjxY7 wAVRTPfD5ehUplJJT+1ZkEvlfPoOwN1spSJ8o4H1L8UzV5crV5PZNuJWE+ejeoCv8Sn/R6+9kC0W i1+hXRNF4TYmzsjLcgYBq8V7a1LlH3MaTFJnpUp6blcnoy4pFqN1saDMflQcQ3HulUShoEjw2YqS UJTZjUi1XI52oO9XC8q/NSRRUtBKf8lUC4VENQWr7XFi/mlDIVEoK8qSnCjho1y6os7P9sBfVxQc f6o/q47LiXI5rxSqeCkqOFLKH38HOYWU1aV5DSx2yLIddW/8TSmUZkqYR1EyKK7BL5O4eBH+9X7y UpaU1mZyhHTFXciR0j3N8nSeTy7lS+kzuThZFhfCUmk5kvygND23lSekmLxswIhc8hNCiJhENwMf TiYviaQw51lKpZZkMi0s8KRwA8RSPptMkZKoF0tqnDSdn6nnVTKRkLV2L/vnRXk6HkqRaSmVuq7W nE4kaXV/ITQ2J5HsnqAUj3QLwJ2Pz2jkd7K4fDk+O1bLxVH2RTKLxx6W46c2pLj4AAn4uNwPOpmI T4NRIiwGesYmYmReLTCNGJfuQi1O5hC9pF6quDyVekfeixeTxL3R+Lk3seiKJN092PNE0vdKZO2Z zoXQLcVOYdkHWXn2NCeN14M5iemKu3BOmtHwscwfkEmSF028NA/weiyNzOCbTTe52KWnkCAlnaqD lo+NYmXzsQh4RPk0UmWxdW5GYhJ2o7AU805w3LDaKzhuLSKdwjX3OelNURLmM5kML6VDnZSfzXJ6 EGL+7m1dj3CsARoiNx7xiQK7FRQF//bOcUJTE+D8mPTdkyfHwqyQAYhwUbVhn+fEJi9MPIvupMCi OJbLII7l/E2e45kkL8zjri4KbbKwwE353h4fU5ssP+5nBFYVJwhT7MmTHPdnTuDYB90+x/F64Lkz 2+LO8qMGODEeGINeJjC6N+gI2LGh4A/c44GmhubPYNITgcBMbTKAmXw8rTYgHx/dYPkJtVTUKNBO 8upLIGSCZ0PQmAy89gBMbIBW+5IxwE8NB1gvus4AO/FqgEZxX/OBqdHA6Pe1RsNQaz0Pm+0OMc7q geVHtsX5HIwBnI7R5h4DQ1u2TC56AnrP+zc2weyg92tcjglM6qHpl2oMjbI9LH3rRwjZaPuWy6Ee FLxKW1Ac4xjB2mRo/wg9ug9MEdq/C/lo765WC2q0o6/uou09oKFoZv+gw4IbFXbQfXbaduvH3WDA SINvZAvZHfg2o45tcTDI2DXgtllH+oYZq19vopjhpw7arDgZdjH7NJTLi+IOWC2h2nFmEL8glIua +iPFMP245FRJjlvtKM7nGsYUPmbQ67L+qW+Esdq/Qz5q5PDhwyET45qBIReD81bXkOY8Q2GVh23M /n6GobxNr3UAtEM2BncWdWwBZbW+3DfQEWez94Ju0Ip2lDoWMlEW5w9uC3VUDT+mB8o2sLstrt9w 1KLuVNiuQimPbtNqU6vo/uAxuwHu221eFHfUNrD3uLpup6hhytqxI3stthD0DrXjjrQ2j9jsDZXd 0q91dzBHQDdkpQba4upgpnCWaoszBsPIuu52HjIbDzoNunDQAOtDgya8h+Yg3A8HjQhaN5t7tR0X Gman84B6KcLBBjwkeDFo1KhTRnjhgPOQyeg5ZDaZO2ZEol6kM3mcHjM67wVN2ja76rudzhNtZ3AI t9MdNGORhk84nWb4xU+lbv1/fTq1v+afOq3ufiel7tH8OoAe+B3bT6Ei+ZX+VUmtAAAAAElFTkSu QmCC ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://fai.informazione.it/userpics/user_avatar.JPG /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF BgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAA3ADwDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD57ooq bTbC81W/t9KsLfzLi6mWKGNP4nZsBf8Avqv1g/ldJt2R7f8AsS/8E+fjd+3B4kmh8BwQ6X4f0+UJ rHijUkPkWzHny0UczS7edg/4EVr9Ivhv/wAEEP2NfCunxR+P9X8U+LL3y/8ASJp9VFnAzf3kjgAd R7GRq+n/ANlX4AeHP2X/AIB+G/gj4ZCNFomnKl3cJHg3d03zzz/8DlZm/GvSq+Dx2eYuvWaoy5Yr a2/qz9xyTgrK8HhYvF01UqNJvm1SfZLbTvu9z86/jz/wb7/BLxJok1/+zr8StY8O6t8zRWXiB1vL CX0TIRZo/wDfy/0r8xPjt8A/ij+zZ8Rrz4W/GHww+maxZ4fy94eOeNvuSxuOJEPYiv6T6+Gf+C63 7OOjfE/9lBvjhZWijXPh9eRTJKke55rC4lSCaLjsGeObPYRv6105TnWI+sRo15c0ZOy7p9Plc87i rg7L/qE8Xgock4K7S+Fpb6dGld6H4y0UUV9mfj4VvfCXxVZeBvip4Z8bX9v5kGj+IbO9mjblWSKZ JGX/AMdrBopSSkrMqEnCSkt0f08QTw3sC3NtIskciho5EfIYHoQasV8I/wDBHb/goJ4W+OPwr0f9 mfxxqiWvjbwvpq2mmxyuf+JrYQJtSRCfvOiDDj2zX3dX5hisNUwld0prVfj5n9LZXmWGzbBQxNF6 Nbdn1T80FfN//BVvxrY+Bf8Agn58StSvIkk+2aPHp0UTPtLSXNzFbjH08xn/AOA19B3t7Z6ZaS6l qV0kEECNJNNNIFRUAyWJP3QK/Gb/AILE/wDBQ/w9+1b4o034LfBrU3ufBPhe8a6uNS8vauq6hhox IikZ8qNGkC/3/Mf/AGa68pwlXF42PLtFpt+j/U8nizNcPlmUVFN+/OLjFdW2rfcr3f3dT4looor9 FP59CvqX9hP/AIJS/HT9sj7L421KN/C3gVptz+IL+A+bfIHw62cf/LT7rDef3YPr0p3/AASe/YVh /bJ+Oraj44s3k8EeEfKu/ECncFvpWb9zZZGPv7WZv+ma+4r9y9M0zTtF06HTNMs4rW0tYljgggQI kCKMKqgcKoWvns5ziWDl7Gh8XV9v+D+R9/wjwjDNofW8Xf2V9EtOa27v2T08+6seF/so/wDBOn9m P9kC4/tn4X+D55tce38qbX9WujPccj5ymcJHu/2B/wCzV9BUUV8ZVq1a83OpJt+Z+wYXCYbBUlSo QUYrov6389zM8R+HtF8WaHd+GPEFhFeaff2r219aTJlJ4ZE2PGR/dKtivzm/at/4ID+DtYsLjxV+ yT4zm0u/XdJ/wjPiK6820n+8dsM4G+Fuw37h/tLX6WUVvhMbicFK9KVu66P1OPNMly3OKXJioXts 9mvR/wBLuj+Zr4lfDXx98HfGuofDj4oeFL/Q9c0ubyr7Tb6DZJGduVb+6ylWyrj5WX5l4rEr91P+ Cov7BGiftmfBmbV/DelQRePvDVpJN4av0GHu1VWd9Pf+8kn8P9yTn7rOrfhW0UyuyMpBVsMG65r7 vLMxhmOH5tpLdf10Z+G8R5BVyDGqm3zQlrF911T81s/k+p+5n/BG74P6R8KP2FfDOoWwje98Wyz6 7qMqoMFpiEjXoCdsEcQOc8g819aUUV8NmLbx1Vt395n7fw+oxyXDqKsuRf1+oUUUVxHsBRRRQAV+ B/8AwVm+Ddr8C/26vGel6NIiaf4iuF8QWUcMjDy/teXlUrjC4nEwAGRt29OgKK+i4bb+uSV/s/qj 898R4QeTQk1qpq33M//Z ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.informazione.it/img/li_button.gif R0lGODlhBAAEAID/AMDAwABmpyH5BAEAAAAALAAAAAAEAAQAAAIFRGKnl1AAOw== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.informazione.it/img/spacer.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.informazione.it/img/spacer_c8.gif R0lGODlhAQABAJEAAP///8jIyAAAAAAAACwAAAAAAQABAAACAkwBADs= ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://fai.informazione.it/userpics/ilportico.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF BgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAA2AJYDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD969J0 jSTpVqTpdtzbp/ywX+6ParP9j6T/ANAu2/78L/hSaP8A8gi1x/z7J/6CKnMmOo47nNK6ArnS9GBK nTLfI/6d1/wofSdHRC8mmWwAGSfIXj9K5XxJ4q1HSvjD4b0F9SWLT9V0+8DWj7QZZ4/LZCueSQC3 Sun1qxstc0i60LUoS8F5bPDcRqxBZHUqwBHI4J5FOS5bX0uJ6BZ2Xh6+t1u7Gzs5Yn+5JHEpU844 IHrUh0nRxwdMtv8Avwv+FfGOqf8ABQ/9nj/gmn4em+Cn7UXxYe+vrXUZLfwLpehWM2patq9ip+Xb bwKzsYwQjsRjcpycmshP+Cwvx3+MA8n9kP8A4JU/GzxfFOC1jrfifT4fD1hKv94veOrAHtxmu7+z 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://collector.tetigi.com/collect.aspx?v=1&imgid=1&groupid=676 R0lGODlhRgAfAPcAAP///8bGxufn5+/v7/f39//39//v7//n5//W1v/Ozv/Gxv+9vf+1tf+trf+l pf+cnP+MjP+EhP97e/9zc/9ra/9jY/9aWv9SUvdCQv85Of8xMf8pKf8YGP8QEP8ICP8AAO+cWt6c Y869rfelWtaMSv+UMcalhM6UWsaMUuecUv+tWt6lY+eMKfeUKc61lP+tOf+lMf+1Qv+9Qt61Y//G Qt69a//OQv/WSv/eSt7Oc//nUufeWtbOSv/3Uv/3Of/3Mc7Ovc7Opb29c8bGc9bWe87Oc97ec7W1 Qv//WsbGQtbWOf//Kf//COfnAO/vAPf3AP//AK33SqX3Upz/Spz/UpT/Soz3QozOY5TeY4z/Snvv OZTea4zWY4T/QnPeOXv3OYTGY3u9WozeY2vOOXv3QmPGMXPvOWPOMXv/OYzWa2veOZzGjHvWzu/3 9+f394Te3lL//0Le3kL39zne3gD//1L3/znv9zn3/wD3/0LW3gjv/0LO3kLe7wjn/0Le9znn/wDe /0LG3jne/wjW/1Le/0K93krW/0LO9wjG/wDG/0Kt1kK13jnG9wi9/wCt75S9zjnG/zG994S91nOl vUrG/3vO90Kl1kK9/wit/629xnu11nOtznvG70q9/zmt76XO54y1znOctXutznOlxoTG73u950KU xkq19wCM5wCc/6W9zkqc1kKUzkql5zml7wCE3gCM7wCU94ytxoS951qczkKEtTmEvUKc3kqt9wCE 5wCM93OlzkqMxrXG1jmM1ufv9+/3/4ylxufv/8bGzs7O1tbW3t7e57W1vaWlra2ttb29xpycpc7O 3q2tvbW1xr29zqWltZycrYyMnISElHt7jHNzhK2txmtre5yctZSUrYyMpXt7lGtrhGNje2NjhEpK Y1pae2trlEpKa1pahFJSe0pKc1JShEJCazk5YzExYzExaykpWlJKe2NahEI5Y6WcvXMhSnMhQnMp Qow5UpQYObVjc6VSY5QYMb1jc7U5Sq0xQpwhMdaEjM5SWrVCSgAAACwAAAAARgAfAAAI/wA1CBxI sKDBgwgTKlw4UIKGBRYiSpxIsaLFixgzarQwQcMFACBDihxJsqTJkyhTMuhoAcAjS6timqrVC8Aq mKt42ZJFgIgSHkCTHAGSkiQCBxEoTIDgAEGBoiBXami5qBEmTKli5dIEINFVrLButfEBhQkTKE+a CIEKUkGFDh/iyu1ggQFUqS0LIbKKVZekrnwxxWpFgKzZs06GQEUwwYPcx48rIFDJEkCgQXuvpioF ABCizKlwFS57GIrilAg0zL2wFIIECxzkbliAEi+APH0wW001qzNmRJgSdRp92GwR1Bvidqig4GnI AggkwP3AQcFJ23H0DNKdqDee3JmHG/8ufvxkgQxyNTgvqSD5B/UmsdPBAwiQV87z6ydKdGk0lP// lReSM9IsQwAAD0DWkjLTSDMAANycU44AC8T2wQTZnLNNhN1EVRkbcsjBBx+MRPIJAHbc8YcggkDC iQA7LPHDjDMGIRIB5ajjDgEHJOdBY3FZEI466xQDADvqpGMMAA4UQ4wy6KjDDZLneDgVAG0I48aW bbjRBgADhCnmgVlu+cuZX4ZEADnqiNMGBHERMEADcvmjDjpGZlPNNAQUM046SaZDDTHaVCONlS1J cskpp+DSyi3BECAGFlxwAUYYaxBQyaK4OMqKKiKFk86o4gTwQTTlpCMOPnLdk8450Uj/Q841xoiK jjQ5clPANuRUgygAen2VCiy8EIAGGV54MUYZYBBgiFdXxYLKJCKhM+qox0Qz6jlJ4uPYB/SoQ007 OhJjjjodDimOMedWCYBtl2WG1SoEWNEFGWZ4ccYVBBCSCHCajSLSM+e8qswwBVczgDd38vNtP8aM c6cA2KSDDsPqXAOAOemU8+sev+1GbxVZ3KuFGmkQUIdnoG0yEpvfKGDNttdwuw4x9ciFwZ/oCODM q+SAMw1t7HT8ax7afRYcvVOQfK8XW6gMyG9XuSwSkt8g8M6o6EhIDjnDbAOPXPoYXDA31jhTjHVF e/xuZXHQAZ5V9EpBhdNmRA3Hd7ph/2I1SG0g6c4AzSTpqzOGCrCNOvB8S885wxR9rTrgFMOx27bl gUfS+9FCQBRSVGHvF1HXoUfSjTgCyo3kjOpOMjxHeOcA24wqz7f7DPPnOehYKy44Rr99ZQHAFG88 SAQkr/yBABh//EjZjLqOMswUrI465ygDwDOjqmPPt3a6U8wAxBTsDZvu2uaCCiO0nwIJJgDgiSeu uHKLL6IQQIorrTzKii2ZIMkzsAENAXBAAO/QRgFDwgxsYMMYDosLPdJBDm9ILB3IeAY0jvGrGcjg BTAoQQtYgAJg7AcrqUCFWBixn1QM6xWhQIkE4rKBycTnW/M4hw7BgQyS2KYGNpBBDP9e8IISnMCE wdFMK9pwCGhhJRYCO4kBLKSBBFznWx/YwAHiU5kc4MAGNBgiDI7Ist2cog1+8AxfUrGLlFQoLhyA gA1FcoAHWKgDduHilXKggxvcQIgvCAEwpvaZRiTiFMCQAyH58reTvDEuGlgKAxjwgI7IhQMNqE1l jNADHNyABh8UJN+U1olE4mE7APsbME6SgAtAxgPT0Zl1NHklIyChBzr4ogxWAAw6nG4Q+6FEIn0J Hr+xxQAOQA9kaAgBAxTFNkEwghFykIMazEAEt4lDHvYQiEVIggBvmMM2A1EIRdSELQAwwAIiUIEL YMACEljAFu9SGXTa8573lMok98kkz376858ADahABzpJAExgAhI4qEIXytCGOvShEI2oRBE6gYAA ADs= ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/style.mini.css .menuSelected { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); TEXT-ALIGN: center; = LINE-HEIGHT: 21px; FONT-FAMILY: Arial, Helvetica; COLOR: #000; = FONT-SIZE: 12px; FONT-WEIGHT: bold } A.menuSelected:link { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; TEXT-DECORATION: none } A.menuSelected:visited { DISPLAY: block; TEXT-DECORATION: none } A.menuSelected:hover { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #000; TEXT-DECORATION: none } .menu { TEXT-ALIGN: center; LINE-HEIGHT: 21px; FONT-FAMILY: Arial, Helvetica; = COLOR: #f0a; FONT-SIZE: 12px } A.menu:link { BACKGROUND-IMAGE: url(/img/bckg_menu.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #fff; FONT-WEIGHT: bold; = TEXT-DECORATION: none } A.menu:visited { BACKGROUND-IMAGE: url(/img/bckg_menu.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #fff; FONT-WEIGHT: bold; = TEXT-DECORATION: none } A.menu:hover { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #000; TEXT-DECORATION: underline } .areaMenuSelected { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); TEXT-ALIGN: center; = LINE-HEIGHT: 21px; DISPLAY: block; FONT-FAMILY: Arial, Serif, Helvetica; = COLOR: #000; FONT-SIZE: 11px } A.areaMenuSelected:link { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; TEXT-DECORATION: none } A.areaMenuSelected:visited { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; TEXT-DECORATION: none } A.areaMenuSelected:hover { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #000; TEXT-DECORATION: none } .areaMenu { TEXT-ALIGN: center; LINE-HEIGHT: 21px; FONT-FAMILY: Arial, Serif, = Helvetica; COLOR: #969696; FONT-SIZE: 11px } A.areaMenu:link { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #969696; TEXT-DECORATION: none } A.areaMenu:visited { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #969696; TEXT-DECORATION: none } A.areaMenu:hover { BACKGROUND-IMAGE: url(/img/menu_bg_c.jpg); DISPLAY: block; = BACKGROUND-REPEAT: repeat-x; COLOR: #000; TEXT-DECORATION: underline } .border { BACKGROUND-IMAGE: url(/img/bck_content_x.jpg); POSITION: relative; = BACKGROUND-REPEAT: repeat-x; TOP: 0px } .borderSection { BACKGROUND-IMAGE: url(/img/bck_content_x.jpg); POSITION: relative; = BACKGROUND-REPEAT: repeat-x; TOP: 0px } .date { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Sans-serif, Arial, Helvetica; = COLOR: #444; FONT-SIZE: 11px } .title { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 13px; FONT-WEIGHT: bold; font-stretch: wider } A.title:link { TEXT-DECORATION: none } A.title:visited { TEXT-DECORATION: none } A.title:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .titleRed { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 13px; FONT-WEIGHT: bold; font-stretch: wider } A.titleRed:link { COLOR: #be0000; TEXT-DECORATION: none } A.titleRed:visited { COLOR: #be0000; TEXT-DECORATION: none } A.titleRed:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .sideMenu { LINE-HEIGHT: 11px; PADDING-LEFT: 2px; FONT-FAMILY: Verdana, Tahoma, = Arial, Helvetica; LETTER-SPACING: -0.05em; COLOR: #444; FONT-SIZE: 11px } A.sideMenu:link { TEXT-DECORATION: none } A.sideMenu:visited { TEXT-DECORATION: none } A.sideMenu:hover { BACKGROUND-COLOR: #edf7f9; DISPLAY: block; COLOR: #000; FONT-WEIGHT: = normal; TEXT-DECORATION: none } .sideMenuSelected { LINE-HEIGHT: 11px; PADDING-LEFT: 2px; FONT-FAMILY: Verdana, Tahoma, = Arial, Helvetica; LETTER-SPACING: -0.05em; COLOR: #444; FONT-SIZE: 11px } A.sideMenuSelected:link { BACKGROUND-COLOR: #dde3e5; DISPLAY: block; TEXT-DECORATION: none } A.sideMenuSelected:visited { BACKGROUND-COLOR: #dde3e5; DISPLAY: block; COLOR: #000; FONT-WEIGHT: = normal; TEXT-DECORATION: none } A.sideMenuSelected:hover { BACKGROUND-COLOR: #edf7f9; DISPLAY: block; COLOR: #000; FONT-WEIGHT: = normal; TEXT-DECORATION: none } .sideText { LINE-HEIGHT: 10px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000; = FONT-SIZE: 11px } A.sideText:link { COLOR: #004b73; TEXT-DECORATION: none } A.sideText:visited { COLOR: #004b73; TEXT-DECORATION: none } A.sideText:hover { COLOR: #6e4987; TEXT-DECORATION: none } .textarticle { LINE-HEIGHT: 1.2em; PADDING-RIGHT: 10px; FONT-FAMILY: Verdana, Arial, = Helvetica; COLOR: #444; FONT-SIZE: 11px } A.textarticle:link { TEXT-DECORATION: none } A.textarticle:visited { TEXT-DECORATION: none } A.textarticle:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .textarticle2 { LINE-HEIGHT: 1.3em; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: = #444; FONT-SIZE: 12px } A.textarticle2:link { COLOR: #0066a7; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.textarticle2:visited { COLOR: #0066a7; FONT-WEIGHT: bold; TEXT-DECORATION: none } A.textarticle2:hover { COLOR: #6e4987; FONT-WEIGHT: bold; TEXT-DECORATION: underline } .textarticle2 A { COLOR: #0066a7 } .textarticle2 A:link { COLOR: #0066a7; FONT-WEIGHT: bold; TEXT-DECORATION: none } .textarticle2 A:visited { COLOR: #0066a7; FONT-WEIGHT: bold; TEXT-DECORATION: none } .textarticle2 A:hover { COLOR: #6e4987; FONT-WEIGHT: bold; TEXT-DECORATION: underline } .textarticle3 { LINE-HEIGHT: 11px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000; = FONT-SIZE: 11px } A.textarticle3:link { TEXT-DECORATION: none } A.textarticle3:visited { TEXT-DECORATION: none } A.textarticle3:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .textarticle4 { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000; = FONT-SIZE: 12px } A.textarticle4:link { COLOR: #004b73; TEXT-DECORATION: none } A.textarticle4:visited { COLOR: #004b73; TEXT-DECORATION: none } A.textarticle4:hover { COLOR: #6e4987; FONT-WEIGHT: bold; TEXT-DECORATION: underline } .textarticle5 { LINE-HEIGHT: 15px; FONT-STYLE: italic; FONT-FAMILY: Times, Georgia, = Palatino, Serif; COLOR: #444; FONT-SIZE: 14px } A.textarticle5:link { TEXT-DECORATION: none } A.textarticle5:visited { TEXT-DECORATION: none } A.textarticle5:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .textarticle6 { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 12px } A.textarticle6:link { TEXT-DECORATION: none } A.textarticle6:visited { TEXT-DECORATION: none } A.textarticle6:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .textarticle7 { LINE-HEIGHT: 1.1em; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: = #444; FONT-SIZE: 11px } A.textarticle7:link { COLOR: #0066a7; TEXT-DECORATION: none } A.textarticle7:visited { COLOR: #0066a7; TEXT-DECORATION: none } A.textarticle7:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .textarticle7a { LINE-HEIGHT: 15px; FONT-FAMILY: Georgia, Palatino, Serif; FONT-SIZE: = 15px; FONT-WEIGHT: bold } A.textarticle7a:link { FONT-VARIANT: small-caps; COLOR: #be0000; TEXT-DECORATION: none } A.textarticle7a:visited { FONT-VARIANT: small-caps; COLOR: #be0000; TEXT-DECORATION: none } A.textarticle7a:hover { FONT-VARIANT: small-caps; COLOR: #be0000; TEXT-DECORATION: underline } .textarticle7b { LINE-HEIGHT: 12px; FONT-FAMILY: Georgia, Palatino, Serif; COLOR: #444; = FONT-SIZE: 12px; FONT-WEIGHT: bold } A.textarticle7b:link { FONT-VARIANT: small-caps; COLOR: #be0000; TEXT-DECORATION: none } A.textarticle7b:visited { FONT-VARIANT: small-caps; COLOR: #be0000; TEXT-DECORATION: none } A.textarticle7b:hover { FONT-VARIANT: small-caps; COLOR: #be0000; TEXT-DECORATION: underline } .text { LINE-HEIGHT: 13px; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #444; FONT-SIZE: 11px } A.text:link { COLOR: #2774a2; TEXT-DECORATION: none } A.text:visited { COLOR: #2774a2; TEXT-DECORATION: none } A.text:hover { COLOR: #2774a2; TEXT-DECORATION: underline } INPUT.text { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #ffffe4; PADDING-LEFT: 2px; WIDTH: = 99%; FONT-FAMILY: Verdana, Helvetica; FONT-SIZE: 11px; BORDER-TOP: = #969673 1px solid; BORDER-RIGHT: #969673 1px solid } INPUT[disabled].text { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 99%; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: 11px } SELECT.text { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #eff4f7; PADDING-LEFT: 2px; WIDTH: = 100%; FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; = BORDER-TOP: #969673 1px solid; BORDER-RIGHT: #969673 1px solid } SELECT[disabled].text { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #eff4f7; PADDING-LEFT: 2px; WIDTH: = 100%; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: = 11px } TEXTAREA.text { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #ffffe4; PADDING-LEFT: 2px; WIDTH: = 100%; FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; = BORDER-TOP: #969673 1px solid; BORDER-RIGHT: #969673 1px solid } TEXTAREA[disabled].text { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 100%; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: = 11px } SELECT.textsearch { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 165px; FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; = BORDER-TOP: #969673 1px solid; BORDER-RIGHT: #969673 1px solid } SELECT[disabled].textsearch { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 165px; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: = 11px } INPUT.textsearch { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 161px; FONT-FAMILY: Verdana, Helvetica; FONT-SIZE: 11px; BORDER-TOP: = #969673 1px solid; BORDER-RIGHT: #969673 1px solid } INPUT[disabled].textsearch { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 161px; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: = 11px } .textgray { LINE-HEIGHT: 13px; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #787878; FONT-SIZE: 11px } .textlightgray { LINE-HEIGHT: 13px; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #c8c8c8; FONT-SIZE: 11px } .text_prlist { LINE-HEIGHT: 1.4em; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #444; FONT-SIZE: 11px; PADDING-TOP: 3px } A.text_prlist:link { COLOR: #0066a7; TEXT-DECORATION: none } A.text_prlist:visited { COLOR: #0066a7; TEXT-DECORATION: none } A.text_prlist:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .titleArticle { LINE-HEIGHT: 1.3em; PADDING-RIGHT: 10px; FONT-FAMILY: Verdana, = Helvetica; COLOR: #444; FONT-SIZE: 13px; FONT-WEIGHT: bold; = font-stretch: wider } A.titleArticle:link { COLOR: #0066a7; TEXT-DECORATION: underline } A.titleArticle:visited { COLOR: #0066a7; TEXT-DECORATION: underline } A.titleArticle:hover { COLOR: #6e4987; TEXT-DECORATION: none } .titleArticleA { LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, Serif; COLOR: = #646464; FONT-SIZE: 17px; FONT-WEIGHT: bold } A.titleArticleA:link { COLOR: #2774a2; TEXT-DECORATION: none } A.titleArticleA:visited { COLOR: #2774a2; TEXT-DECORATION: none } A.titleArticleA:hover { COLOR: #2774a2; TEXT-DECORATION: underline } .titleArticleB { LINE-HEIGHT: 14px; PADDING-RIGHT: 10px; FONT-FAMILY: Arial, Helvetica, = Serif; LETTER-SPACING: -1px; COLOR: #0066a7; FONT-SIZE: 14px; = FONT-WEIGHT: bold } A.titleArticleB:link { TEXT-DECORATION: none } A.titleArticleB:visited { TEXT-DECORATION: none } A.titleArticleB:hover { TEXT-DECORATION: underline } .titleArticle2 { LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial; COLOR: #444; = FONT-SIZE: 14px; FONT-WEIGHT: bold; font-stretch: wider } A.titleArticle2:link { COLOR: #0066a7; TEXT-DECORATION: underline } A.titleArticle2:visited { COLOR: #0066a7; TEXT-DECORATION: underline } A.titleArticle2:hover { COLOR: #6e4987; TEXT-DECORATION: none } .titleArticle2a { LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Serif, Arial, Helvetica; = COLOR: #2774a2; FONT-SIZE: 18px; FONT-WEIGHT: bold } A.titleArticle2a:link { TEXT-DECORATION: none } A.titleArticle2a:visited { TEXT-DECORATION: none } A.titleArticle2a:hover { TEXT-DECORATION: underline } .titleArticle2b { LINE-HEIGHT: 20px; FONT-FAMILY: Georgia, Palatino, Serif; = LETTER-SPACING: -1px; COLOR: #444; FONT-SIZE: 20px } A.titleArticle2b:link { TEXT-DECORATION: none } A.titleArticle2b:visited { TEXT-DECORATION: none } A.titleArticle2b:hover { TEXT-DECORATION: underline } .titleArticle2c { LINE-HEIGHT: 23px; FONT-FAMILY: Georgia, Palatino, Serif; = LETTER-SPACING: -1px; COLOR: #444; FONT-SIZE: 20px } A.titleArticle2c:link { TEXT-DECORATION: none } A.titleArticle2c:visited { TEXT-DECORATION: none } A.titleArticle2c:hover { TEXT-DECORATION: underline } .titleArticle3 { LINE-HEIGHT: 1.15em; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: = #444; FONT-SIZE: 1.1em; FONT-WEIGHT: bold; font-stretch: wider } .titleSection { LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, Franklin Gothic = Medium, Verdana; COLOR: #000; FONT-SIZE: 22px; FONT-WEIGHT: bold } .headerVideo { LINE-HEIGHT: 20px; FONT-FAMILY: Franklin Gothic Medium, Verdana, Arial, = Helvetica; COLOR: #fff; FONT-SIZE: 14px; FONT-WEIGHT: bold } .smalltitleArticle { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 11px; FONT-WEIGHT: normal } A.smalltitleArticle:link { COLOR: #0066a7; TEXT-DECORATION: none } A.smalltitleArticle:visited { COLOR: #0066a7; TEXT-DECORATION: none } A.smalltitleArticle:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .button30 { BACKGROUND-IMAGE: url(/img/btn_30.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 0.8em; WIDTH: 30px; = FONT-FAMILY: Franklin Gothic Medium, Verdana, Arial, Helvetica; HEIGHT: = 18px; COLOR: #000; FONT-SIZE: 0.8em; BORDER-TOP: #dadad1 0px solid; = CURSOR: hand; FONT-WEIGHT: normal; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button30 { BACKGROUND-IMAGE: url(/img/btn_30.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 30px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button40 { BACKGROUND-IMAGE: url(/img/btn_40.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 0.8em; WIDTH: 40px; = FONT-FAMILY: Franklin Gothic Medium, Verdana, Arial, Helvetica; HEIGHT: = 18px; COLOR: #000; FONT-SIZE: 0.8em; BORDER-TOP: #dadad1 0px solid; = CURSOR: hand; FONT-WEIGHT: normal; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button40 { BACKGROUND-IMAGE: url(/img/btn_40.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 40px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button50 { BACKGROUND-IMAGE: url(/img/btn_50.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 0.8em; WIDTH: 50px; = FONT-FAMILY: Franklin Gothic Medium, Verdana, Arial, Helvetica; HEIGHT: = 18px; COLOR: #000; FONT-SIZE: 0.8em; BORDER-TOP: #dadad1 0px solid; = CURSOR: hand; FONT-WEIGHT: normal; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button50 { BACKGROUND-IMAGE: url(/img/btn_50.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 50px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button50bis { BACKGROUND-IMAGE: url(/img/btn_50.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 50px; = FONT-FAMILY: Franklin Gothic Medium, Verdana, Arial, Helvetica; HEIGHT: = 18px; COLOR: #000; FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; = CURSOR: hand; FONT-WEIGHT: normal; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button50bis { BACKGROUND-IMAGE: url(/img/btn_50.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 50px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button85 { BACKGROUND-IMAGE: url(/img/btn_85.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 85px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #000; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: hand; = BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button85 { BACKGROUND-IMAGE: url(/img/btn_85.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 85px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button85_tr { BACKGROUND-IMAGE: url(/img/btn_85_tr.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 85px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #000; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: hand; = BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button85 { BACKGROUND-IMAGE: url(/img/btn_85_tr.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 85px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button110 { BACKGROUND-IMAGE: url(/img/btn_110.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 110px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 19px; COLOR: #000; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: hand; = BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button110 { BACKGROUND-IMAGE: url(/img/btn_110.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 11px; WIDTH: 110px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 19px; COLOR: #aaa; = FONT-SIZE: 11px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .textRed { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: = #be0000; FONT-SIZE: 11px } A.textRed:link { TEXT-DECORATION: none } A.textRed:visited { TEXT-DECORATION: none } A.textRed:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .textGray { FILTER: alpha(opacity=3D40); LINE-HEIGHT: 13px; ZOOM: 1; FONT-FAMILY: = Trebuchet MS, Verdana, Arial, Helvetica; COLOR: #969696; FONT-SIZE: = 11px; PADDING-TOP: 5px; -moz-opacity: .4 } A.textGray:link { TEXT-DECORATION: none } A.textGray:visited { TEXT-DECORATION: none } A.textGray:hover { FILTER: alpha(opacity=3D100); ZOOM: 1; TEXT-DECORATION: underline; = -moz-opacity: 1 } .red { LINE-HEIGHT: 11px; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #be0000; FONT-SIZE: 11px } A.red:link { TEXT-DECORATION: none } A.red:visited { TEXT-DECORATION: none } A.red:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .image { BORDER-BOTTOM: #969696 1px solid; POSITION: relative; BORDER-LEFT: = #969696 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: #969696 1px solid; = BORDER-RIGHT: #969696 1px solid; PADDING-TOP: 0px } .imageSmall { BORDER-BOTTOM: #e6e6e6 1px solid; POSITION: relative; BORDER-LEFT: = #e6e6e6 1px solid; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #fff; MARGIN: = 0px 5px 0px 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; DISPLAY: inline; = BORDER-TOP: #e6e6e6 1px solid; BORDER-RIGHT: #e6e6e6 1px solid; = PADDING-TOP: 2px } .imagemmedia { BORDER-BOTTOM: #e6e6e6 1px solid; POSITION: relative; BORDER-LEFT: = #e6e6e6 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #fff; MARGIN: = 0px 5px 0px 0px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; DISPLAY: inline; = BORDER-TOP: #e6e6e6 1px solid; BORDER-RIGHT: #e6e6e6 1px solid; = PADDING-TOP: 4px } .imagemmedia2 { BORDER-BOTTOM: #e6e6e6 1px solid; POSITION: relative; BORDER-LEFT: = #e6e6e6 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #fff; MARGIN: = 5px 5px 20px 0px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; DISPLAY: = inline; BORDER-TOP: #e6e6e6 1px solid; BORDER-RIGHT: #e6e6e6 1px solid; = PADDING-TOP: 4px } .footer { LINE-HEIGHT: 9px; FONT-FAMILY: Sans-Serif, Arial, Helvetica; COLOR: = #323232; FONT-SIZE: 11px } A.footer:link { TEXT-DECORATION: none } A.footer:visited { TEXT-DECORATION: none } A.footer:hover { TEXT-DECORATION: underline } .footerNolink { LINE-HEIGHT: 9px; FONT-FAMILY: Sans-Serif, Arial, Helvetica; COLOR: = #323232; FONT-SIZE: 11px } A.footerNolink:link { TEXT-DECORATION: none } A.footerNolink:visited { TEXT-DECORATION: none } A.footerNolink:hover { TEXT-DECORATION: none } .white11 { LINE-HEIGHT: 11px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #fff; = FONT-SIZE: 11px } .white15 { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #fff; = FONT-SIZE: 13px; FONT-WEIGHT: bold } .version { LINE-HEIGHT: 17px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: = #646464; FONT-SIZE: 17px; FONT-WEIGHT: normal } INPUT.searchtext { BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #646464 0px solid; = LINE-HEIGHT: 12px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 100%; FONT-FAMILY: Verdana, Helvetica; COLOR: #323232; FONT-SIZE: 11px; = BORDER-TOP: #646464 1px solid; BORDER-RIGHT: #646464 0px solid } .textdrop { LINE-HEIGHT: 10px; FONT-FAMILY: Arial, Helvetica; COLOR: #000; = FONT-SIZE: 10px } SELECT.textdrop { LINE-HEIGHT: 9px; BACKGROUND-COLOR: #cdeafb; WIDTH: 160px; FONT-FAMILY: = Arial, Helvetica; COLOR: #353535; FONT-SIZE: 11px } SELECT[disabled].textdrop { LINE-HEIGHT: 5px; BACKGROUND-COLOR: #f7f7f9; WIDTH: 160px; FONT-FAMILY: = Arial, Helvetica; COLOR: #404344; FONT-SIZE: 11px } .pager { LINE-HEIGHT: 15px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000; = FONT-SIZE: 12px } A.pager:link { COLOR: #0066a7; TEXT-DECORATION: none } A.pager:visited { COLOR: #0066a7; TEXT-DECORATION: none } A.pager:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .pager2 { LINE-HEIGHT: 15px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000; = FONT-SIZE: 12px } A.pager2:link { COLOR: #36a200; TEXT-DECORATION: none } A.pager2:visited { COLOR: #36a200; TEXT-DECORATION: none } A.pager2:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .headerMultimediaV { LINE-HEIGHT: 11px; PADDING-LEFT: 5px; FONT-FAMILY: Verdana, Arial, = Helvetica; COLOR: #fff; FONT-SIZE: 11px; FONT-WEIGHT: bold } TEXTAREA.lince { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; PADDING-LEFT: 2px; FONT-FAMILY: Arial, Helvetica; = COLOR: #969696; FONT-SIZE: 11px; BORDER-TOP: #969673 1px solid; = BORDER-RIGHT: #969673 1px solid } TEXTAREA[disabled].lince { LINE-HEIGHT: 11px; PADDING-LEFT: 2px; FONT-FAMILY: Arial, Helvetica; = COLOR: #969696; FONT-SIZE: 11px } .titleMeteo { LINE-HEIGHT: normal; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #000; FONT-SIZE: 20px; font-stretch: ultra-condensed } .textMeteo { LINE-HEIGHT: 0.6em; TEXT-TRANSFORM: uppercase; FONT-FAMILY: Tahoma, = Arial, Helvetica; COLOR: #000; FONT-SIZE: 0.6em } SELECT.textMeteo { BORDER-BOTTOM: #646464 1px solid; BORDER-LEFT: #646464 1px solid; = WIDTH: 98%; BORDER-TOP: #646464 1px solid; BORDER-RIGHT: #646464 1px = solid } SELECT[disabled].textMeteo { BORDER-BOTTOM: #646464 1px solid; BORDER-LEFT: #646464 1px solid; = WIDTH: 98%; COLOR: #404344; BORDER-TOP: #646464 1px solid; BORDER-RIGHT: = #646464 1px solid } .textMeteo2 { LINE-HEIGHT: normal; TEXT-TRANSFORM: uppercase; FONT-FAMILY: Arial, = Helvetica; COLOR: #000; FONT-SIZE: 11px } INPUT.text3 { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 97%; FONT-FAMILY: Verdana, Helvetica; FONT-SIZE: 11px; BORDER-TOP: = #969673 1px solid; BORDER-RIGHT: #969673 1px solid } INPUT[disabled].text3 { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 99%; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: 11px } INPUT.text4 { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; = FONT-FAMILY: Verdana, Helvetica; FONT-SIZE: 11px; BORDER-TOP: #969673 = 1px solid; BORDER-RIGHT: #969673 1px solid } INPUT[disabled].text4 { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; WIDTH: = 99%; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: 11px } SELECT.locnews { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; PADDING-LEFT: 1px; WIDTH: 100%; FONT-FAMILY: Tahoma, = Arial, Helvetica; COLOR: #444; FONT-SIZE: 11px; BORDER-TOP: #969673 1px = solid; BORDER-RIGHT: #969673 1px solid } SELECT[disabled].locnews { LINE-HEIGHT: 11px; PADDING-LEFT: 2px; WIDTH: 100%; FONT-FAMILY: Tahoma, = Arial, Helvetica; COLOR: #888; FONT-SIZE: 11px } .text4 { LINE-HEIGHT: 12px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 12px; FONT-WEIGHT: normal; font-stretch: wider } .commenti { LINE-HEIGHT: 17px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #000; = FONT-SIZE: 12px; FONT-WEIGHT: bold } .cloudtag { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 1px; PADDING-RIGHT: = 1px; FONT-FAMILY: Franklin Gothic Medium, Tahoma; COLOR: blue; CURSOR: = pointer; PADDING-TOP: 0px } A.cloudtag:link { COLOR: #004b73; TEXT-DECORATION: none } A.cloudtag:visited { COLOR: #004b73; TEXT-DECORATION: none } A.cloudtag:hover { COLOR: #004b73; TEXT-DECORATION: underline } .cloudtagover { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #d3d8da; PADDING-LEFT: 1px; = PADDING-RIGHT: 1px; FONT-FAMILY: Franklin Gothic Medium, Tahoma; COLOR: = #fff; PADDING-TOP: 0px } A.cloudtagover:link { COLOR: #004b73; TEXT-DECORATION: none } A.cloudtagover:visited { COLOR: #004b73; TEXT-DECORATION: none } A.cloudtagover:hover { COLOR: #004b73; TEXT-DECORATION: underline } .tab { LINE-HEIGHT: 11px; PADDING-LEFT: 2px; FONT-FAMILY: Tahoma, Verdana, = Arial, Helvetica; COLOR: #000; FONT-SIZE: 9px } A.tab:link { TEXT-DECORATION: none } A.tab:visited { TEXT-DECORATION: none } A.tab:hover { BACKGROUND-COLOR: #d3d8da; COLOR: #000; TEXT-DECORATION: none } .tabselected { LINE-HEIGHT: 11px; PADDING-LEFT: 2px; FONT-FAMILY: Tahoma, Verdana, = Arial, Helvetica; COLOR: #000; FONT-SIZE: 9px } A.tabselected:link { BACKGROUND-COLOR: #467696; COLOR: #fff; FONT-WEIGHT: bold; = TEXT-DECORATION: none } A.tabselected:visited { BACKGROUND-COLOR: #467696; COLOR: #fff; FONT-WEIGHT: bold; = TEXT-DECORATION: none } A.tabselected:hover { BACKGROUND-COLOR: #d3d8da; COLOR: #000; FONT-WEIGHT: normal; = TEXT-DECORATION: none } .redLarge { LINE-HEIGHT: 15px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: = #be0000; FONT-SIZE: 15px } .googlesearch { LINE-HEIGHT: 13px; FONT-FAMILY: Trebuchet MS, Verdana, Arial, = Helvetica; COLOR: #000; FONT-SIZE: 11px } INPUT.googlesearch { BORDER-BOTTOM: #969673 1px solid; BORDER-LEFT: #969673 1px solid; = LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; = FONT-FAMILY: Verdana, Helvetica; FONT-SIZE: 11px; BORDER-TOP: #969673 = 1px solid; BORDER-RIGHT: #969673 1px solid } INPUT[disabled].googlesearch { LINE-HEIGHT: 11px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 2px; = FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #888; FONT-SIZE: 11px } .sepline { DISPLAY: block; BORDER-TOP: #e6e6e6 1px solid } .pagegrid { LINE-HEIGHT: 22px; FONT-FAMILY: Tahoma, Verdana, Arial, Helvetica; = COLOR: #444; FONT-SIZE: 11px; FONT-WEIGHT: normal } A.pagegrid:link { BACKGROUND-IMAGE: url(/img/page_off.gif); DISPLAY: block; = BACKGROUND-REPEAT: no-repeat; TEXT-DECORATION: none } A.pagegrid:visited { BACKGROUND-IMAGE: url(/img/page_off.gif); DISPLAY: block; = BACKGROUND-REPEAT: no-repeat; TEXT-DECORATION: none } A.pagegrid:hover { BACKGROUND-IMAGE: url(/img/page_off.gif); DISPLAY: block; = BACKGROUND-REPEAT: no-repeat; COLOR: #6e4987; TEXT-DECORATION: underline } SPAN.pagegrid { BACKGROUND-IMAGE: url(/img/page_on.gif); DISPLAY: block; = BACKGROUND-REPEAT: no-repeat; FONT-WEIGHT: bold; TEXT-DECORATION: none } .headerMultimedia { LINE-HEIGHT: 11px; PADDING-LEFT: 5px; FONT-FAMILY: Verdana, Arial, = Helvetica; COLOR: #444; FONT-SIZE: 11px; FONT-WEIGHT: normal } A.headerMultimedia:link { TEXT-DECORATION: none } A.headerMultimedia:visited { TEXT-DECORATION: none } A.headerMultimedia:hover { COLOR: #f00; TEXT-DECORATION: underline } SPAN.headerMultimedia { BACKGROUND-IMAGE: url(/img/square_on.gif); PADDING-LEFT: 3px; = PADDING-RIGHT: 3px; BACKGROUND-REPEAT: no-repeat; COLOR: #467c96; = TEXT-DECORATION: none } .pagegridAlt { LINE-HEIGHT: 22px; FONT-FAMILY: Tahoma, Verdana, Arial, Helvetica; = COLOR: #444; FONT-SIZE: 11px; FONT-WEIGHT: normal } A.pagegridAlt:link { BACKGROUND-IMAGE: url(/img/page_off.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = TEXT-DECORATION: none; PADDING-TOP: 4px } A.pagegridAlt:visited { BACKGROUND-IMAGE: url(/img/page_off.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = TEXT-DECORATION: none; PADDING-TOP: 4px } A.pagegridAlt:hover { BACKGROUND-IMAGE: url(/img/page_off.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = COLOR: #6e4987; TEXT-DECORATION: underline; PADDING-TOP: 4px } SPAN.pagegridAlt { BACKGROUND-IMAGE: url(/img/page_on.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 4px } .pagegridAlt10 { LINE-HEIGHT: 22px; FONT-FAMILY: Tahoma, Verdana, Arial, Helvetica; = COLOR: #444; FONT-SIZE: 11px; FONT-WEIGHT: normal } A.pagegridAlt10:link { BACKGROUND-IMAGE: url(/img/page_off.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 4px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = TEXT-DECORATION: none; PADDING-TOP: 4px } A.pagegridAlt10:visited { BACKGROUND-IMAGE: url(/img/page_off.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 4px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = TEXT-DECORATION: none; PADDING-TOP: 4px } A.pagegridAlt10:hover { BACKGROUND-IMAGE: url(/img/page_off.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 4px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = COLOR: #6e4987; TEXT-DECORATION: underline; PADDING-TOP: 4px } SPAN.pagegridAlt10 { BACKGROUND-IMAGE: url(/img/page_on.gif); PADDING-BOTTOM: 4px; = PADDING-LEFT: 4px; PADDING-RIGHT: 8px; BACKGROUND-REPEAT: no-repeat; = FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 4px } .sectiongrid { BORDER-LEFT: #e6e6e6 1px solid; BORDER-TOP: #cdcdcd 1px solid } .socialmenu { BACKGROUND-IMAGE: url(/img/bck_content_x.jpg); BACKGROUND-REPEAT: = repeat-x; TOP: 0px } .maintable { BACKGROUND-IMAGE: url(/img/bckg_table.jpg); BACKGROUND-REPEAT: = repeat-x; TOP: 0px } .s_menu { TEXT-ALIGN: center; LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; = COLOR: #fff; FONT-SIZE: 11px; FONT-WEIGHT: bold } A.s_menu:link { TEXT-DECORATION: none } A.s_menu:visited { TEXT-DECORATION: none } A.s_menu:hover { TEXT-DECORATION: underline } .s_menuselected { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: #c9e2e7; = FONT-SIZE: 11px; FONT-WEIGHT: bold } A.s_menuselected:link { TEXT-DECORATION: none } A.s_menuselected:visited { TEXT-DECORATION: none } A.s_menuselected:hover { BACKGROUND-IMAGE: url(/img/s_menu_arrow.gif); BACKGROUND-REPEAT: = no-repeat; COLOR: #fff; TEXT-DECORATION: none } .s_submenu { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: #999; = FONT-SIZE: 11px; FONT-WEIGHT: bold } A.s_submenu:link { TEXT-DECORATION: none } A.s_submenu:visited { TEXT-DECORATION: none } A.s_menu:hover { TEXT-DECORATION: underline } .s_submenuselected { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: #26709c; = FONT-SIZE: 11px; FONT-WEIGHT: bold } A.s_submenuselected:link { TEXT-DECORATION: none } A.s_submenuselected:visited { TEXT-DECORATION: none } A.s_submenuselected:hover { TEXT-DECORATION: underline } .tab_on { LINE-HEIGHT: 32px; FONT-FAMILY: Trebuchet MS, Arial, Helvetica; COLOR: = #000; FONT-SIZE: 13px; FONT-WEIGHT: bold } .tab_off { LINE-HEIGHT: 32px; FONT-FAMILY: Trebuchet MS, Arial, Helvetica; COLOR: = #888; FONT-SIZE: 13px; FONT-WEIGHT: bold } .category { LINE-HEIGHT: 32px; FONT-FAMILY: Arial, Helvetica; COLOR: #444; = FONT-SIZE: 25px; FONT-WEIGHT: normal } .s_title { LINE-HEIGHT: 25px; FONT-FAMILY: Arial, Helvetica; COLOR: #eb7d00; = FONT-SIZE: 20px; FONT-WEIGHT: normal } .s_titleviolet { LINE-HEIGHT: 20px; FONT-FAMILY: Arial, Helvetica; COLOR: #ad7cad; = FONT-SIZE: 16px; FONT-WEIGHT: normal } .s_titlearticle { LINE-HEIGHT: 1.3em; FONT-FAMILY: Arial; COLOR: #444; FONT-SIZE: 16px; = FONT-WEIGHT: bold; font-stretch: wider } A.s_titlearticle:link { COLOR: #0066a7; TEXT-DECORATION: underline } A.s_titlearticle:visited { COLOR: #0066a7; TEXT-DECORATION: underline } A.s_titlearticle:hover { COLOR: #6e4987; TEXT-DECORATION: none } .s_textgray { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: #969696; = FONT-SIZE: 11px } A.s_textgray:link { TEXT-DECORATION: underline } A.s_textgray:visited { TEXT-DECORATION: underline } A.s_textgray:hover { COLOR: #646464; TEXT-DECORATION: none } .s_textsky { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: #4d84a7; = FONT-SIZE: 11px } A.s_textsky:link { TEXT-DECORATION: underline } A.s_textsky:visited { TEXT-DECORATION: underline } A.s_textsky:hover { TEXT-DECORATION: none } .s_textviolet { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = #ad7cad; FONT-SIZE: 12px } A.s_textviolet:link { TEXT-DECORATION: underline } A.s_textviolet:visited { TEXT-DECORATION: underline } A.s_textviolet:hover { TEXT-DECORATION: none } .s_textred { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: #960000; = FONT-SIZE: 11px } .s_textred_large { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = #960000; FONT-SIZE: 12px } .s_textgreen { LINE-HEIGHT: 11px; FONT-FAMILY: Arial, Helvetica; COLOR: green; = FONT-SIZE: 11px } .s_textgreen_large { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = green; FONT-SIZE: 12px } .s_border0 { BORDER-BOTTOM: #969696 1px solid; POSITION: relative; BORDER-LEFT: = #969696 1px solid; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: #969696 1px solid; = BORDER-RIGHT: #969696 1px solid; PADDING-TOP: 0px } .fieldset_border { BORDER-BOTTOM: #9eb0b9 1px solid; BORDER-LEFT: #9eb0b9 1px solid; = PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: = 20px; BORDER-TOP: #9eb0b9 1px solid; BORDER-RIGHT: #9eb0b9 1px solid; = PADDING-TOP: 20px } .fieldset_noborder { BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; PADDING-BOTTOM: 20px; = MARGIN: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; BORDER-TOP: 0px = solid; BORDER-RIGHT: 0px solid; PADDING-TOP: 20px } .s_text { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = #444; FONT-SIZE: 12px } A.s_text:link { COLOR: #0066a7; TEXT-DECORATION: underline } A.s_text:visited { COLOR: #0066a7; TEXT-DECORATION: underline } A.s_text:hover { COLOR: #6e4987; TEXT-DECORATION: none } .s_text_footer { LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, Helvetica; COLOR: #444; = FONT-SIZE: 11px } A.s_text_footer:link { COLOR: #0066a7; TEXT-DECORATION: none } A.s_text_footer:visited { COLOR: #0066a7; TEXT-DECORATION: none } A.s_text_footer:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .s_textlarge { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = #444; FONT-SIZE: 14px } A.s_textlarge:link { COLOR: #0066a7; TEXT-DECORATION: underline } A.s_textlarge:visited { COLOR: #0066a7; TEXT-DECORATION: underline } A.s_textlarge:hover { COLOR: #6e4987; TEXT-DECORATION: none } .s_textlargegray { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = #999; FONT-SIZE: 14px } .s_textvote { LINE-HEIGHT: 16px; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: = #777; FONT-SIZE: 16px } UL.list { MARGIN: 0px; PADDING-LEFT: 15px; PADDING-TOP: 10px } LI.list { MARGIN: 0px; PADDING-TOP: 5px } INPUT.form { BACKGROUND-IMAGE: url(/img/bckg_input.jpg); BORDER-BOTTOM: #928e6f 1px = solid; BORDER-LEFT: #928e6f 1px solid; LINE-HEIGHT: 14px; PADDING-LEFT: = 2px; WIDTH: 99%; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Sans Serif, = Arial, Helvetica; HEIGHT: 20px; COLOR: #444; FONT-SIZE: 14px; = BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px solid } INPUT[disabled].form { BACKGROUND-IMAGE: url(/img/bckg_input.jpg); LINE-HEIGHT: 14px; = PADDING-LEFT: 2px; WIDTH: 99%; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: = Sans Serif, Arial, Helvetica; COLOR: #999; FONT-SIZE: 14px } INPUT.formwhite { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = LINE-HEIGHT: 14px; PADDING-LEFT: 2px; WIDTH: 99%; FONT-FAMILY: Sans = Serif, Arial, Helvetica; HEIGHT: 20px; COLOR: #444; FONT-SIZE: 14px; = BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px solid } INPUT[disabled].formwhite { LINE-HEIGHT: 14px; PADDING-LEFT: 2px; WIDTH: 99%; FONT-FAMILY: Sans = Serif, Arial, Helvetica; COLOR: #999; FONT-SIZE: 14px } .s_textsearch { LINE-HEIGHT: 11px; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 11px } INPUT.s_textsearch { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = PADDING-LEFT: 2px; WIDTH: 170px; BORDER-TOP: #928e6f 1px solid; = BORDER-RIGHT: #928e6f 1px solid } INPUT[disabled].s_textsearch { PADDING-LEFT: 2px; COLOR: #999 } SELECT.s_textsearch { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = WIDTH: 175px; BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px = solid } SELECT[disabled].s_textsearch { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = COLOR: #404344; BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px = solid } TEXTAREA.form { BACKGROUND-IMAGE: url(/img/bckg_textarea.jpg); BORDER-BOTTOM: #928e6f = 1px solid; BORDER-LEFT: #928e6f 1px solid; LINE-HEIGHT: 14px; = PADDING-LEFT: 2px; WIDTH: 99%; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: = Sans Serif, Arial, Helvetica; COLOR: #444; FONT-SIZE: 14px; BORDER-TOP: = #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px solid } TEXTAREA[disabled].form { BACKGROUND-IMAGE: url(/img/bckg_textarea.jpg); LINE-HEIGHT: 14px; = PADDING-LEFT: 2px; WIDTH: 99%; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: = Sans Serif, Arial, Helvetica; COLOR: #999; FONT-SIZE: 14px } TEXTAREA.formgray { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = LINE-HEIGHT: 14px; BACKGROUND-COLOR: #f0f0f0; PADDING-LEFT: 2px; WIDTH: = 99%; FONT-FAMILY: Sans Serif, Arial, Helvetica; COLOR: #999; FONT-SIZE: = 14px; BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px solid } TEXTAREA[disabled].formgray { BACKGROUND-IMAGE: url(/img/bckg_textarea.jpg); LINE-HEIGHT: 14px; = PADDING-LEFT: 2px; WIDTH: 99%; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: = Sans Serif, Arial, Helvetica; COLOR: #999; FONT-SIZE: 14px } .button200 { BACKGROUND-IMAGE: url(/img/btn_200.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 14px; WIDTH: 200px; = FONT-FAMILY: Sans Serif, Arial, Helvetica; LETTER-SPACING: 1px; HEIGHT: = 25px; COLOR: #444; FONT-SIZE: 14px; BORDER-TOP: #dadad1 0px solid; = CURSOR: hand; FONT-WEIGHT: normal; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button200 { BACKGROUND-IMAGE: url(/img/btn_200.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 14px; WIDTH: 200px; = FONT-FAMILY: Sans Serif, Arial, Helvetica; HEIGHT: 25px; COLOR: #999; = FONT-SIZE: 14px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .button200bold { BACKGROUND-IMAGE: url(/img/btn_200.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 14px; WIDTH: 200px; = FONT-FAMILY: Sans Serif, Arial, Helvetica; HEIGHT: 25px; COLOR: #444; = FONT-SIZE: 14px; BORDER-TOP: #dadad1 0px solid; CURSOR: hand; = FONT-WEIGHT: bold; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button200bold { BACKGROUND-IMAGE: url(/img/btn_200.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 14px; WIDTH: 200px; = FONT-FAMILY: Sans Serif, Arial, Helvetica; HEIGHT: 25px; COLOR: #999; = FONT-SIZE: 14px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .s_button50 { BACKGROUND-IMAGE: url(/img/btn_50.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 0.7em; WIDTH: 50px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #000; = FONT-SIZE: 0.7em; BORDER-TOP: #dadad1 0px solid; CURSOR: hand; = FONT-WEIGHT: normal; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].s_button50 { BACKGROUND-IMAGE: url(/img/btn_50.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 0.7em; WIDTH: 50px; = FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 18px; COLOR: #aaa; = FONT-SIZE: 0.7em; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } .dlitem { PADDING-RIGHT: 5px; BORDER-RIGHT: #e6e6e6 1px solid } .infobox { LINE-HEIGHT: 12px; FONT-FAMILY: Verdana, Arial, Helvetica; COLOR: #444; = FONT-SIZE: 11px } A.infobox:link { TEXT-DECORATION: none } A.infobox:visited { TEXT-DECORATION: none } A.infobox:hover { COLOR: #6e4987; TEXT-DECORATION: underline } .infobox_vote { LINE-HEIGHT: 15px; FONT-FAMILY: Georgia, Palatino, Serif; COLOR: = #0066a7; FONT-SIZE: 15px; FONT-WEIGHT: bold } A.infobox_vote:link { TEXT-DECORATION: none } A.infobox_vote:visited { TEXT-DECORATION: none } A.infobox_vote:hover { TEXT-DECORATION: underline } .s_titlearticlea { LINE-HEIGHT: 15px; FONT-VARIANT: small-caps; FONT-FAMILY: Georgia, = Palatino, Serif; COLOR: #444; FONT-SIZE: 15px; FONT-WEIGHT: bold } A.s_titlearticlea:link { TEXT-DECORATION: none } A.s_titlearticlea:visited { TEXT-DECORATION: none } A.s_titlearticlea:hover { TEXT-DECORATION: underline } .s_titlearticleb { LINE-HEIGHT: 15px; FONT-VARIANT: small-caps; FONT-FAMILY: Verdana, = Arial, Sans-Serif; COLOR: #0066a7; FONT-SIZE: 15px; FONT-WEIGHT: bold } A.s_titlearticleb:link { TEXT-DECORATION: none } A.s_titlearticleb:visited { TEXT-DECORATION: none } A.s_titlearticleb:hover { TEXT-DECORATION: underline } .prbox { LINE-HEIGHT: 12px; FONT-STYLE: italic; FONT-FAMILY: Georgia, Palatino, = Serif; COLOR: #444; FONT-SIZE: 12px } A.prbox:link { TEXT-DECORATION: none } A.prbox:visited { TEXT-DECORATION: none } A.prbox:hover { TEXT-DECORATION: underline } .blur IMG { FILTER: alpha(opacity=3D40); -moz-opacity: .4 } .s_select { LINE-HEIGHT: 10px; FONT-FAMILY: Arial, Helvetica; COLOR: #222; = FONT-SIZE: 12px } INPUT.s_select { BACKGROUND-IMAGE: url(/img/bckg_input.jpg); BORDER-BOTTOM: #928e6f 1px = solid; BORDER-LEFT: #928e6f 1px solid; PADDING-LEFT: 2px; = BACKGROUND-REPEAT: repeat-x; BORDER-TOP: #928e6f 1px solid; = BORDER-RIGHT: #928e6f 1px solid } INPUT[disabled].s_select { PADDING-LEFT: 2px; COLOR: #999 } SELECT.s_select { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px solid } SELECT[disabled].s_select { BORDER-BOTTOM: #928e6f 1px solid; BORDER-LEFT: #928e6f 1px solid; = COLOR: #404344; BORDER-TOP: #928e6f 1px solid; BORDER-RIGHT: #928e6f 1px = solid } .mmediaTitle { LINE-HEIGHT: 10px; FONT-FAMILY: Verdana, Arial, Sans-Serif; COLOR: = #0066a7; FONT-SIZE: 10px } A.mmediaTitle:link { COLOR: #0066a7; TEXT-DECORATION: none } A.mmediaTitle:visited { COLOR: #0066a7; TEXT-DECORATION: none } A.mmediaTitle:hover { COLOR: #0066a7; TEXT-DECORATION: none } .header { LINE-HEIGHT: normal; FONT-FAMILY: Arial, Sans-Serif; COLOR: #000; = FONT-SIZE: 16px; FONT-WEIGHT: bold } .titleArticle4 { LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Serif, Arial, Helvetica; = COLOR: #000; FONT-SIZE: 12px } A.titleArticle4:link { COLOR: #2774a2; TEXT-DECORATION: none } A.titleArticle4:visited { COLOR: #2774a2; TEXT-DECORATION: none } A.titleArticle4:hover { COLOR: #2774a2; TEXT-DECORATION: underline } .miainfoAd { LINE-HEIGHT: 13px; FONT-FAMILY: Verdana, Arial, Serif; COLOR: #000; = FONT-SIZE: 13px } A.miainfoAd:link { TEXT-DECORATION: none } A.miainfoAd:visited { TEXT-DECORATION: none } A.miainfoAd:hover { TEXT-DECORATION: underline } .s_textorange_extralarge { LINE-HEIGHT: 18px; FONT-FAMILY: Arial, Helvetica, Sans Serif; COLOR: = #e45b00; FONT-SIZE: 16px; FONT-WEIGHT: bold } A.s_textorange_extralarge:link { TEXT-DECORATION: none } A.s_textorange_extralarge:visited { TEXT-DECORATION: none } A.s_textorange_extralarge:hover { TEXT-DECORATION: underline } .sitiAmici { LINE-HEIGHT: normal; FONT-FAMILY: Franklin Gothic Medium, Tahoma; = COLOR: #000; FONT-SIZE: 13px; FONT-WEIGHT: normal } A.sitiAmici:link { COLOR: #004b73; TEXT-DECORATION: none } A.sitiAmici:visited { COLOR: #004b73; TEXT-DECORATION: none } A.sitiAmici:hover { COLOR: #004b73; TEXT-DECORATION: underline } .fieldset_border { BORDER-BOTTOM: #9eb0b9 1px solid; BORDER-LEFT: #9eb0b9 1px solid; = PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: = 20px; BORDER-TOP: #9eb0b9 1px solid; BORDER-RIGHT: #9eb0b9 1px solid; = PADDING-TOP: 20px } .button200bold { BACKGROUND-IMAGE: url(/img/btn_200.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 14px; WIDTH: 200px; = FONT-FAMILY: Sans Serif, Arial, Helvetica; HEIGHT: 25px; COLOR: #444; = FONT-SIZE: 14px; BORDER-TOP: #dadad1 0px solid; CURSOR: hand; = FONT-WEIGHT: bold; BORDER-RIGHT: #dadad1 0px solid } INPUT[disabled].button200bold { BACKGROUND-IMAGE: url(/img/btn_200.gif); BORDER-BOTTOM: #dadad1 0px = solid; BORDER-LEFT: #dadad1 0px solid; LINE-HEIGHT: 14px; WIDTH: 200px; = FONT-FAMILY: Sans Serif, Arial, Helvetica; HEIGHT: 25px; COLOR: #999; = FONT-SIZE: 14px; BORDER-TOP: #dadad1 0px solid; CURSOR: pointer; = BORDER-RIGHT: #dadad1 0px solid } ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/WebResource.axd?d=8BC7t47QKjRm-0j-zTRzRvySaKgwYX4A2FUBzWa4KxXQhfigIERJE9KxtKfRhIwD59LdQvdpTr6r17v-Fbgc0g2&t=633986403135993750 .ajax__calendar_container { POSITION: absolute; TEXT-ALIGN: center; PADDING-BOTTOM: 4px; = PADDING-LEFT: 4px; WIDTH: 170px; PADDING-RIGHT: 4px; FONT-FAMILY: = tahoma, verdana, helvetica; FONT-SIZE: 11px; CURSOR: default; = PADDING-TOP: 4px } .ajax__calendar_body { POSITION: relative; MARGIN: auto; WIDTH: 170px; HEIGHT: 139px; = OVERFLOW: hidden } .ajax__calendar_days { POSITION: absolute; TEXT-ALIGN: center; MARGIN: auto; WIDTH: 170px; = HEIGHT: 139px; TOP: 0px; LEFT: 0px } .ajax__calendar_months { POSITION: absolute; TEXT-ALIGN: center; MARGIN: auto; WIDTH: 170px; = HEIGHT: 139px; TOP: 0px; LEFT: 0px } .ajax__calendar_years { POSITION: absolute; TEXT-ALIGN: center; MARGIN: auto; WIDTH: 170px; = HEIGHT: 139px; TOP: 0px; LEFT: 0px } .ajax__calendar_container TABLE { FONT-SIZE: 11px } .ajax__calendar_header { WIDTH: 100%; HEIGHT: 20px } .ajax__calendar_prev { BACKGROUND-IMAGE: = url(WebResource.axd?d=3D8BC7t47QKjRm-0j-zTRzRvySaKgwYX4A2FUBzWa4KxXQhfigI= ERJE9KxtKfRhIwDz8OvXrCXrWXF6BSE1qvwAQ2&t=3D633986403135993750); WIDTH: = 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 50% 50%; FLOAT: = left; HEIGHT: 15px; CURSOR: pointer } .ajax__calendar_next { BACKGROUND-IMAGE: = url(WebResource.axd?d=3D8BC7t47QKjRm-0j-zTRzRvySaKgwYX4A2FUBzWa4KxXQhfigI= ERJE9KxtKfRhIwDNjlH5fslHCz44IxMgiHPDQ2&t=3D633986403135993750); WIDTH: = 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 50% 50%; FLOAT: = right; HEIGHT: 15px; CURSOR: pointer } .ajax__calendar_title { CURSOR: pointer; FONT-WEIGHT: bold } .ajax__calendar_footer { HEIGHT: 15px } .ajax__calendar_today { CURSOR: pointer; PADDING-TOP: 3px } .ajax__calendar_dayname { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; WIDTH: 17px; = PADDING-RIGHT: 2px; HEIGHT: 17px; PADDING-TOP: 0px } .ajax__calendar_day { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; WIDTH: 18px; = PADDING-RIGHT: 2px; HEIGHT: 17px; CURSOR: pointer; PADDING-TOP: 0px } .ajax__calendar_month { TEXT-ALIGN: center; WIDTH: 40px; HEIGHT: 44px; OVERFLOW: hidden; = CURSOR: pointer } .ajax__calendar_year { TEXT-ALIGN: center; WIDTH: 40px; HEIGHT: 44px; OVERFLOW: hidden; = CURSOR: pointer } .ajax__calendar .ajax__calendar_container { BORDER-BOTTOM: #646464 1px solid; BORDER-LEFT: #646464 1px solid; = BACKGROUND-COLOR: #ffffff; COLOR: #000000; BORDER-TOP: #646464 1px = solid; BORDER-RIGHT: #646464 1px solid } .ajax__calendar .ajax__calendar_footer { BORDER-TOP: #f5f5f5 1px solid } .ajax__calendar .ajax__calendar_dayname { BORDER-BOTTOM: #f5f5f5 1px solid } .ajax__calendar .ajax__calendar_day { BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; = BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid } .ajax__calendar .ajax__calendar_month { BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; = BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid } .ajax__calendar .ajax__calendar_year { BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; = BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid } .ajax__calendar .ajax__calendar_active .ajax__calendar_day { BORDER-BOTTOM-COLOR: #0066cc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #0066cc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #0066cc; = BORDER-LEFT-COLOR: #0066cc } .ajax__calendar .ajax__calendar_active .ajax__calendar_month { BORDER-BOTTOM-COLOR: #0066cc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #0066cc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #0066cc; = BORDER-LEFT-COLOR: #0066cc } .ajax__calendar .ajax__calendar_active .ajax__calendar_year { BORDER-BOTTOM-COLOR: #0066cc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #0066cc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #0066cc; = BORDER-LEFT-COLOR: #0066cc } .ajax__calendar .ajax__calendar_other .ajax__calendar_day { BORDER-BOTTOM-COLOR: #ffffff; BACKGROUND-COLOR: #ffffff; = BORDER-TOP-COLOR: #ffffff; COLOR: #646464; BORDER-RIGHT-COLOR: #ffffff; = BORDER-LEFT-COLOR: #ffffff } .ajax__calendar .ajax__calendar_other .ajax__calendar_year { BORDER-BOTTOM-COLOR: #ffffff; BACKGROUND-COLOR: #ffffff; = BORDER-TOP-COLOR: #ffffff; COLOR: #646464; BORDER-RIGHT-COLOR: #ffffff; = BORDER-LEFT-COLOR: #ffffff } .ajax__calendar .ajax__calendar_hover .ajax__calendar_day { BORDER-BOTTOM-COLOR: #daf2fc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #daf2fc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #daf2fc; = BORDER-LEFT-COLOR: #daf2fc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_month { BORDER-BOTTOM-COLOR: #daf2fc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #daf2fc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #daf2fc; = BORDER-LEFT-COLOR: #daf2fc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_year { BORDER-BOTTOM-COLOR: #daf2fc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #daf2fc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #daf2fc; = BORDER-LEFT-COLOR: #daf2fc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_title { COLOR: #0066cc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_today { COLOR: #0066cc } ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/WebResource.axd?d=8BC7t47QKjRm-0j-zTRzRvySaKgwYX4A2FUBzWa4KxXQhfigIERJE9KxtKfRhIwD59LdQvdpTr6r17v-Fbgc0g2&t=633986403135993750 .ajax__calendar_container { POSITION: absolute; TEXT-ALIGN: center; PADDING-BOTTOM: 4px; = PADDING-LEFT: 4px; WIDTH: 170px; PADDING-RIGHT: 4px; FONT-FAMILY: = tahoma, verdana, helvetica; FONT-SIZE: 11px; CURSOR: default; = PADDING-TOP: 4px } .ajax__calendar_body { POSITION: relative; MARGIN: auto; WIDTH: 170px; HEIGHT: 139px; = OVERFLOW: hidden } .ajax__calendar_days { POSITION: absolute; TEXT-ALIGN: center; MARGIN: auto; WIDTH: 170px; = HEIGHT: 139px; TOP: 0px; LEFT: 0px } .ajax__calendar_months { POSITION: absolute; TEXT-ALIGN: center; MARGIN: auto; WIDTH: 170px; = HEIGHT: 139px; TOP: 0px; LEFT: 0px } .ajax__calendar_years { POSITION: absolute; TEXT-ALIGN: center; MARGIN: auto; WIDTH: 170px; = HEIGHT: 139px; TOP: 0px; LEFT: 0px } .ajax__calendar_container TABLE { FONT-SIZE: 11px } .ajax__calendar_header { WIDTH: 100%; HEIGHT: 20px } .ajax__calendar_prev { BACKGROUND-IMAGE: = url(WebResource.axd?d=3D8BC7t47QKjRm-0j-zTRzRvySaKgwYX4A2FUBzWa4KxXQhfigI= ERJE9KxtKfRhIwDz8OvXrCXrWXF6BSE1qvwAQ2&t=3D633986403135993750); WIDTH: = 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 50% 50%; FLOAT: = left; HEIGHT: 15px; CURSOR: pointer } .ajax__calendar_next { BACKGROUND-IMAGE: = url(WebResource.axd?d=3D8BC7t47QKjRm-0j-zTRzRvySaKgwYX4A2FUBzWa4KxXQhfigI= ERJE9KxtKfRhIwDNjlH5fslHCz44IxMgiHPDQ2&t=3D633986403135993750); WIDTH: = 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 50% 50%; FLOAT: = right; HEIGHT: 15px; CURSOR: pointer } .ajax__calendar_title { CURSOR: pointer; FONT-WEIGHT: bold } .ajax__calendar_footer { HEIGHT: 15px } .ajax__calendar_today { CURSOR: pointer; PADDING-TOP: 3px } .ajax__calendar_dayname { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; WIDTH: 17px; = PADDING-RIGHT: 2px; HEIGHT: 17px; PADDING-TOP: 0px } .ajax__calendar_day { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; WIDTH: 18px; = PADDING-RIGHT: 2px; HEIGHT: 17px; CURSOR: pointer; PADDING-TOP: 0px } .ajax__calendar_month { TEXT-ALIGN: center; WIDTH: 40px; HEIGHT: 44px; OVERFLOW: hidden; = CURSOR: pointer } .ajax__calendar_year { TEXT-ALIGN: center; WIDTH: 40px; HEIGHT: 44px; OVERFLOW: hidden; = CURSOR: pointer } .ajax__calendar .ajax__calendar_container { BORDER-BOTTOM: #646464 1px solid; BORDER-LEFT: #646464 1px solid; = BACKGROUND-COLOR: #ffffff; COLOR: #000000; BORDER-TOP: #646464 1px = solid; BORDER-RIGHT: #646464 1px solid } .ajax__calendar .ajax__calendar_footer { BORDER-TOP: #f5f5f5 1px solid } .ajax__calendar .ajax__calendar_dayname { BORDER-BOTTOM: #f5f5f5 1px solid } .ajax__calendar .ajax__calendar_day { BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; = BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid } .ajax__calendar .ajax__calendar_month { BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; = BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid } .ajax__calendar .ajax__calendar_year { BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; = BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid } .ajax__calendar .ajax__calendar_active .ajax__calendar_day { BORDER-BOTTOM-COLOR: #0066cc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #0066cc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #0066cc; = BORDER-LEFT-COLOR: #0066cc } .ajax__calendar .ajax__calendar_active .ajax__calendar_month { BORDER-BOTTOM-COLOR: #0066cc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #0066cc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #0066cc; = BORDER-LEFT-COLOR: #0066cc } .ajax__calendar .ajax__calendar_active .ajax__calendar_year { BORDER-BOTTOM-COLOR: #0066cc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #0066cc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #0066cc; = BORDER-LEFT-COLOR: #0066cc } .ajax__calendar .ajax__calendar_other .ajax__calendar_day { BORDER-BOTTOM-COLOR: #ffffff; BACKGROUND-COLOR: #ffffff; = BORDER-TOP-COLOR: #ffffff; COLOR: #646464; BORDER-RIGHT-COLOR: #ffffff; = BORDER-LEFT-COLOR: #ffffff } .ajax__calendar .ajax__calendar_other .ajax__calendar_year { BORDER-BOTTOM-COLOR: #ffffff; BACKGROUND-COLOR: #ffffff; = BORDER-TOP-COLOR: #ffffff; COLOR: #646464; BORDER-RIGHT-COLOR: #ffffff; = BORDER-LEFT-COLOR: #ffffff } .ajax__calendar .ajax__calendar_hover .ajax__calendar_day { BORDER-BOTTOM-COLOR: #daf2fc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #daf2fc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #daf2fc; = BORDER-LEFT-COLOR: #daf2fc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_month { BORDER-BOTTOM-COLOR: #daf2fc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #daf2fc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #daf2fc; = BORDER-LEFT-COLOR: #daf2fc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_year { BORDER-BOTTOM-COLOR: #daf2fc; BACKGROUND-COLOR: #edf9ff; = BORDER-TOP-COLOR: #daf2fc; COLOR: #0066cc; BORDER-RIGHT-COLOR: #daf2fc; = BORDER-LEFT-COLOR: #daf2fc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_title { COLOR: #0066cc } .ajax__calendar .ajax__calendar_hover .ajax__calendar_today { COLOR: #0066cc } ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://rd.adlink.net/it/ad/informazione.it/ros;sz=728x90;tile=1;ord=650905697226? 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 ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0041_01CA945B.973EF1E0" ------=_NextPart_001_0041_01CA945B.973EF1E0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/pressreleasepub.aspx?prid=331f33d7-2582-472b-8110-e0c9312b4bcc =EF=BB=BF Una piacevole = serata con gli Ospiti della RSA di Montesilvano
=
=20
Comunicati Stampa
INFORMAZIONE.IT COMUNICATI=20 STAMPA FAI = INFORMAZIONE MIA = INFORMAZIONE
 Utente: Anonimo
PRIMA=20 PAGINA ELENCO=20 COMUNICATI CREA = NUOVO=20 ACCOUNT INSERISCI=20 COMUNICATO PANNELLO = DI=20 CONTROLLO MODIFICA=20 PASSWORD
=
           =20  
Se trovi interessante questo = comunicato, puoi=20 contribuire alla sua diffusione o essere informato su nuovi=20 inserimenti dello stesso autore, utilizzando uno dei link=20 soprastanti. Se vuoi pubblicare i comunicati di = Informazione.it, fai=20 un click su i Comunicati=20 Stampa sul tuo Sito

Una piacevole serata con gli Ospiti = della RSA=20 di Montesilvano
Domenica 10=20 gennaio 2010 presso la RSA Santa Maria Ausiliatrice di = Montesilvano=20 (Pe), si =C3=A8 tenuto l=E2=80=99annunciato "Concerto per il = nuovo anno"=20 organizzato dall=E2=80=99Associazione ASSO-Onlus con il Coro = "Moti Armonici"=20 diretto dalla Prof.ssa Maria Gabriella = CIAFFARINI
=
PESCARA, 13/01/2010 (informazione.it - comunicati stampa) La = serata =C3=A8=20 stata un successo ed ha visto coinvolti non solo gli Ospiti = della=20 struttura ma gli stessi organizzatori.
Grazie alla = disponibilit=C3=A0=20 manifestata ed alle sinergie della Propriet=C3=A0 e della = Direzione della=20 RSA, dell=E2=80=99Associazione ASSO-Onlus ma, soprattutto, = dei componenti il=20 Coro =E2=80=9CMoti Armonici=E2=80=9D =C3=A8 stata una serata = con gli Ospiti della RSA pi=C3=B9=20 che una serata per gli Ospiti della Residenza. =
L=E2=80=99evento era=20 stata organizzato per =E2=80=9Ciniziare=E2=80=9D il nuovo = anno di attivit=C3=A0 di=20 Assistenza della Associazione ASSO-Onlus con = l=E2=80=99offrire alcune ore di=20 pura spensieratezza e di piacevole compagnia a coloro che = sono=20 ospiti nella RSA, dove sono presenti anche gli anziani della = Casa di=20 Riposo comunale di Pescara.
Alla serata ha preso parte = anche=20 l'Assessore comunale di Pescara alle Politiche Sociali Guido = CEROLINI FORLINI che si =C3=A8 intrattenuto con gli Ospiti = sino alla=20 conclusione della iniziativa. Erano presenti oltre i = residenti della=20 RSA, anche parenti e familiari che hanno affollato la sala. =
Dopo=20 una breve presentazione del Presidente = dell=E2=80=99Associazione ASSO-Onlus=20 Muni CYTRON, vi =C3=A8 stato il saluto = dell=E2=80=99Assessore e poi la Direttrice=20 del Coro ha presentato il programma della serata.
Dopo i = primi=20 brani i partecipanti hanno pienamente apprezzato le doti = artistiche=20 e musicali del Coro "Moti Armonici" sottolineando con = calorosi=20 applausi le esibizioni, tra gli altri, della solista Sara = SIDONIO,=20 di Mario SCARPONI e del chitarrista Fabrizio STELLA. = Particolarmente=20 apprezzati i brani =E2=80=9CNanita nana=E2=80=9D, = =E2=80=9CDeck the walls=E2=80=9D e =E2=80=9CNenia=E2=80=9D.=20
Terminata l=E2=80=99esibizione vi sono stati momenti di = incontro tra gli=20 Ospiti e gli organizzatori che si =C3=A8 protratto sino = all=E2=80=99ora di cena=20 che ha determinato la conclusione della serata che, come = detto, =C3=A8=20 stata una serata con gli Ospiti della RSA pi=C3=B9 che una = serata per gli=20 Ospiti della Residenza.

Riferimenti

Marco Renzi
Associazione = ASSO
Piazza caduti=20 del mare, 5
65126 PESCARA (Pescara) Italia=20
asso@asso-onlus.it
08561899
http://www.asso-onlus.it/news/2010_01_10_concerto_per_il_= nuovo_anno.htm=20
Allegati

coro Moti Polaroid.jpg
Moti_armonici.jpg
logo da sito trasforma_12.jpg
2010_01_11_esito_concerto_RSA.pdf

=
Comunicati=20 = correlati

PESCARA= =20 Linea solidale: tutto pronto per il giorno di=20 Ferragosto
Proseguono le iniziative di = =E2=80=9CLinea=20 solidale=E2=80=9D, promossa = dall=E2=80=99Amministrazione comunale di=20 Pescara e...
APERTI=20 PER FERIE per gli Anziani della citt=C3=A0 di = Pescara
PESCARA Linea solidale: = tutto pronto=20 per il periodo di Ferragosto. = L=E2=80=99Associazione ASSO per=20 il...
IL=20 POPOLO DI MONTESILVANO
A=20 Montesilvano nasce una nuova associazione Socio = Politica=20 Culturale "IL POPOLO DI MONTESILVANO"
Ab=20 Harmoniae Onlus: Note di solidariet=C3=A0 al Pio = Albergo=20 Trivulzio
Il 9=20 dicembre 2008 Ab Harmoniae Onlus rinnova il = tradizionale=20 appuntamento con gli ospiti del Pio...
PESCARA=20 Oggi incontro con la Guardia di Finanza, domani=20 inaugurazione del Centro sociale = =E2=80=9C39/a"
Proseguono a Pescara le = iniziative=20 nell'ambito di "Linea solidale"
Ricerca
=
=20
Da: 
A: 
=20
Sezioni=20
=20 Agricoltura=20 Ambiente=20 Cibi e=20 Bevande Economia=20 Elettronica=20 Energia=20 Industria=20 Information=20 Technology Internet=20 Istruzione e=20 Formazione Moda=20 Politica e=20 Istituzioni Salute = e=20 Benessere Scienza = e=20 Tecnologia Servizi=20 Societ=C3=A0=20 Spettacolo=20 Sport=20 Telecomunicazioni=20 Trasporti=20 Turismo=20 Varie=20
Dal mondo dei blog
bonzer3
inserito 2 minuti=20 fa
Enigmistico 1.2 ora disponibile = su=20 AppStore
jkyjky
inserito 3 minuti=20 fa
Stomatite: rimedi = naturali
memeblog_ambiente
inserito 3 minuti=20 fa
Rural4KIDS: giochiamo = all=E2=80=99educazione=20 ambientale!
lugido
inserito 4 minuti=20 fa
Uomini e Donne: Puntata del 12=20 Gennaio
ilportico
inserito 4 minuti=20 fa
Sicurezza, allarme borseggi in=20 citt=C3=A0 Tutte le Notizie = ...  =20
Note sul = sito=20
Le tue = domande=20
Informazione.it=20
PiSoft DSH srl
via R. Sanzio, = 5
56020=20 Montopoli V./Arno
Pisa (Italy)
(+39) 0571 842 = 590
Capitale=20 sociale: 51.645,69 i.v.
I.C.C. 110482 - Isc. Tr. 16538 -=20 P.I./C.F. = 01251400501
------=_NextPart_001_0041_01CA945B.973EF1E0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ifadlink728x90.aspx =EF=BB=BF
------=_NextPart_001_0041_01CA945B.973EF1E0-- ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://pagead2.googlesyndication.com/pagead/abglogo/abg-it-100c-000000.png iVBORw0KGgoAAAANSUhEUgAAAFMAAAAQCAYAAABqfkPCAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAODSURBVFjD7ZhdSBRRFMc3NKWQ3AJfFGQT QehpxR59mILCkkLC18AIBElK9qWghzYIrEBaKAyicimKoKiIQlwwFip7CdpAoij6QrGMaiPoA4Lp XPsNHC+zs7NgpdiBP3vnnnO//vd8zGzEdd3IfEUBaRK0COp0Z4D9XEivYMosIzhc0GqBkGmIuyTI CgYEQ4IXgmmeq/8wmUYeCr4EWiwAMlsFHwQ9PtsfgNR6z74YqUW8PkgeCyZKGeAIopG/KOpwZl3H IrOK8DpeYHhcUKNJLJYuQqYSP3kJQs3jkBPS/4hM5/fjrA12s6d4mHlEytj/HUGOw3cqM6O/JbhG yjDtDqWvFNzHC11gwnulYFLwFrtywQ3BiOCe4LOgQe8nzQJ55Z0xDhKzvDZOO64OGrUO7ag+79fx uUAnwDOHOFBNiHupEIwJ9guawRVIWC9YKhjlgjz9CQiJQ/RHQYL5Eqzdy/MkMJIRJNXaZt2vEUVE nsO9EnTRn6T/FcjRn+U5y4J9jM1qZ1F93ti82oT3nEPv55mXmacpBJnHyGnNqq+e8ecFKcFPS79M 8B39KWzrlM4UnJs8v8czK7A7INgnGCZ3r/Am7eJAHoE51XaVl7qKzBTtFF4dROZ1NV9WpZQopKXZ g03mIewSPuRtxcu6CeWrHL7WsntG1c8wV7WlzxCyKfS7lG5C5et3kFmF3WvBRUifJTmVI1xFRNKH II/MDh+CCpGZVGGd1ZdXJGeuwZtMNV+l5m5sa2tzDVhnj/IsO78+IoeeQ7/B0pv9nMHjzJ4+CXaT Lh6odacgs5w9PSc1zBLP42LWAukiZDoFvM3LqUFkemtGVYrp8yHTSD+25mCrrb23o+uBeNO+SyjX kiu/YWf0PwTjgs2CjYIjXNQmFdp7VQFqtLx0mvYF9INcglfcZtw7Z22yC+NUCWRGVQ7UedCPTC+0 8yr3OgXINLKdEM7z8p7AG4choxP7deTZpxSWJyr/G1lLaJr+N3jXNp8UcpSzjkLSEtY2F3NWFTOX 8DcXfTqiqrWWKIeL+1RoXc11xdfj7IofK1DxZ8YGVHO7WreoPNmuC1PQe2bIr6xGLipDQRqBrDG/ cFZ7Wg658/sLaI6+5cNIGTlxUPWZVHESQhtKemle5GS2QtpOq38H/ZX/yQwv5eqPk27Cd4vgtuBg yZ9zi5xM75+pforhOC/rraVM8AssoKEKCwP0OQAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4545597397921775&output=html&h=60&slotname=1507707202&w=468&flash=10.0.32.18&url=http%3A%2F%2Fwww.informazione.it%2Fpressreleasepub.aspx%3Fprid%3D331f33d7-2582-472b-8110-e0c9312b4bcc&dt=1263388731640&correlator=1263388731656&frm=0&ga_vid=416344773.1263388732&ga_sid=1263388732&ga_hid=853889812&ga_fc=0&u_tz=60&u_his=0&u_java=1&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&biw=983&bih=542&fu=0&ifi=1&dtd=313&xpc=QsCBjmaYqO&p=http%3A//www.informazione.it =EF=BB=BF
  • Scarica Film
    Scarica film, legale al 100% Accesso da 0.99 = =E2=82=AC al mese!
    www.ScaricareFilm.net
  • Soffri di Psoriasi?
    Hai gi=C3=A0 provato di tutto? Equilac ti aiuta. = Veloce, sicuro=20 & efficace
    www.Equilac.com
------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4545597397921775&output=html&h=280&slotname=0978669805&w=336&flash=10.0.32.18&url=http%3A%2F%2Fwww.informazione.it%2Fpressreleasepub.aspx%3Fprid%3D331f33d7-2582-472b-8110-e0c9312b4bcc&dt=1263388732140&prev_slotnames=1507707202&correlator=1263388731656&frm=0&ga_vid=416344773.1263388732&ga_sid=1263388732&ga_hid=853889812&ga_fc=0&u_tz=60&u_his=0&u_java=1&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&biw=967&bih=542&fu=0&ifi=2&dtd=78&xpc=RHibxefRCD&p=http%3A//www.informazione.it =EF=BB=BF
  • Soffri di psoriasi?
    Equilac salva Marc dalla psoriasi. Leggi la sua = storia!=20
    www.Equilac.com
    <= /TABLE>
  • Download Film
    Scarica film, legale al 100% A Partire da 1.99 = =E2=82=AC, Entra=20 Subito!
    www.filmisnow.it
    ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/js/informazione13.mini.js =0A= =EF=BB=BFvar prm=3Dnull;function getTime(){var ct=3Dnew Date();var = t=3Dct.toLocaleTimeString();document.write(ct.toLocaleDateString()+" - = "+t.substr(0,t.length-3));}=0A= function = Init(sender){if(!Sys.WebForms)return;prm=3DSys.WebForms.PageRequestManage= r.getInstance();if(prm){if(!prm.get_isInAsyncPostBack()){prm.add_initiali= zeRequest(InitRequest);}}}=0A= function = InitRequest(sender,args){if(prm.get_isInAsyncPostBack()){args.set_cancel(= true);alert("Una richiesta =C3=A8 gi=C3=A0 in corso. Attendere... ");}}=0A= var repsdf=3Dfalse;function moveElm(elmId,newParentId){var = ad=3Ddocument.getElementById(elmId);var = con=3Ddocument.getElementById(newParentId);if(con!=3Dnull&&ad!=3Dnull){co= n.appendChild(ad);ad.style.display=3D'inline';}}=0A= function = repDateParsing(){if(repsdf)return;Date.__std_parse=3DDate.parse;Date.pars= e=3Dfunction(s){try{return Date.__std_parse(s);}=0A= catch(e){return(s);var d=3DDate._jsParse(s);if(d){return d;}=0A= else{throw e;}}}=0A= repsdf=3Dtrue;}=0A= var backColors=3Dnew Array('edf7f9','ffffff');var ads=3Dnew = Array('160x600_as');var = selAd=3Dads[Math.floor(Math.random()*ads.length)];var = selBackColor=3DbackColors[Math.floor(Math.random()*backColors.length)];fu= nction = setBackColor(){if(google_ad_format=3D=3DselAd){google_color_bg=3DselBackC= olor;}}function = Google_Leader_board_728x90_txt_5(){repDateParsing();google_ad_client=3D'p= ub-4545597397921775';google_ad_width=3D728;google_ad_height=3D90;google_a= d_format=3D'728x90_as';google_ad_type=3D'text';google_ad_channel=3D'44601= 86006';google_color_border=3D'9eb0b9';google_color_bg=3D'ffffff';setBackC= olor();google_color_link=3D'e75700';google_color_text=3D'000000';google_c= olor_url=3D'008000';google_ui_features=3D"rc:10";}function = Google_Referral(){repDateParsing();google_ad_client=3D'pub-45455973979217= 75';google_ad_width=3D120;google_ad_height=3D240;google_ad_format=3D'120x= 240_as_rimg';google_cpa_choice=3D'CAAQ3d7QlwIaCPH10F8eqI1GKLO593M';google= _ad_channel=3D'2093453538';}function = Skyscraper_largo_160_txt(){repDateParsing();google_ad_client=3D'pub-45455= 97397921775';google_ad_width=3D160;google_ad_height=3D600;google_ad_forma= t=3D'160x600_as';google_ad_type=3D'text_image';google_ad_channel=3D'40015= 97516';google_color_border=3D'9eb0b9';google_color_bg=3D'edf7f9';setBackC= olor();google_color_link=3D'e75700';google_color_text=3D'000000';google_c= olor_url=3D'008000';google_ui_features=3D"rc:10";}function = Google_Quadrato_250x250_img(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_width=3D250;google_ad_height=3D250;google_ad_fo= rmat=3D"250x250_as";google_ad_type=3D"image";google_ad_channel=3D"8721722= 860";google_color_border=3D"FFFFFF";google_color_bg=3D"FFFFFF";setBackCol= or();google_color_link=3D"0066A7";google_color_text=3D"000000";google_col= or_url=3D"008000";google_ui_features=3D"rc:10";}function = Google_Referral_Sky_160x600(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_width=3D160;google_ad_height=3D600;google_ad_fo= rmat=3D"160x600_as";google_cpa_choice=3D"CAEQzvnU1AMQ9aaNswMQ35ei2gIQncD8= _gMQjP7UrAMQoqfSiQMQ1sWaqAMQxoTOkAcQ7sWZ7wMQjPWZoQMQ7dvR7wMQ8a2j5AMaCMj_r= h8HdhSPKOqJ7_gBKPWCm84BKNvPz6kBKIXVmOkBKJyPib0BKILxieUBKNLZl9kBKKKbva4CKP= rjz8kBKJTB1rgBKNXQi8QBKI2HwMEB";google_color_border=3D"ffffff";google_col= or_bg=3D"ffffff";setBackColor();google_color_link=3D"e75700";google_color= _text=3D"000000";google_color_url=3D"008000";}function = Locnews_top_728x15_4(){repDateParsing();google_ad_client=3D"pub-454559739= 7921775";google_ad_slot=3D"5472940611";google_ad_width=3D728;google_ad_he= ight=3D15;}function = Locnews_mid_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-4545597= 397921775";google_ad_slot=3D"3681684644";google_ad_width=3D728;google_ad_= height=3D90;}function = Locnews_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-4545597= 397921775";google_ad_slot=3D"3627232730";google_ad_width=3D728;google_ad_= height=3D90;}=0A= function = Locnews_lside_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"8340830805";google_ad_width=3D160;google= _ad_height=3D600;}=0A= function = Frontpage_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"0602789860";google_ad_width=3D728;google_a= d_height=3D15;}=0A= function = Frontpage_mid_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"1506991523";google_ad_width=3D728;google_a= d_height=3D15;}=0A= function = Frontpage_topr_Qi_200x200(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"4818472201";google_ad_width=3D200;google_= ad_height=3D200;}=0A= function = Frontpage_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"4107967798";google_ad_width=3D728;google_a= d_height=3D90;}=0A= function = Frontpage_lside_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-4= 545597397921775";google_ad_slot=3D"7779562275";google_ad_width=3D160;goog= le_ad_height=3D600;}=0A= function = News_midr_Rti_336x280(){repDateParsing();google_ad_client=3D"pub-45455973= 97921775";google_ad_slot=3D"6594382885";google_ad_width=3D336;google_ad_h= eight=3D280;}=0A= function = News_midr_Ri_300x250(){repDateParsing();google_ad_client=3D"pub-454559739= 7921775";google_ad_slot=3D"7806502758";google_ad_width=3D300;google_ad_he= ight=3D250;}=0A= function = News_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-4545597397= 921775";google_ad_slot=3D"6713917680";google_ad_width=3D728;google_ad_hei= ght=3D15;}=0A= function = News_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-4545597397= 921775";google_ad_slot=3D"1039216002";google_ad_width=3D728;google_ad_hei= ght=3D90;}=0A= function = News_lside_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"7005447873";google_ad_width=3D160;google_ad= _height=3D600;}=0A= function = Prmain_mid_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-45455973= 97921775";google_ad_slot=3D"6641624776";google_ad_width=3D728;google_ad_h= eight=3D15;}=0A= function = Prmain_midr_Rti_336x280(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"7479716136";google_ad_width=3D336;google_ad= _height=3D280;}=0A= function = Prmain_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-45455973= 97921775";google_ad_slot=3D"4863196954";google_ad_width=3D728;google_ad_h= eight=3D90;}=0A= function = Prmain_lside_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"6094005469";google_ad_width=3D160;google_= ad_height=3D600;}=0A= function = Pressrelpub_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"9987844572";google_ad_width=3D728;google= _ad_height=3D15;}=0A= function = Pressrelpub_midr_Qi_250x250(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"4655416797";google_ad_width=3D250;googl= e_ad_height=3D250;}=0A= function = Pressrelpub_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"2642983312";google_ad_width=3D728;google= _ad_height=3D90;}=0A= function = Pressrelpub_ls_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"7002216748";google_ad_width=3D160;googl= e_ad_height=3D600;}=0A= function = Comments_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"2273147790";google_ad_width=3D728;google_ad= _height=3D15;}=0A= function = Comments_midr_Qi_250x250(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"0395656531";google_ad_width=3D250;google_a= d_height=3D250;}=0A= function = Comments_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"1890881959";google_ad_width=3D728;google_ad= _height=3D90;}=0A= function = Comments_lside_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"3467746445";google_ad_width=3D160;googl= e_ad_height=3D600;}=0A= function = Newssection_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"3533733826";google_ad_width=3D728;google= _ad_height=3D15;}=0A= function = Newssection_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"1607881082";google_ad_width=3D728;google= _ad_height=3D90;}=0A= function = Newssection_ls_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"4177137373";google_ad_width=3D160;googl= e_ad_height=3D600;}=0A= function = Newssection_topl_Qi_200x200(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"8876401055";google_ad_width=3D200;googl= e_ad_height=3D200;}=0A= function = Newsitem_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"1264043247";google_ad_width=3D728;google_ad= _height=3D15;}=0A= function = Newsitem_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"0600715718";google_ad_width=3D728;google_ad= _height=3D90;}=0A= function = Newsitem_ls_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"3261749195";google_ad_width=3D160;google_a= d_height=3D600;}=0A= function = NewsItem_mid_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"9337333431";google_ad_width=3D728;google_ad= _height=3D90;}=0A= function = Prlist_top_IL4_728x15(){repDateParsing();google_ad_client=3D"pub-45455973= 97921775";google_ad_slot=3D"6584733265";google_ad_width=3D728;google_ad_h= eight=3D15;}=0A= function = Prlist_bot_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-45455973= 97921775";google_ad_slot=3D"3783775662";google_ad_width=3D728;google_ad_h= eight=3D90;}=0A= function = Prlist_lside_SSti_160x600(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"1376152567";google_ad_width=3D160;google_= ad_height=3D600;}=0A= function = NewsItem_mid_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"9337333431";google_ad_width=3D728;google_ad= _height=3D90;}=0A= function = Comments_midl_Bt_468x60(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"8884832316";google_ad_width=3D468;google_ad= _height=3D60;}=0A= function = NewsMaster_right_IL4_160x90(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"9815839478";google_ad_width=3D160;googl= e_ad_height=3D90;}=0A= function = NewsItem_midl_Bt_468x60(){repDateParsing();google_ad_client=3D"pub-454559= 7397921775";google_ad_slot=3D"7674024026";google_ad_width=3D468;google_ad= _height=3D60;}=0A= function = Frontpage_mid_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"8078709617";google_ad_width=3D728;google_a= d_height=3D90;}=0A= function = Newssection_top_LBt_728x90(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"3580013825";google_ad_width=3D728;google= _ad_height=3D90;}=0A= function = Frontpage_midl_Bt_468x60(){repDateParsing();google_ad_client=3D"pub-45455= 97397921775";google_ad_slot=3D"8570481576";google_ad_width=3D468;google_a= d_height=3D60;}=0A= function = News_MBt_234x60(){repDateParsing();google_ad_client=3D"pub-45455973979217= 75";google_ad_slot=3D"7056662172";google_ad_width=3D234;google_ad_height=3D= 60;}=0A= function = Pressrelpub_bot_Qt_336x280(){repDateParsing();google_ad_client=3D"pub-454= 5597397921775";google_ad_slot=3D"0978669805";google_ad_width=3D336;google= _ad_height=3D280;}=0A= function = Pressrelpub_midr_Qi_200x200(){repDateParsing();google_ad_client=3D"pub-45= 45597397921775";google_ad_slot=3D"2370348574";google_ad_width=3D200;googl= e_ad_height=3D200;}=0A= function = Pressrelpub_mid_Bt_468x60(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"1507707202";google_ad_width=3D468;google_= ad_height=3D60;}=0A= function = Prelmaster_top_IL4_160x90(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"5908626022";google_ad_width=3D160;google_= ad_height=3D90;}=0A= function = Newssection_topl_Qti_200x200(){repDateParsing();google_ad_client=3D"pub-4= 545597397921775";google_ad_slot=3D"6057146924";google_ad_width=3D200;goog= le_ad_height=3D200;}=0A= function = NewsItem_topr_Qti_200x200(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"7307528043";google_ad_width=3D200;google_= ad_height=3D200;}=0A= function = Comments_topr_Qti_250x250(){repDateParsing();google_ad_client=3D"pub-4545= 597397921775";google_ad_slot=3D"9947218953";google_ad_width=3D250;google_= ad_height=3D250;}=0A= function = Viewtop_IL4_468x15(){repDateParsing();google_ad_client=3D"pub-45455973979= 21775";google_ad_slot=3D"4700344787";google_ad_width=3D468;google_ad_heig= ht=3D15;}=0A= function = General_Ref_200x200(){repDateParsing();google_ad_client=3D"pub-4545597397= 921775";google_ad_slot=3D"6415168749";google_ad_width=3D200;google_ad_hei= ght=3D200;google_cpa_choice=3D"";}=0A= function = General_Ref_160x600(){repDateParsing();google_ad_client=3D"pub-4545597397= 921775";google_ad_slot=3D"2396500009";google_ad_width=3D160;google_ad_hei= ght=3D600;google_cpa_choice=3D"";}=0A= function = Prmain_topl_Qt_200x200(){repDateParsing();google_ad_client=3D"pub-4545597= 397921775";google_ad_slot=3D"4488135100";google_ad_width=3D250;google_ad_= height=3D250;}=0A= function = General_top_IL4_468x15(){repDateParsing();google_ad_client=3D"pub-4545597= 397921775";google_ad_slot=3D"5078129681";google_ad_width=3D468;google_ad_= height=3D15;}=0A= function = I_All_Mid_Rt_180x150(){google_ad_client=3D"pub-4545597397921775";google_a= d_slot=3D"1459477656";google_ad_width=3D180;google_ad_height=3D150;}=0A= =0A= =EF=BB=BFvar divs;var ifrs;function = getElementsByClassName(classname,tag){if(!tag)tag=3D"*";var = anchs=3Ddocument.getElementsByTagName(tag);var = total_anchs=3Danchs.length;var regexp=3Dnew = RegExp('\\b'+classname+'\\b');var class_items=3Dnew Array()=0A= for(var i=3D0;i0){i=3D0;while(divs[i]!=3Dnull)=0A= {ifrs[i].style.display=3D'none';i++;}}=0A= if(url!=3D''){window.location.href=3Durl;}}=0A= function validateWRData(cb1Id,cb2Id,tb1Id){var = c1=3Ddocument.getElementById(cb1Id);var = c2=3Ddocument.getElementById(cb2Id);var = tb1=3Ddocument.getElementById(tb1Id);var msg=3D'';var = objRegExp=3D/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i;if(!c1.checke= d&&!c2.checked)=0A= msg=3D'Selezionare almeno una = opzione.\n\r';if(tb1.value=3D=3D''){msg+=3D'Inserire indirizzo email';}=0A= else if(!objRegExp.test(tb1.value)){msg+=3D'Indirizzo email non = corretto.';}=0A= if(msg.length>0){alert(msg);return false;}=0A= return true;}=0A= function = Warning_FireDefaultButton(event,target){if(event.keyCode=3D=3D13&&!(event= .srcElement&&(event.srcElement.tagName.toLowerCase()=3D=3D"textarea"))){v= ar = defaultButton;if(__nonMSDOMBrowser){defaultButton=3Ddocument.getElementBy= Id(target);event.cancelBubble=3Dtrue;if(event.stopPropagation)event.stopP= ropagation();return false;}=0A= else{defaultButton=3Ddocument.all[target];if(defaultButton&&typeof(defaul= tButton.click)!=3D"undefined"){defaultButton.click();event.cancelBubble=3D= true;if(event.stopPropagation)event.stopPropagation();return false;}}}=0A= return true;} ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/WebResource.axd?d=md6XpHDQBT-TCBbesQDYgQ2&t=633807959513394293 function WebForm_PostBackOptions(eventTarget, eventArgument, validation, = validationGroup, actionUrl, trackFocus, clientSubmit) { this.eventTarget =3D eventTarget; this.eventArgument =3D eventArgument; this.validation =3D validation; this.validationGroup =3D validationGroup; this.actionUrl =3D actionUrl; this.trackFocus =3D trackFocus; this.clientSubmit =3D clientSubmit; } function WebForm_DoPostBackWithOptions(options) { var validationResult =3D true; if (options.validation) { if (typeof(Page_ClientValidate) =3D=3D 'function') { validationResult =3D = Page_ClientValidate(options.validationGroup); } } if (validationResult) { if ((typeof(options.actionUrl) !=3D "undefined") && = (options.actionUrl !=3D null) && (options.actionUrl.length > 0)) { theForm.action =3D options.actionUrl; } if (options.trackFocus) { var lastFocus =3D theForm.elements["__LASTFOCUS"]; if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D = null)) { if (typeof(document.activeElement) =3D=3D "undefined") { lastFocus.value =3D options.eventTarget; } else { var active =3D document.activeElement; if ((typeof(active) !=3D "undefined") && (active = !=3D null)) { if ((typeof(active.id) !=3D "undefined") && = (active.id !=3D null) && (active.id.length > 0)) { lastFocus.value =3D active.id; } else if (typeof(active.name) !=3D "undefined") { lastFocus.value =3D active.name; } } } } } } if (options.clientSubmit) { __doPostBack(options.eventTarget, options.eventArgument); } } var __pendingCallbacks =3D new Array(); var __synchronousCallBackIndex =3D -1; function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, = context, errorCallback, useAsync) { var postData =3D __theFormPostData + "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) = + "&__CALLBACKPARAM=3D" + = WebForm_EncodeCallback(eventArgument); if (theForm["__EVENTVALIDATION"]) { postData +=3D "&__EVENTVALIDATION=3D" + = WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value); } var xmlRequest,e; try { xmlRequest =3D new XMLHttpRequest(); } catch(e) { try { xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { } } var setRequestHeaderMethodExists =3D true; try { setRequestHeaderMethodExists =3D (xmlRequest && = xmlRequest.setRequestHeader); } catch(e) {} var callback =3D new Object(); callback.eventCallback =3D eventCallback; callback.context =3D context; callback.errorCallback =3D errorCallback; callback.async =3D useAsync; var callbackIndex =3D = WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback); if (!useAsync) { if (__synchronousCallBackIndex !=3D -1) { __pendingCallbacks[__synchronousCallBackIndex] =3D null; } __synchronousCallBackIndex =3D callbackIndex; } if (setRequestHeaderMethodExists) { xmlRequest.onreadystatechange =3D WebForm_CallbackComplete; callback.xmlRequest =3D xmlRequest; xmlRequest.open("POST", theForm.action, true); xmlRequest.setRequestHeader("Content-Type", = "application/x-www-form-urlencoded; charset=3Dutf-8"); xmlRequest.send(postData); return; } callback.xmlRequest =3D new Object(); var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex; var xmlRequestFrame =3D document.frames[callbackFrameID]; if (!xmlRequestFrame) { xmlRequestFrame =3D document.createElement("IFRAME"); xmlRequestFrame.width =3D "1"; xmlRequestFrame.height =3D "1"; xmlRequestFrame.frameBorder =3D "0"; xmlRequestFrame.id =3D callbackFrameID; xmlRequestFrame.name =3D callbackFrameID; xmlRequestFrame.style.position =3D "absolute"; xmlRequestFrame.style.top =3D "-100px" xmlRequestFrame.style.left =3D "-100px"; try { if (callBackFrameUrl) { xmlRequestFrame.src =3D callBackFrameUrl; } } catch(e) {} document.body.appendChild(xmlRequestFrame); } var interval =3D window.setInterval(function() { xmlRequestFrame =3D document.frames[callbackFrameID]; if (xmlRequestFrame && xmlRequestFrame.document) { window.clearInterval(interval); xmlRequestFrame.document.write(""); xmlRequestFrame.document.close(); xmlRequestFrame.document.write('
    '); xmlRequestFrame.document.close(); xmlRequestFrame.document.forms[0].action =3D theForm.action; var count =3D __theFormPostCollection.length; var element; for (var i =3D 0; i < count; i++) { element =3D __theFormPostCollection[i]; if (element) { var fieldElement =3D = xmlRequestFrame.document.createElement("INPUT"); fieldElement.type =3D "hidden"; fieldElement.name =3D element.name; fieldElement.value =3D element.value; = xmlRequestFrame.document.forms[0].appendChild(fieldElement); } } var callbackIdFieldElement =3D = xmlRequestFrame.document.createElement("INPUT"); callbackIdFieldElement.type =3D "hidden"; callbackIdFieldElement.name =3D "__CALLBACKID"; callbackIdFieldElement.value =3D eventTarget; = xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement); var callbackParamFieldElement =3D = xmlRequestFrame.document.createElement("INPUT"); callbackParamFieldElement.type =3D "hidden"; callbackParamFieldElement.name =3D "__CALLBACKPARAM"; callbackParamFieldElement.value =3D eventArgument; = xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);= if (theForm["__EVENTVALIDATION"]) { var callbackValidationFieldElement =3D = xmlRequestFrame.document.createElement("INPUT"); callbackValidationFieldElement.type =3D "hidden"; callbackValidationFieldElement.name =3D = "__EVENTVALIDATION"; callbackValidationFieldElement.value =3D = theForm["__EVENTVALIDATION"].value; = xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem= ent); } var callbackIndexFieldElement =3D = xmlRequestFrame.document.createElement("INPUT"); callbackIndexFieldElement.type =3D "hidden"; callbackIndexFieldElement.name =3D "__CALLBACKINDEX"; callbackIndexFieldElement.value =3D callbackIndex; = xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);= xmlRequestFrame.document.forms[0].submit(); } }, 10); } function WebForm_CallbackComplete() { for (var i =3D 0; i < __pendingCallbacks.length; i++) { callbackObject =3D __pendingCallbacks[i]; if (callbackObject && callbackObject.xmlRequest && = (callbackObject.xmlRequest.readyState =3D=3D 4)) { WebForm_ExecuteCallback(callbackObject); if (!__pendingCallbacks[i].async) { __synchronousCallBackIndex =3D -1; } __pendingCallbacks[i] =3D null; var callbackFrameID =3D "__CALLBACKFRAME" + i; var xmlRequestFrame =3D = document.getElementById(callbackFrameID); if (xmlRequestFrame) { xmlRequestFrame.parentNode.removeChild(xmlRequestFrame); } } } } function WebForm_ExecuteCallback(callbackObject) { var response =3D callbackObject.xmlRequest.responseText; if (response.charAt(0) =3D=3D "s") { if ((typeof(callbackObject.eventCallback) !=3D "undefined") && = (callbackObject.eventCallback !=3D null)) { callbackObject.eventCallback(response.substring(1), = callbackObject.context); } } else if (response.charAt(0) =3D=3D "e") { if ((typeof(callbackObject.errorCallback) !=3D "undefined") && = (callbackObject.errorCallback !=3D null)) { callbackObject.errorCallback(response.substring(1), = callbackObject.context); } } else { var separatorIndex =3D response.indexOf("|"); if (separatorIndex !=3D -1) { var validationFieldLength =3D parseInt(response.substring(0, = separatorIndex)); if (!isNaN(validationFieldLength)) { var validationField =3D = response.substring(separatorIndex + 1, separatorIndex + = validationFieldLength + 1); if (validationField !=3D "") { var validationFieldElement =3D = theForm["__EVENTVALIDATION"]; if (!validationFieldElement) { validationFieldElement =3D = document.createElement("INPUT"); validationFieldElement.type =3D "hidden"; validationFieldElement.name =3D = "__EVENTVALIDATION"; theForm.appendChild(validationFieldElement); } validationFieldElement.value =3D validationField; } if ((typeof(callbackObject.eventCallback) !=3D = "undefined") && (callbackObject.eventCallback !=3D null)) { = callbackObject.eventCallback(response.substring(separatorIndex + = validationFieldLength + 1), callbackObject.context); } } } } } function WebForm_FillFirstAvailableSlot(array, element) { var i; for (i =3D 0; i < array.length; i++) { if (!array[i]) break; } array[i] =3D element; return i; } var __nonMSDOMBrowser =3D = (window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1); var __theFormPostData =3D ""; var __theFormPostCollection =3D new Array(); function WebForm_InitCallback() { var count =3D theForm.elements.length; var element; for (var i =3D 0; i < count; i++) { element =3D theForm.elements[i]; var tagName =3D element.tagName.toLowerCase(); if (tagName =3D=3D "input") { var type =3D element.type; if ((type =3D=3D "text" || type =3D=3D "hidden" || type = =3D=3D "password" || ((type =3D=3D "checkbox" || type =3D=3D "radio") && = element.checked)) && (element.id !=3D "__EVENTVALIDATION")) { WebForm_InitCallbackAddField(element.name, = element.value); } } else if (tagName =3D=3D "select") { var selectCount =3D element.options.length; for (var j =3D 0; j < selectCount; j++) { var selectChild =3D element.options[j]; if (selectChild.selected =3D=3D true) { WebForm_InitCallbackAddField(element.name, = element.value); } } } else if (tagName =3D=3D "textarea") { WebForm_InitCallbackAddField(element.name, element.value); } } } function WebForm_InitCallbackAddField(name, value) { var nameValue =3D new Object(); nameValue.name =3D name; nameValue.value =3D value; __theFormPostCollection[__theFormPostCollection.length] =3D = nameValue; __theFormPostData +=3D WebForm_EncodeCallback(name) + "=3D" + = WebForm_EncodeCallback(value) + "&"; } function WebForm_EncodeCallback(parameter) { if (encodeURIComponent) { return encodeURIComponent(parameter); } else { return escape(parameter); } } var __disabledControlArray =3D new Array(); function WebForm_ReEnableControls() { if (typeof(__enabledControlArray) =3D=3D 'undefined') { return false; } var disabledIndex =3D 0; for (var i =3D 0; i < __enabledControlArray.length; i++) { var c; if (__nonMSDOMBrowser) { c =3D document.getElementById(__enabledControlArray[i]); } else { c =3D document.all[__enabledControlArray[i]]; } if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled = =3D=3D true)) { c.disabled =3D false; __disabledControlArray[disabledIndex++] =3D c; } } setTimeout("WebForm_ReDisableControls()", 0); return true; } function WebForm_ReDisableControls() { for (var i =3D 0; i < __disabledControlArray.length; i++) { __disabledControlArray[i].disabled =3D true; } } function WebForm_FireDefaultButton(event, target) { if (event.keyCode =3D=3D 13) { var src =3D event.srcElement || event.target; if (!src || (src.tagName.toLowerCase() !=3D "textarea")) { var defaultButton; if (__nonMSDOMBrowser) { defaultButton =3D document.getElementById(target); } else { defaultButton =3D document.all[target]; } if (defaultButton && typeof(defaultButton.click) !=3D = "undefined") { defaultButton.click(); event.cancelBubble =3D true; if (event.stopPropagation) event.stopPropagation(); return false; } } } return true; } function WebForm_GetScrollX() { if (__nonMSDOMBrowser) { return window.pageXOffset; } else { if (document.documentElement && = document.documentElement.scrollLeft) { return document.documentElement.scrollLeft; } else if (document.body) { return document.body.scrollLeft; } } return 0; } function WebForm_GetScrollY() { if (__nonMSDOMBrowser) { return window.pageYOffset; } else { if (document.documentElement && = document.documentElement.scrollTop) { return document.documentElement.scrollTop; } else if (document.body) { return document.body.scrollTop; } } return 0; } function WebForm_SaveScrollPositionSubmit() { if (__nonMSDOMBrowser) { theForm.elements['__SCROLLPOSITIONY'].value =3D = window.pageYOffset; theForm.elements['__SCROLLPOSITIONX'].value =3D = window.pageXOffset; } else { theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX(); theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY(); } if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit = !=3D null)) { return this.oldSubmit(); } return true; } function WebForm_SaveScrollPositionOnSubmit() { theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX(); theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY(); if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit = !=3D null)) { return this.oldOnSubmit(); } return true; } function WebForm_RestoreScrollPosition() { if (__nonMSDOMBrowser) { window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, = theForm.elements['__SCROLLPOSITIONY'].value); } else { window.scrollTo(theForm.__SCROLLPOSITIONX.value, = theForm.__SCROLLPOSITIONY.value); } if ((typeof(theForm.oldOnLoad) !=3D "undefined") && = (theForm.oldOnLoad !=3D null)) { return theForm.oldOnLoad(); } return true; } function WebForm_TextBoxKeyHandler(event) { if (event.keyCode =3D=3D 13) { var target; if (__nonMSDOMBrowser) { target =3D event.target; } else { target =3D event.srcElement; } if ((typeof(target) !=3D "undefined") && (target !=3D null)) { if (typeof(target.onchange) !=3D "undefined") { target.onchange(); event.cancelBubble =3D true; if (event.stopPropagation) event.stopPropagation(); return false; } } } return true; } function WebForm_TrimString(value) { return value.replace(/^\s+|\s+$/g, '') } function WebForm_AppendToClassName(element, className) { var currentClassName =3D ' ' + WebForm_TrimString(element.className) = + ' '; className =3D WebForm_TrimString(className); var index =3D currentClassName.indexOf(' ' + className + ' '); if (index =3D=3D=3D -1) { element.className =3D (element.className =3D=3D=3D '') ? = className : element.className + ' ' + className; } } function WebForm_RemoveClassName(element, className) { var currentClassName =3D ' ' + WebForm_TrimString(element.className) = + ' '; className =3D WebForm_TrimString(className); var index =3D currentClassName.indexOf(' ' + className + ' '); if (index >=3D 0) { element.className =3D = WebForm_TrimString(currentClassName.substring(0, index) + ' ' + currentClassName.substring(index + className.length + 1, = currentClassName.length)); } } function WebForm_GetElementById(elementId) { if (document.getElementById) { return document.getElementById(elementId); } else if (document.all) { return document.all[elementId]; } else return null; } function WebForm_GetElementByTagName(element, tagName) { var elements =3D WebForm_GetElementsByTagName(element, tagName); if (elements && elements.length > 0) { return elements[0]; } else return null; } function WebForm_GetElementsByTagName(element, tagName) { if (element && tagName) { if (element.getElementsByTagName) { return element.getElementsByTagName(tagName); } if (element.all && element.all.tags) { return element.all.tags(tagName); } } return null; } function WebForm_GetElementDir(element) { if (element) { if (element.dir) { return element.dir; } return WebForm_GetElementDir(element.parentNode); } return "ltr"; } function WebForm_GetElementPosition(element) { var result =3D new Object(); result.x =3D 0; result.y =3D 0; result.width =3D 0; result.height =3D 0; if (element.offsetParent) { result.x =3D element.offsetLeft; result.y =3D element.offsetTop; var parent =3D element.offsetParent; while (parent) { result.x +=3D parent.offsetLeft; result.y +=3D parent.offsetTop; var parentTagName =3D parent.tagName.toLowerCase(); if (parentTagName !=3D "table" && parentTagName !=3D "body" &&=20 parentTagName !=3D "html" &&=20 parentTagName !=3D "div" &&=20 parent.clientTop &&=20 parent.clientLeft) { result.x +=3D parent.clientLeft; result.y +=3D parent.clientTop; } parent =3D parent.offsetParent; } } else if (element.left && element.top) { result.x =3D element.left; result.y =3D element.top; } else { if (element.x) { result.x =3D element.x; } if (element.y) { result.y =3D element.y; } } if (element.offsetWidth && element.offsetHeight) { result.width =3D element.offsetWidth; result.height =3D element.offsetHeight; } else if (element.style && element.style.pixelWidth && = element.style.pixelHeight) { result.width =3D element.style.pixelWidth; result.height =3D element.style.pixelHeight; } return result; } function WebForm_GetParentByTagName(element, tagName) { var parent =3D element.parentNode; var upperTagName =3D tagName.toUpperCase(); while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) { parent =3D parent.parentNode ? parent.parentNode : = parent.parentElement; } return parent; } function WebForm_SetElementHeight(element, height) { if (element && element.style) { element.style.height =3D height + "px"; } } function WebForm_SetElementWidth(element, width) { if (element && element.style) { element.style.width =3D width + "px"; } } function WebForm_SetElementX(element, x) { if (element && element.style) { element.style.left =3D x + "px"; } } function WebForm_SetElementY(element, y) { if (element && element.style) { element.style.top =3D y + "px"; } } ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=flNQK4ZjHmik5mjNM8eqIdZ5GlhjNgU-zPSVsJsEhsVD85bw3FmzYkVAYGgSIZykCQ3TCOIlm8y7R36Ey_BZgyesxHxfuNH34tmUmygnpIw1&t=633550189118910000 =EF=BB=BF//---------------------------------------------------------- // Copyright (C) Microsoft Corporation. All rights reserved. //---------------------------------------------------------- // MicrosoftAjax.js Function.__typeName=3D"Function";Function.createCallback=3Dfunction(b,a){= return function(){var e=3Darguments.length;if(e>0){var d=3D[];for(var = c=3D0;cc.Calendar.TwoDigitYearMax)return = a-100}return = a};Date._getParseRegExp=3Dfunction(b,e){if(!b._parseRegExp)b._parseRegExp= =3D{};else if(b._parseRegExp[e])return b._parseRegExp[e];var = c=3DDate._expandFormat(b,e);c=3Dc.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])= /g,"\\\\$1");var a=3Dnew = Sys.StringBuilder("^"),j=3D[],f=3D0,i=3D0,h=3DDate._getTokenRegExp(),d;wh= ile((d=3Dh.exec(c))!=3D=3Dnull){var = l=3Dc.slice(f,d.index);f=3Dh.lastIndex;i+=3DDate._appendPreOrPostMatch(l,= a);if(i%2=3D=3D=3D1){a.append(d[0]);continue}switch(d[0]){case = "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case = "tt":case "t":a.append("(\\D*)");break;case = "yyyy":a.append("(\\d{4})");break;case = "fff":a.append("(\\d{3})");break;case = "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case = "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case = "H":case "hh":case "h":case "mm":case "m":case "ss":case = "s":a.append("(\\d\\d?)");break;case = "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case = "z":a.append("([+-]?\\d\\d?)");break}Array.add(j,d[0])}Date._appendPreOrP= ostMatch(c.slice(f),a);a.append("$");var = k=3Da.toString().replace(/\s+/g,"\\s+"),g=3D{"regExp":k,"groups":j};b._pa= rseRegExp[e]=3Dg;return g};Date._getTokenRegExp=3Dfunction(){return = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|= zzz|zz|z/g};Date.localeParse=3Dfunction(a){return = Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parse=3Dfun= ction(a){return = Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=3D= function(g,c,h){var e=3Dfalse;for(var a=3D1,i=3Dh.length;a31)return null;break;case = "MMMM":c=3Dj._getMonthIndex(a);if(c<0||c>11)return null;break;case = "MMM":c=3Dj._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case = "M":case "MM":var c=3DDate._parseInt(a)-1;if(c<0||c>11)return = null;break;case "y":case = "yy":f=3DDate._expandYear(m,Date._parseInt(a));if(f<0||f>9999)return = null;break;case "yyyy":f=3DDate._parseInt(a);if(f<0||f>9999)return = null;break;case "h":case = "hh":d=3DDate._parseInt(a);if(d=3D=3D=3D12)d=3D0;if(d<0||d>11)return = null;break;case "H":case "HH":d=3DDate._parseInt(a);if(d<0||d>23)return = null;break;case "m":case "mm":n=3DDate._parseInt(a);if(n<0||n>59)return = null;break;case "s":case "ss":o=3DDate._parseInt(a);if(o<0||o>59)return = null;break;case "tt":case "t":var = t=3Da.toUpperCase();r=3Dt=3D=3D=3Dm.PMDesignator.toUpperCase();if(!r&&t!=3D= =3Dm.AMDesignator.toUpperCase())return null;break;case = "f":e=3DDate._parseInt(a)*100;if(e<0||e>999)return null;break;case = "ff":e=3DDate._parseInt(a)*10;if(e<0||e>999)return null;break;case = "fff":e=3DDate._parseInt(a);if(e<0||e>999)return null;break;case = "dddd":g=3Dj._getDayIndex(a);if(g<0||g>6)return null;break;case = "ddd":g=3Dj._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case = "zzz":var q=3Da.split(/:/);if(q.length!=3D=3D2)return null;var = i=3DDate._parseInt(q[0]);if(i<-12||i>13)return null;var = l=3DDate._parseInt(q[1]);if(l<0||l>59)return = null;k=3Di*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var = i=3DDate._parseInt(a);if(i<-12||i>13)return null;k=3Di*60;break}}var = b=3Dnew = Date;if(f=3D=3D=3Dnull)f=3Db.getYear();if(c=3D=3D=3Dnull)c=3Db.getMonth()= ;if(h=3D=3D=3Dnull)h=3Db.getDate();b.setFullYear(f,c,h);if(b.getDate()!=3D= =3Dh)return null;if(g!=3D=3Dnull&&b.getDay()!=3D=3Dg)return = null;if(r&&d<12)d+=3D12;b.setHours(d,n,o,e);if(k!=3D=3Dnull){k+=3Db.getTi= mezoneOffset();b.setMinutes(b.getMinutes()-k)}return = b}};Date._parseInt=3Dfunction(a){return = parseInt(a.replace(/^[\s0]+(\d+)$/,"$1"))};Date.prototype.format=3Dfuncti= on(a){return = this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototy= pe.localeFormat=3Dfunction(a){return = this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype= ._toFormattedString=3Dfunction(e,h){if(!e||e.length=3D=3D=3D0||e=3D=3D=3D= "i")if(h&&h.name.length>0)return this.toLocaleString();else return = this.toString();var d=3Dh.dateTimeFormat;e=3DDate._expandFormat(d,e);var = a=3Dnew Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return = a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return = "0"+a;return a.toString()}var = j=3D0,i=3DDate._getTokenRegExp();for(;true;){var = l=3Di.lastIndex,f=3Di.exec(e),k=3De.slice(l,f?f.index:e.length);j+=3DDate= ._appendPreOrPostMatch(k,a);if(!f)break;if(j%2=3D=3D=3D1){a.append(f[0]);= continue}switch(f[0]){case = "dddd":a.append(d.DayNames[this.getDay()]);break;case = "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case = "dd":a.append(c(this.getDate()));break;case = "d":a.append(this.getDate());break;case = "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case = "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case = "MM":a.append(c(this.getMonth()+1));break;case = "M":a.append(this.getMonth()+1);break;case = "yyyy":a.append(this.getFullYear());break;case = "yy":a.append(c(this.getFullYear()%100));break;case = "y":a.append(this.getFullYear()%100);break;case = "hh":b=3Dthis.getHours()%12;if(b=3D=3D=3D0)b=3D12;a.append(c(b));break;ca= se = "h":b=3Dthis.getHours()%12;if(b=3D=3D=3D0)b=3D12;a.append(b);break;case = "HH":a.append(c(this.getHours()));break;case = "H":a.append(this.getHours());break;case = "mm":a.append(c(this.getMinutes()));break;case = "m":a.append(this.getMinutes());break;case = "ss":a.append(c(this.getSeconds()));break;case = "s":a.append(this.getSeconds());break;case = "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;cas= e = "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0)= );break;case = "f":a.append(g(this.getMilliseconds()).charAt(0));break;case = "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case = "fff":a.append(g(this.getMilliseconds()));break;case = "z":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+Math.floor(= Math.abs(b)));break;case = "zz":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+c(Math.flo= or(Math.abs(b))));break;case = "zzz":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+c(Math.fl= oor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)= ));break}}return = a.toString()};Number.__typeName=3D"Number";Number.localeParse=3Dfunction(= a){return = Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parse=3Dfunction(= a){return = Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=3Dfuncti= on(l,k){var a=3Dl.trim();if(a.match(/infinity/i)!=3D=3Dnull)return = parseFloat(a);if(a.match(/^0x[a-f0-9]+$/i)!=3D=3Dnull)return = parseInt(a);var = g=3Dk.numberFormat,c=3Dg.NumberDecimalSeparator,f=3Dg.NumberGroupSeparato= r,j=3Dnew = RegExp("^[+-]?[\\d\\"+f+"]*\\"+c+"?\\d*([eE][+-]?\\d+)?$");if(!a.match(j)= )throw Error.format(Sys.Res.formatInvalidString);var i=3Dnew = RegExp("\\"+c+"|\\"+f,"g"),b=3Dnew = Sys.StringBuilder(""),d=3D0,e=3Dnull;while((e=3Di.exec(a))!=3D=3Dnull){b.= append(a.slice(d,e.index));if(e[0]=3D=3D=3Dc)b.append(".");d=3Di.lastInde= x}b.append(a.slice(d));var h=3DparseFloat(b);if(isNaN(h))throw = Error.format(Sys.Res.formatInvalidString);return = h};Number.prototype.format=3Dfunction(a){return = this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.proto= type.localeFormat=3Dfunction(a){return = this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototy= pe._toFormattedString=3Dfunction(d,j){if(!d||d.length=3D=3D=3D0||d=3D=3D=3D= "i")if(j&&j.name.length>0)return this.toLocaleString();else return = this.toString();var q=3D["n %","n%","%n"],p=3D["-n = %","-n%","-%n"],r=3D["(n)","-n","- n","n-","n -"],o=3D["$n","n$","$ = n","n $"],n=3D["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n = $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function = i(p,k,j,l,o){var = e=3Dj[0],g=3D1,c=3Dp.toString(),a=3D"",m=3D"",i=3Dc.split(".");if(i.lengt= h>1){c=3Di[0];a=3Di[1];var = h=3Da.split(/e/i);if(h.length>1){a=3Dh[0];m=3D"e"+h[1]}}if(k>0){var = f=3Da.length-k;if(f>0)a=3Da.slice(0,k);else if(f<0)for(var = n=3D0;n=3D0){if(e=3D=3D=3D0||e>b)if(d.length>0)ret= urn c.slice(0,b+1)+l+d+a;else return = c.slice(0,b+1)+a;if(d.length>0)d=3Dc.slice(b-e+1,b+1)+l+d;else = d=3Dc.slice(b-e+1,b+1);b-=3De;if(g1)b=3DparseInt(d.slice(1));var = c;switch(d.charAt(0)){case "d":case "D":c=3D"n";if(b!=3D=3D-1){var = g=3D""+e,k=3Db-g.length;if(k>0)for(var = m=3D0;m=3D0};Array.dequeue=3Dfunction(a){return = a.shift()};Array.forEach=3Dfunction(b,e,d){for(var = a=3D0,f=3Db.length;a=3D0)b.splice(a,1);return = a>=3D0};Array.removeAt=3Dfunction(a,b){a.splice(b,1)};String.__typeName=3D= "String";String.prototype.endsWith=3Dfunction(a){return = this.substr(this.length-a.length)=3D=3D=3Da};String.prototype.startsWith=3D= function(a){return = this.substr(0,a.length)=3D=3D=3Da};String.prototype.trim=3Dfunction(){ret= urn = this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=3Dfunction(){retu= rn = this.replace(/\s+$/,"")};String.prototype.trimStart=3Dfunction(){return = this.replace(/^\s+/,"")};String.format=3Dfunction(){return = String._toFormattedString(false,arguments)};String.localeFormat=3Dfunctio= n(){return = String._toFormattedString(true,arguments)};String._toFormattedString=3Dfu= nction(l,j){var c=3D"",e=3Dj[0];for(var a=3D0;true;){var = f=3De.indexOf("{",a),d=3De.indexOf("}",a);if(f<0&&d<0){c+=3De.slice(a);br= eak}if(d>0&&(d-1){Sys.Browser.agent=3DSys.Browser.Firefox;Sys.Browser.versio= n=3DparseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.B= rowser.name=3D"Firefox";Sys.Browser.hasDebuggerStatement=3Dtrue}else = if(navigator.userAgent.indexOf(" = Safari/")>-1){Sys.Browser.agent=3DSys.Browser.Safari;Sys.Browser.version=3D= parseFloat(navigator.userAgent.match(/Safari\/(\d+\.\d+)/)[1]);Sys.Browse= r.name=3D"Safari"}else = if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=3DSys.Brows= er.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=3Dfunction(){};Sys._= Debug.prototype=3D{_appendConsole:function(a){if(typeof = Debug!=3D=3D"undefined"&&Debug.writeln)Debug.writeln(a);if(window.console= &&window.console.log)window.console.log(a);if(window.opera)window.opera.p= ostError(a);if(window.debugService)window.debugService.trace(a)},_appendT= race:function(b){var = a=3Ddocument.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()= =3D=3D=3D"TEXTAREA")a.value+=3Db+"\n"},assert:function(c,a,b){if(!c){a=3D= b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.ass= ert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.forma= t(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var = a=3Ddocument.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()= =3D=3D=3D"TEXTAREA")a.value=3D""},fail:function(message){this._appendCons= ole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:= function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:functi= on(a,b){var = c=3Dthis._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=3Dc?c:"tr= aceDump";b=3Db?b:"";if(a=3D=3D=3Dnull){this.trace(b+c+": = null");return}switch(typeof a){case "undefined":this.trace(b+c+": = Undefined");break;case "number":case "string":case = "boolean":this.trace(b+c+": = "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a= )){this.trace(b+c+": "+a.toString());break}if(!d)d=3D[];else = if(Array.contains(d,a)){this.trace(b+c+": = ...");return}Array.add(d,a);if(a=3D=3Dwindow||a=3D=3D=3Ddocument||window.= HTMLElement&&a instanceof HTMLElement||typeof = a.nodeName=3D=3D=3D"string"){var = k=3Da.tagName?a.tagName:"DomElement";if(a.id)k+=3D" - = "+a.id;this.trace(b+c+" {"+k+"}")}else{var = i=3DObject.getTypeName(a);this.trace(b+c+(typeof i=3D=3D=3D"string"?" = {"+i+"}":""));if(b=3D=3D=3D""||f){b+=3D" ";var = e,j,l,g,h;if(Array.isInstanceOfType(a)){j=3Da.length;for(e=3D0;e=3D0;d--){var k=3Dh[d].trim();b=3Da[k];if(typeof = b!=3D=3D"number")throw = Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(","= )[d].trim(),this.__typeName));j|=3Db}return j}}function = Sys$Enum$toString(c){if(typeof = c=3D=3D=3D"undefined"||c=3D=3D=3Dnull)return this.__string;var = d=3Dthis.prototype,a;if(!this.__flags||c=3D=3D=3D0){for(a in = d)if(d[a]=3D=3D=3Dc)return a}else{var = b=3Dthis.__sortedValues;if(!b){b=3D[];for(a in = d)b[b.length]=3D{key:a,value:d[a]};b.sort(function(a,b){return = a.value-b.value});this.__sortedValues=3Db}var = e=3D[],g=3Dc;for(a=3Db.length-1;a>=3D0;a--){var = h=3Db[a],f=3Dh.value;if(f=3D=3D=3D0)continue;if((f&c)=3D=3D=3Df){e[e.leng= th]=3Dh.key;g-=3Df;if(g=3D=3D=3D0)break}}if(e.length&&g=3D=3D=3D0)return = e.reverse().join(", ")}return = ""}Type.prototype.registerEnum=3Dfunction(c,b){for(var a in = this.prototype)this[a]=3Dthis.prototype[a];this.__typeName=3Dc;this.parse= =3DSys$Enum$parse;this.__string=3Dthis.toString();this.toString=3DSys$Enu= m$toString;this.__flags=3Db;this.__enum=3Dtrue};Type.isEnum=3Dfunction(a)= {if(typeof a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return = !!a.__enum};Type.isFlags=3Dfunction(a){if(typeof = a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return = !!a.__flags};Sys.EventHandlerList=3Dfunction(){this._list=3D{}};Sys.Event= HandlerList.prototype=3D{addHandler:function(b,a){Array.add(this._getEven= t(b,true),a)},removeHandler:function(c,b){var = a=3Dthis._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function= (b){var a=3Dthis._getEvent(b);if(!a||a.length=3D=3D=3D0)return = null;a=3DArray.clone(a);if(!a._handler)a._handler=3Dfunction(c,d){for(var= b=3D0,e=3Da.length;b=3D0;c--)$removeHandler(a,b,d[c].handler)}a._events=3Dnu= ll}},$removeHandler=3DSys.UI.DomEvent.removeHandler=3Dfunction(a,e,f){var= d=3Dnull,c=3Da._events[e],d=3Dnull;for(var = b=3D0,g=3Dc.length;b0)this._t= imeoutCookie=3Dwindow.setTimeout(Function.createDelegate(this,this._scrip= tLoadTimeoutHandler),a*1000);this._loadScriptsInternal()},notifyScriptLoa= ded:function(){if(!this._loading)return;this._currentTask._notified++;if(= Sys.Browser.agent=3D=3D=3DSys.Browser.Safari)if(this._currentTask._notifi= ed=3D=3D=3D1)window.setTimeout(Function.createDelegate(this,function(){th= is._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)}= ,queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsTo= Load=3D[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){= if(!this._scriptsToLoad)this._scriptsToLoad=3D[];Array.add(this._scriptsT= oLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad= )this._scriptsToLoad=3D[];Array.add(this._scriptsToLoad,{src:a})},_create= ScriptElement:function(c){var = a=3Ddocument.createElement("SCRIPT");a.type=3D"text/javascript";for(var = b in c)a[b]=3Dc[b];return = a},_loadScriptsInternal:function(){if(this._scriptsToLoad&&this._scriptsT= oLoad.length>0){var = b=3DArray.dequeue(this._scriptsToLoad),a=3Dthis._createScriptElement(b);i= f(a.text&&Sys.Browser.agent=3D=3D=3DSys.Browser.Safari){a.innerHTML=3Da.t= ext;delete a.text}if(typeof = b.src=3D=3D=3D"string"){this._currentTask=3Dnew = Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.exe= cute()}else{document.getElementsByTagName("HEAD")[0].appendChild(a);Sys._= ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{var = c=3Dthis._allScriptsLoadedCallback;this._stopLoading();if(c)c(this)}},_ra= iseError:function(a){var = c=3Dthis._scriptLoadFailedCallback,b=3Dthis._currentTask.get_scriptElemen= t();this._stopLoading();if(c)c(this,b,a);else throw = Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)},_scriptLoadedHandler:f= unction(a,b){if(b&&this._currentTask._notified)if(this._currentTask._noti= fied>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoaded= Scripts(),a.src);this._currentTask.dispose();this._currentTask=3Dnull;thi= s._loadScriptsInternal()}else = this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var = a=3Dthis._scriptLoadTimeoutCallback;this._stopLoading();if(a)a(this)},_st= opLoading:function(){if(this._timeoutCookie){window.clearTimeout(this._ti= meoutCookie);this._timeoutCookie=3Dnull}if(this._currentTask){this._curre= ntTask.dispose();this._currentTask=3Dnull}this._scriptsToLoad=3Dnull;this= ._loading=3Dnull;this._allScriptsLoadedCallback=3Dnull;this._scriptLoadFa= iledCallback=3Dnull;this._scriptLoadTimeoutCallback=3Dnull}};Sys._ScriptL= oader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._Script= Loader.getInstance=3Dfunction(){var = a=3DSys._ScriptLoader._activeInstance;if(!a)a=3DSys._ScriptLoader._active= Instance=3Dnew Sys._ScriptLoader;return = a};Sys._ScriptLoader.isScriptLoaded=3Dfunction(b){var = a=3Ddocument.createElement("script");a.src=3Db;return = Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptL= oader.readLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader._referencedScr= ipts){var = b=3DSys._ScriptLoader._referencedScripts=3D[],c=3Ddocument.getElementsByT= agName("SCRIPT");for(i=3Dc.length-1;i>=3D0;i--){var = d=3Dc[i],a=3Dd.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};= Sys._ScriptLoader._clearScript=3Dfunction(a){if(!window.debug.isDebug)a.p= arentNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=3Dfunc= tion(b,d){var a;if(d)a=3DSys.Res.scriptLoadMultipleCallbacks;else = a=3DSys.Res.scriptLoadFailed;var e=3D"Sys.ScriptLoadFailedException: = "+String.format(a,b),c=3DError.create(e,{name:"Sys.ScriptLoadFailedExcept= ion","scriptUrl":b});c.popStackFrame();return = c};Sys._ScriptLoader._getLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader= ._referencedScripts){Sys._ScriptLoader._referencedScripts=3D[];Sys._Scrip= tLoader.readLoadedScripts()}return = Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=3Dfunction(b,= a){this._scriptElement=3Db;this._completedCallback=3Da;this._notified=3D0= };Sys._ScriptLoaderTask.prototype=3D{get_scriptElement:function(){return = this._scriptElement},dispose:function(){if(this._disposed)return;this._di= sposed=3Dtrue;this._removeScriptElementHandlers();Sys._ScriptLoader._clea= rScript(this._scriptElement);this._scriptElement=3Dnull},execute:function= (){this._addScriptElementHandlers();document.getElementsByTagName("HEAD")= [0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(= ){this._scriptLoadDelegate=3DFunction.createDelegate(this,this._scriptLoa= dHandler);if(Sys.Browser.agent!=3D=3DSys.Browser.InternetExplorer){this._= scriptElement.readyState=3D"loaded";$addHandler(this._scriptElement,"load= ",this._scriptLoadDelegate)}else = $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelega= te);this._scriptErrorDelegate=3DFunction.createDelegate(this,this._script= ErrorHandler);$addHandler(this._scriptElement,"error",this._scriptErrorDe= legate)},_removeScriptElementHandlers:function(){if(this._scriptLoadDeleg= ate){var = a=3Dthis.get_scriptElement();if(Sys.Browser.agent!=3D=3DSys.Browser.Inter= netExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else = $removeHandler(a,"readystatechange",this._scriptLoadDelegate);$removeHand= ler(a,"error",this._scriptErrorDelegate);this._scriptErrorDelegate=3Dnull= ;this._scriptLoadDelegate=3Dnull}},_scriptErrorHandler:function(){if(this= ._disposed)return;this._completedCallback(this.get_scriptElement(),false)= },_scriptLoadHandler:function(){if(this._disposed)return;var = a=3Dthis.get_scriptElement();if(a.readyState!=3D=3D"loaded"&&a.readyState= !=3D=3D"complete")return;var = b=3Dthis;window.setTimeout(function(){b._completedCallback(a,true)},0)}};= Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDis= posable);Sys.ApplicationLoadEventArgs=3Dfunction(b,a){Sys.ApplicationLoad= EventArgs.initializeBase(this);this._components=3Db;this._isPartialLoad=3D= a};Sys.ApplicationLoadEventArgs.prototype=3D{get_components:function(){re= turn this._components},get_isPartialLoad:function(){return = this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.App= licationLoadEventArgs",Sys.EventArgs);Sys._Application=3Dfunction(){Sys._= Application.initializeBase(this);this._disposableObjects=3D[];this._compo= nents=3D{};this._createdComponents=3D[];this._scriptLoadTimeoutSeconds=3D= 30;this._secondPassComponents=3D[];this._unloadHandlerDelegate=3DFunction= .createDelegate(this,this._unloadHandler);this._loadHandlerDelegate=3DFun= ction.createDelegate(this,this._loadHandler);Sys.UI.DomEvent.addHandler(w= indow,"unload",this._unloadHandlerDelegate);Sys.UI.DomEvent.addHandler(wi= ndow,"load",this._loadHandlerDelegate)};Sys._Application.prototype=3D{_cr= eatingComponents:false,_disposing:false,get_isCreatingComponents:function= (){return = this._creatingComponents},get_scriptLoadTimeout:function(){return = this._scriptLoadTimeoutSeconds},set_scriptLoadTimeout:function(a){this._s= criptLoadTimeoutSeconds=3Da},add_load:function(a){this.get_events().addHa= ndler("load",a)},remove_load:function(a){this.get_events().removeHandler(= "load",a)},add_loadTimedOut:function(a){this.get_events().addHandler("loa= dTimedOut",a)},remove_loadTimedOut:function(a){this.get_events().removeHa= ndler("loadTimedOut",a)},add_scriptLoadFailed:function(a){this.get_events= ().addHandler("scriptLoadFailed",a)},remove_scriptLoadFailed:function(a){= this.get_events().removeHandler("scriptLoadFailed",a)},add_init:function(= a){if(this._initialized)a(this,Sys.EventArgs.Empty);else = this.get_events().addHandler("init",a)},remove_init:function(a){this.get_= events().removeHandler("init",a)},add_unload:function(a){this.get_events(= ).addHandler("unload",a)},remove_unload:function(a){this.get_events().rem= oveHandler("unload",a)},addComponent:function(a){this._components[a.get_i= d()]=3Da},beginCreateComponents:function(){this._creatingComponents=3Dtru= e},dispose:function(){if(!this._disposing){this._disposing=3Dtrue;if(wind= ow.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var = c=3Dthis.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empt= y);var b=3DArray.clone(this._disposableObjects);for(var = a=3D0,e=3Db.length;a0)this._timer=3Dwindow.setTimeout= (Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.se= nd(c);this._started=3Dtrue},getResponseHeader:function(b){var = a;try{a=3Dthis._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a=3D"= ";return a},getAllResponseHeaders:function(){return = this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function()= {return = this._xmlHttpRequest.responseText},get_statusCode:function(){return = this._xmlHttpRequest.status},get_statusText:function(){return = this._xmlHttpRequest.statusText},get_xml:function(){var = a=3Dthis._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=3Dnew = XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)retur= n null}else = if(navigator.userAgent.indexOf("MSIE")!=3D=3D-1)a.setProperty("SelectionL= anguage","XPath");if(a.documentElement.namespaceURI=3D=3D=3D"http://www.m= ozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName=3D=3D= =3D"parsererror")return = null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagNam= e=3D=3D=3D"parsererror")return null;return = a},abort:function(){if(this._aborted||this._responseAvailable||this._time= dOut)return;this._aborted=3Dtrue;this._clearTimer();if(this._xmlHttpReque= st&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=3DF= unction.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=3Dn= ull;var = a=3Dthis._webRequest._get_eventHandlerList().getHandler("completed");if(a= )a(this,Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sy= s.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestMan= ager=3Dfunction(){this._this=3Dthis;this._defaultTimeout=3D0;this._defaul= tExecutorType=3D"Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.pro= totype=3D{add_invokingRequest:function(a){this._get_eventHandlerList().ad= dHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._g= et_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRe= quest:function(a){this._get_eventHandlerList().addHandler("completedReque= st",a)},remove_completedRequest:function(a){this._get_eventHandlerList().= removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(= !this._events)this._events=3Dnew Sys.EventHandlerList;return = this._events},get_defaultTimeout:function(){return = this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout= =3Da},get_defaultExecutorType:function(){return = this._defaultExecutorType},set_defaultExecutorType:function(a){this._defa= ultExecutorType=3Da},executeRequest:function(webRequest){var = executor=3DwebRequest.get_executor();if(!executor){var = failed=3Dfalse;try{var = executorType=3Deval(this._defaultExecutorType);executor=3Dnew = executorType}catch(a){failed=3Dtrue}webRequest.set_executor(executor)}if(= executor.get_aborted())return;var evArgs=3Dnew = Sys.Net.NetworkRequestEventArgs(webRequest),handler=3Dthis._get_eventHand= lerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);i= f(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestMan= ager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManage= r=3Dnew = Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=3Dfunction(a){= Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=3Da= };Sys.Net.NetworkRequestEventArgs.prototype=3D{get_webRequest:function(){= return = this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net= .NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=3Dfunct= ion(){this._url=3D"";this._headers=3D{};this._body=3Dnull;this._userConte= xt=3Dnull;this._httpVerb=3Dnull;this._executor=3Dnull;this._invokeCalled=3D= false;this._timeout=3D0};Sys.Net.WebRequest.prototype=3D{add_completed:fu= nction(a){this._get_eventHandlerList().addHandler("completed",a)},remove_= completed:function(a){this._get_eventHandlerList().removeHandler("complet= ed",a)},completed:function(b){var = a=3DSys.Net.WebRequestManager._get_eventHandlerList().getHandler("complet= edRequest");if(a)a(this._executor,b);a=3Dthis._get_eventHandlerList().get= Handler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:func= tion(){if(!this._events)this._events=3Dnew Sys.EventHandlerList;return = this._events},get_url:function(){return = this._url},set_url:function(a){this._url=3Da},get_headers:function(){retu= rn = this._headers},get_httpVerb:function(){if(this._httpVerb=3D=3D=3Dnull){if= (this._body=3D=3D=3Dnull)return "GET";return "POST"}return = this._httpVerb},set_httpVerb:function(a){this._httpVerb=3Da},get_body:fun= ction(){return = this._body},set_body:function(a){this._body=3Da},get_userContext:function= (){return = this._userContext},set_userContext:function(a){this._userContext=3Da},get= _executor:function(){return = this._executor},set_executor:function(a){this._executor=3Da;this._executo= r._set_webRequest(this)},get_timeout:function(){if(this._timeout=3D=3D=3D= 0)return Sys.Net.WebRequestManager.get_defaultTimeout();return = this._timeout},set_timeout:function(a){this._timeout=3Da},getResolvedUrl:= function(){return = Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebR= equestManager.executeRequest(this);this._invokeCalled=3Dtrue}};Sys.Net.We= bRequest._resolveUrl=3Dfunction(b,a){if(b&&b.indexOf("://")!=3D=3D-1)retu= rn b;if(!a||a.length=3D=3D=3D0){var = c=3Ddocument.getElementsByTagName("base")[0];if(c&&c.href&&c.href.length>= 0)a=3Dc.href;else a=3Ddocument.URL}var = d=3Da.indexOf("?");if(d!=3D=3D-1)a=3Da.substr(0,d);a=3Da.substr(0,a.lastI= ndexOf("/")+1);if(!b||b.length=3D=3D=3D0)return = a;if(b.charAt(0)=3D=3D=3D"/"){var = e=3Da.indexOf("://"),g=3Da.indexOf("/",e+3);return = a.substr(0,g)+b}else{var f=3Da.lastIndexOf("/");return = a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=3Dfunction(d,b)= {if(!b)b=3DencodeURIComponent;var a=3Dnew = Sys.StringBuilder,f=3D0;for(var c in d){var e=3Dd[c];if(typeof = e=3D=3D=3D"function")continue;var = g=3DSys.Serialization.JavaScriptSerializer.serialize(e);if(f!=3D=3D0)a.ap= pend("&");a.append(c);a.append("=3D");a.append(b(g));f++}return = a.toString()};Sys.Net.WebRequest._createUrl=3Dfunction(a,b){if(!b)return = a;var d=3DSys.Net.WebRequest._createQueryString(b);if(d.length>0){var = c=3D"?";if(a&&a.indexOf("?")!=3D=3D-1)c=3D"&";return a+c+d}else return = a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServ= iceProxy=3Dfunction(){};Sys.Net.WebServiceProxy.prototype=3D{set_timeout:= function(a){this._timeout=3Da},get_timeout:function(){return = this._timeout},set_defaultUserContext:function(a){this._userContext=3Da},= get_defaultUserContext:function(){return = this._userContext},set_defaultSucceededCallback:function(a){this._succeed= ed=3Da},get_defaultSucceededCallback:function(){return = this._succeeded},set_defaultFailedCallback:function(a){this._failed=3Da},= get_defaultFailedCallback:function(){return = this._failed},set_path:function(a){this._path=3Da},get_path:function(){re= turn = this._path},_invoke:function(d,e,g,f,c,b,a){if(c=3D=3D=3Dnull||typeof = c=3D=3D=3D"undefined")c=3Dthis.get_defaultSucceededCallback();if(b=3D=3D=3D= null||typeof = b=3D=3D=3D"undefined")b=3Dthis.get_defaultFailedCallback();if(a=3D=3D=3Dn= ull||typeof = a=3D=3D=3D"undefined")a=3Dthis.get_defaultUserContext();return = Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Ne= t.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebSer= viceProxy.invoke=3Dfunction(k,a,j,d,i,c,f,h){var b=3Dnew = Sys.Net.WebRequest;b.get_headers()["Content-Type"]=3D"application/json; = charset=3Dutf-8";if(!d)d=3D{};var = g=3Dd;if(!j||!g)g=3D{};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+a,g)= );var = e=3Dnull;if(!j){e=3DSys.Serialization.JavaScriptSerializer.serialize(d);i= f(e=3D=3D=3D"{}")e=3D""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_= timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var = e=3Dd.get_statusCode(),b=3Dnull;try{var = j=3Dd.getResponseHeader("Content-Type");if(j.startsWith("application/json= "))b=3Dd.get_object();else = if(j.startsWith("text/xml"))b=3Dd.get_xml();else = b=3Dd.get_responseData()}catch(m){}var = k=3Dd.getResponseHeader("jsonerror"),g=3Dk=3D=3D=3D"true";if(g)b=3Dnew = Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType);if(= e<200||e>=3D300||g){if(c){if(!b||!g)b=3Dnew = Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg= ,a),"","");b._statusCode=3De;c(b,f,a)}}else if(i)i(b,f,a)}else{var = h;if(d.get_timedOut())h=3DString.format(Sys.Res.webServiceTimedOut,a);els= e h=3DString.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new = Sys.Net.WebServiceError(d.get_timedOut(),h,"",""),f,a)}}return = b};Sys.Net.WebServiceProxy._generateTypedConstructor=3Dfunction(a){return= function(b){if(b)for(var c in = b)this[c]=3Db[c];this.__type=3Da}};Sys.Net.WebServiceError=3Dfunction(c,d= ,b,a){this._timedOut=3Dc;this._message=3Dd;this._stackTrace=3Db;this._exc= eptionType=3Da;this._statusCode=3D-1};Sys.Net.WebServiceError.prototype=3D= {get_timedOut:function(){return = this._timedOut},get_statusCode:function(){return = this._statusCode},get_message:function(){return = this._message},get_stackTrace:function(){return = this._stackTrace},get_exceptionType:function(){return = this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebS= erviceError");Type.registerNamespace("Sys.Services");Sys.Services._Profil= eService=3Dfunction(){Sys.Services._ProfileService.initializeBase(this);t= his.properties=3D{}};Sys.Services._ProfileService.DefaultWebServicePath=3D= "";Sys.Services._ProfileService.prototype=3D{_defaultFailedCallback:null,= _defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_pa= th:"",_timeout:0,get_defaultFailedCallback:function(){return = this._defaultFailedCallback},set_defaultFailedCallback:function(a){this._= defaultFailedCallback=3Da},get_defaultLoadCompletedCallback:function(){re= turn = this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:func= tion(a){this._defaultLoadCompletedCallback=3Da},get_defaultSaveCompletedC= allback:function(){return = this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:func= tion(a){this._defaultSaveCompletedCallback=3Da},get_path:function(){retur= n = this._path},set_path:function(a){if(!a||!a.length)a=3D"";this._path=3Da},= get_timeout:function(){return = this._timeout},set_timeout:function(a){this._timeout=3Da},load:function(b= ,d,e,f){var = c=3D{},a;if(!b)a=3D"GetAllPropertiesForCurrentUser";else{a=3D"GetProperti= esForCurrentUser";c=3D{properties:this._clonePropertyNames(b)}}this._invo= ke(this._get_path(),a,false,c,Function.createDelegate(this,this._onLoadCo= mplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:f= unction(d,a,c,e){var = b=3Dthis._flattenProperties(d,this.properties);this._invoke(this._get_pat= h(),"SetPropertiesForCurrentUser",false,{values:b},Function.createDelegat= e(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFai= led),[a,c,e])},_clonePropertyNames:function(e){var c=3D[],d=3D{};for(var = b=3D0;b0)a.append(",");Sys.Serialization.JavaScriptSerializer._s= erializeWithBuilder(b[c],a)}a.append("]")}else{if(Date.isInstanceOfType(b= )){a.append('"@');a.append(b.getTime());a.append('@"');break}var = e=3D[],i=3D0;for(var g in = b){if(g.startsWith("$"))continue;e[i++]=3Dg}if(h)e.sort();a.append("{");v= ar j=3Dfalse;for(c=3D0;c=3D" = "){if(d=3D=3D=3D"\\"||d=3D=3D=3D'"')a.append("\\");a.append(d)}else = switch(d){case "\b":a.append("\\b");break;case = "\f":a.append("\\f");break;case "\n":a.append("\\n");break;case = "\r":a.append("\\r");break;case = "\t":a.append("\\t");break;default:a.append("\\u00");if(d.charCodeAt()<16= )a.append("0");a.append(d.charCodeAt().toString(16))}}}else = a.append(b);a.append('"');break;case = "boolean":a.append(b.toString());break;default:a.append("null");break}};S= ys.Serialization.JavaScriptSerializer.serialize=3Dfunction(b){var = a=3Dnew = Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBu= ilder(b,a,false);return = a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=3Dfuncti= on(data){if(data.length=3D=3D=3D0)throw = Error.argument("data",Sys.Res.cannotDeserializeEmptyString);var = exp=3Ddata.replace(new RegExp('\\"@(-?[0-9]+)@\\"',"g"),"new = Date($1)");return = eval("("+exp+")")};Sys.CultureInfo=3Dfunction(c,b,a){this.name=3Dc;this.n= umberFormat=3Db;this.dateTimeFormat=3Da};Sys.CultureInfo.prototype=3D{_ge= tDateTimeFormats:function(){if(!this._dateTimeFormats){var = a=3Dthis.dateTimeFormat;this._dateTimeFormats=3D[a.MonthDayPattern,a.Year= MonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.Lo= ngTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePa= ttern,a.UniversalSortableDateTimePattern]}return = this._dateTimeFormats},_getMonthIndex:function(a){if(!this._upperMonths)t= his._upperMonths=3Dthis._toUpperArray(this.dateTimeFormat.MonthNames);ret= urn = Array.indexOf(this._upperMonths,this._toUpper(a))},_getAbbrMonthIndex:fun= ction(a){if(!this._upperAbbrMonths)this._upperAbbrMonths=3Dthis._toUpperA= rray(this.dateTimeFormat.AbbreviatedMonthNames);return = Array.indexOf(this._upperMonths,this._toUpper(a))},_getDayIndex:function(= a){if(!this._upperDays)this._upperDays=3Dthis._toUpperArray(this.dateTime= Format.DayNames);return = Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:functio= n(a){if(!this._upperAbbrDays)this._upperAbbrDays=3Dthis._toUpperArray(thi= s.dateTimeFormat.AbbreviatedDayNames);return = Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:functi= on(c){var b=3D[];for(var = a=3D0,d=3Dc.length;a /// The BoxSide enumeration describes the sides of a DOM element /// /// /// /// /// } AjaxControlToolkit.BoxSide.prototype =3D { Top : 0, Right : 1, Bottom : 2, Left : 3 } AjaxControlToolkit.BoxSide.registerEnum("AjaxControlToolkit.BoxSide", = false); AjaxControlToolkit._CommonToolkitScripts =3D function() { /// /// The _CommonToolkitScripts class contains functionality utilized = across a number /// of controls (but not universally) /// /// /// You should not create new instances of _CommonToolkitScripts. = Instead you should use the shared instance CommonToolkitScripts (or = AjaxControlToolkit.CommonToolkitScripts). /// =20 // Populate the borderThicknesses lookup table this._borderThicknesses =3D { }; var div0 =3D document.createElement('div'); var div1 =3D document.createElement('div'); div0.style.visibility =3D 'hidden'; div0.style.position =3D 'absolute'; div0.style.fontSize =3D '1px'; =20 div1.style.height =3D '0px'; div1.style.overflow =3D 'hidden'; =20 document.body.appendChild(div0).appendChild(div1); =20 var base =3D div0.offsetHeight; div1.style.borderTop =3D 'solid black'; =20 div1.style.borderTopWidth =3D 'thin'; this._borderThicknesses['thin'] =3D div0.offsetHeight - base; =20 div1.style.borderTopWidth =3D 'medium'; this._borderThicknesses['medium'] =3D div0.offsetHeight - base; =20 div1.style.borderTopWidth =3D 'thick'; this._borderThicknesses['thick'] =3D div0.offsetHeight - base; =20 div0.removeChild(div1); document.body.removeChild(div0); div0 =3D null; div1 =3D null; } AjaxControlToolkit._CommonToolkitScripts.prototype =3D { // The order of these lookup tables is directly linked to the = BoxSide enum defined above _borderStyleNames : = ['borderTopStyle','borderRightStyle','borderBottomStyle','borderLeftStyle= '], _borderWidthNames : ['borderTopWidth', 'borderRightWidth', = 'borderBottomWidth', 'borderLeftWidth'], _paddingWidthNames : ['paddingTop', 'paddingRight', 'paddingBottom', = 'paddingLeft'], _marginWidthNames : ['marginTop', 'marginRight', 'marginBottom', = 'marginLeft'], getCurrentStyle : function(element, attribute, defaultValue) { /// /// CommonToolkitScripts.getCurrentStyle is used to compute the = value of a style attribute on an /// element that is currently being displayed. This is = especially useful for scenarios where /// several CSS classes and style attributes are merged, or when = you need information about the /// size of an element (such as its padding or margins) that is = not exposed in any other fashion. /// /// /// Live DOM element to check style of /// /// /// The style attribute's name is expected to be in a = camel-cased form that you would use when /// accessing a JavaScript property instead of the hyphenated = form you would use in a CSS /// stylesheet (i.e. it should be "backgroundColor" and not = "background-color"). /// /// /// In the event of a problem (i.e. a null element or an = attribute that cannot be found) we /// return this object (or null if none if not specified). /// /// /// Current style of the element's attribute /// var currentValue =3D null; if (element) { if (element.currentStyle) { currentValue =3D element.currentStyle[attribute]; } else if (document.defaultView && = document.defaultView.getComputedStyle) { var style =3D = document.defaultView.getComputedStyle(element, null); if (style) { currentValue =3D style[attribute]; } } =20 if (!currentValue && element.style.getPropertyValue) { currentValue =3D = element.style.getPropertyValue(attribute); } else if (!currentValue && element.style.getAttribute) { currentValue =3D element.style.getAttribute(attribute); } =20 } =20 if ((!currentValue || currentValue =3D=3D "" || = typeof(currentValue) =3D=3D=3D 'undefined')) { if (typeof(defaultValue) !=3D 'undefined') { currentValue =3D defaultValue; } else { currentValue =3D null; } } =20 return currentValue; =20 }, getInheritedBackgroundColor : function(element) { /// /// CommonToolkitScripts.getInheritedBackgroundColor provides = the ability to get the displayed /// background-color of an element. In most cases calling = CommonToolkitScripts.getCurrentStyle /// won't do the job because it will return "transparent" unless = the element has been given a /// specific background color. This function will walk up the = element's parents until it finds /// a non-transparent color. If we get all the way to the top = of the document or have any other /// problem finding a color, we will return the default value = '#FFFFFF'. This function is /// especially important when we're using opacity in IE (because = ClearType will make text look /// horrendous if you fade it with a transparent background = color). /// /// /// Live DOM element to get the background color of /// /// /// Background color of the element /// =20 if (!element) return '#FFFFFF'; var background =3D this.getCurrentStyle(element, = 'backgroundColor'); try { while (!background || background =3D=3D '' || background = =3D=3D 'transparent' || background =3D=3D 'rgba(0, 0, 0, 0)') { element =3D element.parentNode; if (!element) { background =3D '#FFFFFF'; } else { background =3D this.getCurrentStyle(element, = 'backgroundColor'); } } } catch(ex) { background =3D '#FFFFFF'; } return background; }, getLocation : function(element) { /// Gets the coordinates of a DOM element. /// /// /// A Point object with two fields, x and y, which contain the = pixel coordinates of the element. /// // workaround for an issue in getLocation where it will compute the = location of the document element. // this will return an offset if scrolled. // if (element =3D=3D=3D document.documentElement) { return new Sys.UI.Point(0,0); } // Workaround for IE6 bug in getLocation (also required patching = getBounds - remove that fix when this is removed) if (Sys.Browser.agent =3D=3D Sys.Browser.InternetExplorer && = Sys.Browser.version < 7) { if (element.window =3D=3D=3D element || element.nodeType = =3D=3D=3D 9 || !element.getClientRects || = !element.getBoundingClientRect) return new Sys.UI.Point(0,0); // Get the first bounding rectangle in screen coordinates var screenRects =3D element.getClientRects(); if (!screenRects || !screenRects.length) { return new Sys.UI.Point(0,0); } var first =3D screenRects[0]; // Delta between client coords and screen coords var dLeft =3D 0; var dTop =3D 0; var inFrame =3D false; try { inFrame =3D element.ownerDocument.parentWindow.frameElement; } catch(ex) { // If accessing the frameElement fails, a frame is probably = in a different // domain than its parent - and we still want to do the = calculation below inFrame =3D true; } // If we're in a frame, get client coordinates too so we can = compute the delta if (inFrame) { // Get the bounding rectangle in client coords var clientRect =3D element.getBoundingClientRect(); if (!clientRect) { return new Sys.UI.Point(0,0); } // Find the minima in screen coords var minLeft =3D first.left; var minTop =3D first.top; for (var i =3D 1; i < screenRects.length; i++) { var r =3D screenRects[i]; if (r.left < minLeft) { minLeft =3D r.left; } if (r.top < minTop) { minTop =3D r.top; } } // Compute the delta between screen and client coords dLeft =3D minLeft - clientRect.left; dTop =3D minTop - clientRect.top; } // Subtract 2px, the border of the viewport (It can be changed = in IE6 by applying a border style to the HTML element, // but this is not supported by ASP.NET AJAX, and it cannot be = changed in IE7.), and also subtract the delta between // screen coords and client coords var ownerDocument =3D element.document.documentElement; return new Sys.UI.Point(first.left - 2 - dLeft + = ownerDocument.scrollLeft, first.top - 2 - dTop + = ownerDocument.scrollTop); } return Sys.UI.DomElement.getLocation(element); }, setLocation : function(element, point) { /// /// Sets the current location for an element. /// /// /// DOM element /// /// /// Point object (of the form {x,y}) /// /// /// This method does not attempt to set the positioning mode of = an element. /// The position is relative from the elements nearest = position:relative or /// position:absolute element. /// Sys.UI.DomElement.setLocation(element, point.x, point.y); }, =20 getContentSize : function(element) { /// /// Gets the "content-box" size of an element. /// /// /// DOM element /// /// /// Size of the element (in the form {width,height}) /// /// /// The "content-box" is the size of the content area *inside* = of the borders and /// padding of an element. The "content-box" size does not = include the margins around /// the element. /// =20 if (!element) { throw Error.argumentNull('element'); } var size =3D this.getSize(element); var borderBox =3D this.getBorderBox(element); var paddingBox =3D this.getPaddingBox(element); return { width : size.width - borderBox.horizontal - = paddingBox.horizontal, height : size.height - borderBox.vertical - = paddingBox.vertical } }, getSize : function(element) { /// /// Gets the "border-box" size of an element. /// /// /// DOM element /// /// /// Size of the element (in the form {width,height}) /// /// /// The "border-box" is the size of the content area *outside* = of the borders and /// padding of an element. The "border-box" size does not = include the margins around /// the element. /// =20 if (!element) { throw Error.argumentNull('element'); } return { width: element.offsetWidth, height: element.offsetHeight }; }, =20 setContentSize : function(element, size) { /// /// Sets the "content-box" size of an element. /// /// /// DOM element /// /// /// Size of the element (in the form {width,height}) /// /// /// The "content-box" is the size of the content area *inside* = of the borders and /// padding of an element. The "content-box" size does not = include the margins around /// the element. /// =20 if (!element) { throw Error.argumentNull('element'); } if (!size) { throw Error.argumentNull('size'); } // FF respects -moz-box-sizing css extension, so adjust the box = size for the border-box if(this.getCurrentStyle(element, 'MozBoxSizing') =3D=3D = 'border-box' || this.getCurrentStyle(element, 'BoxSizing') =3D=3D = 'border-box') { var borderBox =3D this.getBorderBox(element); var paddingBox =3D this.getPaddingBox(element); size =3D { width: size.width + borderBox.horizontal + = paddingBox.horizontal, height: size.height + borderBox.vertical + = paddingBox.vertical }; } element.style.width =3D size.width.toString() + 'px'; element.style.height =3D size.height.toString() + 'px'; }, =20 setSize : function(element, size) { /// /// Sets the "border-box" size of an element. /// /// /// The "border-box" is the size of the content area *outside* = of the borders and=20 /// padding of an element. The "border-box" size does not = include the margins around /// the element. /// /// DOM = element /// Size of the element (in = the form {width,height}) /// =20 if (!element) { throw Error.argumentNull('element'); } if (!size) { throw Error.argumentNull('size'); } var borderBox =3D this.getBorderBox(element); var paddingBox =3D this.getPaddingBox(element); var contentSize =3D { width: size.width - borderBox.horizontal - = paddingBox.horizontal, height: size.height - borderBox.vertical - = paddingBox.vertical }; this.setContentSize(element, contentSize); }, =20 getBounds : function(element) { /// Gets the coordinates, width and height of an = element. /// /// /// A Bounds object with four fields, x, y, width and height, = which contain the pixel coordinates, /// width and height of the element. /// /// /// Use the CommonToolkitScripts version of getLocation to = handle the workaround for IE6. We can /// remove the below implementation and just call = Sys.UI.DomElement.getBounds when the other bug /// is fixed. /// =20 var offset =3D CommonToolkitScripts.getLocation(element); return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth = || 0, element.offsetHeight || 0); },=20 =20 setBounds : function(element, bounds) { /// /// Sets the "border-box" bounds of an element /// /// /// DOM element /// /// /// Bounds of the element (of the form {x,y,width,height}) /// /// /// The "border-box" is the size of the content area *outside* = of the borders and /// padding of an element. The "border-box" size does not = include the margins around /// the element. /// =20 if (!element) { throw Error.argumentNull('element'); } if (!bounds) { throw Error.argumentNull('bounds'); } this.setSize(element, bounds); CommonToolkitScripts.setLocation(element, bounds); }, =20 getClientBounds : function() { /// /// Gets the width and height of the browser client window = (excluding scrollbars) /// /// /// Browser's client width and height /// var clientWidth; var clientHeight; switch(Sys.Browser.agent) { case Sys.Browser.InternetExplorer: clientWidth =3D document.documentElement.clientWidth; clientHeight =3D document.documentElement.clientHeight; break; case Sys.Browser.Safari: clientWidth =3D window.innerWidth; clientHeight =3D window.innerHeight; break; case Sys.Browser.Opera: clientWidth =3D Math.min(window.innerWidth, = document.body.clientWidth); clientHeight =3D Math.min(window.innerHeight, = document.body.clientHeight); break; default: // Sys.Browser.Firefox, etc. clientWidth =3D Math.min(window.innerWidth, = document.documentElement.clientWidth); clientHeight =3D Math.min(window.innerHeight, = document.documentElement.clientHeight); break; } return new Sys.UI.Bounds(0, 0, clientWidth, clientHeight); }, =20 getMarginBox : function(element) { /// /// Gets the entire margin box sizes. /// /// /// DOM element /// /// /// Element's margin box sizes (of the form = {top,left,bottom,right,horizontal,vertical}) /// =20 if (!element) { throw Error.argumentNull('element'); } var box =3D { top: this.getMargin(element, = AjaxControlToolkit.BoxSide.Top), right: this.getMargin(element, = AjaxControlToolkit.BoxSide.Right), bottom: this.getMargin(element, = AjaxControlToolkit.BoxSide.Bottom), left: this.getMargin(element, = AjaxControlToolkit.BoxSide.Left) } box.horizontal =3D box.left + box.right; box.vertical =3D box.top + box.bottom; return box; }, =20 getBorderBox : function(element) { /// /// Gets the entire border box sizes. /// /// /// DOM element /// /// /// Element's border box sizes (of the form = {top,left,bottom,right,horizontal,vertical}) /// =20 if (!element) { throw Error.argumentNull('element'); } var box =3D { top: this.getBorderWidth(element, = AjaxControlToolkit.BoxSide.Top), right: this.getBorderWidth(element, = AjaxControlToolkit.BoxSide.Right), bottom: this.getBorderWidth(element, = AjaxControlToolkit.BoxSide.Bottom), left: this.getBorderWidth(element, = AjaxControlToolkit.BoxSide.Left) } box.horizontal =3D box.left + box.right; box.vertical =3D box.top + box.bottom; return box; }, =20 getPaddingBox : function(element) { /// /// Gets the entire padding box sizes. /// /// /// DOM element /// /// /// Element's padding box sizes (of the form = {top,left,bottom,right,horizontal,vertical}) /// =20 if (!element) { throw Error.argumentNull('element'); } var box =3D { top: this.getPadding(element, = AjaxControlToolkit.BoxSide.Top), right: this.getPadding(element, = AjaxControlToolkit.BoxSide.Right), bottom: this.getPadding(element, = AjaxControlToolkit.BoxSide.Bottom), left: this.getPadding(element, = AjaxControlToolkit.BoxSide.Left) } box.horizontal =3D box.left + box.right; box.vertical =3D box.top + box.bottom; return box; }, =20 isBorderVisible : function(element, boxSide) { /// /// Gets whether the current border style for an element on a = specific boxSide is not 'none'. /// /// /// DOM element /// /// /// Side of the element /// /// /// Whether the current border style for an element on a = specific boxSide is not 'none'. /// =20 if (!element) { throw Error.argumentNull('element'); } if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > = AjaxControlToolkit.BoxSide.Left) { throw = Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, = boxSide, 'AjaxControlToolkit.BoxSide')); } var styleName =3D this._borderStyleNames[boxSide]; var styleValue =3D this.getCurrentStyle(element, styleName); return styleValue !=3D "none"; }, =20 getMargin : function(element, boxSide) { /// /// Gets the margin thickness of an element on a specific = boxSide. /// /// /// DOM element /// /// /// Side of the element /// /// /// Margin thickness on the element's specified side /// =20 if (!element) { throw Error.argumentNull('element'); } if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > = AjaxControlToolkit.BoxSide.Left) { throw = Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, = boxSide, 'AjaxControlToolkit.BoxSide')); } var styleName =3D this._marginWidthNames[boxSide]; var styleValue =3D this.getCurrentStyle(element, styleName); try { return this.parsePadding(styleValue); } catch(ex) { return = 0; } }, getBorderWidth : function(element, boxSide) { /// /// Gets the border thickness of an element on a specific = boxSide. /// /// /// DOM element /// /// /// Side of the element /// /// /// Border thickness on the element's specified side /// =20 if (!element) { throw Error.argumentNull('element'); } if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > = AjaxControlToolkit.BoxSide.Left) { throw = Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, = boxSide, 'AjaxControlToolkit.BoxSide')); } if(!this.isBorderVisible(element, boxSide)) { return 0; } =20 var styleName =3D this._borderWidthNames[boxSide]; =20 var styleValue =3D this.getCurrentStyle(element, styleName); return this.parseBorderWidth(styleValue); }, =20 getPadding : function(element, boxSide) { /// /// Gets the padding thickness of an element on a specific = boxSide. /// /// /// DOM element /// /// /// Side of the element /// /// /// Padding on the element's specified side /// =20 if (!element) { throw Error.argumentNull('element'); } if(boxSide < AjaxControlToolkit.BoxSide.Top || boxSide > = AjaxControlToolkit.BoxSide.Left) { throw = Error.argumentOutOfRange(String.format(Sys.Res.enumInvalidValue, = boxSide, 'AjaxControlToolkit.BoxSide')); } var styleName =3D this._paddingWidthNames[boxSide]; var styleValue =3D this.getCurrentStyle(element, styleName); return this.parsePadding(styleValue); }, =20 parseBorderWidth : function(borderWidth) { /// /// Parses a border-width string into a pixel size /// /// /// Type of border ('thin','medium','thick','inherit',px = unit,null,'') /// /// /// Number of pixels in the border-width /// =20 if(borderWidth) { switch(borderWidth) { case 'thin': case 'medium': case 'thick': return this._borderThicknesses[borderWidth]; case 'inherit': return 0; } var unit =3D this.parseUnit(borderWidth); Sys._Debug.assert(unit.type =3D=3D 'px', = String.format(AjaxControlToolkit.Resources.Common_InvalidBorderWidthUnit,= unit.type)); return unit.size; } return 0; }, =20 parsePadding : function(padding) { /// /// Parses a padding string into a pixel size /// /// /// Padding to parse ('inherit',px unit,null,'') /// /// /// Number of pixels in the padding /// =20 if(padding) { if(padding =3D=3D 'inherit') { return 0; } var unit =3D this.parseUnit(padding); Sys._Debug.assert(unit.type =3D=3D 'px', = String.format(AjaxControlToolkit.Resources.Common_InvalidPaddingUnit, = unit.type)); return unit.size; } return 0; }, =20 parseUnit : function(value) { /// /// Parses a unit string into a unit object /// /// /// Value to parse (of the form px unit,% unit,em unit,...) /// /// /// Parsed unit (of the form {size,type}) /// =20 if (!value) { throw Error.argumentNull('value'); } =20 value =3D value.trim().toLowerCase(); var l =3D value.length; var s =3D -1; for(var i =3D 0; i < l; i++) { var ch =3D value.substr(i, 1); if((ch < '0' || ch > '9') && ch !=3D '-' && ch !=3D '.' && = ch !=3D ',') { break; } s =3D i; } if(s =3D=3D -1) { throw = Error.create(AjaxControlToolkit.Resources.Common_UnitHasNoDigits); } var type; var size; if(s < (l - 1)) { type =3D value.substring(s + 1).trim(); } else { type =3D 'px'; } size =3D parseFloat(value.substr(0, s + 1)); if(type =3D=3D 'px') { size =3D Math.floor(size); } return {=20 size: size, type: type }; }, =20 getElementOpacity : function(element) { /// /// Get the element's opacity /// /// /// Element /// /// /// Opacity of the element /// =20 if (!element) { throw Error.argumentNull('element'); } =20 var hasOpacity =3D false; var opacity; =20 if (element.filters) { var filters =3D element.filters; if (filters.length !=3D=3D 0) { var alphaFilter =3D = filters['DXImageTransform.Microsoft.Alpha']; if (alphaFilter) { opacity =3D alphaFilter.opacity / 100.0; hasOpacity =3D true; } } } else { opacity =3D this.getCurrentStyle(element, 'opacity', 1); hasOpacity =3D true; } =20 if (hasOpacity =3D=3D=3D false) { return 1.0; } return parseFloat(opacity); }, setElementOpacity : function(element, value) { /// /// Set the element's opacity /// /// /// Element /// /// /// Opacity of the element /// =20 if (!element) { throw Error.argumentNull('element'); } =20 if (element.filters) { var filters =3D element.filters; var createFilter =3D true; if (filters.length !=3D=3D 0) { var alphaFilter =3D = filters['DXImageTransform.Microsoft.Alpha']; if (alphaFilter) { createFilter =3D false; alphaFilter.opacity =3D value * 100; } } if (createFilter) { element.style.filter =3D = 'progid:DXImageTransform.Microsoft.Alpha(opacity=3D' + (value * 100) + = ')'; } } else { element.style.opacity =3D value; } }, =20 resolveFunction : function(value) { /// /// Returns a function reference that corresponds to the = provided value /// /// /// The value can either be a Function, the name of a function = (that can be found using window['name']), /// or an expression that evaluates to a function. /// /// /// Reference to the function, or null if not found /// =20 if (value) { if (value instanceof Function) { return value; } else if (String.isInstanceOfType(value) && value.length > = 0) { var func; if ((func =3D window[value]) instanceof Function) { return func; } else if ((func =3D eval(value)) instanceof Function) { return func; } } } return null; }, addCssClasses : function(element, classNames) { /// /// Adds multiple css classes to a DomElement /// /// The = element to modify /// The class names to = add =20 for(var i =3D 0; i < classNames.length; i++) { Sys.UI.DomElement.addCssClass(element, classNames[i]); } }, removeCssClasses : function(element, classNames) { /// /// Removes multiple css classes to a DomElement /// /// The = element to modify /// The class names to = remove =20 for(var i =3D 0; i < classNames.length; i++) { Sys.UI.DomElement.removeCssClass(element, classNames[i]); } }, setStyle : function(element, style) { /// /// Sets the style of the element using the supplied style = template object /// /// The = element to modify /// The template $common.applyProperties(element.style, style); }, removeHandlers : function(element, events) { /// /// Removes a set of event handlers from an element /// /// The = element to modify /// The template object = that contains event names and delegates /// /// This is NOT the same as $clearHandlers which removes all = delegates from a DomElement. This rather removes select delegates=20 /// from a specified element and has a matching signature as = $addHandlers /// for (var name in events) { $removeHandler(element, name, events[name]); } }, =20 containsPoint : function(rect, x, y) { /// /// Tests whether a point (x,y) is contained within a rectangle /// /// The rectangle /// The x coordinate of the = point /// The y coordinate of the = point =20 return x >=3D rect.x && x <=3D (rect.x + rect.width) && y >=3D = rect.y && y <=3D (rect.y + rect.width); }, isKeyDigit : function(keyCode) {=20 /// /// Gets whether the supplied key-code is a digit /// /// The = key code of the event (from Sys.UI.DomEvent) /// return (0x30 <=3D keyCode && keyCode <=3D 0x39);=20 }, =20 isKeyNavigation : function(keyCode) {=20 /// /// Gets whether the supplied key-code is a navigation key /// /// The = key code of the event (from Sys.UI.DomEvent) /// return (Sys.UI.Key.left <=3D keyCode && keyCode <=3D = Sys.UI.Key.down);=20 }, =20 padLeft : function(text, size, ch, truncate) {=20 /// /// Pads the left hand side of the supplied text with the = specified pad character up to the requested size /// /// The text to pad /// The size to pad the text (default is 2) /// The = single character to use as the pad character (default is ' ') /// Whether to truncate the text to size (default is = false) =20 return AjaxControlToolkit.CommonToolkitScripts._pad(text, size = || 2, ch || ' ', 'l', truncate || false);=20 }, =20 padRight : function(text, size, ch, truncate) {=20 /// /// Pads the right hand side of the supplied text with the = specified pad character up to the requested size /// /// The text to pad /// The size to pad the text (default is 2) /// The = single character to use as the pad character (default is ' ') /// Whether to truncate the text to size (default is = false) return AjaxControlToolkit.CommonToolkitScripts._pad(text, size = || 2, ch || ' ', 'r', truncate || false);=20 }, =20 _pad : function(text, size, ch, side, truncate) { /// /// Pads supplied text with the specified pad character up to = the requested size /// /// The text to pad /// The = size to pad the text /// The single character to = use as the pad character /// Either 'l' or 'r' to = siginfy whether to pad the Left or Right side respectively /// Whether to = truncate the text to size text =3D text.toString(); var length =3D text.length; var builder =3D new Sys.StringBuilder(); if (side =3D=3D 'r') { builder.append(text); }=20 while (length < size) { builder.append(ch); length++; } if (side =3D=3D 'l') { builder.append(text); } var result =3D builder.toString(); if (truncate && result.length > size) { if (side =3D=3D 'l') { result =3D result.substr(result.length - size, size); } else { result =3D result.substr(0, size); } } return result; }, =20 __DOMEvents : { focusin : { eventGroup : "UIEvents", init : function(e, p) { = e.initUIEvent("focusin", true, false, window, 1); } }, focusout : { eventGroup : "UIEvents", init : function(e, p) { = e.initUIEvent("focusout", true, false, window, 1); } }, activate : { eventGroup : "UIEvents", init : function(e, p) { = e.initUIEvent("activate", true, true, window, 1); } }, focus : { eventGroup : "UIEvents", init : function(e, p) { = e.initUIEvent("focus", false, false, window, 1); } }, blur : { eventGroup : "UIEvents", init : function(e, p) { = e.initUIEvent("blur", false, false, window, 1); } }, click : { eventGroup : "MouseEvents", init : function(e, p) { = e.initMouseEvent("click", true, true, window, 1, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, dblclick : { eventGroup : "MouseEvents", init : function(e, p) { = e.initMouseEvent("click", true, true, window, 2, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, mousedown : { eventGroup : "MouseEvents", init : function(e, p) = { e.initMouseEvent("mousedown", true, true, window, 1, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, mouseup : { eventGroup : "MouseEvents", init : function(e, p) { = e.initMouseEvent("mouseup", true, true, window, 1, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, mouseover : { eventGroup : "MouseEvents", init : function(e, p) = { e.initMouseEvent("mouseover", true, true, window, 1, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, mousemove : { eventGroup : "MouseEvents", init : function(e, p) = { e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, mouseout : { eventGroup : "MouseEvents", init : function(e, p) { = e.initMouseEvent("mousemove", true, true, window, 1, p.screenX || 0, = p.screenY || 0, p.clientX || 0, p.clientY || 0, p.ctrlKey || false, = p.altKey || false, p.shiftKey || false, p.metaKey || false, p.button || = 0, p.relatedTarget || null); } }, load : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("load", false, false); } }, unload : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("unload", false, false); } }, select : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("select", true, false); } }, change : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("change", true, false); } }, submit : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("submit", true, true); } }, reset : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("reset", true, false); } }, resize : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("resize", true, false); } }, scroll : { eventGroup : "HTMLEvents", init : function(e, p) { = e.initMouseEvent("scroll", true, false); } } }, =20 tryFireRawEvent : function(element, rawEvent) { /// /// Attempts to fire a raw DOM event on an element /// /// The = element to fire the event /// The raw DOM event = object to fire. Must not be Sys.UI.DomEvent /// True if the event was successfully = fired, otherwise false =20 try { if (element.fireEvent) { element.fireEvent("on" + rawEvent.type, rawEvent); return true; } else if (element.dispatchEvent) { element.dispatchEvent(rawEvent); return true; } } catch (e) { } return false; }, =20 tryFireEvent : function(element, eventName, properties) { /// /// Attempts to fire a DOM event on an element /// /// The = element to fire the event /// The name of the = event to fire (without an 'on' prefix) /// Properties to add = to the event /// True if the event was successfully = fired, otherwise false =20 try { if (document.createEventObject) { var e =3D document.createEventObject(); $common.applyProperties(e, properties || {}); element.fireEvent("on" + eventName, e); return true; } else if (document.createEvent) { var def =3D $common.__DOMEvents[eventName]; if (def) { var e =3D document.createEvent(def.eventGroup); def.init(e, properties || {}); element.dispatchEvent(e); return true; } } } catch (e) { } return false; }, wrapElement : function(innerElement, newOuterElement, = newInnerParentElement) { /// /// Wraps an inner element with a new outer element at the same = DOM location as the inner element /// /// The = element to be wrapped /// The new parent for the element /// =20 var parent =3D innerElement.parentNode; parent.replaceChild(newOuterElement, innerElement); =20 (newInnerParentElement || = newOuterElement).appendChild(innerElement); }, unwrapElement : function(innerElement, oldOuterElement) { /// /// Unwraps an inner element from an outer element at the same = DOM location as the outer element /// /// The = element to be wrapped /// The new parent for the element /// var parent =3D oldOuterElement.parentNode; if (parent !=3D null) { $common.removeElement(innerElement); parent.replaceChild(innerElement, oldOuterElement); } }, =20 removeElement : function(element) { /// /// Removes an element from the DOM tree /// /// The = element to be removed /// var parent =3D element.parentNode; if (parent !=3D null) { parent.removeChild(element); } }, =20 applyProperties : function(target, properties) { /// /// Quick utility method to copy properties from a template = object to a target object /// /// The object to apply = to /// The template to = copy values from =20 for (var p in properties) { var pv =3D properties[p]; if (pv !=3D null && Object.getType(pv)=3D=3D=3DObject) { var tv =3D target[p]; = AjaxControlToolkit.CommonToolkitScripts.applyProperties(tv, pv); } else { target[p] =3D pv; } } }, =20 createElementFromTemplate : function(template, appendToParent, = nameTable) { /// /// Creates an element for the current document based on a = template object /// /// The template from = which to create the element /// A DomElement under which to append = this element /// An object to use as the storage for the element using = template.name as the key /// /// /// This method is useful if you find yourself using the same or = similar DomElement constructions throughout a class. You can even set = the templates /// as static properties for a type to cut down on overhead. = This method is often called with a JSON style template: /// /// var elt =3D $common.createElementFromTemplate({ /// nodeName : "div", /// properties : { /// style : { /// height : "100px", /// width : "100px", /// backgroundColor : "white" /// }, /// expandoAttribute : "foo" /// }, /// events : { /// click : function() { alert("foo"); }, /// mouseover : function() { elt.backgroundColor =3D = "silver"; }, /// mouseout : function() { elt.backgroundColor =3D = "white"; } /// }, /// cssClasses : [ "class0", "class1" ], /// visible : true, /// opacity : .5 /// }, someParent); /// /// =20 // if we wish to override the name table we do so here if (typeof(template.nameTable)!=3D'undefined') { var newNameTable =3D template.nameTable; if (String.isInstanceOfType(newNameTable)) { newNameTable =3D nameTable[newNameTable]; } if (newNameTable !=3D null) { nameTable =3D newNameTable; } } =20 // get a name for the element in the nameTable var elementName =3D null; if (typeof(template.name)!=3D=3D'undefined') { elementName =3D template.name; } =20 // create or acquire the element var elt =3D document.createElement(template.nodeName); =20 // if our element is named, add it to the name table if (typeof(template.name)!=3D=3D'undefined' && nameTable) { nameTable[template.name] =3D elt; } =20 // if we wish to supply a default parent we do so here if (typeof(template.parent)!=3D=3D'undefined' && appendToParent = =3D=3D null) { var newParent =3D template.parent; if (String.isInstanceOfType(newParent)) { newParent =3D nameTable[newParent]; } if (newParent !=3D null) { appendToParent =3D newParent; } } =20 // properties are applied as expando values to the element if (typeof(template.properties)!=3D=3D'undefined' && = template.properties !=3D null) { $common.applyProperties(elt, template.properties); } =20 // css classes are added to the element's className property if (typeof(template.cssClasses)!=3D=3D'undefined' && = template.cssClasses !=3D null) { $common.addCssClasses(elt, template.cssClasses); } =20 // events are added to the dom element using $addHandlers if (typeof(template.events)!=3D=3D'undefined' && template.events = !=3D null) { $addHandlers(elt, template.events); } =20 // if the element is visible or not its visibility is set if (typeof(template.visible)!=3D=3D'undefined' && = template.visible !=3D null) { Sys.UI.DomElement.setVisible(elt, template.visible); } =20 // if we have an appendToParent we will now append to it if (appendToParent) { appendToParent.appendChild(elt); } // if we have opacity, apply it if (typeof(template.opacity)!=3D=3D'undefined' && = template.opacity !=3D null) { $common.setElementOpacity(elt, template.opacity); } =20 // if we have child templates, process them if (typeof(template.children)!=3D=3D'undefined' && = template.children !=3D null) { for (var i =3D 0; i < template.children.length; i++) { var subtemplate =3D template.children[i]; $common.createElementFromTemplate(subtemplate, elt, = nameTable); } } =20 // if we have a content presenter for the element get it (the = element itself is the default presenter for content) var contentPresenter =3D elt; if (typeof(template.contentPresenter)!=3D=3D'undefined' && = template.contentPresenter !=3D null) { contentPresenter =3D nameTable[contentPresenter]; } =20 // if we have content, add it if (typeof(template.content)!=3D=3D'undefined' && = template.content !=3D null) { var content =3D template.content; if (String.isInstanceOfType(content)) { content =3D nameTable[content]; } if (content.parentNode) { $common.wrapElement(content, elt, contentPresenter); } else { contentPresenter.appendChild(content); } } =20 // return the created element return elt; } } // Create the singleton instance of the CommonToolkitScripts var CommonToolkitScripts =3D AjaxControlToolkit.CommonToolkitScripts =3D = new AjaxControlToolkit._CommonToolkitScripts(); var $common =3D CommonToolkitScripts; AjaxControlToolkit._DomUtility =3D function() { /// /// Utility functions for manipulating the DOM /// } AjaxControlToolkit._DomUtility.prototype =3D { isDescendant : function(ancestor, descendant) { /// /// Whether the specified element is a descendant of the = ancestor /// /// Ancestor = node /// Possible descendant node /// =20 for (var n =3D descendant.parentNode; n !=3D null; n =3D = n.parentNode) { if (n =3D=3D ancestor) return true; } return false; }, isDescendantOrSelf : function(ancestor, descendant) { /// /// Whether the specified element is a descendant of the = ancestor or the same as the ancestor /// /// Ancestor = node /// Possible descendant node /// if (ancestor =3D=3D=3D descendant)=20 return true; return AjaxControlToolkit.DomUtility.isDescendant(ancestor, = descendant); }, isAncestor : function(descendant, ancestor) { /// /// Whether the specified element is an ancestor of the = descendant /// /// Descendant node /// Possible = ancestor node /// return AjaxControlToolkit.DomUtility.isDescendant(ancestor, = descendant); }, isAncestorOrSelf : function(descendant, ancestor) { /// /// Whether the specified element is an ancestor of the = descendant or the same as the descendant /// /// Descendant node /// Possible = ancestor node /// =20 if (descendant =3D=3D=3D ancestor) return true; =20 return AjaxControlToolkit.DomUtility.isDescendant(ancestor, = descendant); }, isSibling : function(self, sibling) { /// /// Whether the specified element is a sibling of the self = element /// /// Self = node /// Possible = sibling node /// =20 var parent =3D self.parentNode; for (var i =3D 0; i < parent.childNodes.length; i++) { if (parent.childNodes[i] =3D=3D sibling) return true; } return false; } } AjaxControlToolkit._DomUtility.registerClass("AjaxControlToolkit._DomUtil= ity"); AjaxControlToolkit.DomUtility =3D new AjaxControlToolkit._DomUtility(); // Temporary fix null reference bug in = Sys.CultureInfo._getAbbrMonthIndex if (Sys.CultureInfo.prototype._getAbbrMonthIndex) { try { Sys.CultureInfo.prototype._getAbbrMonthIndex(''); } catch(ex) { Sys.CultureInfo.prototype._getAbbrMonthIndex =3D function(value) = { if (!this._upperAbbrMonths) { this._upperAbbrMonths =3D = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames); } return Array.indexOf(this._upperAbbrMonths, = this._toUpper(value)); } Sys.CultureInfo.CurrentCulture._getAbbrMonthIndex =3D = Sys.CultureInfo.prototype._getAbbrMonthIndex; Sys.CultureInfo.InvariantCulture._getAbbrMonthIndex =3D = Sys.CultureInfo.prototype._getAbbrMonthIndex; } } if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxrhjyEIruvp4u78wNWChAAZJP92q-Y0zbpb2EppV7l4ow2&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. Type.registerNamespace("AjaxControlToolkit"); AjaxControlToolkit.TimeSpan =3D function() { /// /// Represents a period of time /// =20 if (arguments.length =3D=3D 0) this._ctor$0.apply(this, arguments); else if (arguments.length =3D=3D 1) this._ctor$1.apply(this, = arguments); else if (arguments.length =3D=3D 3) this._ctor$2.apply(this, = arguments); else if (arguments.length =3D=3D 4) this._ctor$3.apply(this, = arguments); else if (arguments.length =3D=3D 5) this._ctor$4.apply(this, = arguments); else throw Error.parameterCount(); } AjaxControlToolkit.TimeSpan.prototype =3D { _ctor$0 : function() { /// /// Initializes a new TimeSpan /// =20 this._ticks =3D 0; },=20 _ctor$1 : function(ticks) { /// /// Initializes a new TimeSpan /// /// The = number of ticks in the TimeSpan this._ctor$0(); this._ticks =3D ticks; }, _ctor$2 : function(hours, minutes, seconds) { /// /// Initializes a new TimeSpan /// /// The number of hours in = the TimeSpan /// The number of = minutes in the TimeSpan /// The number of = seconds in the TimeSpan =20 this._ctor$0(); this._ticks =3D=20 (hours * AjaxControlToolkit.TimeSpan.TicksPerHour) + (minutes * AjaxControlToolkit.TimeSpan.TicksPerMinute) + (seconds * AjaxControlToolkit.TimeSpan.TicksPerSecond);=20 }, _ctor$3 : function(days, hours, minutes, seconds) { /// /// Initializes a new TimeSpan /// /// The number of days in = the TimeSpan /// The number of hours in = the TimeSpan /// The number of = minutes in the TimeSpan /// The number of = seconds in the TimeSpan this._ctor$0(); this._ticks =3D=20 (days * AjaxControlToolkit.TimeSpan.TicksPerDay) + (hours * AjaxControlToolkit.TimeSpan.TicksPerHour) + (minutes * AjaxControlToolkit.TimeSpan.TicksPerMinute) + (seconds * AjaxControlToolkit.TimeSpan.TicksPerSecond);=20 }, _ctor$4 : function(days, hours, minutes, seconds, milliseconds) { /// /// Initializes a new TimeSpan /// /// The number of days in = the TimeSpan /// The number of hours in = the TimeSpan /// The number of = minutes in the TimeSpan /// The number of = seconds in the TimeSpan /// The number of = milliseconds in the TimeSpan this._ctor$0(); this._ticks =3D=20 (days * AjaxControlToolkit.TimeSpan.TicksPerDay) + (hours * AjaxControlToolkit.TimeSpan.TicksPerHour) + (minutes * AjaxControlToolkit.TimeSpan.TicksPerMinute) + (seconds * AjaxControlToolkit.TimeSpan.TicksPerSecond) + (milliseconds * = AjaxControlToolkit.TimeSpan.TicksPerMillisecond);=20 }, getDays : function() {=20 /// /// Gets the days part of the TimeSpan /// /// =20 return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerDay);=20 }, getHours : function() {=20 /// /// Gets the hours part of the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerHour) % 24;=20 }, getMinutes : function() {=20 /// /// Gets the minutes part of the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerMinute) % 60;=20 }, getSeconds : function() {=20 /// /// Gets the seconds part of the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerSecond) % 60;=20 }, getMilliseconds : function() {=20 /// /// Gets the milliseconds part of the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerMillisecond) % 1000;=20 }, getDuration : function() {=20 /// /// Gets the total duration of a TimeSpan /// /// return new AjaxControlToolkit.TimeSpan(Math.abs(this._ticks));=20 }, getTicks : function() {=20 /// /// Gets the ticks in the TimeSpan /// /// =20 return this._ticks;=20 }, getTotalDays : function() {=20 /// /// Gets the total number of days in the TimeSpan /// /// Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerDay);=20 }, getTotalHours : function() {=20 /// /// Gets the total hours in the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerHour);=20 }, getTotalMinutes : function() {=20 /// /// Gets the total minutes in the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerMinute);=20 }, getTotalSeconds : function() {=20 /// /// Gets the total seconds in the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerSecond);=20 }, getTotalMilliseconds : function() {=20 /// /// Gets the total milliseconds in the TimeSpan /// /// return Math.floor(this._ticks / = AjaxControlToolkit.TimeSpan.TicksPerMillisecond);=20 }, add : function(value) {=20 /// /// Adds the supplied TimeSpan to this TimeSpan /// /// The TimeSpan to add /// return new AjaxControlToolkit.TimeSpan(this._ticks + = value.getTicks());=20 }, subtract : function(value) {=20 /// /// Subtracts the supplied TimeSpan to this TimeSpan /// /// The TimeSpan to subtract /// return new AjaxControlToolkit.TimeSpan(this._ticks - = value.getTicks());=20 }, negate : function() {=20 /// /// Negates the TimeSpan /// /// return new AjaxControlToolkit.TimeSpan(-this._ticks);=20 }, equals : function(value) {=20 /// /// Whether this TimeSpan equals another TimeSpan /// /// The TimeSpan to test /// return this._ticks =3D=3D value.getTicks();=20 }, compareTo : function(value) {=20 /// /// Whether this TimeSpan greater or less than another TimeSpan /// /// The TimeSpan to test /// if(this._ticks > value.getTicks())=20 return 1;=20 else if(this._ticks < value.getTicks())=20 return -1;=20 else=20 return 0;=20 }, toString : function() {=20 /// /// Gets the string representation of the TimeSpan /// /// return this.format("F");=20 }, format : function(format) { =20 /// /// Gets the string representation of the TimeSpan /// /// The format specifier used to format the = TimeSpan /// if (!format) { format =3D "F"; } if (format.length =3D=3D 1) { switch (format) { case "t": format =3D = AjaxControlToolkit.TimeSpan.ShortTimeSpanPattern; break; case "T": format =3D = AjaxControlToolkit.TimeSpan.LongTimeSpanPattern; break; case "F": format =3D = AjaxControlToolkit.TimeSpan.FullTimeSpanPattern; break; default: throw = Error.createError(String.format(AjaxControlToolkit.Resources.Common_DateT= ime_InvalidTimeSpan, format)); } } var regex =3D /dd|d|hh|h|mm|m|ss|s|nnnn|nnn|nn|n/g; var builder =3D new Sys.StringBuilder(); var ticks =3D this._ticks; if (ticks < 0) { builder.append("-"); =20 ticks =3D -ticks; } for (;;) { var index =3D regex.lastIndex; var ar =3D regex.exec(format); builder.append(format.slice(index, ar ? ar.index : = format.length)); if (!ar) break; switch (ar[0]) { case "dd": case "d": = builder.append(AjaxControlToolkit.CommonToolkitScripts.padLeft(Math.floor= (ticks / AjaxControlToolkit.TimeSpan.TicksPerDay, ar[0].length, '0'))); break; case "hh": case "h": = builder.append(AjaxControlToolkit.CommonToolkitScripts.padLeft(Math.floor= (ticks / AjaxControlToolkit.TimeSpan.TicksPerHour) % 24, ar[0].length, = '0')); break; case "mm": case "m": = builder.append(AjaxControlToolkit.CommonToolkitScripts.padLeft(Math.floor= (ticks / AjaxControlToolkit.TimeSpan.TicksPerMinute) % 60, ar[0].length, = '0')); break; case "ss": case "s": = builder.append(AjaxControlToolkit.CommonToolkitScripts.padLeft(Math.floor= (ticks / AjaxControlToolkit.TimeSpan.TicksPerSecond) % 60, ar[0].length, = '0')); break; case "nnnn": case "nnn": case "nn": case "n": = builder.append(AjaxControlToolkit.CommonToolkitScripts.padRight(Math.floo= r(ticks / AjaxControlToolkit.TimeSpan.TicksPerMillisecond) % 1000, = ar[0].length, '0', true)); break; default: Sys._Debug.assert(false); } } return builder.toString(); } } AjaxControlToolkit.TimeSpan.parse =3D function(text) { /// /// Parses a text value into a TimeSpan /// /// The text to parse /// var parts =3D text.split(":"); var d =3D 0; var h =3D 0; var m =3D 0; var s =3D 0; var n =3D 0; var ticks =3D 0; =20 switch(parts.length) { case 1: if (parts[0].indexOf(".") !=3D -1) { var parts2 =3D parts[0].split("."); s =3D parseInt(parts2[0]); n =3D parseInt(parts2[1]); } else { ticks =3D parseInt(parts[0]); } break; case 2: h =3D parseInt(parts[0]); m =3D parseInt(parts[1]); break; case 3: h =3D parseInt(parts[0]); m =3D parseInt(parts[1]); if (parts[2].indexOf(".") !=3D -1) { var parts2 =3D parts[2].split("."); s =3D parseInt(parts2[0]); n =3D parseInt(parts2[1]); } else { s =3D parseInt(parts[2]); } break; case 4: d =3D parseInt(parts[0]); h =3D parseInt(parts[1]); m =3D parseInt(parts[2]); if (parts[3].indexOf(".") !=3D -1) { var parts2 =3D parts[3].split("."); s =3D parseInt(parts2[0]); n =3D parseInt(parts2[1]); } else { s =3D parseInt(parts[3]); } break; } ticks +=3D (d * AjaxControlToolkit.TimeSpan.TicksPerDay) + (h * AjaxControlToolkit.TimeSpan.TicksPerHour) + (m * AjaxControlToolkit.TimeSpan.TicksPerMinute) + (s * AjaxControlToolkit.TimeSpan.TicksPerSecond) + (n * AjaxControlToolkit.TimeSpan.TicksPerMillisecond); if(!isNaN(ticks)) { return new AjaxControlToolkit.TimeSpan(ticks); } =20 throw = Error.create(AjaxControlToolkit.Resources.Common_DateTime_InvalidFormat);= } AjaxControlToolkit.TimeSpan.fromTicks =3D function(ticks) {=20 /// /// Creates a TimeSpan for the specified number of ticks /// /// The ticks = for the TimeSpan instance /// return new AjaxControlToolkit.TimeSpan(ticks);=20 } AjaxControlToolkit.TimeSpan.fromDays =3D function(days) {=20 /// /// Creates a TimeSpan for the specified number of days /// /// The days for the TimeSpan = instance /// return new AjaxControlToolkit.TimeSpan(days * = AjaxControlToolkit.TimeSpan.TicksPerDay);=20 } AjaxControlToolkit.TimeSpan.fromHours =3D function(hours) {=20 /// /// Creates a TimeSpan for the specified number of hours /// /// The hours for the TimeSpan = instance /// return new AjaxControlToolkit.TimeSpan(hours * = AjaxControlToolkit.TimeSpan.TicksPerHour);=20 } AjaxControlToolkit.TimeSpan.fromMinutes =3D function(minutes) {=20 /// /// Creates a TimeSpan for the specified number of minutes /// /// The minutes for the = TimeSpan instance /// return new AjaxControlToolkit.TimeSpan(minutes * = AjaxControlToolkit.TimeSpan.TicksPerMinute);=20 } AjaxControlToolkit.TimeSpan.fromSeconds =3D function(seconds) {=20 /// /// Creates a TimeSpan for the specified number of seconds /// /// The seconds for the = TimeSpan instance /// return new AjaxControlToolkit.TimeSpan(minutes * = AjaxControlToolkit.TimeSpan.TicksPerSecond);=20 } AjaxControlToolkit.TimeSpan.fromMilliseconds =3D function(milliseconds) = {=20 /// /// Creates a TimeSpan for the specified number of milliseconds /// /// The milliseconds for the = TimeSpan instance /// return new AjaxControlToolkit.TimeSpan(minutes * = AjaxControlToolkit.TimeSpan.TicksPerMillisecond);=20 } AjaxControlToolkit.TimeSpan.TicksPerDay =3D 864000000000; AjaxControlToolkit.TimeSpan.TicksPerHour =3D 36000000000; AjaxControlToolkit.TimeSpan.TicksPerMinute =3D 600000000; AjaxControlToolkit.TimeSpan.TicksPerSecond =3D 10000000; AjaxControlToolkit.TimeSpan.TicksPerMillisecond =3D 10000; AjaxControlToolkit.TimeSpan.FullTimeSpanPattern =3D "dd:hh:mm:ss.nnnn"; AjaxControlToolkit.TimeSpan.ShortTimeSpanPattern =3D "hh:mm"; AjaxControlToolkit.TimeSpan.LongTimeSpanPattern =3D "hh:mm:ss"; Date.prototype.getTimeOfDay =3D function Date$getTimeOfDay() { /// /// Gets a TimeSpan representing the current time of the Date /// /// return new AjaxControlToolkit.TimeSpan( 0,=20 this.getHours(),=20 this.getMinutes(),=20 this.getSeconds(),=20 this.getMilliseconds()); } Date.prototype.getDateOnly =3D function Date$getDateOnly() { /// /// Gets a Date representing the Date only part of the Date /// /// return new Date(this.getFullYear(), this.getMonth(), = this.getDate()); } Date.prototype.add =3D function Date$add(span) { /// /// Adds a TimeSpan to the current Date /// /// The = amount of time to add to the date /// return new Date(this.getTime() + span.getTotalMilliseconds()); } Date.prototype.subtract =3D function Date$subtract(span) { /// /// Subtracts a TimeSpan to the current Date /// /// The = amount of time to subtract from the date /// return this.add(span.negate()); } Date.prototype.getTicks =3D function Date$getTicks() { /// /// Gets the number of ticks in the date /// /// return this.getTime() * = AjaxControlToolkit.TimeSpan.TicksPerMillisecond; } AjaxControlToolkit.FirstDayOfWeek =3D function() { /// /// Represents the first day of the week in a calendar /// } AjaxControlToolkit.FirstDayOfWeek.prototype =3D { Sunday : 0, Monday : 1, Tuesday : 2, Wednesday : 3, Thursday : 4, Friday : 5, Saturday : 6, Default : 7 } AjaxControlToolkit.FirstDayOfWeek.registerEnum("AjaxControlToolkit.FirstD= ayOfWeek"); if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxqfOk60FxJ7UU3AJ23naVtDsUIKK6YrdXoqiDI12j66CA2&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. // Repository of old "Atlas" code that we're waiting to have integrated = into the new Microsoft Ajax Library /////////////////////////// /// Sys.UI.DomElement // DELTA - not present in codebase but called from PopupBehavior Sys.UI.DomElement.setVisible =3D function(e, value) { if (!e) return; if (value !=3D Sys.UI.DomElement.getVisible(e)) { =20 if (value) { if (e.style.removeAttribute) { e.style.removeAttribute("display"); } else { e.style.removeProperty("display"); } } else { e.style.display =3D 'none'; } =20 e.style.visibility =3D value ? 'visible' : 'hidden'; } } Sys.UI.DomElement.getVisible =3D function(e) { if (!e) return false; return (("none" !=3D = AjaxControlToolkit.CommonToolkitScripts.getCurrentStyle(e, "display")) = && ("hidden" !=3D = AjaxControlToolkit.CommonToolkitScripts.getCurrentStyle(e, = "visibility"))); } ////////////////////////////////////// // Sys.UI.Control.overlaps // Sys.UI.Control.overlaps =3D function overlaps(r1, r2) { var xLeft =3D (r1.x >=3D r2.x && r1.x <=3D (r2.x + r2.width)); var xRight =3D ((r1.x + r1.width) >=3D r2.x && (r1.x + r1.width) = <=3D r2.x + r2.width); var xComplete =3D ((r1.x < r2.x) && ((r1.x + r1.width) > (r2.x + = r2.width))); =20 var yLeft =3D (r1.y >=3D r2.y && r1.y <=3D (r2.y + r2.height)); var yRight =3D ((r1.y + r1.height) >=3D r2.y && (r1.y + r1.height) = <=3D r2.y + r2.height); var yComplete =3D ((r1.y < r2.y) && ((r1.y + r1.height) > (r2.y + = r2.height))); if ((xLeft || xRight || xComplete) && (yLeft || yRight || = yComplete)) { return true; } =20 return false; } if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxpvwW4fold6jOG6hlc4ZYRxw4I1vE24MTzBPDvR5vuOQmpCWsCcW9EHxiFe3YoAgws1&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. Type.registerNamespace('AjaxControlToolkit'); // This is the base behavior for all extender behaviors AjaxControlToolkit.BehaviorBase =3D function(element) { /// /// Base behavior for all extender behaviors /// /// /// Element the behavior is associated with /// AjaxControlToolkit.BehaviorBase.initializeBase(this,[element]); =20 this._clientStateFieldID =3D null; this._pageRequestManager =3D null; this._partialUpdateBeginRequestHandler =3D null; this._partialUpdateEndRequestHandler =3D null; } AjaxControlToolkit.BehaviorBase.prototype =3D { initialize : function() { /// /// Initialize the behavior /// // TODO: Evaluate necessity AjaxControlToolkit.BehaviorBase.callBaseMethod(this, = 'initialize'); }, dispose : function() { /// /// Dispose the behavior /// AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'dispose'); if (this._pageRequestManager) { if (this._partialUpdateBeginRequestHandler) { = this._pageRequestManager.remove_beginRequest(this._partialUpdateBeginRequ= estHandler); this._partialUpdateBeginRequestHandler =3D null; } if (this._partialUpdateEndRequestHandler) { = this._pageRequestManager.remove_endRequest(this._partialUpdateEndRequestH= andler); this._partialUpdateEndRequestHandler =3D null; } this._pageRequestManager =3D null; } }, get_ClientStateFieldID : function() { /// /// ID of the hidden field used to store client state /// return this._clientStateFieldID; }, set_ClientStateFieldID : function(value) { if (this._clientStateFieldID !=3D value) { this._clientStateFieldID =3D value; this.raisePropertyChanged('ClientStateFieldID'); } }, get_ClientState : function() { /// /// Client state /// if (this._clientStateFieldID) { var input =3D = document.getElementById(this._clientStateFieldID); if (input) { return input.value; } } return null; }, set_ClientState : function(value) { if (this._clientStateFieldID) { var input =3D = document.getElementById(this._clientStateFieldID); if (input) { input.value =3D value; } } }, registerPartialUpdateEvents : function() { /// /// Register for beginRequest and endRequest events on the = PageRequestManager, /// (which cause _partialUpdateBeginRequest and = _partialUpdateEndRequest to be /// called when an UpdatePanel refreshes) /// if (Sys && Sys.WebForms && Sys.WebForms.PageRequestManager){ this._pageRequestManager =3D = Sys.WebForms.PageRequestManager.getInstance(); if (this._pageRequestManager) { this._partialUpdateBeginRequestHandler =3D = Function.createDelegate(this, this._partialUpdateBeginRequest); = this._pageRequestManager.add_beginRequest(this._partialUpdateBeginRequest= Handler); this._partialUpdateEndRequestHandler =3D = Function.createDelegate(this, this._partialUpdateEndRequest); = this._pageRequestManager.add_endRequest(this._partialUpdateEndRequestHand= ler); } } }, _partialUpdateBeginRequest : function(sender, beginRequestEventArgs) = { /// /// Method that will be called when a partial update (via an = UpdatePanel) begins, /// if registerPartialUpdateEvents() has been called. /// /// /// Sender /// /// /// Event arguments /// // Nothing done here; override this method in a child class }, =20 _partialUpdateEndRequest : function(sender, endRequestEventArgs) { /// /// Method that will be called when a partial update (via an = UpdatePanel) finishes, /// if registerPartialUpdateEvents() has been called. /// /// /// Sender /// /// /// Event arguments /// // Nothing done here; override this method in a child class } } AjaxControlToolkit.BehaviorBase.registerClass('AjaxControlToolkit.Behavio= rBase', Sys.UI.Behavior); // getDescriptor : function() { // var td =3D = AjaxControlToolkit.BehaviorBase.callBaseMethod(this, 'getDescriptor'); // td.addProperty('ClientStateFieldID', String); // return td; // }, // Dynamically populates content when the populate method is called AjaxControlToolkit.DynamicPopulateBehaviorBase =3D function(element) { /// /// DynamicPopulateBehaviorBase is used to add = DynamicPopulateBehavior funcitonality /// to other extenders. It will dynamically populate the contents = of the target element /// when its populate method is called. /// /// /// DOM Element the behavior is associated with /// AjaxControlToolkit.DynamicPopulateBehaviorBase.initializeBase(this, = [element]); =20 this._DynamicControlID =3D null; this._DynamicContextKey =3D null; this._DynamicServicePath =3D null; this._DynamicServiceMethod =3D null; this._dynamicPopulateBehavior =3D null; this._populatingHandler =3D null; this._populatedHandler =3D null; } AjaxControlToolkit.DynamicPopulateBehaviorBase.prototype =3D { initialize : function() { /// /// Initialize the behavior /// = AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, = 'initialize'); // Create event handlers this._populatingHandler =3D Function.createDelegate(this, = this._onPopulating); this._populatedHandler =3D Function.createDelegate(this, = this._onPopulated); }, dispose : function() { /// /// Dispose the behavior /// // Dispose of event handlers if (this._populatedHandler) { if (this._dynamicPopulateBehavior) { = this._dynamicPopulateBehavior.remove_populated(this._populatedHandler); } this._populatedHandler =3D null; } if (this._populatingHandler) { if (this._dynamicPopulateBehavior) { = this._dynamicPopulateBehavior.remove_populating(this._populatingHandler);= } this._populatingHandler =3D null; } // Dispose of the placeholder control and behavior if (this._dynamicPopulateBehavior) { this._dynamicPopulateBehavior.dispose(); this._dynamicPopulateBehavior =3D null; } = AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, = 'dispose'); }, populate : function(contextKeyOverride) { /// /// Demand-create the DynamicPopulateBehavior and use it to = populate the target element /// /// /// An arbitrary string value to be passed to the web method. = For example, if the element to be populated is within a data-bound = repeater, this could be the ID of the current row. /// // If the DynamicPopulateBehavior's element is out of date, = dispose of it if (this._dynamicPopulateBehavior && = (this._dynamicPopulateBehavior.get_element() !=3D = $get(this._DynamicControlID))) { this._dynamicPopulateBehavior.dispose(); this._dynamicPopulateBehavior =3D null; } // If a DynamicPopulateBehavior is not available and the = necessary information is, create one if (!this._dynamicPopulateBehavior && this._DynamicControlID && = this._DynamicServiceMethod) { this._dynamicPopulateBehavior =3D = $create(AjaxControlToolkit.DynamicPopulateBehavior, = {"id":this.get_id()+"_DynamicPopulateBehavior", = "ContextKey":this._DynamicContextKey, = "ServicePath":this._DynamicServicePath, = "ServiceMethod":this._DynamicServiceMethod }, null, null, = $get(this._DynamicControlID)); // Attach event handlers = this._dynamicPopulateBehavior.add_populating(this._populatingHandler); = this._dynamicPopulateBehavior.add_populated(this._populatedHandler); } // If a DynamicPopulateBehavior is available, use it to populate = the dynamic content if(this._dynamicPopulateBehavior) { this._dynamicPopulateBehavior.populate(contextKeyOverride ? = contextKeyOverride : this._DynamicContextKey); } }, _onPopulating : function(sender, eventArgs) { // Event handler called automatically when dynamic populating = begins }, _onPopulated : function(sender, eventArgs) { // Event handler called automatically when dynamic populating = ends }, get_DynamicControlID : function() { /// /// ID of the element to populate with dynamic content /// return this._DynamicControlID; }, set_DynamicControlID : function(value) { if (this._DynamicControlID !=3D value) { this._DynamicControlID =3D value; this.raisePropertyChanged('DynamicControlID'); } }, get_DynamicContextKey : function() { /// /// An arbitrary string value to be passed to the web method. /// For example, if the element to be populated is within a /// data-bound repeater, this could be the ID of the current = row. /// return this._DynamicContextKey; }, set_DynamicContextKey : function(value) { if (this._DynamicContextKey !=3D value) { this._DynamicContextKey =3D value; this.raisePropertyChanged('DynamicContextKey'); } }, get_DynamicServicePath : function() { /// /// The URL of the web service to call. If the ServicePath is = not defined, then we will invoke a PageMethod instead of a web service. /// return this._DynamicServicePath; }, set_DynamicServicePath : function(value) { if (this._DynamicServicePath !=3D value) { this._DynamicServicePath =3D value; this.raisePropertyChanged('DynamicServicePath'); } }, get_DynamicServiceMethod : function() { /// /// The name of the method to call on the page or web service /// /// /// The signature of the method must exactly match the = following: /// [WebMethod] /// string DynamicPopulateMethod(string contextKey) /// { /// ... /// } /// return this._DynamicServiceMethod; }, set_DynamicServiceMethod : function(value) { if (this._DynamicServiceMethod !=3D value) { this._DynamicServiceMethod =3D value; this.raisePropertyChanged('DynamicServiceMethod'); } } } AjaxControlToolkit.DynamicPopulateBehaviorBase.registerClass('AjaxControl= Toolkit.DynamicPopulateBehaviorBase', AjaxControlToolkit.BehaviorBase); // getDescriptor : function() { // var td =3D = AjaxControlToolkit.DynamicPopulateBehaviorBase.callBaseMethod(this, = 'getDescriptor'); // td.addProperty('DynamicControlID', String); // td.addProperty('DynamicContextKey', String); // td.addProperty('DynamicServicePath', String); // td.addProperty('DynamicServiceMethod', String); // return td; // }, AjaxControlToolkit.ControlBase =3D function(element) { AjaxControlToolkit.ControlBase.initializeBase(this, [element]); this._clientStateField =3D null; this._callbackTarget =3D null; this._onsubmit$delegate =3D Function.createDelegate(this, = this._onsubmit); this._oncomplete$delegate =3D Function.createDelegate(this, = this._oncomplete); this._onerror$delegate =3D Function.createDelegate(this, = this._onerror); } AjaxControlToolkit.ControlBase.prototype =3D { initialize : function() { AjaxControlToolkit.ControlBase.callBaseMethod(this, = "initialize"); // load the client state if possible if (this._clientStateField) { this.loadClientState(this._clientStateField.value); } // attach an event to save the client state before a postback or = updatepanel partial postback if (typeof(Sys.WebForms)!=3D=3D"undefined" && = typeof(Sys.WebForms.PageRequestManager)!=3D=3D"undefined") { = Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatemen= ts, this._onsubmit$delegate); } else { $addHandler(document.forms[0], "submit", = this._onsubmit$delegate); } }, dispose : function() { if (typeof(Sys.WebForms)!=3D=3D"undefined" && = typeof(Sys.WebForms.PageRequestManager)!=3D=3D"undefined") { = Array.remove(Sys.WebForms.PageRequestManager.getInstance()._onSubmitState= ments, this._onsubmit$delegate); } else { $removeHandler(document.forms[0], "submit", = this._onsubmit$delegate); } AjaxControlToolkit.ControlBase.callBaseMethod(this, "dispose"); }, findElement : function(id) { // Finds an element within this control = (ScriptControl/ScriptUserControl are NamingContainers); return $get(this.get_id() + '_' + id.split(':').join('_')); }, get_clientStateField : function() { return this._clientStateField; }, set_clientStateField : function(value) { if (this.get_isInitialized()) throw = Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_CannotSe= tClientStateField); this._clientStateField =3D value; }, loadClientState : function(value) { /// override this method to intercept client state = loading after a callback }, saveClientState : function() { /// override this method to intercept client state = acquisition before a callback return null; }, _invoke : function(name, args, cb) { /// invokes a callback method on the server = control =20 if (!this._callbackTarget) { throw = Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_ControlN= otRegisteredForCallbacks); } if (typeof(WebForm_DoCallback)=3D=3D=3D"undefined") { throw = Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_PageNotR= egisteredForCallbacks); } var ar =3D []; for (var i =3D 0; i < args.length; i++)=20 ar[i] =3D args[i]; var clientState =3D this.saveClientState(); if (clientState !=3D null && = !String.isInstanceOfType(clientState)) { throw = Error.invalidOperation(AjaxControlToolkit.Resources.ExtenderBase_InvalidC= lientStateType); } var payload =3D = Sys.Serialization.JavaScriptSerializer.serialize({name:name,args:ar,state= :this.saveClientState()}); WebForm_DoCallback(this._callbackTarget, payload, = this._oncomplete$delegate, cb, this._onerror$delegate, true); }, _oncomplete : function(result, context) { result =3D = Sys.Serialization.JavaScriptSerializer.deserialize(result); if (result.error) { throw Error.create(result.error); } this.loadClientState(result.state); context(result.result); }, _onerror : function(message, context) { throw Error.create(message); }, _onsubmit : function() { if (this._clientStateField) { this._clientStateField.value =3D this.saveClientState(); } return true; } =20 =20 } AjaxControlToolkit.ControlBase.registerClass("AjaxControlToolkit.ControlB= ase", Sys.UI.Control); Type.registerNamespace('AjaxControlToolkit'); AjaxControlToolkit.Resources=3D{ "TextCount_DefaultKeyboardModeFormat":"Keyboard Mode: {3}", "PasswordStrength_InvalidWeightingRatios":"Strength Weighting ratios = must have 4 elements", "Animation_ChildrenNotAllowed":"AjaxControlToolkit.Animation.createAnimat= ion cannot add child animations to type \"{0}\" that does not derive = from AjaxControlToolkit.Animation.ParentAnimation", "PasswordStrength_RemainingSymbols":"{0} symbol characters", "ExtenderBase_CannotSetClientStateField":"clientStateField can only be = set before initialization", "Animation_TargetNotFound":"AjaxControlToolkit.Animation.Animation.set_an= imationTarget requires the ID of a Sys.UI.DomElement or Sys.UI.Control. = No element or control could be found corresponding to \"{0}\"", "TextCount_DefaultAlertFormat":"Maximum length is {2}", "Common_InvalidBorderWidthUnit":"A unit type of \"{0}\"\u0027 is invalid = for parseBorderWidth", "Tabs_PropertySetBeforeInitialization":"{0} cannot be changed before = initialization", "ReorderList_DropWatcherBehavior_NoChild":"Could not find child of list = with id \"{0}\"", "CascadingDropDown_MethodTimeout":"[Method timeout]", "ExtenderBase_PageNotRegisteredForCallbacks":"This Page has not been = registered for callbacks", "Animation_NoDynamicPropertyFound":"AjaxControlToolkit.Animation.createAn= imation found no property corresponding to \"{0}\" or \"{1}\"", "Animation_InvalidBaseType":"AjaxControlToolkit.Animation.registerAnimati= on can only register types that inherit from = AjaxControlToolkit.Animation.Animation", "ResizableControlBehavior_InvalidHandler":"{0} handler not a function, = function name, or function text", "Animation_InvalidColor":"Color must be a 7-character hex representation = (e.g. #246ACF), not \"{0}\"", "PasswordStrength_RemainingMixedCase":"Mixed case characters", "CascadingDropDown_NoParentElement":"Failed to find parent element = \"{0}\"", "ValidatorCallout_DefaultErrorMessage":"This control is invalid", "ReorderList_DropWatcherBehavior_CallbackError":"Reorder failed, see = details below.\\r\\n\\r\\n{0}", "PopupControl_NoDefaultProperty":"No default property supported for = control \"{0}\" of type \"{1}\"", "PopupExtender_NoParentElement":"Couldn\u0027t find parent element = \"{0}\"", "TextCount_DefaultOverwriteText":"Overwrite", "PasswordStrength_RemainingNumbers":"{0} more numbers", "ResizableControlBehavior_CannotChangeProperty":"Changes to {0} not = supported", "TextCount_DefaultDisplayFormat":"Count: {0} Remaining chars: {1} = Maximum length: {2}", "Common_InvalidPaddingUnit":"A unit type of \"{0}\" is invalid for = parsePadding", "ExtenderBase_ControlNotRegisteredForCallbacks":"This Control has not = been registered for callbacks", "Calendar_Today":"Today: {0}", "Common_DateTime_InvalidFormat":"Invalid format", "ListSearch_DefaultPrompt":"Type to search", "CollapsiblePanel_NoControlID":"Failed to find element \"{0}\"", "PasswordStrength_DefaultStrengthDescriptions":"NonExistent;Very = Weak;Weak;Poor;Almost OK;Barely = Acceptable;Average;Good;Strong;Excellent;Unbreakable!", "Animation_UknownAnimationName":"AjaxControlToolkit.Animation.createAnima= tion could not find an Animation corresponding to the name \"{0}\"", "ExtenderBase_InvalidClientStateType":"saveClientState must return a = value of type String", "Rating_CallbackError":"An unhandled exception has occurred:\\r\\n{0}", "Tabs_OwnerExpected":"owner must be set before initialize", "DynamicPopulate_WebServiceTimeout":"Web service call timed out", "Animation_MissingAnimationName":"AjaxControlToolkit.Animation.createAnim= ation requires an object with an AnimationName property", "Tabs_ActiveTabArgumentOutOfRange":"Argument is not a member of the tabs = collection", "AlwaysVisible_ElementRequired":"AjaxControlToolkit.AlwaysVisibleControlB= ehavior must have an element", "Slider_NoSizeProvided":"Please set valid values for the height and = width attributes in the slider\u0027s CSS classes", "DynamicPopulate_WebServiceError":"Web Service call failed: {0}", "PasswordStrength_StrengthPrompt":"Strength: ", "PasswordStrength_RemainingCharacters":"{0} more characters", "PasswordStrength_Satisfied":"Nothing more required", "Animation_NoPropertyFound":"AjaxControlToolkit.Animation.createAnimation= found no property corresponding to \"{0}\"", "TextCount_DefaultInsertText":"Insert", "PasswordStrength_GetHelpRequirements":"Get help on password = requirements", "PasswordStrength_InvalidStrengthDescriptions":"Invalid number of text = strength descriptions specified", "Tabs_PropertySetAfterInitialization":"{0} cannot be changed after = initialization", "CascadingDropDown_MethodError":"[Method error {0}]", "Common_UnitHasNoDigits":"No digits", "Common_DateTime_InvalidTimeSpan":"\"{0}\" is not a valid TimeSpan = format", "Animation_CannotNestSequence":"AjaxControlToolkit.Animation.SequenceAnim= ation cannot be nested inside = AjaxControlToolkit.Animation.ParallelAnimation", "Shared_BrowserSecurityPreventsPaste":"Your browser security settings = don\u0027t permit the automatic execution of paste operations. Please = use the keyboard shortcut Ctrl+V instead." }; if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxpFaQ-tZ9TmxJzCsHVwkPHXfVgFBwd_V0GD3C9frW53KoXkT142Yzn3bnS_PLaqSE41&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. Type.registerNamespace('AjaxControlToolkit'); AjaxControlToolkit.PositioningMode =3D function() { throw Error.invalidOperation(); } AjaxControlToolkit.PositioningMode.prototype =3D { Absolute: 0, Center: 1, BottomLeft: 2, BottomRight: 3, TopLeft: 4, TopRight: 5 } AjaxControlToolkit.PositioningMode.registerEnum('AjaxControlToolkit.Posit= ioningMode'); AjaxControlToolkit.PopupBehavior =3D function(element) { /// The DOM element the behavior is = associated with. AjaxControlToolkit.PopupBehavior.initializeBase(this, [element]); this._x =3D 0; this._y =3D 0; this._positioningMode =3D = AjaxControlToolkit.PositioningMode.Absolute; this._parentElement =3D null; this._parentElementID =3D null; this._moveHandler =3D null; this._firstPopup =3D true; =20 this._originalParent =3D null; } AjaxControlToolkit.PopupBehavior.prototype =3D { =20 get_parentElement : function() { /// Parent dom element. =20 if (!this._parentElement && this._parentElementID) { this.set_parentElement($get(this._parentElementID)); Sys._Debug.assert(this._parentElement !=3D null, = String.format(AjaxControlToolkit.Resources.PopupExtender_NoParentElement,= this._parentElementID)); } =20 return this._parentElement; }, =20 set_parentElement : function(element) { this._parentElement =3D element; this.raisePropertyChanged('parentElement'); }, =20 get_parentElementID : function() { /// Parent dom element. if (this._parentElement) return this._parentElement.id return this._parentElementID; }, set_parentElementID : function(elementID) { this._parentElementID =3D elementID; if (this.get_isInitialized()) { this.set_parentElement($get(elementID)); } }, =20 get_positioningMode : function() { /// Positioning mode. return this._positioningMode; }, set_positioningMode : function(mode) { this._positioningMode =3D mode; this.raisePropertyChanged('positioningMode'); }, =20 get_x : function() { /// X coordinate. return this._x; }, set_x : function(value) { if (value !=3D this._x) { this._x =3D value; if (Sys.UI.DomElement.getVisible(this.get_element())) { this.show(); } this.raisePropertyChanged('x'); } }, =20 get_y : function() { /// Y coordinate. return this._y; }, set_y : function(value) { if (value !=3D this._y) { this._y =3D value; if (Sys.UI.DomElement.getVisible(this.get_element())) { this.show(); } this.raisePropertyChanged('y'); } }, =20 hide : function() { var elt =3D this.get_element(); Sys.UI.DomElement.setVisible(elt, false); if (this._moveHandler) { Sys.UI.DomEvent.removeHandler(elt, "move", = this._moveHandler); this._moveHandler =3D null; } if (elt.originalWidth) { elt.style.width =3D elt.originalWidth + "px"; elt.originalWidth =3D null; } if (Sys.Browser.agent =3D=3D=3D Sys.Browser.InternetExplorer) { var childFrame =3D elt._hideWindowedElementsIFrame; if (childFrame) { childFrame.style.display =3D "none"; } } }, =20 =20 show : function() { var elt =3D this.get_element(); =20 Sys.UI.DomElement.setVisible(elt, true); =20 // offsetParent (doc element if absolutely positioned or no = offsetparent available) var offsetParent =3D elt.offsetParent || = document.documentElement; // diff =3D difference in position between element's = offsetParent and the element we will attach popup to. // this is basically so we can position the popup in the right = spot even though it may not be absolutely positioned var diff; var parentBounds; if(this._parentElement) { // we will be positioning the element against the assigned = parent parentBounds =3D = CommonToolkitScripts.getBounds(this._parentElement); =20 var offsetParentLocation =3D = CommonToolkitScripts.getLocation(offsetParent); diff =3D {x: parentBounds.x - offsetParentLocation.x, = y:parentBounds.y - offsetParentLocation.y}; =20 } else { // we will be positioning the element against the offset = parent by default, since no parent element given parentBounds =3D = CommonToolkitScripts.getBounds(offsetParent); =20 diff =3D {x:0, y:0}; } // width/height of the element, needed for calculations that = involve width like centering var width =3D elt.offsetWidth - (elt.clientLeft ? elt.clientLeft = * 2 : 0); var height =3D elt.offsetHeight - (elt.clientTop ? elt.clientTop = * 2 : 0); =20 var position; switch (this._positioningMode) { case AjaxControlToolkit.PositioningMode.Center: position =3D { x: Math.round(parentBounds.width / 2 - width / 2), y: Math.round(parentBounds.height / 2 - height / 2) }; break; case AjaxControlToolkit.PositioningMode.BottomLeft: position =3D { x: 0, y: parentBounds.height }; break; case AjaxControlToolkit.PositioningMode.BottomRight: position =3D { x: parentBounds.width - width, y: parentBounds.height }; break; case AjaxControlToolkit.PositioningMode.TopLeft: position =3D { x: 0, y: -elt.offsetHeight }; break; case AjaxControlToolkit.PositioningMode.TopRight: position =3D { x: parentBounds.width - width, y: -elt.offsetHeight }; break; default: position =3D {x: 0, y: 0}; } position.x +=3D this._x + diff.x; position.y +=3D this._y + diff.y; =20 CommonToolkitScripts.setLocation(elt, position); =20 if(this._firstPopup) { // 23098: Setting the width causes the element to grow by = border+passing every time. But not setting it // causes strange behavior in safari. Just set it once. elt.style.width =3D width + "px"; } this._firstPopup =3D false; var newPosition =3D CommonToolkitScripts.getBounds(elt); var updateNeeded =3D false; var documentWidth =3D self.innerWidth ? self.innerWidth : = document.documentElement.clientWidth; // CONSIDER: Create a generic function to return this = information. if (!documentWidth) { documentWidth =3D document.body.clientWidth; } if (newPosition.x + newPosition.width > documentWidth - 5) { position.x -=3D newPosition.x + newPosition.width - = documentWidth + 5; updateNeeded =3D true; } if (newPosition.x < 0) { position.x -=3D newPosition.x; updateNeeded =3D true; } if (newPosition.y < 0) { position.y -=3D newPosition.y; updateNeeded =3D true; } if (updateNeeded) { =20 CommonToolkitScripts.setLocation(elt, position); } elt.zIndex =3D 1000; if ((Sys.Browser.agent =3D=3D=3D Sys.Browser.InternetExplorer) = && (Sys.Browser.version < 7)) { var childFrame =3D elt._hideWindowedElementsIFrame; if (!childFrame) { childFrame =3D document.createElement("iframe"); childFrame.src =3D "javascript:'';"; childFrame.style.position =3D "absolute"; childFrame.style.display =3D "none"; childFrame.scrolling =3D "no"; childFrame.frameBorder =3D "0"; childFrame.tabIndex =3D "-1"; childFrame.style.filter =3D = "progid:DXImageTransform.Microsoft.Alpha(style=3D0,opacity=3D0)"; elt.parentNode.insertBefore(childFrame, elt); elt._hideWindowedElementsIFrame =3D childFrame; this._moveHandler =3D Function.createDelegate(this, = this._onMove); Sys.UI.DomEvent.addHandler(elt, "move", = this._moveHandler); } CommonToolkitScripts.setBounds(childFrame, newPosition); =20 childFrame.style.display =3D elt.style.display; if (elt.currentStyle && elt.currentStyle.zIndex) { childFrame.style.zIndex =3D elt.currentStyle.zIndex; } else if (elt.style.zIndex) { childFrame.style.zIndex =3D elt.style.zIndex; } } }, =20 initialize : function() { AjaxControlToolkit.PopupBehavior.callBaseMethod(this, = 'initialize'); this.hide(); this.get_element().style.position =3D "absolute"; }, =20 dispose : function() { var elt =3D this.get_element(); if (elt) { if (Sys.UI.DomElement.getVisible(elt)) { this.hide(); } if (this._originalParent) { elt.parentNode.removeChild(elt); this._originalParent.appendChild(elt); this._originalParent =3D null; } } this._parentElement =3D null; AjaxControlToolkit.PopupBehavior.callBaseMethod(this, = 'dispose'); }, =20 _onMove : function() { var elt =3D this.get_element(); if (elt._hideWindowedElementsIFrame) { elt.parentNode.insertBefore(elt._hideWindowedElementsIFrame, = elt); elt._hideWindowedElementsIFrame.style.top =3D elt.style.top; elt._hideWindowedElementsIFrame.style.left =3D = elt.style.left; } } } //AjaxControlToolkit.PopupBehavior.descriptor =3D { // properties: [ {name: 'parentElement', attributes: [ = Sys.Attributes.Element, true ] }, // {name: 'positioningMode', type: = AjaxControlToolkit.PositioningMode}, // {name: 'x', type: Number}, // {name: 'y', type: Number} ], // events: [ {name: 'show'}, // {name: 'hide'} ] //} AjaxControlToolkit.PopupBehavior.registerClass('AjaxControlToolkit.PopupB= ehavior', AjaxControlToolkit.BehaviorBase); if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxqNgAkDkhXWHI7nxvxZryYpt3_rkNf2S-wXUm4K8hnSbw2&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. /////////////////////////////////////////////////////////////////////////= ////// // Sys.Timer Sys.Timer =3D function() { Sys.Timer.initializeBase(this); =20 this._interval =3D 1000; this._enabled =3D false; this._timer =3D null; } Sys.Timer.prototype =3D { get_interval: function() { =20 return this._interval; }, set_interval: function(value) { =20 if (this._interval !=3D=3D value) { this._interval =3D value; this.raisePropertyChanged('interval'); =20 if (!this.get_isUpdating() && (this._timer !=3D=3D null)) { this._stopTimer(); this._startTimer(); } } }, =20 get_enabled: function() { =20 return this._enabled; }, set_enabled: function(value) { =20 if (value !=3D=3D this.get_enabled()) { this._enabled =3D value; this.raisePropertyChanged('enabled'); if (!this.get_isUpdating()) { if (value) { this._startTimer(); } else { this._stopTimer(); } } } }, =20 add_tick: function(handler) { =20 =20 this.get_events().addHandler("tick", handler); }, remove_tick: function(handler) { =20 =20 this.get_events().removeHandler("tick", handler); }, dispose: function() { this.set_enabled(false); this._stopTimer(); =20 Sys.Timer.callBaseMethod(this, 'dispose'); }, =20 updated: function() { Sys.Timer.callBaseMethod(this, 'updated'); if (this._enabled) { this._stopTimer(); this._startTimer(); } }, _timerCallback: function() { var handler =3D this.get_events().getHandler("tick"); if (handler) { handler(this, Sys.EventArgs.Empty); } }, _startTimer: function() { this._timer =3D window.setInterval(Function.createDelegate(this, = this._timerCallback), this._interval); }, _stopTimer: function() { window.clearInterval(this._timer); this._timer =3D null; } } Sys.Timer.descriptor =3D { properties: [ {name: 'interval', type: Number}, {name: 'enabled', type: Boolean} ], events: [ {name: 'tick'} ] } Sys.Timer.registerClass('Sys.Timer', Sys.Component); if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxpwGA9rXdwY7s2Rp2CbdNVfhsgUfa44HQltlbBZ01cG3A2&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. Type.registerNamespace('AjaxControlToolkit.Animation'); // Create an alias for the namespace to save 25 chars each time it's = used since // this is a very long script and will take awhile to download var $AA =3D AjaxControlToolkit.Animation; $AA.registerAnimation =3D function(name, type) { /// /// Register an animation with the AJAX Control Toolkit animation = framework. This serves a dual purpose: /// 1) to add standard utility methods to the animation type (such = as a play method that creates /// an animation, plays it, and disposes it when the animation is = over), and 2) to associate a name with the /// type that will be used when creating animations from a JSON = description. This method can also be called /// by other animation libraries to seamlessly interoperate with the = AJAX Control Toolkit's animation /// framework. /// /// /// Name of the animation that will be used as the XML tag name in = the XML animation description. It /// should be a valid XML tag (i.e. an alpha-numeric sequence with = no spaces, special characters, etc.). /// /// /// The type of the new animation must inherit from . /// /// // Make sure the type inherits from = AjaxControlToolkit.Animation.Animation if (type && ((type =3D=3D=3D $AA.Animation) || (type.inheritsFrom && = type.inheritsFrom($AA.Animation)))) { // We'll store the animation name/type mapping in a "static" = object off of // AjaxControlToolkit.Animation. If this __animations object = hasn't been // created yet, demand create it on the first registration. if (!$AA.__animations) { $AA.__animations =3D { }; } =20 // Add the current type to the collection of animations $AA.__animations[name.toLowerCase()] =3D type; =20 // Add a play function that will make it very easy to create, = play, and // dispose of an animation. This is effectively a "static" = function on // each animation and will take the same parameters as that = animation's // constructor. type.play =3D function() { /// /// Create an animation, play it immediately, and dispose it = when finished. /// /// /// The play function takes the same parameters as the = type's constructor /// /// =20 // Create and initialize a new animation of the right type = and pass in // any arguments given to the play function var animation =3D new type(); type.apply(animation, arguments); animation.initialize(); =20 // Add an event handler to dispose the animation when it's = finished var handler =3D Function.createDelegate(animation, function() { /// /// Dispose the animation after playing /// /// animation.remove_ended(handler); handler =3D null; animation.dispose(); }); animation.add_ended(handler); =20 // Once the animation has been created and initialized, play = it and // dispose it as soon as it's finished animation.play(); =20 } } else { // Raise an error if someone registers an animation that doesn't = inherit // from our base Animation class throw Error.argumentType('type', type, $AA.Animation, = AjaxControlToolkit.Resources.Animation_InvalidBaseType); } } $AA.buildAnimation =3D function(json, defaultTarget) { /// /// The buildAnimation function is used to turn a JSON = animation description /// into an actual animation object that can be played. /// /// /// JSON description of the animation in the format expected by = createAnimation /// /// /// Target of the animation if none is specified in the JSON = description. The semantics of /// target assignment are provided in more detail in = createAnimation. /// /// /// Animation created from the JSON description /// =20 // Ensure we have a description to create an animation with if (!json || json =3D=3D=3D '') { return null; } // "Parse" the JSON so we can easily manipulate it // (we don't wrap it in a try/catch when debugging to raise any = errors) var obj; json =3D '(' + json + ')'; if (! Sys._Debug.isDebug) { try { obj =3D = Sys.Serialization.JavaScriptSerializer.deserialize(json); } catch (ex) { = }=20 } else { obj =3D = Sys.Serialization.JavaScriptSerializer.deserialize(json); } =20 // Create a new instance of the animation return $AA.createAnimation(obj, defaultTarget); =20 } $AA.createAnimation =3D function(obj, defaultTarget) { /// /// The createAnimation function builds a new /// instance = from an object /// that describes it. /// /// /// The object provides a description of the animation to be be = generated in /// a very specific format. It has two special properties: = AnimationName /// and AnimationChildren. The = AnimationName is required /// and used to find the type of animation to create (this name = should map to /// one of the animation names supplied to = registerAnimation). The /// AnimationChildren property supplies an optional = array for /// animations that use child animations (such as /// = and /// ). The elements of /// the AnimationChildren array are valid /// objects = that meet these same /// requirements. In order for an animation to support child = animations, it must /// derive from the class /// which provides common methods like add, = clear, etc. The /// remaining properties of the object are used to set parameters = specific to the type /// of animation being created (e.g. duration, = minimumOpacity, /// startValue, etc.) and should have a corresponding = property on the /// animation. You can also assign an arbitrary JavaScript = expression to any property /// by adding 'Script' to the end of its name (i.e., Height=3D"70" = can be replaced by /// HeightScript=3D"$get('myElement').offsetHeight") and have the = property set to the /// result of evaluating the expression before the animation is = played each time. /// /// /// The function also takes a defaultTarget parameter = that is used as the /// target of the animation if the object does not specify one. = This parameter should be /// an instance of and not just = the name of an element. /// /// /// created = from the description /// /// /// Exceptions are thrown when the AnimationName cannot = be found. Also, /// any exceptions raised by setting properties or providing = properties with invalid /// names will only be raised when debugging. /// // Create a default instance of the animation by looking up the = AnimationName // in the global __animations object. if (!obj || !obj.AnimationName) { throw Error.argument('obj', = AjaxControlToolkit.Resources.Animation_MissingAnimationName); } var type =3D $AA.__animations[obj.AnimationName.toLowerCase()]; if (!type) { throw Error.argument('type', = String.format(AjaxControlToolkit.Resources.Animation_UknownAnimationName,= obj.AnimationName)); } var animation =3D new type(); =20 // Set the animation's target if provided via defaultTarget (note = that setting // it via AnimationTarget will happen during the regular property = setting phase) if (defaultTarget) { animation.set_target(defaultTarget); } =20 // If there is an AnimationChildren array and the animation inherits = from // ParentAnimation, then we will recusively build the child = animations. It is // important that we create the child animations before setting the = animation's // properties or initializing (because some properties and = initialization may be // propogated down from parent to child). if (obj.AnimationChildren && obj.AnimationChildren.length) { if ($AA.ParentAnimation.isInstanceOfType(animation)) { for (var i =3D 0; i < obj.AnimationChildren.length; i++) { var child =3D = $AA.createAnimation(obj.AnimationChildren[i]); if (child) { animation.add(child); } } } else { throw Error.argument('obj', = String.format(AjaxControlToolkit.Resources.Animation_ChildrenNotAllowed, = type.getName())); } } =20 // Get the list of all properties available to set on the current = animation's // type. We create a mapping from the property's lowercase friendly = name // (i.e., "duration") to the name of its setter (i.e., = "set_duration"). This is // essentialy in setting properties so we only copy over valid = values. var properties =3D type.__animationProperties; if (!properties) { // Get the properties for this type by walking its prototype - = by doing // this we'll effectively ignore anything not defined in the = prototype type.__animationProperties =3D { }; type.resolveInheritance(); for (var name in type.prototype) { if (name.startsWith('set_')) { type.__animationProperties[name.substr(4).toLowerCase()] = =3D name; } } =20 // Remove the 'id' property as it shouldn't be set by the = animation // (NOTE: the 'target' proeprty shouldn't be set to a string = value, but it // isn't removed because it can be used as a valid dynamic = property - i.e. // Target=3D"myElement" *DOES NOT WORK*, but it's OKAY to use // TargetScript=3D"$get('myElement')". Validation for this = scenario will be // handled automatically by _validateParams when debugging as = Target is required // to be a dom element.) delete type.__animationProperties['id']; properties =3D type.__animationProperties; } =20 // Loop through each of the properties in the object and check if = it's in the list // of valid property names. We will check the type of the = propertyName to make sure // it's a String (as other types can be added by the ASP.NET AJAX = compatability // layers to all objects and cause errors if you don't exclude = them). We will first // try to set a property with the same name if it exists. If we = can't find one but // the name of the property ends in 'script', then we will try to = set a corresponding // dynamic property. If no matches can be found at all, we'll raise = an error when // debugging. for (var property in obj) { // Ignore the special properties in the object that don't = correspond // to any actual properties on the animation var prop =3D property.toLowerCase(); if (prop =3D=3D 'animationname' || prop =3D=3D = 'animationchildren') { continue; } =20 var value =3D obj[property]; =20 // Try to directly set the value of this property var setter =3D properties[prop]; if (setter && String.isInstanceOfType(setter) && = animation[setter]) { // Ignore any exceptions raised by setting the property // unless we're debugging if (! Sys._Debug.isDebug) { try { animation[setter](value); } catch (ex) { } } else { animation[setter](value); } } else { // Try to set the value of a dynamic property if (prop.endsWith('script')) { setter =3D properties[prop.substr(0, property.length - = 6)]; if (setter && String.isInstanceOfType(setter) && = animation[setter]) { animation.DynamicProperties[setter] =3D value; } else if ( Sys._Debug.isDebug) { // Raise an error when debugging if we could not = find a matching property throw Error.argument('obj', = String.format(AjaxControlToolkit.Resources.Animation_NoDynamicPropertyFou= nd, property, property.substr(0, property.length - 5))); } } else if ( Sys._Debug.isDebug) { // Raise an error when debugging if we could not find a = matching property throw Error.argument('obj', = String.format(AjaxControlToolkit.Resources.Animation_NoPropertyFound, = property)); } } } =20 return animation; } // In the Xml comments for each of the animations below, there is a = special tag // that describes how the animation is referenced from a generic XML = animation description $AA.Animation =3D function(target, duration, fps) { /// /// Animation is an abstract base class used as a = starting point for all the other animations. /// It provides the basic mechanics for the animation (playing, = pausing, stopping, timing, etc.) /// and leaves the actual animation to be done in the abstract = methods getAnimatedValue /// and setValue. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// The DynamicProperties collection is used to associate JavaScript = expressions with /// properties. The expressions are evaluated just before the = animation is played /// everytime (in the base onStart method). The object itself maps = strings with the /// names of property setters (like "set_verticalOffset") to = JavaScript expressions /// (like "$find('MyBehavior').get_element().offsetHeight"). Note = specifically that /// the dynamic properties are JavaScript expressions and not = abitrary statements (i.e. /// you can't include things like "return foo;"), although you can = include anything /// inside an anonymous function definition that you immediately = invoke (i.e., /// "(function() { return foo; })()"). A dynamic property can be = set in the generic /// XML animation description by appending Script onto any = legitimate property name /// (for example, instead of Height=3D"70" we could use /// = HeightScript=3D"$find('MyBehavior').get_element().offsetHeight"). Any = exceptions /// raised when setting dynamic properties (including both = JavaScript evaluation errors /// and other exceptions raised by property setters) will only be = propogated when /// debugging. /// /// /// Animations need to be as fast as possible - even in debug mode. = Don't add validation code to /// methods involved in every step of the animation. /// /// Animation $AA.Animation.initializeBase(this); =20 // Length of the animation in seconds this._duration =3D 1; =20 // Number of steps per second this._fps =3D 25; =20 // Target Sys.UI.DomElement of the animation this._target =3D null; =20 // Tick event handler this._tickHandler =3D null; =20 // Animation timer this._timer =3D null; =20 // Percentage of the animation already played this._percentComplete =3D 0; =20 // Percentage of the animation to play on each step this._percentDelta =3D null; =20 // Reference to the animation that owns this animation (currently = only set in=20 // ParallelAnimation.add). This concept of ownership allows an = entire animation // subtree to be driven off a single timer so all the operations are = properly // synchronized. this._owner =3D null; =20 // Reference to the animation that contains this as a child (this is = set // in ParentAnimation.add). The primary use of the parent animation = is in // resolving the animation target when one isn't specified. this._parentAnimation =3D null; =20 // The DynamicProperties collection is used to associate JavaScript = expressions with // properties. The expressions are evaluated just before the = animation is played // everytime (in the base onStart method). See the additional = information in the // XML comment above. this.DynamicProperties =3D { }; =20 // Set the target, duration, and fps if they were provided in the = constructor if (target) { this.set_target(target); } if (duration) { this.set_duration(duration); } if (fps) {=20 this.set_fps(fps); } } $AA.Animation.prototype =3D { dispose : function() { /// /// Dispose the animation /// /// =20 if (this._timer) { this._timer.dispose(); this._timer =3D null; } =20 this._tickHandler =3D null; this._target =3D null; =20 $AA.Animation.callBaseMethod(this, 'dispose'); }, =20 play : function() { /// /// Play the animation from the beginning or where it was left = off when paused. /// /// /// /// If this animation is the child of another, you must call = play on its parent instead. /// =20 // If ownership of this animation has been claimed, then we'll = require the parent to // handle playing the animation (this is very important because = then the entire animation // tree runs on the same timer and updates consistently) if (!this._owner) { var resume =3D true; if (!this._timer) { resume =3D false; =20 if (!this._tickHandler) { this._tickHandler =3D Function.createDelegate(this, = this._onTimerTick); } this._timer =3D new Sys.Timer(); this._timer.add_tick(this._tickHandler); =20 this.onStart(); =20 this._timer.set_interval(1000 / this._fps); this._percentDelta =3D 100 / (this._duration * = this._fps); this._updatePercentComplete(0, true); } this._timer.set_enabled(true); =20 this.raisePropertyChanged('isPlaying'); if (!resume) { this.raisePropertyChanged('isActive'); } } }, =20 pause : function() { /// /// Pause the animation if it is playing. Calling = play will resume where /// the animation left off. /// /// /// /// If this animation is the child of another, you must call = pause on its parent instead. /// =20 if (!this._owner) { if (this._timer) { this._timer.set_enabled(false); =20 this.raisePropertyChanged('isPlaying'); } } }, =20 stop : function(finish) { /// /// Stop playing the animation. /// /// /// Whether or not stopping the animation should leave the = target element in a state /// consistent with the animation playing completely by = performing the last step. /// The default value is true. /// /// /// /// If this animation is the child of another, you must call = stop on /// its parent instead. /// =20 if (!this._owner) { var t =3D this._timer; this._timer =3D null; if (t) { t.dispose(); =20 if (this._percentComplete !=3D=3D 100) { this._percentComplete =3D 100; this.raisePropertyChanged('percentComplete'); if (finish || finish =3D=3D=3D undefined) { this.onStep(100); } } this.onEnd(); =20 this.raisePropertyChanged('isPlaying'); this.raisePropertyChanged('isActive'); } } }, =20 onStart : function() { /// /// The onStart method is called just before the = animation is played each time. /// /// =20 this.raiseStarted(); =20 // Initialize any dynamic properties for (var property in this.DynamicProperties) { try { // Invoke the property's setter on the evaluated = expression this[property](eval(this.DynamicProperties[property])); } catch(ex) { // Propogate any exceptions if we're debugging, = otherwise eat them if ( Sys._Debug.isDebug) { throw ex; } } } }, =20 onStep : function(percentage) { /// /// The onStep method is called repeatedly to = progress the animation through each frame /// /// Percentage of the = animation already complete /// =20 this.setValue(this.getAnimatedValue(percentage)); }, =20 onEnd : function() { /// /// The onEnd method is called just after the = animation is played each time. /// /// =20 this.raiseEnded(); }, =20 getAnimatedValue : function(percentage) { /// /// Determine the state of the animation after the given = percentage of its duration has elapsed /// /// Percentage of the = animation already complete /// /// State of the animation after the given percentage of its = duration has elapsed that will /// be passed to setValue /// throw Error.notImplemented(); }, =20 setValue : function(value) { /// /// Set the current state of the animation /// /// Current state of the = animation (as retreived from getAnimatedValue) /// throw Error.notImplemented(); }, =20 interpolate : function(start, end, percentage) { /// /// The interpolate function is used to find the = appropriate value between starting and /// ending values given the current percentage. /// /// /// Start of the range to interpolate /// /// /// End of the range to interpolate /// /// /// Percentage completed in the range to interpolate /// /// /// Value the desired percentage between the start and end = values /// /// /// In the future, we hope to make several implementations of = this available so we can dynamically /// change the apparent speed of the animations, although it may = make more sense to modify the /// _updatePercentComplete function instead. /// return start + (end - start) * (percentage / 100); }, =20 _onTimerTick : function() { /// /// Handler for the tick event to move the animation along = through its duration /// /// this._updatePercentComplete(this._percentComplete + = this._percentDelta, true); }, =20 _updatePercentComplete : function(percentComplete, animate) { /// /// Update the animation and its target given the current = percentage of its duration that /// has already elapsed /// /// /// Percentage of the animation duration that has already = elapsed /// /// /// Whether or not updating the animation should visually modify = the animation's target /// /// =20 if (percentComplete > 100) { percentComplete =3D 100; } =20 this._percentComplete =3D percentComplete; this.raisePropertyChanged('percentComplete'); =20 if (animate) { this.onStep(percentComplete); } =20 if (percentComplete =3D=3D=3D 100) { this.stop(false); } }, =20 setOwner : function(owner) { /// /// Make this animation the child of another animation /// /// /// Parent animation /// /// this._owner =3D owner; }, =20 raiseStarted : function() { /// /// Raise the started event /// /// var handlers =3D this.get_events().getHandler('started'); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, =20 add_started : function(handler) { /// /// Adds an event handler for the started event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("started", handler); }, =20 remove_started : function(handler) { /// /// Removes an event handler for the started event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("started", handler); }, =20 raiseEnded : function() { /// /// Raise the ended event /// /// var handlers =3D this.get_events().getHandler('ended'); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, =20 add_ended : function(handler) { /// /// Adds an event handler for the ended event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("ended", handler); }, =20 remove_ended : function(handler) { /// /// Removes an event handler for the ended event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("ended", handler); }, =20 get_target : function() { /// /// Target of the animation. If the target of this animation is = null and /// the animation has a parent, then it will recursively use the = target of /// the parent animation instead. /// /// /// Do not set this property in a generic Xml animation = description. It should be set /// using either the extender's TargetControlID or the = AnimationTarget property (the latter /// maps to AjaxControlToolkit.Animation.set_animationTarget). = The only valid way to /// set this property in the generic Xml animation description = is to use the dynamic /// property TargetScript=3D"$get('myElement')". /// if (!this._target && this._parentAnimation) { return this._parentAnimation.get_target(); } return this._target; }, set_target : function(value) { if (this._target !=3D value) { this._target =3D value; this.raisePropertyChanged('target'); } }, =20 set_animationTarget : function(id) { /// /// ID of a Sys.UI.DomElement or Sys.UI.Control to use as the = target of the animation /// /// /// If no Sys.UI.DomElement or Sys.UI.Control can be found for = the given ID, an /// argument exception will be thrown. /// =20 // Try to find a Sys.UI.DomElement var target =3D null; var element =3D $get(id); if (element) { target =3D element; } else { // Try to find the control in the AJAX controls collection var ctrl =3D $find(id); if (ctrl) { element =3D ctrl.get_element(); if (element) { target =3D element; } } } =20 // Use the new target if we have one, or raise an error if not if (target) {=20 this.set_target(target); } else { throw Error.argument('id', = String.format(AjaxControlToolkit.Resources.Animation_TargetNotFound, = id)); } }, =20 get_duration : function() { /// /// Length of the animation in seconds. The default is 1. /// return this._duration; }, set_duration : function(value) { value =3D this._getFloat(value); if (this._duration !=3D value) { this._duration =3D value; this.raisePropertyChanged('duration'); } }, =20 get_fps : function() { /// /// Number of steps per second. The default is 25. /// return this._fps; }, set_fps : function(value) { value =3D this._getInteger(value); if (this.fps !=3D value) { this._fps =3D value; this.raisePropertyChanged('fps'); } }, =20 get_isActive : function() { /// /// true if animation is active, false = if not. /// return (this._timer !=3D=3D null); }, =20 get_isPlaying : function() { /// /// true if animation is playing, = false if not. /// return (this._timer !=3D=3D null) && this._timer.get_enabled(); }, =20 get_percentComplete : function() { /// /// Percentage of the animation already played. /// return this._percentComplete; }, =20 _getBoolean : function(value) { /// /// Helper to convert strings to booleans for property setters /// /// /// Value to convert if it's a string /// /// /// Value that has been converted if it was a string /// if (String.isInstanceOfType(value)) { return Boolean.parse(value); } return value; }, =20 _getInteger : function(value) { /// /// Helper to convert strings to integers for property setters /// /// Value to convert if = it's a string /// Value that has been converted if it = was a string if (String.isInstanceOfType(value)) { return parseInt(value); } return value; }, =20 _getFloat : function(value) { /// /// Helper to convert strings to floats for property setters /// /// Value to convert if = it's a string /// Value that has been converted if it = was a string if (String.isInstanceOfType(value)) { return parseFloat(value); } return value; }, =20 _getEnum : function(value, type) { /// /// Helper to convert strings to enum values for property = setters /// /// Value to convert if = it's a string /// Type of the enum to = convert to /// Value that has been converted if it = was a string if (String.isInstanceOfType(value) && type && type.parse) { return type.parse(value); } return value; } } $AA.Animation.registerClass('AjaxControlToolkit.Animation.Animation', = Sys.Component); $AA.registerAnimation('animation', $AA.Animation); $AA.ParentAnimation =3D function(target, duration, fps, animations) { /// /// The ParentAnimation serves as a base class for all = animations that contain children (such as /// , = , /// etc.). It does not actually play the animations, so any classes = that inherit from it must do so. Any animation /// that requires nested child animations must inherit from this = class, although it will likely want to inherit off of /// = or /// which will actually play their child animations. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Array of child animations to be played /// /// Parent $AA.ParentAnimation.initializeBase(this, [target, duration, fps]); =20 // Array of child animations (there are no assumptions placed on = order because // it will matter for some derived animations like = SequenceAnimation, but not // for others like ParallelAnimation) that is demand created in add this._animations =3D []; =20 // Add any child animations passed into the constructor if (animations && animations.length) { for (var i =3D 0; i < animations.length; i++) { this.add(animations[i]); } } } $AA.ParentAnimation.prototype =3D { initialize : function() { /// /// Initialize the parent along with any child animations that = have not yet been initialized themselves /// /// $AA.ParentAnimation.callBaseMethod(this, 'initialize'); =20 // Initialize all the uninitialized child animations if (this._animations) { for (var i =3D 0; i < this._animations.length; i++) { var animation =3D this._animations[i]; if (animation && !animation.get_isInitialized) { animation.initialize(); } } } }, =20 dispose : function() { /// /// Dispose of the child animations /// /// this.clear(); this._animations =3D null; $AA.ParentAnimation.callBaseMethod(this, 'dispose'); }, =20 get_animations : function() { /// /// Array of child animations to be played (there are no = assumptions placed on order because it will matter for some /// derived animations like , but not for /// others like ). To = manipulate the child /// animations, use the functions add, = clear, remove, and removeAt. /// return this._animations; }, =20 add : function(animation) { /// /// Add an animation as a child of this animation. /// /// Child animation to = add /// if (this._animations) { if (animation) { animation._parentAnimation =3D this; } Array.add(this._animations, animation); this.raisePropertyChanged('animations'); } }, =20 remove : function(animation) { /// /// Remove the animation from the array of child animations. /// /// /// Child animation to remove /// /// /// /// This will dispose the removed animation. /// if (this._animations) { if (animation) { animation.dispose(); } Array.remove(this._animations, animation); this.raisePropertyChanged('animations'); } }, =20 removeAt : function(index) { /// /// Remove the animation at a given index from the array of = child animations. /// /// /// Index of the child animation to remove /// /// =20 if (this._animations) { var animation =3D this._animations[index]; if (animation) { animation.dispose(); } Array.removeAt(this._animations, index); this.raisePropertyChanged('animations'); } }, =20 clear : function() { /// /// Clear the array of child animations. /// /// /// This will dispose the cleared child animations. /// /// if (this._animations) { for (var i =3D this._animations.length - 1; i >=3D 0; i--) { this._animations[i].dispose(); this._animations[i] =3D null; } Array.clear(this._animations); this._animations =3D []; this.raisePropertyChanged('animations'); } } } $AA.ParentAnimation.registerClass('AjaxControlToolkit.Animation.ParentAni= mation', $AA.Animation); $AA.registerAnimation('parent', $AA.ParentAnimation); $AA.ParallelAnimation =3D function(target, duration, fps, animations) { /// /// The ParallelAnimation plays several animations = simultaneously. It inherits from /// , = but makes itself the owner of all /// its child animations to allow the use a single timer and = syncrhonization mechanisms shared with /// all the children (in other words, the duration = properties of any child animations /// are ignored in favor of the parent's duration). It = is very useful in creating /// sophisticated effects through combination of simpler animations. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Array of child animations /// /// Parallel $AA.ParallelAnimation.initializeBase(this, [target, duration, fps, = animations]); } $AA.ParallelAnimation.prototype =3D { add : function(animation) { /// /// Add an animation as a child of this animation and make = ourselves its owner. /// /// Child animation to = add /// $AA.ParallelAnimation.callBaseMethod(this, 'add', [animation]); animation.setOwner(this); }, =20 onStart : function() { /// /// Get the child animations ready to play /// /// $AA.ParallelAnimation.callBaseMethod(this, 'onStart'); var animations =3D this.get_animations(); for (var i =3D 0; i < animations.length; i++) { animations[i].onStart(); } }, =20 onStep : function(percentage) { /// /// Progress the child animations through each frame /// /// /// Percentage of the animation already complete /// /// var animations =3D this.get_animations(); for (var i =3D 0; i < animations.length; i++) { animations[i].onStep(percentage); } }, =20 onEnd : function() { /// /// Finish playing all of the child animations /// /// var animations =3D this.get_animations(); for (var i =3D 0; i < animations.length; i++) { animations[i].onEnd(); } $AA.ParallelAnimation.callBaseMethod(this, 'onEnd'); } } $AA.ParallelAnimation.registerClass('AjaxControlToolkit.Animation.Paralle= lAnimation', $AA.ParentAnimation); $AA.registerAnimation('parallel', $AA.ParallelAnimation); $AA.SequenceAnimation =3D function(target, duration, fps, animations, = iterations) { /// /// The SequenceAnimation runs several animations one = after the other. It can also /// repeat the sequence of animations for a specified number of = iterations (which defaults to a /// single iteration, but will repeat forever if you specify zero or = less iterations). Also, the /// SequenceAnimation cannot be a child of a /// (or any animation inheriting from it). /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Array of child animations /// /// /// Number of times to repeatedly play the sequence. If zero or = less iterations are specified, the sequence /// will repeat forever. The default value is 1 iteration. /// /// /// The SequenceAnimation ignores the = duration and fps /// properties, and will let each of its child animations use any = settings they please. /// /// Sequence $AA.SequenceAnimation.initializeBase(this, [target, duration, fps, = animations]); // Handler used to determine when an animation has finished this._handler =3D null; =20 // Flags to note whether we're playing, paused, or stopped this._paused =3D false; this._playing =3D false; =20 // Index of the currently executing animation in the sequence this._index =3D 0; =20 // Counter used when playing the animation to determine the = remaining number of times to play the entire sequence this._remainingIterations =3D 0; =20 // Number of iterations this._iterations =3D (iterations !=3D=3D undefined) ? iterations : = 1; } $AA.SequenceAnimation.prototype =3D { dispose : function() { /// /// Dispose the animation /// /// this._handler =3D null; $AA.SequenceAnimation.callBaseMethod(this, 'dispose'); }, =20 stop : function() { /// /// Stop playing the entire sequence of animations /// /// /// /// Stopping this animation will perform the last step of each = child animation, thereby leaving their /// target elements in a state consistent with the animation = playing completely. If this animation is /// the child of another, you must call stop on its = parent instead. /// if (this._playing) { var animations =3D this.get_animations(); if (this._index < animations.length) { // Remove the handler from the currently running = animation animations[this._index].remove_ended(this._handler); // Call stop on all remaining animations to ensure their // effects will be seen for (var i =3D this._index; i < animations.length; i++) = { animations[i].stop(); } } this._playing =3D false; this._paused =3D false; this.raisePropertyChanged('isPlaying'); this.onEnd(); } }, =20 pause : function() { /// /// Pause the animation if it is playing. Calling = play will resume where /// the animation left off. /// /// /// /// If this animation is the child of another, you must call = pause on its parent instead. /// if (this.get_isPlaying()) { var current =3D this.get_animations()[this._index]; if (current !=3D null) { current.pause(); } this._paused =3D true; this.raisePropertyChanged('isPlaying'); } }, =20 play : function() { /// /// Play the sequence of animations from the beginning or where = it was left off when paused /// /// /// /// If this animation is the child of another, you must call = play on its parent instead /// var animations =3D this.get_animations(); if (!this._playing) { this._playing =3D true; if (this._paused) { this._paused =3D false; var current =3D animations[this._index]; if (current !=3D null) { current.play(); this.raisePropertyChanged('isPlaying'); } } else { this.onStart(); // Reset the index and attach the handler to the first this._index =3D 0; var first =3D animations[this._index]; if (first) { first.add_ended(this._handler); first.play(); this.raisePropertyChanged('isPlaying'); } else { this.stop(); } } } }, =20 onStart : function() { /// /// The onStart method is called just before the = animation is played each time /// /// $AA.SequenceAnimation.callBaseMethod(this, 'onStart'); this._remainingIterations =3D this._iterations - 1; =20 // Create the handler we attach to each animation as it plays to = determine when we've finished with it if (!this._handler) { this._handler =3D Function.createDelegate(this, = this._onEndAnimation); } }, =20 _onEndAnimation : function() { /// /// Wait for the end of each animation, and then continue by = playing the other animations remaining /// in the sequence. Stop when it reaches the last animation = and there are no remaining iterations. /// /// // Remove the handler from the current animation var animations =3D this.get_animations(); var current =3D animations[this._index++]; if (current) { current.remove_ended(this._handler); } =20 // Keep running animations and stop when we're out if (this._index < animations.length) { var next =3D animations[this._index]; next.add_ended(this._handler); next.play(); } else if (this._remainingIterations >=3D 1 || this._iterations = <=3D 0) { this._remainingIterations--; this._index =3D 0; var first =3D animations[0]; first.add_ended(this._handler); first.play(); } else { this.stop(); } }, =20 onStep : function(percentage) { /// /// Raises an invalid operation exception because this will only = be called if a SequenceAnimation /// has been nested inside an (or a derived = type). /// /// Percentage of the = animation already complete /// throw = Error.invalidOperation(AjaxControlToolkit.Resources.Animation_CannotNestS= equence); }, =20 onEnd : function() { /// /// The onEnd method is called just after the = animation is played each time. /// /// this._remainingIterations =3D 0; $AA.SequenceAnimation.callBaseMethod(this, 'onEnd'); }, =20 get_isActive : function() { /// /// true if animation is active, false = if not. /// return true; }, =20 get_isPlaying : function() { /// /// true if animation is playing, = false if not. /// return this._playing && !this._paused; }, =20 get_iterations : function() { /// /// Number of times to repeatedly play the sequence. If zero or = less iterations are specified, the sequence /// will repeat forever. The default value is 1 iteration. /// return this._iterations; }, set_iterations : function(value) { value =3D this._getInteger(value); if (this._iterations !=3D value) { this._iterations =3D value; this.raisePropertyChanged('iterations'); } }, =20 get_isInfinite : function() { /// /// true if this animation will repeat forever, = false otherwise. /// return this._iterations <=3D 0; } } $AA.SequenceAnimation.registerClass('AjaxControlToolkit.Animation.Sequenc= eAnimation', $AA.ParentAnimation); $AA.registerAnimation('sequence', $AA.SequenceAnimation); $AA.SelectionAnimation =3D function(target, duration, fps, animations) { /// /// The SelectionAnimation will run a single animation = chosen from of its child animations. It is /// important to note that the SelectionAnimation = ignores the duration and fps /// properties, and will let each of its child animations use any = settings they please. This is a base class with no /// functional implementation, so consider using or /// = instead. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Array of child animations /// /// Selection $AA.SelectionAnimation.initializeBase(this, [target, duration, fps, = animations]); =20 // Index of the animation selected to play this._selectedIndex =3D -1; =20 // Reference to the animation selected to play this._selected =3D null; } $AA.SelectionAnimation.prototype =3D { =20 getSelectedIndex : function() { /// /// Get the index of the animation that is selected to be = played. If this returns an index outside the bounds of /// the child animations array, then nothing is played. /// /// /// Index of the selected child animation to play /// throw Error.notImplemented(); }, =20 onStart : function() { /// /// The onStart method is called just before the = animation is played each time. /// /// $AA.SelectionAnimation.callBaseMethod(this, 'onStart'); =20 var animations =3D this.get_animations(); this._selectedIndex =3D this.getSelectedIndex(); if (this._selectedIndex >=3D 0 && this._selectedIndex < = animations.length) { this._selected =3D animations[this._selectedIndex]; if (this._selected) { this._selected.setOwner(this); this._selected.onStart(); } } }, =20 onStep : function(percentage) { /// /// The onStep method is called repeatedly to = progress the animation through each frame /// /// Percentage of the = animation already complete /// if (this._selected) { this._selected.onStep(percentage); } }, =20 onEnd : function() { /// /// The onEnd method is called just after the = animation is played each time. /// /// if (this._selected) { this._selected.onEnd(); this._selected.setOwner(null); } this._selected =3D null; this._selectedIndex =3D null; $AA.SelectionAnimation.callBaseMethod(this, 'onEnd'); } } $AA.SelectionAnimation.registerClass('AjaxControlToolkit.Animation.Select= ionAnimation', $AA.ParentAnimation); $AA.registerAnimation('selection', $AA.SelectionAnimation); $AA.ConditionAnimation =3D function(target, duration, fps, animations, = conditionScript) { /// /// The ConditionAnimation is used as a control = structure to play a specific child animation /// depending on the result of executing the = conditionScript. If the conditionScript /// evaluates to true, the first child animation is = played. If it evaluates to false, /// the second child animation is played (although nothing is played = if a second animation is not present). /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Array of child animations /// /// /// JavaScript that should evaluate to true or = false to determine which child /// animation to play. /// /// Condition $AA.ConditionAnimation.initializeBase(this, [target, duration, fps, = animations]); =20 // Condition to determine which index we will play this._conditionScript =3D conditionScript; =20 } $AA.ConditionAnimation.prototype =3D { =20 getSelectedIndex : function() { /// /// Get the index of the animation that is selected to be played. = If this returns an index outside the bounds of /// the child animations array, then nothing is played. /// /// /// Index of the selected child animation to play /// var selected =3D -1; if (this._conditionScript && this._conditionScript.length > 0) { try { selected =3D eval(this._conditionScript) ? 0 : 1; } catch(ex) { } } return selected; }, =20 get_conditionScript : function() { /// /// JavaScript that should evaluate to true or = false to determine which /// child animation to play. /// return this._conditionScript; }, set_conditionScript : function(value) { if (this._conditionScript !=3D value) { this._conditionScript =3D value; this.raisePropertyChanged('conditionScript'); } } } $AA.ConditionAnimation.registerClass('AjaxControlToolkit.Animation.Condit= ionAnimation', $AA.SelectionAnimation); $AA.registerAnimation('condition', $AA.ConditionAnimation); $AA.CaseAnimation =3D function(target, duration, fps, animations, = selectScript) { /// /// The CaseAnimation is used as a control structure to = play a specific child animation depending on /// the result of executing the selectScript, which = should return the index of the child animation to /// play (this is similar to the case or = select statements in C#/VB, etc.). If the provided /// index is outside the bounds of the child animations array (or if = nothing was returned) then we will not play anything. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Array of child animations /// /// /// JavaScript that should evaluate to the index of the appropriate = child animation to play. If this returns an index outside the bounds of = the child animations array, then nothing is played. /// /// Case $AA.CaseAnimation.initializeBase(this, [target, duration, fps, = animations]); // Condition to determine which index we will play this._selectScript =3D selectScript; } $AA.CaseAnimation.prototype =3D { getSelectedIndex : function() { /// /// Get the index of the animation that is selected to be = played. If this returns an index outside the bounds of /// the child animations array, then nothing is played. /// /// /// Index of the selected child animation to play /// var selected =3D -1; if (this._selectScript && this._selectScript.length > 0) { try { var result =3D eval(this._selectScript) if (result !=3D=3D undefined) selected =3D result; } catch (ex) { } } return selected; }, =20 get_selectScript : function() { /// /// JavaScript that should evaluate to the index of the = appropriate child animation to play. If this returns an index outside = the bounds of the child animations array, then nothing is played. /// return this._selectScript; }, set_selectScript : function(value) { if (this._selectScript !=3D value) { this._selectScript =3D value; this.raisePropertyChanged('selectScript'); } } } $AA.CaseAnimation.registerClass('AjaxControlToolkit.Animation.CaseAnimati= on', $AA.SelectionAnimation); $AA.registerAnimation('case', $AA.CaseAnimation); $AA.FadeEffect =3D function() { /// /// The FadeEffect enumeration determines whether a fade animation = is used to fade in or fade out. /// /// /// throw Error.invalidOperation(); } $AA.FadeEffect.prototype =3D { FadeIn : 0, FadeOut : 1 } $AA.FadeEffect.registerEnum("AjaxControlToolkit.Animation.FadeEffect", = false); $AA.FadeAnimation =3D function(target, duration, fps, effect, = minimumOpacity, maximumOpacity, forceLayoutInIE) { /// /// The FadeAnimation is used to fade an element in or = out of view, depending on the /// provided , by settings its opacity. /// The minimum and maximum opacity values can be specified to = precisely control the fade. /// You may also consider using or /// = if you know the only direction you /// are fading. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Determine whether to fade the element in or fade the element = out. The possible values are FadeIn /// and FadeOut. The default value is = FadeOut. /// /// /// Minimum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 0. /// /// /// Maximum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 1. /// /// /// Whether or not we should force a layout to be created for = Internet Explorer by giving it a width and setting its /// background color (the latter is required in case the user has = ClearType enabled). The default value is true. /// This is obviously ignored when working in other browsers. /// /// Fade $AA.FadeAnimation.initializeBase(this, [target, duration, fps]); // The effect determines whether or not we fade in or out this._effect =3D (effect !=3D=3D undefined) ? effect : = $AA.FadeEffect.FadeIn; =20 // Maximum and minimum opacities default to 100% and 0% this._max =3D (maximumOpacity !=3D=3D undefined) ? maximumOpacity : = 1; this._min =3D (minimumOpacity !=3D=3D undefined) ? minimumOpacity : = 0; =20 // Starting and ending opacities this._start =3D this._min; this._end =3D this._max; =20 // Whether the a layout has already been created (to work around IE = problems) this._layoutCreated =3D false; // Whether or not we should force a layout to be created for IE by = giving it a width // and setting its background color (the latter is required in case = the user has ClearType enabled). // = http://msdn.microsoft.com/library/default.asp?url=3D/workshop/author/filt= er/reference/filters/alpha.asp this._forceLayoutInIE =3D (forceLayoutInIE =3D=3D=3D undefined || = forceLayoutInIE =3D=3D=3D null) ? true : forceLayoutInIE; =20 // Current target of the animation that is cached before the = animation plays (since looking up // the target could mean walking all the way up to the root of the = animation's tree, which we don't // want to do for every step of the animation) this._currentTarget =3D null; =20 // Properly set up the min/max values provided by the constructor this._resetOpacities(); } $AA.FadeAnimation.prototype =3D { _resetOpacities : function() { /// /// Set the starting and ending opacity values based on the = effect (i.e. when we're fading /// in we go from _min to _max, but we = go _max to /// _min when fading out) /// /// if (this._effect =3D=3D $AA.FadeEffect.FadeIn) { this._start =3D this._min; this._end =3D this._max; } else { this._start =3D this._max; this._end =3D this._min; } }, =20 _createLayout : function() { /// /// Create a layout when using Internet Explorer (which entails = setting a width and also /// a background color if it currently has neither) /// /// var element =3D this._currentTarget; if (element) { // Get the original width/height/back color var originalWidth =3D = CommonToolkitScripts.getCurrentStyle(element, 'width'); var originalHeight =3D = CommonToolkitScripts.getCurrentStyle(element, 'height'); var originalBackColor =3D = CommonToolkitScripts.getCurrentStyle(element, 'backgroundColor'); // Set the width which will force the creation of a layout if ((!originalWidth || originalWidth =3D=3D '' || = originalWidth =3D=3D 'auto') && (!originalHeight || originalHeight =3D=3D '' || = originalHeight =3D=3D 'auto')) { element.style.width =3D element.offsetWidth + 'px'; } =20 // Set the back color to avoid ClearType problems if (!originalBackColor || originalBackColor =3D=3D '' || = originalBackColor =3D=3D 'transparent' || originalBackColor =3D=3D = 'rgba(0, 0, 0, 0)') { element.style.backgroundColor =3D = CommonToolkitScripts.getInheritedBackgroundColor(element); } =20 // Mark that we've created the layout so we only do it once this._layoutCreated =3D true; } }, =20 onStart : function() { /// /// The onStart method is called just before the = animation is played each time. /// /// =20 $AA.FadeAnimation.callBaseMethod(this, 'onStart'); =20 this._currentTarget =3D this.get_target(); this.setValue(this._start); =20 // Force the creation of a layout in IE if we're supposed to and = the current browser is Internet Explorer if (this._forceLayoutInIE && !this._layoutCreated && = Sys.Browser.agent =3D=3D Sys.Browser.InternetExplorer) { this._createLayout(); } }, =20 getAnimatedValue : function(percentage) { /// /// Determine the current opacity after the given percentage of = its duration has elapsed /// /// Percentage of the = animation already complete /// /// Current opacity after the given percentage of its duration = has elapsed that will /// be passed to setValue /// return this.interpolate(this._start, this._end, percentage); }, =20 setValue : function(value) { /// /// Set the current opacity of the element. /// /// /// Current opacity (as retreived from = getAnimatedValue) /// /// /// /// This method will be replaced by a dynamically generated = function that requires no logic /// to determine whether it should use filters or the style's = opacity. /// if (this._currentTarget) { CommonToolkitScripts.setElementOpacity(this._currentTarget, = value); } }, =20 // set_target : function(value) { // /// // /// Override the target property to dynamically = create the setValue function. // /// // /// // /// Do not set this property in a generic Xml animation = description. It will be set automatically // /// using either the extender's TargetControlID or the = AnimationTarget property. // /// // $AA.FadeAnimation.callBaseMethod(this, 'set_target', [value]); // =20 // var element =3D value; // if (element) { // var filters =3D element.filters; // if (filters) { // var alphaFilter =3D null; // if (filters.length !=3D=3D 0) { // alphaFilter =3D = filters['DXImageTransform.Microsoft.Alpha']; // } // if (!alphaFilter) { // element.style.filter =3D = 'progid:DXImageTransform.Microsoft.Alpha(opacity=3D' + (this._start * = 100) + ')'; // alphaFilter =3D = filters['DXImageTransform.Microsoft.Alpha']; // } // if (alphaFilter) { // this.setValue =3D function(val) { = alphaFilter.opacity =3D val * 100; } // } else { // this.setValue =3D function(val) { // element.style.filter =3D = 'progid:DXImageTransform.Microsoft.Alpha(opacity=3D' + (val * 100) + = ')'; // }; // } // } // else { // this.setValue =3D function(val) { = element.style.opacity =3D val; }; // } // } // }, =20 get_effect : function() { /// /// Determine whether to fade the element in or fade the element = out. The possible values are /// FadeIn and FadeOut. The default = value is FadeOut. /// return this._effect; }, set_effect : function(value) { value =3D this._getEnum(value, $AA.FadeEffect); if (this._effect !=3D value) { this._effect =3D value; this._resetOpacities(); this.raisePropertyChanged('effect'); } }, =20 get_minimumOpacity : function() { /// /// Minimum opacity to use when fading in or out. Its value can = range from between 0 to 1. /// The default value is 0. /// return this._min; }, set_minimumOpacity : function(value) { value =3D this._getFloat(value); if (this._min !=3D value) { this._min =3D value; this._resetOpacities(); this.raisePropertyChanged('minimumOpacity'); } }, =20 get_maximumOpacity : function() { /// /// Maximum opacity to use when fading in or out. Its value can = range from between 0 to 1. /// The default value is 1. /// return this._max; }, set_maximumOpacity : function(value) { value =3D this._getFloat(value); if (this._max !=3D value) { this._max =3D value; this._resetOpacities(); this.raisePropertyChanged('maximumOpacity'); } }, =20 get_forceLayoutInIE : function() { /// /// Whether or not we should force a layout to be created for = Internet Explorer by giving it a width and setting its /// background color (the latter is required in case the user = has ClearType enabled). The default value is true. /// This is obviously ignored when working in other browsers. /// return this._forceLayoutInIE; }, set_forceLayoutInIE : function(value) { value =3D this._getBoolean(value); if (this._forceLayoutInIE !=3D value) { this._forceLayoutInIE =3D value; this.raisePropertyChanged('forceLayoutInIE'); } }, =20 set_startValue : function(value) { /// /// Set the start value (so that child animations can set the = current opacity as the start value when fading in or out) /// value =3D this._getFloat(value); this._start =3D value; } } $AA.FadeAnimation.registerClass('AjaxControlToolkit.Animation.FadeAnimati= on', $AA.Animation); $AA.registerAnimation('fade', $AA.FadeAnimation); $AA.FadeInAnimation =3D function(target, duration, fps, minimumOpacity, = maximumOpacity, forceLayoutInIE) { /// /// The FadeInAnimation will fade the target in by = moving from hidden to visible. /// It starts the animation the target's current opacity. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Minimum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 0. /// /// /// Maximum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 1. /// /// /// Whether or not we should force a layout to be created for = Internet Explorer by giving it a width and setting its /// background color (the latter is required in case the user has = ClearType enabled). The default value is true. /// This is obviously ignored when working in other browsers. /// /// FadeIn $AA.FadeInAnimation.initializeBase(this, [target, duration, fps, = $AA.FadeEffect.FadeIn, minimumOpacity, maximumOpacity, = forceLayoutInIE]); } $AA.FadeInAnimation.prototype =3D { onStart : function() { /// /// The onStart method is called just before the = animation is played each time. /// /// $AA.FadeInAnimation.callBaseMethod(this, 'onStart'); =20 if (this._currentTarget) { = this.set_startValue(CommonToolkitScripts.getElementOpacity(this._currentT= arget)); } } } $AA.FadeInAnimation.registerClass('AjaxControlToolkit.Animation.FadeInAni= mation', $AA.FadeAnimation); $AA.registerAnimation('fadeIn', $AA.FadeInAnimation); $AA.FadeOutAnimation =3D function(target, duration, fps, minimumOpacity, = maximumOpacity, forceLayoutInIE) { /// /// The FadeInAnimation will fade the element out by moving from = visible to hidden. It starts the animation /// at the element's current opacity. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Minimum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 0. /// /// /// Maximum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 1. /// /// /// Whether or not we should force a layout to be created for = Internet Explorer by giving it a width and setting its /// background color (the latter is required in case the user has = ClearType enabled). The default value is true. /// This is obviously ignored when working in other browsers. /// /// FadeOut $AA.FadeOutAnimation.initializeBase(this, [target, duration, fps, = $AA.FadeEffect.FadeOut, minimumOpacity, maximumOpacity, = forceLayoutInIE]); } $AA.FadeOutAnimation.prototype =3D { onStart : function() { /// /// The onStart method is called just before the = animation is played each time. /// /// $AA.FadeOutAnimation.callBaseMethod(this, 'onStart'); if (this._currentTarget) { = this.set_startValue(CommonToolkitScripts.getElementOpacity(this._currentT= arget)); } } } $AA.FadeOutAnimation.registerClass('AjaxControlToolkit.Animation.FadeOutA= nimation', $AA.FadeAnimation); $AA.registerAnimation('fadeOut', $AA.FadeOutAnimation); $AA.PulseAnimation =3D function(target, duration, fps, iterations, = minimumOpacity, maximumOpacity, forceLayoutInIE) { /// /// The PulseAnimation fades an element in and our repeatedly to = create a pulsating /// effect. The iterations determines how many pulses there will be = (which defaults /// to three, but it will repeat infinitely if given zero or less). = The duration /// property defines the duration of each fade in or fade out, not = the duration of /// the animation as a whole. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Number of times to repeatedly play the sequence. If zero or = less iterations are specified, the sequence /// will repeat forever. The default value is 1 iteration. /// /// /// Minimum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 0. /// /// /// Maximum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 1. /// /// /// Whether or not we should force a layout to be created for = Internet Explorer by giving it a width and setting its /// background color (the latter is required in case the user has = ClearType enabled). The default value is true. /// This is obviously ignored when working in other browsers. /// /// Pulse $AA.PulseAnimation.initializeBase(this, [target, duration, fps, = null, ((iterations !=3D=3D undefined) ? iterations : 3)]); // Create the FadeOutAnimation this._out =3D new $AA.FadeOutAnimation(target, duration, fps, = minimumOpacity, maximumOpacity, forceLayoutInIE); this.add(this._out); =20 // Create the FadeInAnimation this._in =3D new $AA.FadeInAnimation(target, duration, fps, = minimumOpacity, maximumOpacity, forceLayoutInIE); this.add(this._in); } $AA.PulseAnimation.prototype =3D { =20 get_minimumOpacity : function() { /// /// Minimum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 0. /// return this._out.get_minimumOpacity(); }, set_minimumOpacity : function(value) { value =3D this._getFloat(value); this._out.set_minimumOpacity(value); this._in.set_minimumOpacity(value); this.raisePropertyChanged('minimumOpacity'); }, =20 get_maximumOpacity : function() { /// /// Maximum opacity to use when fading in or out. Its value can = range from between 0 to 1. The default value is 1. /// return this._out.get_maximumOpacity(); }, set_maximumOpacity : function(value) { value =3D this._getFloat(value); this._out.set_maximumOpacity(value); this._in.set_maximumOpacity(value); this.raisePropertyChanged('maximumOpacity'); }, =20 get_forceLayoutInIE : function() { /// /// Whether or not we should force a layout to be created for = Internet Explorer by giving it a width and setting its /// background color (the latter is required in case the user = has ClearType enabled). The default value is true. /// This is obviously ignored when working in other browsers. /// return this._out.get_forceLayoutInIE(); }, set_forceLayoutInIE : function(value) { value =3D this._getBoolean(value); this._out.set_forceLayoutInIE(value); this._in.set_forceLayoutInIE(value); this.raisePropertyChanged('forceLayoutInIE'); }, =20 set_duration : function(value) { /// /// Override the duration property /// value =3D this._getFloat(value); $AA.PulseAnimation.callBaseMethod(this, 'set_duration', = [value]); this._in.set_duration(value); this._out.set_duration(value); }, =20 set_fps : function(value) { /// /// Override the fps property /// value =3D this._getInteger(value); $AA.PulseAnimation.callBaseMethod(this, 'set_fps', [value]); this._in.set_fps(value); this._out.set_fps(value); } =20 } $AA.PulseAnimation.registerClass('AjaxControlToolkit.Animation.PulseAnima= tion', $AA.SequenceAnimation); $AA.registerAnimation('pulse', $AA.PulseAnimation); $AA.PropertyAnimation =3D function(target, duration, fps, property, = propertyKey) { /// /// The PropertyAnimation is a useful base animation = that will assign the value from /// getAnimatedValue to a specified = property. You can provide the name of /// a property alongside an optional = propertyKey (which indicates the value /// property[propertyKey], like = style['backgroundColor']). /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Property of the target element to set when = animating /// /// /// Optional key of the property to be set (which indicates the = value property[propertyKey], like style['backgroundColor']). Note that = for the style property, the key must be in a JavaScript friendly format = (i.e. backgroundColor instead of background-color). /// /// Property $AA.PropertyAnimation.initializeBase(this, [target, duration, fps]); // Name of the property to set this._property =3D property; =20 // Optional Key of the property to set (i.e., if the property were = "style" then // this might be "backgroundColor") this._propertyKey =3D propertyKey; =20 // Current target of the animation that is cached before the = animation plays (since looking up // the target could mean walking all the way up to the root of the = animation's tree, which we don't // want to do for every step of the animation) this._currentTarget =3D null; } $AA.PropertyAnimation.prototype =3D { onStart : function() { /// /// The onStart method is called just before the = animation is played each time. /// /// $AA.PropertyAnimation.callBaseMethod(this, 'onStart'); this._currentTarget =3D this.get_target(); }, setValue : function(value) { /// /// Set the current value of the property /// /// /// Value to assign /// /// var element =3D this._currentTarget; if (element && this._property && this._property.length > 0) {=20 if (this._propertyKey && this._propertyKey.length > 0 && = element[this._property]) { element[this._property][this._propertyKey] =3D value; } else { element[this._property] =3D value; } } // Sys.TypeDescriptor.setProperty(this.get_target(), = this._property, value, this._propertyKey); }, =20 getValue : function() { /// /// Get the current value from the property /// /// /// Current value of the property /// var element =3D this.get_target(); if (element && this._property && this._property.length > 0) {=20 var property =3D element[this._property]; if (property) { if (this._propertyKey && this._propertyKey.length > 0) { return property[this._propertyKey]; } return property; } } return null; // return Sys.TypeDescriptor.getProperty(this.get_target(), = this._property, this._propertyKey); }, =20 get_property : function() { /// /// Property of the target element to set when = animating /// return this._property; }, set_property : function(value) { if (this._property !=3D value) { this._property =3D value; this.raisePropertyChanged('property'); } }, =20 get_propertyKey : function() { /// /// Optional key of the property to be set (which indicates the = value property[propertyKey], like style['backgroundColor']). Note that = for the style property, the key must be in a JavaScript friendly format = (i.e. backgroundColor instead of background-color). /// return this._propertyKey; }, set_propertyKey : function(value) { if (this._propertyKey !=3D value) { this._propertyKey =3D value; this.raisePropertyChanged('propertyKey'); } } } $AA.PropertyAnimation.registerClass('AjaxControlToolkit.Animation.Propert= yAnimation', $AA.Animation); $AA.registerAnimation('property', $AA.PropertyAnimation); $AA.DiscreteAnimation =3D function(target, duration, fps, property, = propertyKey, values) { /// /// The DiscreteAnimation inherits from /// and sets the value of the property to the elements = in a provided array of values. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Property of the target element to set when = animating /// /// /// Optional key of the property to be set (which indicates the = value property[propertyKey], like style['backgroundColor']). Note that = for the style property, the key must be in a JavaScript friendly format = (i.e. backgroundColor instead of background-color). /// /// /// Array of possible values of the property that will be iterated = over as the animation is played /// /// Discrete $AA.DiscreteAnimation.initializeBase(this, [target, duration, fps, = property, propertyKey]); // Values to assign to the property this._values =3D (values && values.length) ? values : []; } $AA.DiscreteAnimation.prototype =3D { getAnimatedValue : function(percentage) { /// /// Assign the value whose index corresponds to the current = percentage /// /// /// Percentage of the animation already complete /// /// /// State of the animation after the given percentage of its = duration has elapsed that will /// be passed to setValue /// var index =3D Math.floor(this.interpolate(0, this._values.length = - 1, percentage)); return this._values[index]; }, =20 get_values : function() { /// /// Array of possible values of the property that will be = iterated over as the animation is played /// return this._values; }, set_values : function(value) { if (this._values !=3D value) { this._values =3D value; this.raisePropertyChanged('values'); } } } $AA.DiscreteAnimation.registerClass('AjaxControlToolkit.Animation.Discret= eAnimation', $AA.PropertyAnimation); $AA.registerAnimation('discrete', $AA.DiscreteAnimation); $AA.InterpolatedAnimation =3D function(target, duration, fps, property, = propertyKey, startValue, endValue) { /// /// The InterpolatedAnimation assigns a range of values = between startValue /// and endValue to the designated property. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Property of the target element to set when = animating. The default value is 'style'. /// /// /// Optional key of the property to be set (which indicates the = value property[propertyKey], like style['backgroundColor']). Note that = for the style property, the key must be in a JavaScript friendly format = (i.e. backgroundColor instead of background-color). /// /// /// Start of the range of values /// /// /// End of the range of values /// /// Interpolated $AA.InterpolatedAnimation.initializeBase(this, [target, duration, = fps, ((property !=3D=3D undefined) ? property : 'style'), propertyKey]); // Start and end values this._startValue =3D startValue; this._endValue =3D endValue; } $AA.InterpolatedAnimation.prototype =3D { get_startValue : function() { /// /// Start of the range of values /// return this._startValue; }, set_startValue : function(value) { value =3D this._getFloat(value); if (this._startValue !=3D value) { this._startValue =3D value; this.raisePropertyChanged('startValue'); } }, =20 get_endValue : function() { /// /// End of the range of values /// return this._endValue; }, set_endValue : function(value) { value =3D this._getFloat(value); if (this._endValue !=3D value) { this._endValue =3D value; this.raisePropertyChanged('endValue'); } } =20 } $AA.InterpolatedAnimation.registerClass('AjaxControlToolkit.Animation.Int= erpolatedAnimation', $AA.PropertyAnimation); $AA.registerAnimation('interpolated', $AA.InterpolatedAnimation); $AA.ColorAnimation =3D function(target, duration, fps, property, = propertyKey, startValue, endValue) { /// /// The ColorAnimation transitions the value of the = property between /// two colors (although it does ignore the alpha channel). The = colors must be 7-character hex strings /// (like #246ACF). /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Property of the target element to set when = animating. The default value is 'style'. /// /// /// Optional key of the property to be set (which indicates the = value property[propertyKey], like style['backgroundColor']). Note that = for the style property, the key must be in a JavaScript friendly format = (i.e. backgroundColor instead of background-color). /// /// /// Start of the range of colors /// /// /// End of the range of colors /// /// Color $AA.ColorAnimation.initializeBase(this, [target, duration, fps, = property, propertyKey, startValue, endValue]); =20 // Cached start/end RBG triplets this._start =3D null; this._end =3D null; =20 // Flags indicating whether each dimension of color will be = interpolated this._interpolateRed =3D false; this._interpolateGreen =3D false; this._interpolateBlue =3D false; } $AA.ColorAnimation.prototype =3D { onStart : function() { /// /// Determine which dimensions of color will be animated /// /// $AA.ColorAnimation.callBaseMethod(this, 'onStart'); =20 this._start =3D = $AA.ColorAnimation.getRGB(this.get_startValue()); this._end =3D $AA.ColorAnimation.getRGB(this.get_endValue()); =20 this._interpolateRed =3D (this._start.Red !=3D this._end.Red); this._interpolateGreen =3D (this._start.Green !=3D = this._end.Green); this._interpolateBlue =3D (this._start.Blue !=3D = this._end.Blue); }, =20 getAnimatedValue : function(percentage) { /// /// Get the interpolated color values /// /// /// Percentage of the animation already complete /// /// /// Current color formatted as a 7-character hex string (like = #246ACF). /// var r =3D this._start.Red; var g =3D this._start.Green; var b =3D this._start.Blue; =20 if (this._interpolateRed) r =3D Math.round(this.interpolate(r, this._end.Red, = percentage)); =20 if (this._interpolateGreen) g =3D Math.round(this.interpolate(g, this._end.Green, = percentage)); =20 if (this._interpolateBlue) b =3D Math.round(this.interpolate(b, this._end.Blue, = percentage)); =20 return $AA.ColorAnimation.toColor(r, g, b); }, =20 set_startValue : function(value) { /// /// Starting color of the transition formatted as a 7-character = hex string (like #246ACF). /// if (this._startValue !=3D value) { this._startValue =3D value; this.raisePropertyChanged('startValue'); } }, =20 set_endValue : function(value) { /// /// Ending color of the transition formatted as a 7-character = hex string (like #246ACF). /// if (this._endValue !=3D value) { this._endValue =3D value; this.raisePropertyChanged('endValue'); } } =20 } $AA.ColorAnimation.getRGB =3D function(color) { /// /// Convert the color to an RGB triplet /// /// /// Color formatted as a 7-character hex string (like = #246ACF) /// /// /// Object representing the color with Red, = Green, and Blue properties. /// if (!color || color.length !=3D 7) { throw = String.format(AjaxControlToolkit.Resources.Animation_InvalidColor, = color); } return { 'Red': parseInt(color.substr(1,2), 16), 'Green': parseInt(color.substr(3,2), 16), 'Blue': parseInt(color.substr(5,2), 16) }; } $AA.ColorAnimation.toColor =3D function(red, green, blue) { /// /// Convert an RBG triplet into a 7-character hex string (like = #246ACF) /// /// /// Value of the color's red dimension /// /// /// Value of the color's green dimension /// /// /// Value of the color's blue dimension /// /// /// Color as a 7-character hex string (like #246ACF) /// var r =3D red.toString(16); var g =3D green.toString(16); var b =3D blue.toString(16); if (r.length =3D=3D 1) r =3D '0' + r; if (g.length =3D=3D 1) g =3D '0' + g; if (b.length =3D=3D 1) b =3D '0' + b; return '#' + r + g + b; } $AA.ColorAnimation.registerClass('AjaxControlToolkit.Animation.ColorAnima= tion', $AA.InterpolatedAnimation); $AA.registerAnimation('color', $AA.ColorAnimation); $AA.LengthAnimation =3D function(target, duration, fps, property, = propertyKey, startValue, endValue, unit) { /// /// The LengthAnimation is identical to /// except it adds a unit to the value before assigning = it to the property. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// Property of the target element to set when = animating. The default value is 'style'. /// /// /// Optional key of the property to be set (which indicates the = value property[propertyKey], like style['backgroundColor']). Note that = for the style property, the key must be in a JavaScript friendly format = (i.e. backgroundColor instead of background-color). /// /// /// Start of the range of values /// /// /// End of the range of values /// /// /// Unit of the interpolated values. The default value is = 'px'. /// /// Length $AA.LengthAnimation.initializeBase(this, [target, duration, fps, = property, propertyKey, startValue, endValue]); =20 // Unit of length (which defaults to px) this._unit =3D (unit !=3D null) ? unit : 'px'; } $AA.LengthAnimation.prototype =3D { getAnimatedValue : function(percentage) { /// /// Get the interpolated length value /// /// /// Percentage of the animation already complete /// /// /// Interpolated length /// var value =3D this.interpolate(this.get_startValue(), = this.get_endValue(), percentage); return Math.round(value) + this._unit; }, =20 get_unit : function() { /// /// Unit of the interpolated values. The default value is = 'px'. /// return this._unit; }, set_unit : function(value) { if (this._unit !=3D value) { this._unit =3D value; this.raisePropertyChanged('unit'); } } } $AA.LengthAnimation.registerClass('AjaxControlToolkit.Animation.LengthAni= mation', $AA.InterpolatedAnimation); $AA.registerAnimation('length', $AA.LengthAnimation); $AA.MoveAnimation =3D function(target, duration, fps, horizontal, = vertical, relative, unit) { /// /// The MoveAnimation is used to move the = target element. If the /// relative flag is set to true, then it = treats the horizontal /// and vertical properties as offsets to move the = element. If the relative /// flag is false, then it will treat the = horizontal and vertical /// properties as coordinates on the page where the = target element should be moved. It is /// important to note that the target must be = positioned (i.e. absolutely) so /// that settings its top/left style = attributes will change its location. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// If relative is true, this is the = offset to move horizontally. Otherwise this is the x /// coordinate on the page where the target should be = moved. /// /// /// If relative is true, this is the = offset to move vertically. Otherwise this is the y /// coordinate on the page where the target should be = moved. /// /// /// true if we are moving relative to the current = position, false if we are moving absolutely /// /// /// Length unit for the size of the target. The default = value is 'px'. /// /// Move $AA.MoveAnimation.initializeBase(this, [target, duration, fps, = null]); // Distance to move horizontally and vertically this._horizontal =3D horizontal ? horizontal : 0; this._vertical =3D vertical ? vertical : 0; this._relative =3D (relative =3D=3D=3D undefined) ? true : relative; =20 // Length animations representing the movememnts this._horizontalAnimation =3D new $AA.LengthAnimation(target, = duration, fps, 'style', 'left', null, null, unit); this._verticalAnimation =3D new $AA.LengthAnimation(target, = duration, fps, 'style', 'top', null, null, unit); this.add(this._verticalAnimation); this.add(this._horizontalAnimation); } $AA.MoveAnimation.prototype =3D { =20 onStart : function() { /// /// Use the target's current position as the = starting point for the animation /// /// $AA.MoveAnimation.callBaseMethod(this, 'onStart'); =20 // Set the start and end values of the animations by getting // the element's current position and applying the offsets var element =3D this.get_target(); this._horizontalAnimation.set_startValue(element.offsetLeft); this._horizontalAnimation.set_endValue(this._relative ? = element.offsetLeft + this._horizontal : this._horizontal); this._verticalAnimation.set_startValue(element.offsetTop);=20 this._verticalAnimation.set_endValue(this._relative ? = element.offsetTop + this._vertical : this._vertical); }, =20 get_horizontal : function() { /// /// If relative is true, this is the = offset to move horizontally. Otherwise this is the x /// coordinate on the page where the target should = be moved. /// return this._horizontal; }, set_horizontal : function(value) { value =3D this._getFloat(value); if (this._horizontal !=3D value) { this._horizontal =3D value; this.raisePropertyChanged('horizontal'); } }, =20 get_vertical : function() { /// /// If relative is true, this is the = offset to move vertically. Otherwise this is the y /// coordinate on the page where the target should = be moved. /// return this._vertical; }, set_vertical : function(value) { value =3D this._getFloat(value); if (this._vertical !=3D value) { this._vertical =3D value; this.raisePropertyChanged('vertical'); } }, =20 get_relative : function() { /// /// true if we are moving relative to the current = position, false if we are moving absolutely /// return this._relative; }, set_relative : function(value) { value =3D this._getBoolean(value); if (this._relative !=3D value) { this._relative =3D value; this.raisePropertyChanged('relative'); } }, =20 get_unit : function() { /// /// Length unit for the size of the target. The = default value is 'px'. /// this._horizontalAnimation.get_unit(); }, set_unit : function(value) { var unit =3D this._horizontalAnimation.get_unit(); if (unit !=3D value) { this._horizontalAnimation.set_unit(value); this._verticalAnimation.set_unit(value); this.raisePropertyChanged('unit'); } } } $AA.MoveAnimation.registerClass('AjaxControlToolkit.Animation.MoveAnimati= on', $AA.ParallelAnimation); $AA.registerAnimation('move', $AA.MoveAnimation); $AA.ResizeAnimation =3D function(target, duration, fps, width, height, = unit) { /// /// The ResizeAnimation changes the size of the = target from its /// current value to the specified width and = height. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// New width of the target /// /// /// New height of the target /// /// /// Length unit for the size of the target. The default = value is 'px'. /// /// Resize $AA.ResizeAnimation.initializeBase(this, [target, duration, fps, = null]); // New size of the element this._width =3D width; this._height =3D height; =20 // Animations to set the size across both dimensions this._horizontalAnimation =3D new $AA.LengthAnimation(target, = duration, fps, 'style', 'width', null, null, unit); this._verticalAnimation =3D new $AA.LengthAnimation(target, = duration, fps, 'style', 'height', null, null, unit); this.add(this._horizontalAnimation); this.add(this._verticalAnimation); } $AA.ResizeAnimation.prototype =3D { =20 onStart : function() { /// /// Use the target's current size as the starting = point for the animation /// /// $AA.ResizeAnimation.callBaseMethod(this, 'onStart'); =20 // Set the start and end values of the animations by getting // the element's current width and height var element =3D this.get_target(); this._horizontalAnimation.set_startValue(element.offsetWidth); this._verticalAnimation.set_startValue(element.offsetHeight); this._horizontalAnimation.set_endValue((this._width !=3D=3D null = && this._width !=3D=3D undefined) ? this._width : element.offsetWidth); this._verticalAnimation.set_endValue((this._height !=3D=3D null = && this._height !=3D=3D undefined) ? this._height : element.offsetHeight); }, =20 get_width : function() { /// /// New width of the target /// return this._width; }, set_width : function(value) { value =3D this._getFloat(value); if (this._width !=3D value) { this._width =3D value; this.raisePropertyChanged('width'); } }, =20 get_height : function() { /// /// New height of the target /// return this._height; }, set_height : function(value) { value =3D this._getFloat(value); if (this._height !=3D value) { this._height =3D value; =20 this.raisePropertyChanged('height'); } }, =20 get_unit : function() { /// /// Length unit for the size of the target. The = default value is 'px'. /// this._horizontalAnimation.get_unit(); }, set_unit : function(value) { var unit =3D this._horizontalAnimation.get_unit(); if (unit !=3D value) { this._horizontalAnimation.set_unit(value); this._verticalAnimation.set_unit(value); this.raisePropertyChanged('unit'); } } } $AA.ResizeAnimation.registerClass('AjaxControlToolkit.Animation.ResizeAni= mation', $AA.ParallelAnimation); $AA.registerAnimation('resize', $AA.ResizeAnimation); $AA.ScaleAnimation =3D function(target, duration, fps, scaleFactor, = unit, center, scaleFont, fontUnit) { /// /// The ScaleAnimation scales the size of the = target element by the given scaleFactor /// (i.e. a scaleFactor of .5 will shrink = it in half and a scaleFactor of 2.0 /// will double it). If scaleFont is = true, the size of the font will also scale with the = element. If /// center is true, then the element's = center will not move as it is scaled. It is important to note that /// the target must be positioned (i.e. absolutely) so that setting = its top/left properties will change /// its location in order for center to have an effect. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 1. /// /// /// Number of steps per second. The default is 25. /// /// /// The amount to scale the target (a = scaleFactor of .5 will /// shrink it in half and a scaleFactor of = 2.0 will double it). The default value is /// 1, which does no scaling. /// /// /// Length unit for the size of the target. The = default value is 'px'. /// /// /// Whether the target should stay centered while = scaling /// /// /// Whether the font should be scaled along with the size /// /// /// Unit of the font, which is only used if scaleFont = is true. /// The default value is 'pt'. /// /// Scale $AA.ScaleAnimation.initializeBase(this, [target, duration, fps]); // Percentage to scale this._scaleFactor =3D (scaleFactor !=3D=3D undefined) ? scaleFactor = : 1; this._unit =3D (unit !=3D=3D undefined) ? unit : 'px'; =20 // Center the content while scaling this._center =3D center; =20 // Scale the font size as well this._scaleFont =3D scaleFont; this._fontUnit =3D (fontUnit !=3D=3D undefined) ? fontUnit : 'pt'; =20 // Initial values this._element =3D null; this._initialHeight =3D null; this._initialWidth =3D null; this._initialTop =3D null; this._initialLeft =3D null; this._initialFontSize =3D null; } $AA.ScaleAnimation.prototype =3D { =20 getAnimatedValue : function(percentage) { /// /// Get the amount to scale the target /// /// /// Percentage of the animation already complete /// /// /// Percentage to scale the target /// return this.interpolate(1.0, this._scaleFactor, percentage); }, =20 onStart : function() { /// /// Cache the initial size because it will be used to determine = how much to scale the element at each step of the animation /// /// $AA.ScaleAnimation.callBaseMethod(this, 'onStart'); =20 this._element =3D this.get_target(); if (this._element) { this._initialHeight =3D this._element.offsetHeight; this._initialWidth =3D this._element.offsetWidth; if (this._center) { this._initialTop =3D this._element.offsetTop; this._initialLeft =3D this._element.offsetLeft; } if (this._scaleFont) { // Note: we're assuming this is in the same units as = fontUnit this._initialFontSize =3D parseFloat( CommonToolkitScripts.getCurrentStyle(this._element, = 'fontSize')); } } }, =20 setValue : function(scale) { /// /// Scale the target by the given percentage /// /// /// Percentage to scale the target /// /// if (this._element) { var width =3D Math.round(this._initialWidth * scale); var height =3D Math.round(this._initialHeight * scale); this._element.style.width =3D width + this._unit;=20 this._element.style.height =3D height + this._unit; =20 if (this._center) { this._element.style.top =3D (this._initialTop + Math.round((this._initialHeight - height) / 2)) + = this._unit; this._element.style.left =3D (this._initialLeft + Math.round((this._initialWidth - width) / 2)) + = this._unit; } =20 if (this._scaleFont) { var size =3D this._initialFontSize * scale; if (this._fontUnit =3D=3D 'px' || this._fontUnit =3D=3D = 'pt') { size =3D Math.round(size); } this._element.style.fontSize =3D size + this._fontUnit; } } }, =20 onEnd : function() { /// /// Wipe the cached values after the animation completes /// /// this._element =3D null; this._initialHeight =3D null; this._initialWidth =3D null; this._initialTop =3D null; this._initialLeft =3D null; this._initialFontSize =3D null; $AA.ScaleAnimation.callBaseMethod(this, 'onEnd'); }, =20 get_scaleFactor : function() { /// /// The amount to scale the target (a = scaleFactor of .5 will /// shrink it in half and a scaleFactor of = 2.0 will double it). The default value is /// 1, which does no scaling. /// return this._scaleFactor; }, set_scaleFactor : function(value) { value =3D this._getFloat(value); if (this._scaleFactor !=3D value) { this._scaleFactor =3D value; this.raisePropertyChanged('scaleFactor'); } }, =20 get_unit : function() { /// /// Length unit for the size of the target. The = default value is 'px'. /// return this._unit; }, set_unit : function(value) { if (this._unit !=3D value) { this._unit =3D value; this.raisePropertyChanged('unit'); } }, =20 get_center : function() { /// /// Whether the target should stay centered while = scaling /// return this._center; }, set_center : function(value) { value =3D this._getBoolean(value); if (this._center !=3D value) { this._center =3D value; this.raisePropertyChanged('center'); } }, =20 get_scaleFont : function() { /// /// Whether the font should be scaled along with the size /// return this._scaleFont; }, set_scaleFont : function(value) { value =3D this._getBoolean(value); if (this._scaleFont !=3D value) { this._scaleFont =3D value; this.raisePropertyChanged('scaleFont'); } }, =20 get_fontUnit : function() { /// /// Unit of the font, which is only used if = scaleFont is true. /// The default value is 'pt'. /// return this._fontUnit; }, set_fontUnit : function(value) { if (this._fontUnit !=3D value) {=20 this._fontUnit =3D value;=20 this.raisePropertyChanged('fontUnit'); } } } $AA.ScaleAnimation.registerClass('AjaxControlToolkit.Animation.ScaleAnima= tion', $AA.Animation); $AA.registerAnimation('scale', $AA.ScaleAnimation); $AA.Action =3D function(target, duration, fps) { /// /// Action is a base class for all "non-animating" = animations that provides empty implementations /// for abstract methods and adds a doAction method = that will be called to perform the action's /// operation. While regular animations perform an operation in a = sequence of small steps spread over an interval, /// the actions perform a single operation instantaneously. By = default, all actions have a duration /// of zero. The actions are very useful for defining complex = animations. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 0. /// /// /// Number of steps per second. The default is 25. /// /// Action $AA.Action.initializeBase(this, [target, duration, fps]); // Set the duration to 0 if it wasn't specified if (duration =3D=3D=3D undefined) { this.set_duration(0); } } $AA.Action.prototype =3D { =20 onEnd : function() { /// /// Call the doAction method when the animation = completes /// /// this.doAction(); $AA.Action.callBaseMethod(this, 'onEnd'); }, =20 doAction : function() { /// /// The doAction method must be implemented by all = actions /// /// throw Error.notImplemented(); }, =20 getAnimatedValue : function() { /// /// Empty implementation of required abstract method /// }, setValue : function() { /// /// Empty implementation of required abstract method /// } } $AA.Action.registerClass('AjaxControlToolkit.Animation.Action', = $AA.Animation); $AA.registerAnimation('action', $AA.Action); $AA.EnableAction =3D function(target, duration, fps, enabled) { /// /// The EnableAction changes whether or not the = target is disabled. /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 0. /// /// /// Number of steps per second. The default is 25. /// /// /// Whether or not the target is disabled. The default = value is true. /// /// EnableAction $AA.EnableAction.initializeBase(this, [target, duration, fps]); // Whether to enable or disable this._enabled =3D (enabled !=3D=3D undefined) ? enabled : true; } $AA.EnableAction.prototype =3D { doAction : function() { /// /// Set the enabled property of the target /// /// =09 var element =3D this.get_target(); if (element) { element.disabled =3D !this._enabled; } }, =20 get_enabled : function() { /// /// Whether or not the target is disabled. The = default value is true. /// return this._enabled; }, set_enabled : function(value) { value =3D this._getBoolean(value); if (this._enabled !=3D value) { this._enabled =3D value; this.raisePropertyChanged('enabled'); } } } $AA.EnableAction.registerClass('AjaxControlToolkit.Animation.EnableAction= ', $AA.Action); $AA.registerAnimation('enableAction', $AA.EnableAction); $AA.HideAction =3D function(target, duration, fps) { /// /// The HideAction simply hides the target = from view /// (by setting its style's display attribute to = 'none') /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 0. /// /// /// Number of steps per second. The default is 25. /// /// HideAction $AA.HideAction.initializeBase(this, [target, duration, fps]); } $AA.HideAction.prototype =3D { doAction : function() { /// /// Hide the target /// /// var element =3D this.get_target(); if (element) { element.style.display =3D 'none'; } } } $AA.HideAction.registerClass('AjaxControlToolkit.Animation.HideAction', = $AA.Action); $AA.registerAnimation('hideAction', $AA.HideAction); $AA.StyleAction =3D function(target, duration, fps, attribute, value) { /// /// The StyleAction is used to set a particular = attribute of the target's style /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 0. /// /// /// Number of steps per second. The default is 25. /// /// /// Style attribute to set (this must be in a JavaScript friendly = format, i.e. backgroundColor /// instead of background-color) /// /// /// Value to set the attribute /// /// StyleAction $AA.StyleAction.initializeBase(this, [target, duration, fps]); // Style attribute (like "backgroundColor" or "borderWidth" this._attribute =3D attribute; =20 // Value to assign to the style attribute this._value =3D value; =20 } $AA.StyleAction.prototype =3D { doAction : function() { /// /// Assign the value to the style's = attribute /// /// var element =3D this.get_target(); if (element) { element.style[this._attribute] =3D this._value; } }, =20 get_attribute : function() { /// /// Style attribute to set (this must be in a JavaScript = friendly format, i.e. backgroundColor /// instead of background-color) /// return this._attribute; }, set_attribute : function(value) { if (this._attribute !=3D value) { this._attribute =3D value; this.raisePropertyChanged('attribute'); } }, =20 get_value : function() { /// /// Value to set the attribute /// return this._value; }, set_value : function(value) { if (this._value !=3D value) { this._value =3D value; this.raisePropertyChanged('value'); } } } $AA.StyleAction.registerClass('AjaxControlToolkit.Animation.StyleAction',= $AA.Action); $AA.registerAnimation('styleAction', $AA.StyleAction); $AA.OpacityAction =3D function(target, duration, fps, opacity) { /// /// OpacityAction allows you to set the = opacity of the target /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 0. /// /// /// Number of steps per second. The default is 25. /// /// /// Opacity to set the target /// /// OpacityAction $AA.OpacityAction.initializeBase(this, [target, duration, fps]); =20 // Opacity this._opacity =3D opacity; } $AA.OpacityAction.prototype =3D { doAction : function() { /// /// Set the opacity /// /// var element =3D this.get_target(); if (element) { CommonToolkitScripts.setElementOpacity(element, = this._opacity); } }, =20 get_opacity : function() { /// /// Opacity to set the target /// return this._opacity; }, set_opacity : function(value) { value =3D this._getFloat(value); if (this._opacity !=3D value) { this._opacity =3D value; this.raisePropertyChanged('opacity'); } } } $AA.OpacityAction.registerClass('AjaxControlToolkit.Animation.OpacityActi= on', $AA.Action); $AA.registerAnimation('opacityAction', $AA.OpacityAction); $AA.ScriptAction =3D function(target, duration, fps, script) { /// /// The ScriptAction is used to execute arbitrary = JavaScript /// /// /// Target of the animation /// /// /// Length of the animation in seconds. The default is 0. /// /// /// Number of steps per second. The default is 25. /// /// /// JavaScript to execute /// /// ScriptAction $AA.ScriptAction.initializeBase(this, [target, duration, fps]); // Script to execute this._script =3D script; } $AA.ScriptAction.prototype =3D { doAction : function() { /// /// Execute the script /// /// try { eval(this._script); } catch (ex) { } }, =20 get_script : function() { /// /// JavaScript to execute /// return this._script; }, set_script : function(value) { if (this._script !=3D value) { this._script =3D value; this.raisePropertyChanged('script'); } } } $AA.ScriptAction.registerClass('AjaxControlToolkit.Animation.ScriptAction= ', $AA.Action); $AA.registerAnimation('scriptAction', $AA.ScriptAction); if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxpQa15PkZujdHOSo9OjvFBs-1J1qQJtmbnpb5BlSTNE1Q2&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. Type.registerNamespace('AjaxControlToolkit.Threading'); AjaxControlToolkit.DeferredOperation =3D function(delay, context, = callback) { /// /// Used to define a cancellable async operation /// /// the = number of milliseconds to delay execution /// an = object used as the context for the callback method /// The callback method = to execute at the end of the delay =20 this._delay =3D delay; this._context =3D context; this._callback =3D callback; this._completeCallback =3D null; this._errorCallback =3D null; this._timer =3D null; this._callArgs =3D null; this._isComplete =3D false; this._completedSynchronously =3D false; this._asyncResult =3D null; this._exception =3D null; this._throwExceptions =3D true; this._oncomplete$delegate =3D Function.createDelegate(this, = this._oncomplete); =20 // post to ensure that attaching it always gets the port as its = context this.post =3D Function.createDelegate(this, this.post); } AjaxControlToolkit.DeferredOperation.prototype =3D { =20 get_isPending : function() {=20 /// /// Gets whether there is an asynchronous operation pending /// /// =20 return (this._timer !=3D null);=20 }, =20 get_isComplete : function() {=20 /// /// Gets whether the asynchronous operation has completed /// /// =20 return this._isComplete;=20 }, =20 get_completedSynchronously : function() { /// /// Gets whether the operation completed synchronously /// /// =20 return this._completedSynchronously; }, =20 get_exception : function() { /// /// Gets the current exception if there is one /// /// =20 return this._exception; }, =20 get_throwExceptions : function() { /// /// Gets whether to throw exceptions /// /// =20 return this._throwExceptions; }, =20 set_throwExceptions : function(value) { /// /// Sets whether to throw exceptions /// /// True if exceptions = should be thrown, otherwise false =20 this._throwExceptions =3D value; }, =20 get_delay : function() {=20 /// /// Gets the current delay in milliseconds /// /// =20 return this._delay;=20 }, set_delay : function(value) {=20 /// /// Sets the current delay in milliseconds /// /// The = delay in milliseconds =20 this._delay =3D value;=20 }, =20 post : function(args) { /// /// A method that can be directly attached to a delegate /// /// The arguments to the method =20 var ar =3D []; for (var i =3D 0; i < arguments.length; i++) { ar[i] =3D arguments[i]; } this.beginPost(ar, null, null); }, =20 beginPost : function(args, completeCallback, errorCallback) { /// /// Posts a call to an async operation on this port /// /// An array of arguments to = the method /// The callback to execute after the = delayed function completes /// The callback to execute in the = event of an exception in the delayed function =20 // cancel any pending post this.cancel(); =20 // cache the call arguments this._callArgs =3D Array.clone(args || []); this._completeCallback =3D completeCallback; this._errorCallback =3D errorCallback; =20 if (this._delay =3D=3D -1) { =20 // if there is no delay (-1), complete synchronously this._oncomplete(); this._completedSynchronously =3D true; } else { =20 // complete the post on a seperate call after a delay this._timer =3D setTimeout(this._oncomplete$delegate, = this._delay); } },=20 =20 cancel : function() { /// /// Cancels a pending post /// =20 if (this._timer) { clearTimeout(this._timer); this._timer =3D null; } this._callArgs =3D null; this._isComplete =3D false; this._asyncResult =3D null; this._completeCallback =3D null; this._errorCallback =3D null; this._exception =3D null; this._completedSynchronously =3D false; }, =20 complete : function() { /// /// Completes a pending post synchronously /// =20 =20 if (this._timer) { try { this._oncomplete(); } finally { this._completedSynchronously =3D true; } return this._asyncResult; } else if (this._isComplete) { return this._asyncResult; } }, =20 =20 _oncomplete : function() { /// /// Completes a pending post asynchronously /// var args =3D this._callArgs; var completeCallback =3D this._completeCallback; var errorCallback =3D this._errorCallback; =20 // clear the post state this.cancel(); try { // call the post callback if (args) { this._asyncResult =3D = this._callback.apply(this._context, args); } else { this._asyncResult =3D = this._callback.call(this._context); } this._isComplete =3D true; this._completedSynchronously =3D false; if (completeCallback) { completeCallback(this); } } catch (e) { this._isComplete =3D true; this._completedSynchronously =3D false; this._exception =3D e; if (errorCallback) { if (errorCallback(this)) { return; } }=20 if (this._throwExceptions) { throw e; } } } } AjaxControlToolkit.DeferredOperation.registerClass("AjaxControlToolkit.De= ferredOperation"); if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.informazione.it/ScriptResource.axd?d=rczEuAETWRcxq4PUuOdWjPvQtQ_49r2pOtkuHcd5jxrECdNTkrsZp3TQcgvP14gChRWgXZSD-SbYEfjsdBSUp0gKcdCDtsBiajlKZpghSYk1&t=633986403135993750 =EF=BB=BF// (c) Copyright Microsoft Corporation. // This source is subject to the Microsoft Permissive License. // See = http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsou= rcelicenses.mspx. // All other rights reserved. Type.registerNamespace("AjaxControlToolkit"); AjaxControlToolkit.CalendarBehavior =3D function(element) { /// /// A behavior that attaches a calendar date selector to a textbox /// /// The element = to attach to =20 AjaxControlToolkit.CalendarBehavior.initializeBase(this, [element]); this._format =3D "d"; this._cssClass =3D "ajax__calendar"; this._enabled =3D true; this._animated =3D true; this._buttonID =3D null; this._layoutRequested =3D 0; this._layoutSuspended =3D false; this._selectedDate =3D null; this._visibleDate =3D null; this._todaysDate =3D null; this._firstDayOfWeek =3D AjaxControlToolkit.FirstDayOfWeek.Default; this._popupDiv =3D null; this._prevArrow =3D null; this._prevArrowImage =3D null; this._nextArrow =3D null; this._nextArrowImage =3D null; this._title =3D null; this._today =3D null; this._daysRow =3D null; this._monthsRow =3D null; this._yearsRow =3D null; this._daysBody =3D null; this._monthsBody =3D null; this._yearsBody =3D null; this._button =3D null; =20 this._popupBehavior =3D null; this._modeChangeAnimation =3D null; this._modeChangeMoveTopOrLeftAnimation =3D null; this._modeChangeMoveBottomOrRightAnimation =3D null; this._mode =3D "days"; this._selectedDateChanging =3D false; this._isOpen =3D false; this._isAnimating =3D false; this._width =3D 170; this._height =3D 139; this._modes =3D {"days" : null, "months" : null, "years" : null}; this._modeOrder =3D {"days" : 0, "months" : 1, "years" : 2 }; =20 // Safari needs a longer delay in order to work properly this._blur =3D new = AjaxControlToolkit.DeferredOperation(((Sys.Browser.agent =3D=3D=3D = Sys.Browser.Safari) ? 1000 : 1), this, this._onblur); this._focus =3D new = AjaxControlToolkit.DeferredOperation(((Sys.Browser.agent =3D=3D=3D = Sys.Browser.Safari) ? 1000 : 1), this, this._onfocus); =20 this._button$delegates =3D { click : Function.createDelegate(this, this._button_onclick) } this._element$delegates =3D { focus : Function.createDelegate(this, this._element_onfocus), focusout : Function.createDelegate(this, this._element_onblur), blur : Function.createDelegate(this, this._element_onblur), change : Function.createDelegate(this, this._element_onchange) } this._popup$delegates =3D {=20 activate : Function.createDelegate(this, this._popup_onfocus), focus : Function.createDelegate(this, this._popup_onfocus), dragstart: Function.createDelegate(this, = this._popup_ondragstart), select: Function.createDelegate(this, this._popup_onselect), focusout : Function.createDelegate(this, this._popup_onblur), blur : Function.createDelegate(this, this._popup_onblur) } this._cell$delegates =3D { mouseover : Function.createDelegate(this, = this._cell_onmouseover), mouseout : Function.createDelegate(this, this._cell_onmouseout), click : Function.createDelegate(this, this._cell_onclick) } =20 this._bodyClickHandler; } AjaxControlToolkit.CalendarBehavior.prototype =3D { =20 get_animated : function() { /// /// Whether changing modes is animated /// /// =20 return this._animated; }, set_animated : function(value) { if (this._animated !=3D value) { this._animated =3D value; this.raisePropertyChanged("animated"); } }, get_enabled : function() { /// /// Whether this behavior is available for the current element /// =20 return this._enabled; }, set_enabled : function(value) { if (this._enabled !=3D value) { this._enabled =3D value; this.raisePropertyChanged("enabled"); } }, =20 get_button : function() { /// /// The button to use to show the calendar (optional) /// =20 return this._button; }, set_button : function(value) { if (this._button !=3D value) { if (this._button && this.get_isInitialized()) { $common.removeHandlers(this._button, = this._button$delegates); } this._button =3D value; if (this._button && this.get_isInitialized()) { $addHandlers(this._button, this._button$delegates); } this.raisePropertyChanged("button"); } }, get_format : function() {=20 /// /// The format to use for the date value /// return this._format;=20 }, set_format : function(value) {=20 if (this._format !=3D value) { this._format =3D value;=20 this.raisePropertyChanged("format"); } }, =20 get_selectedDate : function() { /// /// The date value represented by the text box /// if (this._selectedDate =3D=3D null) { var elt =3D this.get_element(); if (elt.value) { this._selectedDate =3D this._parseTextValue(elt.value); } } return this._selectedDate; }, set_selectedDate : function(value) { var elt =3D this.get_element(); if (this._selectedDate !=3D value) { this._selectedDate =3D value; =20 this._selectedDateChanging =3D true; =20 var text =3D ""; if (value) { text =3D value.localeFormat(this._format); }=20 if (text !=3D elt.value) { elt.value =3D text; this._fireChanged(); } this._selectedDateChanging =3D false; this.invalidate(); this.raisePropertyChanged("selectedDate"); } }, get_visibleDate : function() { /// /// The date currently visible in the calendar /// /// return this._visibleDate; }, set_visibleDate : function(value) { if (value) value =3D value.getDateOnly(); if (this._visibleDate !=3D value) { this._switchMonth(value, !this._isOpen); this.raisePropertyChanged("visibleDate"); } }, get_todaysDate : function() { /// /// The date to use for "Today" /// =20 if (this._todaysDate !=3D null) { return this._todaysDate; } return new Date().getDateOnly(); }, set_todaysDate : function(value) { if (value) value =3D value.getDateOnly(); if (this._todaysDate !=3D value) { this._todaysDate =3D value; this.invalidate(); this.raisePropertyChanged("todaysDate"); } }, =20 get_firstDayOfWeek : function() { /// /// The day of the week to appear as the first day in the = calendar /// =20 return this._firstDayOfWeek; }, set_firstDayOfWeek : function(value) { if (this._firstDayOfWeek !=3D value) { this._firstDayOfWeek =3D value; this.invalidate(); this.raisePropertyChanged("firstDayOfWeek"); } }, =20 get_cssClass : function() { /// /// The CSS class selector to use to change the calendar's = appearance /// return this._cssClass; }, set_cssClass : function(value) { if (this._cssClass !=3D value) { if (this._cssClass && this.get_isInitialized()) { Sys.UI.DomElement.removeCssClass(this._container, = this._cssClass); } this._cssClass =3D value; if (this._cssClass && this.get_isInitialized()) { Sys.UI.DomElement.addCssClass(this._container, = this._cssClass); } this.raisePropertyChanged("cssClass"); } }, =20 add_showing : function(handler) { /// /// Adds an event handler for the showiwng event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("showing", handler); }, remove_showing : function(handler) { /// /// Removes an event handler for the showing event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("showing", handler); }, raiseShowing : function() { /// /// Raise the showing event /// /// var handlers =3D this.get_events().getHandler("showing"); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, =20 add_shown : function(handler) { /// /// Adds an event handler for the shown event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("shown", handler); }, remove_shown : function(handler) { /// /// Removes an event handler for the shown event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("shown", handler); }, raiseShown : function() { /// /// Raise the shown event /// /// var handlers =3D this.get_events().getHandler("shown"); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, =20 add_hiding : function(handler) { /// /// Adds an event handler for the hiding event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("hiding", handler); }, remove_hiding : function(handler) { /// /// Removes an event handler for the hiding event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("hiding", handler); }, raiseHiding : function() { /// /// Raise the hiding event /// /// var handlers =3D this.get_events().getHandler("hiding"); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, =20 add_hidden : function(handler) { /// /// Adds an event handler for the hidden event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("hidden", handler); }, remove_hidden : function(handler) { /// /// Removes an event handler for the hidden event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("hidden", handler); }, raiseHidden : function() { /// /// Raise the hidden event /// /// var handlers =3D this.get_events().getHandler("hidden"); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, =20 add_dateSelectionChanged : function(handler) { /// /// Adds an event handler for the = dateSelectionChanged event. /// /// /// The handler to add to the event. /// /// this.get_events().addHandler("dateSelectionChanged", handler); }, remove_dateSelectionChanged : function(handler) { /// /// Removes an event handler for the = dateSelectionChanged event. /// /// /// The handler to remove from the event. /// /// this.get_events().removeHandler("dateSelectionChanged", = handler); }, raiseDateSelectionChanged : function() { /// /// Raise the dateSelectionChanged event /// /// var handlers =3D = this.get_events().getHandler("dateSelectionChanged"); if (handlers) { handlers(this, Sys.EventArgs.Empty); } }, initialize : function() { /// /// Initializes the components and parameters for this behavior /// =20 AjaxControlToolkit.CalendarBehavior.callBaseMethod(this, = "initialize"); =20 var elt =3D this.get_element(); $addHandlers(elt, this._element$delegates); =20 if (this._button)=20 $addHandlers(this._button, this._button$delegates); =20 this._modeChangeMoveTopOrLeftAnimation =3D new = AjaxControlToolkit.Animation.LengthAnimation(null, null, null, "style", = null, 0, 0, "px"); this._modeChangeMoveBottomOrRightAnimation =3D new = AjaxControlToolkit.Animation.LengthAnimation(null, null, null, "style", = null, 0, 0, "px"); this._modeChangeAnimation =3D new = AjaxControlToolkit.Animation.ParallelAnimation(null, .25, null, [ = this._modeChangeMoveTopOrLeftAnimation, = this._modeChangeMoveBottomOrRightAnimation ]); var value =3D this.get_selectedDate(); if (value) { this.set_selectedDate(value); } =20 this._bodyClickHandler =3D Function.createDelegate(this, = this._onBodyClick); $addHandler(document.body, 'click', this._bodyClickHandler);=20 }, dispose : function() { /// /// Disposes this behavior's resources /// =20 if (this._popupBehavior) { this._popupBehavior.dispose(); this._popupBehavior =3D null; } this._modes =3D null; this._modeOrder =3D null; if (this._modeChangeMoveTopOrLeftAnimation) { this._modeChangeMoveTopOrLeftAnimation.dispose(); this._modeChangeMoveTopOrLeftAnimation =3D null; } if (this._modeChangeMoveBottomOrRightAnimation) { this._modeChangeMoveBottomOrRightAnimation.dispose(); this._modeChangeMoveBottomOrRightAnimation =3D null; } if (this._modeChangeAnimation) { this._modeChangeAnimation.dispose(); this._modeChangeAnimation =3D null; } if (this._container) { this._container.parentNode.removeChild(this._container); this._container =3D null; } // if (this._popupDiv) { // $common.removeHandlers(this._popupDiv, = this._popup$delegates); // this._popupDiv =3D null; // } =20 if (this._prevArrow) { $common.removeHandlers(this._prevArrow, = this._cell$delegates); this._prevArrow =3D null; } if (this._prevArrowImage) { $common.removeHandlers(this._prevArrowImage, = this._cell$delegates); this._prevArrowImage =3D null; } if (this._nextArrow) { $common.removeHandlers(this._nextArrow, = this._cell$delegates); this._nextArrow =3D null; } if (this._nextArrowImage) { =20 $common.removeHandlers(this._nextArrowImage, = this._cell$delegates); this._nextArrowImage =3D null; } if (this._title) { $common.removeHandlers(this._title, this._cell$delegates); this._title =3D null; } if (this._today) { $common.removeHandlers(this._today, this._cell$delegates); this._today =3D null; } if (this._daysRow) { for (var i =3D 0; i < this._daysBody.rows.length; i++) { var row =3D this._daysBody.rows[i]; for (var j =3D 0; j < row.cells.length; j++) { $common.removeHandlers(row.cells[j].firstChild, = this._cell$delegates); } } this._daysRow =3D null; } if (this._monthsRow) { for (var i =3D 0; i < this._monthsBody.rows.length; i++) { var row =3D this._monthsBody.rows[i]; for (var j =3D 0; j < row.cells.length; j++) { $common.removeHandlers(row.cells[j].firstChild, = this._cell$delegates); } } this._monthsRow =3D null; } if (this._yearsRow) { for (var i =3D 0; i < this._yearsBody.rows.length; i++) { var row =3D this._yearsBody.rows[i]; for (var j =3D 0; j < row.cells.length; j++) { $common.removeHandlers(row.cells[j].firstChild, = this._cell$delegates); } } this._yearsRow =3D null; } if (this._button) { $common.removeHandlers(this._button, = this._button$delegates); this._button =3D null; } var elt =3D this.get_element(); $common.removeHandlers(elt, this._element$delegates); AjaxControlToolkit.CalendarBehavior.callBaseMethod(this, = "dispose"); =20 if (this._bodyClickHandler) { $removeHandler(document.body, 'click', = this._bodyClickHandler); this._bodyClickHandler =3D null; } }, =20 show : function() { /// /// Shows the calendar /// =20 this._ensureCalendar(); =20 if (!this._isOpen) { this.raiseShowing(); this._isOpen =3D true; this._switchMonth(null, true); this._popupBehavior.show(); this.raiseShown(); }=20 }, hide : function() { /// /// Hides the calendar /// this.raiseHiding(); if (this._container) { =20 this._popupBehavior.hide(); =20 this._switchMode("days", true); =20 } this._isOpen =3D false; =20 this.raiseHidden(); }, =20 suspendLayout : function() { /// /// Suspends layout of the behavior while setting properties /// this._layoutSuspended++; }, resumeLayout : function() { /// /// Resumes layout of the behavior and performs any pending = layout requests /// this._layoutSuspended--; if (this._layoutSuspended <=3D 0) { this._layoutSuspended =3D 0; if (this._layoutRequested) { this._performLayout(); } } }, invalidate : function() { /// /// Performs layout of the behavior unless layout is suspended /// =20 if (this._layoutSuspended > 0) { this._layoutRequested =3D true; } else { this._performLayout(); } }, =20 _buildCalendar : function() { /// /// Builds the calendar's layout /// =20 var elt =3D this.get_element(); =20 this._container =3D $common.createElementFromTemplate({ nodeName : "div", cssClasses : [this._cssClass] }, elt.parentNode); this._popupDiv =3D $common.createElementFromTemplate({=20 nodeName : "div", /* events : this._popup$delegates, */ properties : { tabIndex : 0 }, cssClasses : ["ajax__calendar_container"],=20 visible : false=20 }, this._container); }, _buildHeader : function() { /// /// Builds the header for the calendar /// =20 this._header =3D $common.createElementFromTemplate({=20 nodeName : "div", cssClasses : [ "ajax__calendar_header" ] }, this._popupDiv); =20 var prevArrowWrapper =3D $common.createElementFromTemplate({ = nodeName : "div" }, this._header); this._prevArrow =3D $common.createElementFromTemplate({=20 nodeName : "div", properties : { mode : "prev" },=20 events : this._cell$delegates, cssClasses : [ "ajax__calendar_prev" ]=20 }, prevArrowWrapper); =20 var nextArrowWrapper =3D $common.createElementFromTemplate({ = nodeName : "div" }, this._header); this._nextArrow =3D $common.createElementFromTemplate({=20 nodeName : "div", properties : { mode : "next" }, events : this._cell$delegates,=20 cssClasses : [ "ajax__calendar_next" ]=20 }, nextArrowWrapper); =20 =20 var titleWrapper =3D $common.createElementFromTemplate({ = nodeName : "div" }, this._header); =20 this._title =3D $common.createElementFromTemplate({=20 nodeName : "div", properties : { mode : "title" }, events : this._cell$delegates,=20 cssClasses : [ "ajax__calendar_title" ]=20 }, titleWrapper); }, _buildBody : function() { /// /// Builds the body region for the calendar /// =20 this._body =3D $common.createElementFromTemplate({=20 nodeName : "div", cssClasses : [ "ajax__calendar_body" ] }, this._popupDiv); this._buildDays(); this._buildMonths(); this._buildYears(); }, _buildFooter : function() { /// /// Builds the footer for the calendar /// =20 var todayWrapper =3D $common.createElementFromTemplate({ = nodeName : "div" }, this._popupDiv); this._today =3D $common.createElementFromTemplate({ nodeName : "div", properties : { mode : "today" }, events : this._cell$delegates, cssClasses : [ "ajax__calendar_footer", = "ajax__calendar_today" ] }, todayWrapper); }, _buildDays : function() { /// /// Builds a "days of the month" view for the calendar /// =20 var dtf =3D Sys.CultureInfo.CurrentCulture.dateTimeFormat; this._days =3D $common.createElementFromTemplate({=20 nodeName : "div", cssClasses : [ "ajax__calendar_days" ] }, this._body); this._modes["days"] =3D this._days; =20 this._daysTable =3D $common.createElementFromTemplate({=20 nodeName : "table", properties : { cellPadding : 0, cellSpacing : 0, border : 0, style : { margin : "auto" } }=20 }, this._days); =20 this._daysTableHeader =3D $common.createElementFromTemplate({ = nodeName : "thead" }, this._daysTable); this._daysTableHeaderRow =3D $common.createElementFromTemplate({ = nodeName : "tr" }, this._daysTableHeader); this._daysBody =3D $common.createElementFromTemplate({ nodeName: = "tbody" }, this._daysTable); =20 for (var i =3D 0; i < 7; i++) { var dayCell =3D $common.createElementFromTemplate({ nodeName = : "td" }, this._daysTableHeaderRow); var dayDiv =3D $common.createElementFromTemplate({ nodeName : "div", cssClasses : [ "ajax__calendar_dayname" ] }, dayCell); } for (var i =3D 0; i < 6; i++) { var daysRow =3D $common.createElementFromTemplate({ nodeName = : "tr" }, this._daysBody); for(var j =3D 0; j < 7; j++) { var dayCell =3D $common.createElementFromTemplate({ = nodeName : "td" }, daysRow); var dayDiv =3D $common.createElementFromTemplate({ nodeName : "div", properties : { mode : "day", innerHTML : " " }, events : this._cell$delegates, cssClasses : [ "ajax__calendar_day" ] }, dayCell); } } }, _buildMonths : function() { /// /// Builds a "months of the year" view for the calendar /// =20 var dtf =3D Sys.CultureInfo.CurrentCulture.dateTimeFormat; = =20 this._months =3D $common.createElementFromTemplate({ nodeName : "div", cssClasses : [ "ajax__calendar_months" ], visible : false }, this._body); this._modes["months"] =3D this._months; =20 this._monthsTable =3D $common.createElementFromTemplate({ nodeName : "table", properties : { cellPadding : 0, cellSpacing : 0, border : 0, style : { margin : "auto" } } }, this._months); this._monthsBody =3D $common.createElementFromTemplate({ = nodeName : "tbody" }, this._monthsTable); for (var i =3D 0; i < 3; i++) { var monthsRow =3D $common.createElementFromTemplate({ = nodeName : "tr" }, this._monthsBody); for (var j =3D 0; j < 4; j++) { var monthCell =3D $common.createElementFromTemplate({ = nodeName : "td" }, monthsRow); var monthDiv =3D $common.createElementFromTemplate({ nodeName : "div", properties : { mode : "month", month : (i * 4) + j, innerHTML : "
    " + = dtf.AbbreviatedMonthNames[(i * 4) + j] }, events : this._cell$delegates, cssClasses : [ "ajax__calendar_month" ] }, monthCell); } } }, _buildYears : function() { /// /// Builds a "years in this decade" view for the calendar /// =20 this._years =3D $common.createElementFromTemplate({ nodeName : "div", cssClasses : [ "ajax__calendar_years" ], visible : false }, this._body); this._modes["years"] =3D this._years; =20 this._yearsTable =3D $common.createElementFromTemplate({ nodeName : "table", properties : { cellPadding : 0, cellSpacing : 0, border : 0, style : { margin : "auto" } } }, this._years); this._yearsBody =3D $common.createElementFromTemplate({ nodeName = : "tbody" }, this._yearsTable); =20 for (var i =3D 0; i < 3; i++) { var yearsRow =3D $common.createElementFromTemplate({ = nodeName : "tr" }, this._yearsBody); for (var j =3D 0; j < 4; j++) { var yearCell =3D $common.createElementFromTemplate({ = nodeName : "td" }, yearsRow); var yearDiv =3D $common.createElementFromTemplate({=20 nodeName : "div",=20 properties : {=20 mode : "year", year : ((i * 4) + j) - 1 }, events : this._cell$delegates, cssClasses : [ "ajax__calendar_year" ] }, yearCell); } } }, =20 _performLayout : function() { /// /// Updates the various views of the calendar to match the = current selected and visible dates ///
    =20 var elt =3D this.get_element(); if (!elt) return; if (!this.get_isInitialized()) return; if (!this._isOpen) return; var dtf =3D Sys.CultureInfo.CurrentCulture.dateTimeFormat; = =20 var selectedDate =3D this.get_selectedDate(); var visibleDate =3D this._getEffectiveVisibleDate(); var todaysDate =3D this.get_todaysDate();=20 =20 switch (this._mode) { case "days": =20 var firstDayOfWeek =3D this._getFirstDayOfWeek(); var daysToBacktrack =3D visibleDate.getDay() - = firstDayOfWeek; if (daysToBacktrack <=3D 0) daysToBacktrack +=3D 7; =20 var startDate =3D new Date(visibleDate.getFullYear(), = visibleDate.getMonth(), visibleDate.getDate() - daysToBacktrack); var currentDate =3D startDate; for (var i =3D 0; i < 7; i++) { var dayCell =3D = this._daysTableHeaderRow.cells[i].firstChild; if (dayCell.firstChild) { dayCell.removeChild(dayCell.firstChild); } = dayCell.appendChild(document.createTextNode(dtf.ShortestDayNames[(i + = firstDayOfWeek) % 7])); } for (var week =3D 0; week < 6; week ++) { var weekRow =3D this._daysBody.rows[week]; for (var dayOfWeek =3D 0; dayOfWeek < 7; = dayOfWeek++) { var dayCell =3D = weekRow.cells[dayOfWeek].firstChild; if (dayCell.firstChild) { dayCell.removeChild(dayCell.firstChild); } = dayCell.appendChild(document.createTextNode(currentDate.getDate())); dayCell.title =3D currentDate.localeFormat("D"); dayCell.date =3D currentDate; $common.removeCssClasses(dayCell.parentNode, [ = "ajax__calendar_other", "ajax__calendar_active" ]); = Sys.UI.DomElement.addCssClass(dayCell.parentNode, = this._getCssClass(dayCell.date, 'd')); currentDate =3D new = Date(currentDate.getFullYear(), currentDate.getMonth(), = currentDate.getDate() + 1); } } =20 this._prevArrow.date =3D new = Date(visibleDate.getFullYear(), visibleDate.getMonth() - 1, 1); this._nextArrow.date =3D new = Date(visibleDate.getFullYear(), visibleDate.getMonth() + 1, 1); if (this._title.firstChild) { this._title.removeChild(this._title.firstChild); } = this._title.appendChild(document.createTextNode(visibleDate.localeFormat(= "MMMM, yyyy"))); this._title.date =3D visibleDate; break; case "months": for (var i =3D 0; i < this._monthsBody.rows.length; i++) = { var row =3D this._monthsBody.rows[i]; for (var j =3D 0; j < row.cells.length; j++) { var cell =3D row.cells[j].firstChild; cell.date =3D new = Date(visibleDate.getFullYear(), cell.month, 1); $common.removeCssClasses(cell.parentNode, [ = "ajax__calendar_other", "ajax__calendar_active" ]); Sys.UI.DomElement.addCssClass(cell.parentNode, = this._getCssClass(cell.date, 'M')); } } =20 if (this._title.firstChild) { this._title.removeChild(this._title.firstChild); } = this._title.appendChild(document.createTextNode(visibleDate.localeFormat(= "yyyy"))); this._title.date =3D visibleDate; this._prevArrow.date =3D new = Date(visibleDate.getFullYear() - 1, 0, 1); this._nextArrow.date =3D new = Date(visibleDate.getFullYear() + 1, 0, 1); break; case "years": var minYear =3D (Math.floor(visibleDate.getFullYear() / = 10) * 10); for (var i =3D 0; i < this._yearsBody.rows.length; i++) = { var row =3D this._yearsBody.rows[i]; for (var j =3D 0; j < row.cells.length; j++) { var cell =3D row.cells[j].firstChild; cell.date =3D new Date(minYear + cell.year, 0, = 1); if (cell.firstChild) { cell.removeChild(cell.lastChild); } else { = cell.appendChild(document.createElement("br")); } cell.appendChild(document.createTextNode(minYear = + cell.year)); $common.removeCssClasses(cell.parentNode, [ = "ajax__calendar_other", "ajax__calendar_active" ]); Sys.UI.DomElement.addCssClass(cell.parentNode, = this._getCssClass(cell.date, 'y')); } } if (this._title.firstChild) { this._title.removeChild(this._title.firstChild); } = this._title.appendChild(document.createTextNode(minYear.toString() + "-" = + (minYear + 9).toString())); this._title.date =3D visibleDate; this._prevArrow.date =3D new Date(minYear - 10, 0, 1); this._nextArrow.date =3D new Date(minYear + 10, 0, 1); break; } if (this._today.firstChild) { this._today.removeChild(this._today.firstChild); } = this._today.appendChild(document.createTextNode(String.format('Oggi: = {0}'/*AjaxControlToolkit.Resources.Calendar_Today*/, = todaysDate.localeFormat("MMMM d, yyyy")))); this._today.date =3D todaysDate; =20 }, =20 _ensureCalendar : function() { =20 if (!this._container) { =20 var elt =3D this.get_element(); =20 this._buildCalendar(); this._buildHeader(); this._buildBody(); this._buildFooter(); =20 this._popupBehavior =3D new = $create(AjaxControlToolkit.PopupBehavior, { parentElement : elt, = positioningMode : AjaxControlToolkit.PositioningMode.BottomLeft }, {}, = {}, this._popupDiv); =20 } =20 }, =20 _fireChanged : function() { /// /// Attempts to fire the change event on the attached textbox /// =20 var elt =3D this.get_element(); if (document.createEventObject) { elt.fireEvent("onchange"); } else if (document.createEvent) { var e =3D document.createEvent("HTMLEvents"); e.initEvent("change", true, true); elt.dispatchEvent(e); } }, _switchMonth : function(date, dontAnimate) { /// /// Switches the visible month in the days view /// /// The visible date to = switch to /// Prevents = animation from occuring if the control is animated =20 // Check _isAnimating to make sure we don't animate horizontally = and vertically at the same time if (this._isAnimating) { return; } =20 var visibleDate =3D this._getEffectiveVisibleDate(); if ((date && date.getFullYear() =3D=3D visibleDate.getFullYear() = && date.getMonth() =3D=3D visibleDate.getMonth())) { dontAnimate =3D true; } =20 if (this._animated && !dontAnimate) { this._isAnimating =3D true; =20 var newElement =3D this._modes[this._mode]; var oldElement =3D newElement.cloneNode(true); this._body.appendChild(oldElement); if (visibleDate > date) { // animating down // the newIndex element is the top // the oldIndex element is the bottom (visible) =20 // move in, fade in $common.setLocation(newElement, {x:-162,y:0}); Sys.UI.DomElement.setVisible(newElement, true); = this._modeChangeMoveTopOrLeftAnimation.set_propertyKey("left"); = this._modeChangeMoveTopOrLeftAnimation.set_target(newElement); = this._modeChangeMoveTopOrLeftAnimation.set_startValue(-this._width); this._modeChangeMoveTopOrLeftAnimation.set_endValue(0); =20 // move out, fade out $common.setLocation(oldElement, {x:0,y:0}); Sys.UI.DomElement.setVisible(oldElement, true); = this._modeChangeMoveBottomOrRightAnimation.set_propertyKey("left"); = this._modeChangeMoveBottomOrRightAnimation.set_target(oldElement); = this._modeChangeMoveBottomOrRightAnimation.set_startValue(0); = this._modeChangeMoveBottomOrRightAnimation.set_endValue(this._width); } else { // animating up // the oldIndex element is the top (visible) // the newIndex element is the bottom =20 // move out, fade out $common.setLocation(oldElement, {x:0,y:0}); Sys.UI.DomElement.setVisible(oldElement, true); = this._modeChangeMoveTopOrLeftAnimation.set_propertyKey("left"); = this._modeChangeMoveTopOrLeftAnimation.set_target(oldElement); = this._modeChangeMoveTopOrLeftAnimation.set_endValue(-this._width); = this._modeChangeMoveTopOrLeftAnimation.set_startValue(0); // move in, fade in $common.setLocation(newElement, {x:162,y:0}); Sys.UI.DomElement.setVisible(newElement, true); = this._modeChangeMoveBottomOrRightAnimation.set_propertyKey("left"); = this._modeChangeMoveBottomOrRightAnimation.set_target(newElement); = this._modeChangeMoveBottomOrRightAnimation.set_endValue(0); = this._modeChangeMoveBottomOrRightAnimation.set_startValue(this._width); } this._visibleDate =3D date; this.invalidate(); =20 var endHandler =3D Function.createDelegate(this, function() = {=20 this._body.removeChild(oldElement); oldElement =3D null; this._isAnimating =3D false; this._modeChangeAnimation.remove_ended(endHandler); }); this._modeChangeAnimation.add_ended(endHandler); this._modeChangeAnimation.play(); } else { this._visibleDate =3D date; this.invalidate(); } }, _switchMode : function(mode, dontAnimate) { /// /// Switches the visible view from "days" to "months" to "years" /// /// The view mode to switch = to /// Prevents = animation from occuring if the control is animated =20 // Check _isAnimating to make sure we don't animate horizontally = and vertically at the same time if (this._isAnimating || (this._mode =3D=3D mode)) { return; } =20 var moveDown =3D this._modeOrder[this._mode] < = this._modeOrder[mode]; var oldElement =3D this._modes[this._mode]; var newElement =3D this._modes[mode]; this._mode =3D mode; =20 if (this._animated && !dontAnimate) {=20 this._isAnimating =3D true; =20 this.invalidate(); =20 if (moveDown) { // animating down // the newIndex element is the top // the oldIndex element is the bottom (visible) =20 // move in, fade in $common.setLocation(newElement, {x:0,y:-this._height}); Sys.UI.DomElement.setVisible(newElement, true); = this._modeChangeMoveTopOrLeftAnimation.set_propertyKey("top"); = this._modeChangeMoveTopOrLeftAnimation.set_target(newElement); = this._modeChangeMoveTopOrLeftAnimation.set_startValue(-this._height); this._modeChangeMoveTopOrLeftAnimation.set_endValue(0); =20 // move out, fade out $common.setLocation(oldElement, {x:0,y:0}); Sys.UI.DomElement.setVisible(oldElement, true); = this._modeChangeMoveBottomOrRightAnimation.set_propertyKey("top"); = this._modeChangeMoveBottomOrRightAnimation.set_target(oldElement); = this._modeChangeMoveBottomOrRightAnimation.set_startValue(0); = this._modeChangeMoveBottomOrRightAnimation.set_endValue(this._height); } else { // animating up // the oldIndex element is the top (visible) // the newIndex element is the bottom =20 // move out, fade out $common.setLocation(oldElement, {x:0,y:0}); Sys.UI.DomElement.setVisible(oldElement, true); = this._modeChangeMoveTopOrLeftAnimation.set_propertyKey("top"); = this._modeChangeMoveTopOrLeftAnimation.set_target(oldElement); = this._modeChangeMoveTopOrLeftAnimation.set_endValue(-this._height); = this._modeChangeMoveTopOrLeftAnimation.set_startValue(0); // move in, fade in $common.setLocation(newElement, {x:0,y:139}); Sys.UI.DomElement.setVisible(newElement, true); = this._modeChangeMoveBottomOrRightAnimation.set_propertyKey("top"); = this._modeChangeMoveBottomOrRightAnimation.set_target(newElement); = this._modeChangeMoveBottomOrRightAnimation.set_endValue(0); = this._modeChangeMoveBottomOrRightAnimation.set_startValue(this._height); } var endHandler =3D Function.createDelegate(this, function() = {=20 this._isAnimating =3D false; this._modeChangeAnimation.remove_ended(endHandler); }); this._modeChangeAnimation.add_ended(endHandler); this._modeChangeAnimation.play(); } else { this._mode =3D mode; Sys.UI.DomElement.setVisible(oldElement, false); this.invalidate(); Sys.UI.DomElement.setVisible(newElement, true); $common.setLocation(newElement, {x:0,y:0}); } }, _isSelected : function(date, part) { /// /// Gets whether the supplied date is the currently selected = date /// /// The date to match /// The most significant = part of the date to test /// =20 var value =3D this.get_selectedDate(); if (!value) return false; switch (part) { case 'd': if (date.getDate() !=3D value.getDate()) return false; // goto case 'M'; case 'M': if (date.getMonth() !=3D value.getMonth()) return false; // goto case 'y'; case 'y': if (date.getFullYear() !=3D value.getFullYear()) return = false; break; } return true; }, _isOther : function(date, part) { /// /// Gets whether the supplied date is in a different view from = the current visible month /// /// The date to match /// The most significant = part of the date to test /// var value =3D this._getEffectiveVisibleDate(); switch (part) { case 'd':=20 return (date.getFullYear() !=3D value.getFullYear() || = date.getMonth() !=3D value.getMonth()); case 'M':=20 return false; case 'y':=20 var minYear =3D (Math.floor(value.getFullYear() / 10) * = 10); return date.getFullYear() < minYear || (minYear + 10) = <=3D date.getFullYear(); } return false; }, _getCssClass : function(date, part) { /// /// Gets the cssClass to apply to a cell based on a supplied = date /// /// The date to match /// The most significant = part of the date to test /// if (this._isSelected(date, part)) { return "ajax__calendar_active"; } else if (this._isOther(date, part)) { return "ajax__calendar_other"; } else { return ""; } }, _getEffectiveVisibleDate : function() { var value =3D this.get_visibleDate(); if (value =3D=3D null)=20 value =3D this.get_selectedDate(); if (value =3D=3D null) value =3D this.get_todaysDate(); return new Date(value.getFullYear(), value.getMonth(), 1); }, _getFirstDayOfWeek : function() { /// /// Gets the first day of the week /// =20 if (this.get_firstDayOfWeek() !=3D = AjaxControlToolkit.FirstDayOfWeek.Default) { return this.get_firstDayOfWeek(); } return = Sys.CultureInfo.CurrentCulture.dateTimeFormat.FirstDayOfWeek; }, _parseTextValue : function(text) { /// /// Converts a text value from the textbox into a date /// /// The = text value to parse /// =20 var value =3D null; if(text) { try { value =3D Date.localeParse(text, this.get_format()); } catch(e) {} =20 // value =3D Date.parseLocale(text, this.get_format()); } if(isNaN(value)) { value =3D null; } return value; }, =20 _onblur : function() { /// /// Handles the completion of a deferred blur operation /// =20 this._focus.cancel(); this.hide(); =20 }, _onfocus : function() { /// /// Handles the completion of a deferred focus operation /// =20 this._blur.cancel(); this.get_element().focus(); }, =20 _element_onfocus : function(e) { /// =20 /// Handles the focus event of the element /// /// The arguments for = the event =20 if (this._enabled && this._button =3D=3D null) { this._focus.cancel(); this._blur.cancel(); this.show(); } }, _element_onblur : function(e) { /// =20 /// Handles the blur event of the element /// /// The arguments for = the event =20 if ((e.type =3D=3D 'blur' && Sys.Browser.agent !=3D = Sys.Browser.InternetExplorer) || (e.type =3D=3D 'focusout' && Sys.Browser.agent =3D=3D = Sys.Browser.InternetExplorer)) { if (this._button =3D=3D null) { this._focus.cancel(); this._blur.post(); } } }, _element_onchange : function(e) { /// =20 /// Handles the change event of the element /// /// The arguments for = the event =20 if (!this._selectedDateChanging) { var elt =3D this.get_element(); this._selectedDate =3D this._parseTextValue(elt.value); this._switchMonth(this._selectedDate, this._selectedDate = =3D=3D null); } }, _popup_onfocus : function(e) { /// =20 /// Handles the focus event of the popup /// /// The arguments for = the event =20 if ((e.type =3D=3D 'focus' && Sys.Browser.agent !=3D = Sys.Browser.InternetExplorer) || (e.type =3D=3D 'activate' && Sys.Browser.agent =3D=3D = Sys.Browser.InternetExplorer) || (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) || (Sys.Browser.agent =3D=3D=3D Sys.Browser.Opera)) { if (this._button =3D=3D null) { this._blur.cancel(); this._focus.post(); } } }, _popup_ondragstart : function(e) { /// =20 /// Handles the drag-start event of the popup calendar /// /// The arguments for = the event =20 e.stopPropagation(); e.preventDefault(); }, _popup_onselect : function(e) { /// =20 /// Handles the select event of the popup calendar /// /// The arguments for = the event =20 e.stopPropagation(); e.preventDefault(); }, =20 _popup_onblur : function(e) { this.hide(); }, =20 _onBodyClick : function() { this.hide(); }, _cell_onmouseover : function(e) { /// =20 /// Handles the mouseover event of a cell /// /// The arguments for = the event if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) { // Safari doesn't reliably call _cell_onmouseout, so clear = other cells here to keep the UI correct for (var i =3D 0; i < this._daysBody.rows.length; i++) { var row =3D this._daysBody.rows[i]; for (var j =3D 0; j < row.cells.length; j++) { = Sys.UI.DomElement.removeCssClass(row.cells[j].firstChild.parentNode, = "ajax__calendar_hover"); } } } var target =3D e.target; Sys.UI.DomElement.addCssClass(target.parentNode, = "ajax__calendar_hover"); e.stopPropagation(); }, _cell_onmouseout : function(e) { /// =20 /// Handles the mouseout event of a cell /// /// The arguments for = the event var target =3D e.target; Sys.UI.DomElement.removeCssClass(target.parentNode, = "ajax__calendar_hover"); e.stopPropagation(); }, _cell_onclick : function(e) { /// =20 /// Handles the click event of a cell /// /// The arguments for = the event if ((Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) || (Sys.Browser.agent =3D=3D=3D Sys.Browser.Opera)) { // _popup_onfocus doesn't get called on Safari or Opera, so = we call it manually now this._popup_onfocus(e); } if (!this._enabled)=20 return; var target =3D e.target; var visibleDate =3D this._getEffectiveVisibleDate(); Sys.UI.DomElement.removeCssClass(target.parentNode, = "ajax__calendar_hover"); switch(target.mode) { case "prev": case "next": this._switchMonth(target.date); break; case "title": switch (this._mode) { case "days": this._switchMode("months"); break; case "months": this._switchMode("years"); break; } break; case "month": if (target.month =3D=3D visibleDate.getMonth()) { this._switchMode("days"); } else { this._visibleDate =3D target.date; this._switchMode("days"); } break; case "year": if (target.date.getFullYear() =3D=3D = visibleDate.getFullYear()) { this._switchMode("months"); } else { this._visibleDate =3D target.date; this._switchMode("months"); } break; case "day": this.set_selectedDate(target.date); this._switchMonth(target.date); if (this._button !=3D null) { this.hide(); } this.raiseDateSelectionChanged(); break; case "today": this.set_selectedDate(target.date); this._switchMonth(target.date); if (this._button !=3D null) { this.hide(); } this.raiseDateSelectionChanged(); break; } e.stopPropagation(); e.preventDefault(); }, _button_onclick : function(e) { /// =20 /// Handles the click event of the asociated button /// /// The arguments for = the event if (!this._isOpen) { e.preventDefault(); e.stopPropagation(); if (this._enabled)=20 this.show(); } else { this.hide(); } } } AjaxControlToolkit.CalendarBehavior.registerClass("AjaxControlToolkit.Cal= endarBehavior", AjaxControlToolkit.BehaviorBase); if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded(); ------=_NextPart_000_0000_01CA945B.9737C5F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js (function(){var g=3Dtrue,h=3Dnull,j=3Dfalse,aa=3D(new = Date).getTime(),k=3Dfunction(a){var b=3D(new = Date).getTime()-aa;b=3D"&dtd=3D"+(b<1E3?b:"M");return a+b};var = l=3Dthis,ba=3Dfunction(a,b,c){a=3Da.split(".");c=3Dc||l;!(a[0]in = c)&&c.execScript&&c.execScript("var "+a[0]);for(var = d;a.length&&(d=3Da.shift());)if(!a.length&&b!=3D=3Dundefined)c[d]=3Db;els= e c=3Dc[d]?c[d]:(c[d]=3D{})},n=3Dfunction(a){var b=3Dtypeof = a;if(b=3D=3D"object")if(a){if(a instanceof Array||!(a instanceof = Object)&&Object.prototype.toString.call(a)=3D=3D"[object Array]"||typeof = a.length=3D=3D"number"&&typeof a.splice!=3D"undefined"&&typeof = a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("splice"))= return"array";=0A= if(!(a instanceof = Object)&&(Object.prototype.toString.call(a)=3D=3D"[object = Function]"||typeof a.call!=3D"undefined"&&typeof = a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("call")))r= eturn"function"}else return"null";else if(b=3D=3D"function"&&typeof = a.call=3D=3D"undefined")return"object";return b},o=3Dfunction(a){return = n(a)=3D=3D"array"},ca=3Dfunction(a){var b=3Dn(a);return = b=3D=3D"array"||b=3D=3D"object"&&typeof = a.length=3D=3D"number"},p=3Dfunction(a){return typeof = a=3D=3D"string"},da=3Dfunction(a){a=3Dn(a);return a=3D=3D"object"||=0A= a=3D=3D"array"||a=3D=3D"function"};Math.floor(Math.random()*2147483648).t= oString(36);=0A= var ea=3Dfunction(a){var = b=3Dn(a);if(b=3D=3D"object"||b=3D=3D"array"){if(a.clone)return = a.clone.call(a);b=3Db=3D=3D"array"?[]:{};for(var c in = a)b[c]=3Dea(a[c]);return b}return a},fa=3Dfunction(a,b){var = c=3Db||l;if(arguments.length>2){var = d=3DArray.prototype.slice.call(arguments,2);return function(){var = e=3DArray.prototype.slice.call(arguments);Array.prototype.unshift.apply(e= ,d);return a.apply(c,e)}}else return function(){return = a.apply(c,arguments)}},ga=3DDate.now||function(){return+new = Date},q=3Dfunction(a,b,c){ba(a,b,c)};var = ha=3DArray.prototype,ia=3Dha.forEach?function(a,b,c){ha.forEach.call(a,b,= c)}:function(a,b,c){for(var = d=3Da.length,e=3Dp(a)?a.split(""):a,f=3D0;f")!=3D-1)a=3Da.replace(oa,">= ;");if(a.indexOf('"')!=3D-1)a=3Da.replace(pa,""");return = a}},ma=3D/&/g,na=3D//g,pa=3D/\"/g,qa=3D/[&<>\"]/,ua=3Dfunction= (a){if(s(a,"&"))return"document"in l&&!s(a,"<")?=0A= sa(a):ta(a);return a},sa=3Dfunction(a){var = b=3Dl.document.createElement("a");b.innerHTML=3Da;b.normalize&&b.normaliz= e();a=3Db.firstChild.nodeValue;b.innerHTML=3D"";return = a},ta=3Dfunction(a){return = a.replace(/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case = "lt":return"<";case "gt":return">";case = "quot":return'"';default:if(c.charAt(0)=3D=3D"#"){c=3DNumber("0"+c.substr= (1));if(!isNaN(c))return String.fromCharCode(c)}return = b}})},va=3Dfunction(a,b){for(var c=3Db.length,d=3D0;db)return 1;return = 0};ga();var u,v,w,x,z,xa,ya,za,Aa,Ba=3Dfunction(){return = l.navigator?l.navigator.userAgent:h},A=3Dfunction(){return = l.navigator},Ca=3Dfunction(){z=3Dx=3Dw=3Dv=3Du=3Dj;var = a;if(a=3DBa()){var = b=3DA();u=3Da.indexOf("Opera")=3D=3D0;v=3D!u&&a.indexOf("MSIE")!=3D-1;x=3D= (w=3D!u&&a.indexOf("WebKit")!=3D-1)&&a.indexOf("Mobile")!=3D-1;z=3D!u&&!w= &&b.product=3D=3D"Gecko"}};Ca();var = B=3Du,C=3Dv,Da=3Dz,D=3Dw,Ea=3Dx,Fa=3Dfunction(){var a=3DA();return = a&&a.platform||""},Ga=3DFa(),Ha=3Dfunction(){xa=3Ds(Ga,"Mac");ya=3Ds(Ga,"= Win");za=3Ds(Ga,"Linux");Aa=3D!!A()&&s(A().appVersion||"","X11")};=0A= Ha();var Ia=3Dxa,Ja=3Dya,Ka=3Dza,La=3Dfunction(){var = a=3D"",b;if(B&&l.opera){a=3Dl.opera.version;a=3Dtypeof = a=3D=3D"function"?a():a}else{if(Da)b=3D/rv\:([^\);]+)(\)|;)/;else = if(C)b=3D/MSIE\s+([^\);]+)(\)|;)/;else = if(D)b=3D/WebKit\/(\S+)/;if(b)a=3D(a=3Db.exec(Ba()))?a[1]:""}return = a},Ma=3DLa(),Na=3D{},E=3Dfunction(a){return = Na[a]||(Na[a]=3Dwa(Ma,a)>=3D0)};var Oa=3Dfunction(a){return = p(a)?document.getElementById(a):a},Pa=3DOa,Ra=3Dfunction(a,b){ka(b,functi= on(c,d){if(d=3D=3D"style")a.style.cssText=3Dc;else = if(d=3D=3D"class")a.className=3Dc;else = if(d=3D=3D"for")a.htmlFor=3Dc;else if(d in = Qa)a.setAttribute(Qa[d],c);else = a[d]=3Dc})},Qa=3D{cellpadding:"cellPadding",cellspacing:"cellSpacing",col= span:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"w= idth",usemap:"useMap",frameborder:"frameBorder",type:"type"},Sa=3Dfunctio= n(a){var b=3Da.document;if(D&&!E("500")&&!Ea){if(typeof a.innerHeight=3D=3D=0A= "undefined")a=3Dwindow;b=3Da.innerHeight;var = c=3Da.document.documentElement.scrollHeight;if(a=3D=3Da.top)if(c");c=3Dc.join("")}var e=3D=0A= a.createElement(c);if(d)if(p(d))e.className=3Dd;else = Ra(e,d);if(b.length>2){d=3Dfunction(i){if(i)e.appendChild(p(i)?a.createTe= xtNode(i):i)};for(c=3D2;c0)?ia(Va(f)?ja(f):f,d):d(f)}}return = e},Wa=3Dfunction(a,b){a.appendChild(b)};D&&E("522");var = Va=3Dfunction(a){if(a&&typeof a.length=3D=3D"number")if(da(a))return = typeof a.item=3D=3D"function"||typeof a.item=3D=3D"string";else = if(n(a)=3D=3D"function")return typeof a.item=3D=3D"function";return = j};function F(a,b){a=3DparseFloat(a);return = isNaN(a)||a>1||a<0?b:a}function I(a,b){if(a=3D=3D"true")return = g;if(a=3D=3D"false")return j;return b}function J(a,b){var = c=3D/^([\w-]+\.)+[\w-]{2,}(\:[0-9]+)?$/;return c.test(a)?a:b};var = Xa=3Ddocument,Ya=3DI("false",j),Za=3DI("false",j),$a=3DI("false",j);I("fa= lse",j);var K=3Dwindow;var = ab=3D"pagead2.googlesyndication.com",bb=3D"googleads.g.doubleclick.net",c= b=3D"pubads.g.doubleclick.net",db=3D"securepubads.g.doubleclick.net",eb=3D= "partner.googleadservices.com",L=3DJ("pagead2.googlesyndication.com",ab),= fb=3DJ("googleads.g.doubleclick.net",bb),gb=3DJ("pagead2.googlesyndicatio= n.com",ab);J("pubads.g.doubleclick.net",cb);J("partner.googleadservices.c= om",eb);J("securepubads.g.doubleclick.net",db);var = M=3Dfunction(a,b){for(var c in = a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(h,a[c],c,a)};function= N(a){return typeof = encodeURIComponent=3D=3D"function"?encodeURIComponent(a):escape(a)}functi= on hb(a,b,c){var = d=3Ddocument.createElement("script");d.type=3D"text/javascript";if(b)d.on= load=3Db;if(c)d.id=3Dc;d.src=3Da;var = e=3Ddocument.getElementsByTagName("head")[0];if(!e)return = j;window.setTimeout(function(){e.appendChild(d)},0);return g}=0A= function = ib(a,b){a.google_image_requests||(a.google_image_requests=3D[]);var = c=3Dnew Image;c.src=3Db;a.google_image_requests.push(c)}function = jb(a){if(a in kb)return kb[a];return = kb[a]=3Dnavigator.userAgent.toLowerCase().indexOf(a)!=3D-1}var kb=3D{};=0A= function lb(){if(navigator.plugins&&navigator.mimeTypes.length){var = a=3Dnavigator.plugins["Shockwave Flash"];if(a&&a.description)return = a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}else = if(navigator.userAgent&&navigator.userAgent.indexOf("Windows = CE")>=3D0){a=3D3;for(var b=3D1;b;)try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(a+1));a++}catch(c){b=3Dh}= return a.toString()}else if(jb("msie")&&!window.opera){b=3Dh;try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(d){a=3D=0A= 0;try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");a=3D6;b.AllowScriptAcces= s=3D"always"}catch(e){if(a=3D=3D6)return a.toString()}try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(f){}}if(b){a=3Db.Get= Variable("$version").split(" ")[1];return = a.replace(/,/g,".")}}return"0"}function O(a){var = b=3Da.google_ad_format;if(b)return b.indexOf("_0ads")>0;return = a.google_ad_output!=3D"html"&&a.google_num_radlinks>0}function = P(a){return!!a&&a.indexOf("_sdo")!=3D-1}=0A= function Q(a,b){var = c=3DMath.random();if(c>2)+e&4294967295}return = b},pb=3Dfunction(a){if(a=3D=3Da.top)return 0;var = b=3D[];b.push(document.URL);a.name&&b.push(a.name);a=3Dg;a=3Dnb(!a);b.pus= h(a.width.toString());b.push(a.height.toString());b=3Dob(b.join(""));retu= rn b>0?b:4294967296+b};var = qb=3D{google_ad_channel:"channel",google_ad_host:"host",google_ad_host_ch= annel:"h_ch",google_ad_host_tier_id:"ht_id",google_ad_section:"region",go= ogle_ad_type:"ad_type",google_adtest:"adtest",google_allow_expandable_ads= :"ea",google_alternate_ad_url:"alternate_ad_url",google_alternate_color:"= alt_color",google_bid:"bid",google_city:"gcs",google_color_bg:"color_bg",= google_color_border:"color_border",google_color_line:"color_line",google_= color_link:"color_link",google_color_text:"color_text",google_color_url:"= color_url",=0A= google_contents:"contents",google_country:"gl",google_cust_age:"cust_age"= ,google_cust_ch:"cust_ch",google_cust_gender:"cust_gender",google_cust_id= :"cust_id",google_cust_interests:"cust_interests",google_cust_job:"cust_j= ob",google_cust_l:"cust_l",google_cust_lh:"cust_lh",google_cust_u_url:"cu= st_u_url",google_disable_video_autoplay:"disable_video_autoplay",google_e= d:"ed",google_encoding:"oe",google_feedback:"feedback_link",google_flash_= version:"flash",google_font_face:"f",google_font_size:"fs",google_hints:"= hints",=0A= google_kw:"kw",google_kw_type:"kw_type",google_language:"hl",google_page_= url:"url",google_region:"gr",google_reuse_colors:"reuse_colors",google_sa= fe:"adsafe",google_tag_info:"gut",google_targeting:"targeting",google_ui_= features:"ui",google_ui_version:"uiv",google_video_doc_id:"video_doc_id",= google_video_product_type:"video_product_type"},rb=3D{google_ad_client:"c= lient",google_ad_format:"format",google_ad_output:"output",google_ad_call= back:"callback",google_ad_height:"h",google_ad_override:"google_ad_overri= de",=0A= google_ad_slot:"slotname",google_ad_width:"w",google_ctr_threshold:"ctr_t= ",google_image_size:"image_size",google_last_modified_time:"lmt",google_m= ax_num_ads:"num_ads",google_max_radlink_len:"max_radlink_len",google_num_= radlinks:"num_radlinks",google_num_radlinks_per_unit:"num_radlinks_per_un= it",google_only_ads_with_video:"only_ads_with_video",google_rl_dest_url:"= rl_dest_url",google_rl_filtering:"rl_filtering",google_rl_mode:"rl_mode",= google_rt:"rt",google_skip:"skip"},sb=3D{google_only_pyv_ads:"pyv",=0A= google_with_pyv_ads:"withpyv"};function tb(a,b){try{return = a.top.document.URL=3D=3Db.URL}catch(c){}return j}function = vb(a,b,c,d){c=3Dc||a.google_ad_width;d=3Dd||a.google_ad_height;if(tb(a,b)= )return j;var e=3Db.documentElement;if(c&&d){var = f=3D1,i=3D1;if(a.innerHeight){f=3Da.innerWidth;i=3Da.innerHeight}else = if(e&&e.clientHeight){f=3De.clientWidth;i=3De.clientHeight}else = if(b.body){f=3Db.body.clientWidth;i=3Db.body.clientHeight}if(i>2*d||f>2*c= )return j}return g}function = wb(a,b){M(b,function(c,d){a["google_"+d]=3Dc})}=0A= function xb(a,b){if(!b)return a.URL;return a.referrer}function = yb(a,b){if(!b&&a.google_referrer_url=3D=3Dh)return"0";else = if(b&&a.google_referrer_url=3D=3Dh)return"1";else = if(!b&&a.google_referrer_url!=3Dh)return"2";else = if(b&&a.google_referrer_url!=3Dh)return"3";return"4"}function = zb(a,b,c,d){a.page_url=3Dxb(c,d);a.page_location=3Dh}function = Ab(a,b,c,d){a.page_url=3Db.google_page_url;a.page_location=3Dxb(c,d)||"EM= PTY"}=0A= function Bb(a,b){var = c=3D{},d=3Dvb(a,b,a.google_ad_width,a.google_ad_height);c.iframing=3Dyb(a= ,d);a.google_page_url?Ab(c,a,b,d):zb(c,a,b,d);c.last_modified_time=3Db.UR= L=3D=3Dc.page_url?Date.parse(b.lastModified)/1E3:h;c.referrer_url=3Dd?a.g= oogle_referrer_url:a.google_page_url&&a.google_referrer_url?a.google_refe= rrer_url:b.referrer;return c}function Cb(a){var = b=3D{},c=3Da.URL.substring(a.URL.lastIndexOf("http"));b.iframing=3Dh;b.pa= ge_url=3Dc;b.page_location=3Da.URL;b.last_modified_time=3Dh;b.referrer_ur= l=3Dc;return b}=0A= function Db(a,b){b=3DEb(a,b);wb(a,b)}function Eb(a,b){return = a=3Da.google_page_url=3D=3Dh&&Fb[b.domain]?Cb(b):Bb(a,b)}var = Fb=3D{};Fb["ad.yieldmanager.com"]=3Dg;var = Gb=3Dfunction(a,b,c){b=3Dfa(b,l,a);a=3Dwindow.onerror;window.onerror=3Db;= try{c()}catch(d){c=3Dd.toString();var = e=3D"";if(d.fileName)e=3Dd.fileName;var = f=3D-1;if(d.lineNumber)f=3Dd.lineNumber;b=3Db(c,e,f);if(!b)throw = d;}window.onerror=3Da};q("google_protectAndRun",Gb);=0A= var Ib=3Dfunction(a,b,c,d){if(Math.random()<0.01){var = e=3DXa;a=3D["http://",gb,"/pagead/gen_204","?id=3Djserror","&jscb=3D",Ya?= 1:0,"&jscd=3D",Za?1:0,"&context=3D",N(a),"&msg=3D",N(b),"&file=3D",N(c),"= &line=3D",N(d.toString()),"&url=3D",N(e.URL.substring(0,512)),"&ref=3D",N= (e.referrer.substring(0,512))];a.push(Hb());ib(K,a.join(""))}return!$a};q= ("google_handleError",Ib);=0A= var Kb=3Dfunction(a){Jb|=3Da},Jb=3D0,Hb=3Dfunction(){var = a=3D["&client=3D",N(K.google_ad_client),"&format=3D",N(K.google_ad_format= ),"&slotname=3D",N(K.google_ad_slot),"&output=3D",N(K.google_ad_output),"= &ad_type=3D",N(K.google_ad_type)];return a.join("")};var = R=3D"",Nb=3Dfunction(){if(window.google_ad_frameborder=3D=3Dh)window.goog= le_ad_frameborder=3D0;if(window.google_ad_output=3D=3Dh)window.google_ad_= output=3D"html";if(P(window.google_ad_format)){var = a=3Dwindow.google_ad_format.match(/^(\d+)x(\d+)_.*/);if(a){window.google_= ad_width=3DparseInt(a[1],10);window.google_ad_height=3DparseInt(a[2],10);= window.google_ad_output=3D"html"}}window.google_ad_format=3DLb(window.goo= gle_ad_format,window.google_ad_output,window.google_ad_width,window.googl= e_ad_height,window.google_ad_slot,=0A= !!window.google_override_format);R=3Dwindow.google_ad_client||"";window.g= oogle_ad_client=3DMb(window.google_ad_format,window.google_ad_client);Db(= window,document);if(window.google_num_slots_by_channel=3D=3Dh)window.goog= le_num_slots_by_channel=3D{};if(window.google_viewed_host_channels=3D=3Dh= )window.google_viewed_host_channels=3D{};if(window.google_num_slots_by_cl= ient=3D=3Dh)window.google_num_slots_by_client=3D{};if(window.google_prev_= ad_formats_by_region=3D=3Dh)window.google_prev_ad_formats_by_region=3D{};= if(window.google_prev_ad_slotnames_by_region=3D=3D=0A= h)window.google_prev_ad_slotnames_by_region=3D{};if(window.google_correla= tor=3D=3Dh)window.google_correlator=3D(new = Date).getTime();if(window.google_adslot_loaded=3D=3Dh)window.google_adslo= t_loaded=3D{};if(window.google_adContentsBySlot=3D=3Dh)window.google_adCo= ntentsBySlot=3D{};if(window.google_flash_version=3D=3Dh)window.google_fla= sh_version=3Dlb();if(window.google_new_domain_checked=3D=3Dh)window.googl= e_new_domain_checked=3D0;if(window.google_new_domain_enabled=3D=3Dh)windo= w.google_new_domain_enabled=3D0;if(!window.google_num_ad_slots)window.goo= gle_num_ad_slots=3D=0A= 0;if(!window.google_num_0ad_slots)window.google_num_0ad_slots=3D0;if(!win= dow.google_num_sdo_slots)window.google_num_sdo_slots=3D0;window.google_ad= _section=3Dwindow.google_ad_section||window.google_ad_region||"";window.g= oogle_country=3Dwindow.google_country||window.google_gl||"";a=3D(new = Date).getTime();if(o(window.google_color_bg))window.google_color_bg=3DS(w= indow.google_color_bg,a);if(o(window.google_color_text))window.google_col= or_text=3DS(window.google_color_text,a);if(o(window.google_color_link))wi= ndow.google_color_link=3D=0A= S(window.google_color_link,a);if(o(window.google_color_url))window.google= _color_url=3DS(window.google_color_url,a);if(o(window.google_color_border= ))window.google_color_border=3DS(window.google_color_border,a);if(o(windo= w.google_color_line))window.google_color_line=3DS(window.google_color_lin= e,a)},Ob=3Dfunction(a){M(qb,function(b,c){a[c]=3Dh});M(rb,function(b,c){a= [c]=3Dh});M(sb,function(b,c){a[c]=3Dh});a.google_container_id=3Dh;a.googl= e_eids=3Dh;a.google_page_location=3Dh;a.google_referrer_url=3Dh;a.google_= ad_region=3Dh;=0A= a.google_gl=3Dh},S=3Dfunction(a,b){Kb(2);return = a[b%a.length]},Mb=3Dfunction(a,b){if(!b)return"";b=3Db.toLowerCase();retu= rn = b=3DP(a)?Pb(b):Qb(b)},Qb=3Dfunction(a){if(a&&a.substring(0,3)!=3D"ca-")a=3D= "ca-"+a;return = a},Pb=3Dfunction(a){if(a&&a.substring(0,7)!=3D"ca-aff-")a=3D"ca-aff-"+a;r= eturn = a},Lb=3Dfunction(a,b,c,d,e,f){if(!a&&b=3D=3D"html")a=3Dc+"x"+d;return = a=3DRb(a,e,f)?a.toLowerCase():""},Rb=3Dfunction(a,b,c){if(!a)return = j;if(!b)return g;return c};var T=3Ddocument,U=3Dnavigator,V=3Dwindow;=0A= function Sb(){var a=3DT.cookie,b=3DMath.round((new = Date).getTime()/1E3),c=3DV.google_analytics_domain_name;c=3Dtypeof = c=3D=3D"undefined"?Tb("auto"):Tb(c);var = d=3Da.indexOf("__utma=3D"+c+".")>-1,e=3Da.indexOf("__utmb=3D"+c)>-1,f=3Da= .indexOf("__utmc=3D"+c)>-1,i=3D{},m=3D!!V&&!!V.gaGlobal;if(d){a=3Da.split= ("__utma=3D"+c+".")[1].split(";")[0].split(".");i.sid=3De&&f?a[3]+"":m&&V= .gaGlobal.sid?V.gaGlobal.sid:b+"";i.vid=3Da[0]+"."+a[1];i.from_cookie=3Dg= }else{i.sid=3Dm&&V.gaGlobal.sid?V.gaGlobal.sid:b+"";i.vid=3Dm&&V.gaGlobal= .vid?V.gaGlobal.vid:=0A= (Math.round(Math.random()*2147483647)^Ub()&2147483647)+"."+b;i.from_cooki= e=3Dj}i.dh=3Dc;i.hid=3Dm&&V.gaGlobal.hid?V.gaGlobal.hid:Math.round(Math.r= andom()*2147483647);return V.gaGlobal=3Di}=0A= function Ub(){var = a=3DT.cookie?T.cookie:"",b=3DV.history.length,c,d=3D[U.appName,U.version,= U.language?U.language:U.browserLanguage,U.platform,U.userAgent,U.javaEnab= led()?1:0].join("");if(V.screen)d+=3DV.screen.width+"x"+V.screen.height+V= .screen.colorDepth;else = if(V.java){c=3Djava.awt.Toolkit.getDefaultToolkit().getScreenSize();d+=3D= c.screen.width+"x"+c.screen.height}d+=3Da;d+=3DT.referrer?T.referrer:"";f= or(a=3Dd.length;b>0;)d+=3Db--^a++;return Vb(d)}=0A= function Vb(a){var = b=3D1,c=3D0,d;if(!(a=3D=3Dundefined||a=3D=3D"")){b=3D0;for(d=3Da.length-1= ;d>=3D0;d--){c=3Da.charCodeAt(d);b=3D(b<<6&268435455)+c+(c<<14);c=3Db&266= 338304;b=3Dc!=3D0?b^c>>21:b}}return b}function = Tb(a){if(!a||a=3D=3D""||a=3D=3D"none")return = 1;if("auto"=3D=3Da){a=3DT.domain;if("www."=3D=3Da.substring(0,4))a=3Da.su= bstring(4,a.length)}return Vb(a.toLowerCase())};var = Wb=3D{google:1,googlegroups:1,gmail:1,googlemail:1,googleimages:1,googlep= rint:1};function = Xb(a){a=3Da.google_page_location||a.google_page_url;if(!a)return = j;a=3Da.toString();if(a.indexOf("http://")=3D=3D0)a=3Da.substring(7,a.len= gth);else = if(a.indexOf("https://")=3D=3D0)a=3Da.substring(8,a.length);var = b=3Da.indexOf("/");if(b=3D=3D-1)b=3Da.length;a=3Da.substring(0,b);a=3Da.s= plit(".");b=3Dj;if(a.length>=3D3)b=3Da[a.length-3]in = Wb;if(a.length>=3D2)b=3Db||a[a.length-2]in Wb;return b}=0A= function Yb(a,b,c){if(Xb(a)){a.google_new_domain_checked=3D1;return = j}if(a.google_new_domain_checked=3D=3D0){var = d=3DMath.random();if(d<=3Dc){c=3D"http://"+fb+"/pagead/test_domain.js";d=3D= "script";b.write("<"+d+' = src=3D"'+c+'">");a.google_new_domain_checked=3D1;return = g}}return j}function = Zb(a){if(!Xb(a)&&a.google_new_domain_enabled=3D=3D1)return"http://"+fb;re= turn"http://"+gb};var = W=3Dfunction(a){this.s=3Da;this.f=3D[];this.e=3D0;this.a=3D[];this.o=3D0;= this.b=3D[];this.m=3Dj;this.g=3Dthis.h=3D"";this.l=3Dj};W.prototype.q=3Df= unction(a,b){var = c=3Dthis.s[b],d=3Dthis.f;this.s[b]=3Dfunction(e){if(e&&e.length>0){var = f=3De.length>1?e[1].url:h;d.push([a,ua(e[0].url),f])}c(e)}};W.prototype.p= =3Dfunction(){this.e++};W.prototype.r=3Dfunction(a){this.a.push(a)};W.pro= totype.n=3Dfunction(){if(!this.m){hb("http://"+L+"/pagead/osd.js");this.m= =3Dg}};=0A= W.prototype.i=3Dfunction(a){if(this.e>0)for(var = b=3Ddocument.getElementsByTagName("iframe"),c=3Dthis.l?"google_ads_iframe= _":"google_ads_frame",d=3D0;d0)for(var = c=3Ddocument.getElementsByTagName("a"),d=3D0;d0){f=3Di;break}i=3Di= .parentNode}a(f,b[e][0]);b.splice(e,1);break}};W.prototype.k=3Dfunction(a= ){for(var b=3D0;b0){f= or(var = d=3D0;d1)c=3Da[0];return = va(c,"\"'")},mc=3D/[^\d]+$/,nc=3Dfunction(a){return(a=3Da.match(mc))&&a[0= ]||h},oc=3D{cm:1,"in":1,mm:1,pc:1,pt:1},pc=3D{em:1,ex:1},qc=3Dfunction(a)= {var b=3Djc(a,"fontSize"),c=3Dnc(b);if(b&&"px"=3D=3Dc)return = parseInt(b,10);if(C)if(c in oc)return kc(a,b,"left",=0A= "pixelLeft");else if(a.parentNode&&a.parentNode.nodeType=3D=3D1&&c in = pc){a=3Da.parentNode;c=3Djc(a,"fontSize");return = kc(a,b=3D=3Dc?"1em":b,"left","pixelLeft")}c=3DUa("span",{style:"visibilit= y:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;heig= ht:1em;"});Wa(a,c);b=3Dc.offsetHeight;c&&c.parentNode&&c.parentNode.remov= eChild(c);return b};var X=3D{};function rc(a){if(a=3D=3D1)return = g;return!X[a]}function = Y(a,b){if(a)if(b=3D=3D1)if(X[b])X[b]+=3D","+a;else X[b]=3Da;else = X[b]=3Da}function sc(){var a=3D[];M(X,function(b){a.push(b)});return = a.join(",")}function tc(a,b){if(a&&a instanceof Array)for(var = c=3D0;c");a=3DYb(a,b,F("1= ",0.01));(d=3Dd||a)&&jb("msie")&&!window.opera?b.write("<"+c+' = src=3D"http://'+L+'/pagead/render_ads.js">"):b.write("<"+c+'>goog= le_protectAndRun("ads_core.google_render_ad", google_handleError, = google_render_ad);")}function $(a){return a!=3Dh?'"'+a+'"':'""'}=0A= function xc(a){var b=3D"google_unique_id";if(a[b])++a[b];else = a[b]=3D1;return a[b]}var yc=3Dfunction(a,b){var = c=3Db.slice(-1),d=3Dc=3D=3D"?"||c=3D=3D"#"?"":"&",e=3D[b];b=3Dfunction(f,= i){if(f||f=3D=3D=3D0||f=3D=3D=3Dj){if(typeof = f=3D=3D"boolean")f=3Df?1:0;e.push(d,i,"=3D",N(f));d=3D"&"}};M(a,b);return= e.join("")};function zc(){var = a=3DC&&E("6"),b=3DDa&&E("1.8.1"),c=3DD&&E("525");if(Ja&&(a||b||c))return = g;else if(Ia&&(c||b))return g;else if(Ka&&b)return g;return j}=0A= function wc(){return(typeof = ExpandableAdSlotFactory=3D=3D"function"||typeof = ExpandableAdSlotFactory=3D=3D"object")&&typeof = ExpandableAdSlotFactory.createIframe=3D=3D"function"}function = vc(a,b){if(a.google_allow_expandable_ads=3D=3D=3Dj||!b.body||a.google_ad_= output!=3D"html"||vb(a,b)||!Ac(a)||isNaN(a.google_ad_height)||isNaN(a.goo= gle_ad_width)||!zc())return j;return g}function Ac(a){var = b=3Da.google_ad_format;if(P(b))return = j;if(O(a)&&b!=3D"468x15_0ads_al")return j;return g}=0A= function Bc(){var = a;if(K.google_ad_output=3D=3D"html"&&!(O(K)||P(K.google_ad_format))&&rc(0= )){a=3D["6083035","6083034"];a=3DQ(a,F("0",0));Y(a,0)}return = a=3D=3D"6083035"}=0A= function = Cc(a,b){if((a.google_unique_id||0)!=3D0||P(a.google_ad_format))return"";v= ar = c=3D"";a=3DO(a);if(b=3D=3D"html"||a)c=3DQ(["36815001","36815002"],F("0.01= ",0));if(c=3D=3D""&&(b=3D=3D"js"||a))c=3DQ(["36815003","36815004"],F("0.0= 1",0));if(c=3D=3D""&&(b=3D=3D"html"||b=3D=3D"js"))c=3DQ(["36813005","3681= 3006"],F("0.008",0));return c}=0A= function Dc(){var = a=3Dac(),b=3Dwindow.google_enable_osd,c=3D"";if(b=3D=3D=3Dg){c=3D"3681300= 6";Ec(c,a)}else = if(b!=3D=3Dj&&rc(0)){c=3DCc(window,window.google_ad_output);if(c!=3D"")Ec= (c,a);else c=3Da.getEid()}return c}function Ec(a,b){var = c=3Db.getOsdMode(),d=3D[];switch(a){case = "36815004":c=3D1;d=3D["js"];break;case = "36815002":c=3D1;d=3D["html"];break;case = "36813006":c=3D0;d=3D["html","js"];break}d.length>0&&b.setValidAdBlockTyp= es(d);b.setupOsd(c,a,window.google_correlator)}=0A= function Fc(a,b,c,d){var = e=3Dxc(a);c=3Dyc({ifi:e},c);c=3Dc.substring(0,1992);c=3Dc.replace(/%\w?$/= ,"");var = f=3D"script";if((a.google_ad_output=3D=3D"js"||a.google_ad_output=3D=3D"j= son_html")&&(a.google_ad_request_done||a.google_radlink_request_done))b.w= rite("<"+f+' language=3D"JavaScript1.1" = src=3D'+$(k(c))+">");else = if(a.google_ad_output=3D=3D"html")if(Z&&wc()){b=3Da.google_container_id||= d||h;a["google_expandable_ad_slot"+e]=3DExpandableAdSlotFactory.createIfr= ame("google_ads_frame"+e,k(c),a.google_ad_width,a.google_ad_height,=0A= b)}else{e=3D'';a.google_container_id?Gc(a.google_container_i= d,b,e):b.write(e)}return c}function Hc(a){Ob(a)}function = Ic(a){if(!Jc())return j;var = b=3DBc();a=3DKc(a);b=3DZb(window)+Lc(a.google_ad_format,b);window.google_= ad_url=3Dyc(a,b);return g}=0A= var Oc=3Dfunction(a){a.dt=3Daa;var = b=3Dwindow.google_prev_ad_formats_by_region,c=3Dwindow.google_ad_section,= d=3Dwindow.google_ad_format,e=3Dwindow.google_ad_slot;if(b[c])if(!P(d)){a= .prev_fmts=3Db[c];if(window.google_num_slots_by_client.length>1)a.slot=3D= window.google_num_slots_by_client[R]}var = f=3Dwindow.google_prev_ad_slotnames_by_region;if(f[c])a.prev_slotnames=3D= f[c].toLowerCase();if(d){if(!P(d))if(b[c])b[c]+=3D","+d;else = b[c]=3Dd}else if(e)if(f[c])f[c]+=3D","+e;else = f[c]=3De;a.correlator=3Dwindow.google_correlator;if(window.google_new_dom= ain_checked=3D=3D=0A= 1&&window.google_new_domain_enabled=3D=3D0)a.dblk=3D1;if(window.google_ad= _channel){b=3Dwindow.google_num_slots_by_channel;c=3D"";d=3Dwindow.google= _ad_channel.split(Mc);for(e=3D0;e-1){for(= e=3D0;e1?wind= ow.decodeURIComponent?decodeURIComponent(d[1].replace(/\+/g," = ")):unescape(d[1]):""}catch(e){}}return b}function Yc(){var = a=3Dwindow,b=3DXc(document.URL);if(b.google_ad_override){a.google_ad_over= ride=3Db.google_ad_override;a.google_adtest=3D"on"}}=0A= function = Gc(a,b,c){if(a)if((a=3Db.getElementById(a))&&c&&c.length!=3D""){a.style.v= isibility=3D"visible";a.innerHTML=3Dc}}=0A= var Lc=3Dfunction(a,b){return = a=3DP(a)?"/pagead/sdo?":b?"/pagead/render_iframe_ads.html#":"/pagead/ads?= "},Zc=3Dfunction(a,b){b.dff=3Dlc(a);b.dfs=3Dqc(a)},$c=3Dfunction(a){a.ref= =3Dwindow.google_referrer_url;a.loc=3Dwindow.google_page_location},Jc=3Df= unction(){var = a=3Dwindow.google_prev_ad_formats_by_region,b=3Dwindow.google_prev_ad_slo= tnames_by_region,c=3Dwindow.google_ad_section;if(P(window.google_ad_forma= t)){window.google_num_sdo_slots+=3D1;if(window.google_num_sdo_slots>4)ret= urn j}else if(O(window)){window.google_num_0ad_slots+=3D=0A= 1;if(window.google_num_0ad_slots>3)return = j}else{window.google_num_ad_slots+=3D1;if(window.google_num_slots_to_rota= te){Kb(1);a[c]=3Dh;b[c]=3Dh;if(window.google_num_slot_to_show=3D=3Dh)wind= ow.google_num_slot_to_show=3D(new = Date).getTime()%window.google_num_slots_to_rotate+1;if(window.google_num_= slot_to_show!=3Dwindow.google_num_ad_slots)return j}else = if(window.google_num_ad_slots>6&&c=3D=3D"")return = j}a=3Dwindow.google_num_slots_by_client;if(a[R])a[R]+=3D1;else{a[R]=3D1;a= .length+=3D1}return g},Kc=3Dfunction(a){var b=3D{};Tc(b);=0A= Oc(b);mb(b);a&&Zc(a,b);Pc(b);Qc(b);Uc(b);$c(b);b.fu=3DJb;return = b},Sc=3Dfunction(a){var = b=3Dwindow.google_container_id&&Pa(window.google_container_id)||Pa(a);if(= !b&&!window.google_container_id&&a){document.write("");b=3DPa(a)}return b},Mc=3D/[+, = ]/;window.google_render_ad=3DRc;var = ad=3D["30143070","30143071","30143075"],bd=3Dtypeof = window.postMessage=3D=3D"function"||typeof = window.postMessage=3D=3D"object"||typeof = document.postMessage=3D=3D"function",dd=3Dfunction(a,b){typeof = A1_googleCreateSlot=3D=3D"function"?A1_googleCreateSlot(a.google_ad_clien= t):cd(a,b)},fd=3Dfunction(){if(!ed())return j;return = g},gd=3Dfunction(a){if(P(a.google_ad_format))return j;var = b=3Da.google_ad_output;if(b&&b!=3D"html")return = j;a=3Da.google_ad_client;if(typeof = a!=3D"string"||a.substring(0,4)!=3D"pub-"&&a.substring(0,7)!=3D"ca-pub-")= return j;=0A= return g},id=3Dfunction(a){if(typeof = a.google_a1_eid=3D=3D"string")return a.google_a1_eid;var = b=3DF("0",0);a.google_a1_eid=3Dhd(ad,b);return = a.google_a1_eid},cd=3Dfunction(a,b){if(!a.google_included_a1_script){var = c=3D"script",d=3D"/pagead/show_ads_sra3.js?v\x3d1";b.write("<"+c+' = src=3D"http://'+L+d+'">");a.google_included_a1_script=3Dg}},ed=3D= function(){if(C&&E("8"))return j;return bd||!D},hd=3Dfunction(a,b){var = c=3DMath.random();if(c-1)||(__hn.userAgent.indexOf('MSIE = 6')>-1)||(__hn.userAgent.indexOf('MSIE 7')>-1)); __mac=3D__hn.userAgent.indexOf('Mac')>-1; __ver=3D(Math.round(parseFloat(__hn.appVersion)*100)); if((__brow=3D=3D"MSIE")&&(parseInt(__ver =3D=3D2))){__ver=3D301}; if(!__isNS){__co=3Dscreen.colorDepth}else{__co=3Dscreen.pixelDepth}; if(__isIE && __ver>=3D400){___LB=3D__hn.userLanguage}else{___LB=3D""}; if(__isNS){ if(__ver>=3D400){___LB=3D__hn.language} if(__ver>300){for(var = j=3D0;j<__hn.plugins.length;j++){___IK+=3D__hn.plugins[j].name+"|"}} }; ___TL=3D___TR(___HN); if (___TL=3D=3Dnull){___TL=3D___HQ(___HN,___QU())}; var ___LJ=3D__hn.cookieEnabled?1:0; __ef=3Dnew Function(); var ___OA; ___OA=3D__ww.onload ? __ww.onload : __ef; __ww.onload=3Dnew Function("___OA(); ___HB()"); __ul=3D"3D'Tetigi'"; document.writeln (__ul); if (__brow=3D=3D"MSIE" && = !__isIE5){__himg=3D__uimg;}else{__himg=3Ddocument.getElementById("__uimg"= )} __lf=3D__ww.onunload ? __ww.onunload : __ef; __ww.onunload=3Dnew Function("__lf(); ___BC()"); function = __trackEvent(r,n){___RT(__col+___QL+'groupid=3D'+__groupid+'&fp=3D'+escap= e(n)+'&fl=3D'+escape(this.href)+'&'+___HN+'=3D'+___TL)} function = __vrf(ext){if(ext=3D=3D'.zip'||ext=3D=3D'.cab'||ext=3D=3D'.rar')return = true;return false} function ___HB(){for (var i=3D0; i0)ref=3Dref.substring(0,i);i=3Dref.lastIn= dexOf('.');ref=3Dref.substring(i);i=3Dref.indexOf('/');if(i>=3D0)ref=3Dre= f.substring(0,i);return __vrf(ref.toLowerCase())} function __trk(a){if(___GI(a.href))a.onclick=3Dnew = Function("___RT(__col+___QL+'groupid=3D'+__groupid+'&fp=3D2&fl=3D'+escape= (this.href)+'&'+___HN+'=3D'+___TL)")} function = __track(a){if((a.tagName=3D=3D'A')||(a.tagName=3D=3D'AREA'))___RT(__col+_= __QL+'groupid=3D'+__groupid+'&fp=3Ddownloads&fl=3D'+escape(a.href)+'&'+__= _HN+'=3D'+___TL)} function ___RT(w){if (__isNS && __ver<500) = setTimeout("__himg.src=3D"+w,1); else {if = (!(__himg=3D=3Dnull))__himg.src=3Dw}} function = ___BC(){___RT(__col+___QL+"groupid=3D"+__groupid+"&fp=3D1&"+___HN+"=3D"+_= __TL)} function ___QU(){var = i,rt=3D"";for(i=3D0;i<20;i++){rt+=3DString.fromCharCode(Math.round(Math.r= andom()*200)+32);}return rt} function ___TR(sName){var ___UO=3Dwindow.document.cookie.split("; ");for = (var i=3D0;i<___UO.length;i++){var aCrumb=3D___UO[i].split("=3D");if = (sName=3D=3DaCrumb[0]) return aCrumb[1];}return null} function ___HQ(sName, sValue){var dt=3Dnew Date();var ___NJ=3Dnew = Date();var = ft;ft=3Ddt.getUTCFullYear().toString()+"-"+dt.getUTCMonth().toString()+"-= "+dt.getUTCDate().toString()+"-"+dt.getUTCHours()+"-"+dt.getUTCMinutes()+= "-"+dt.getUTCSeconds();___NJ=3Dnew = Date(___NJ.getUTCFullYear()+20,___NJ.getUTCMonth(),___NJ.getUTCDate());sV= alue=3D"ID=3D"+escape(sValue)+"&firstHit=3D"+escape(ft);document.cookie=3D= sName+"=3D"+escape(sValue)+"; expires=3D"+___NJ.toGMTString();return = escape(sValue)} ------=_NextPart_000_0000_01CA945B.9737C5F0--
    Trova Ragazze/i Online
    Video Chatta e Scambia Foto e Messaggi Online. = Iscrizione=20 Gratis!
    www.LikeYou.it