From: Subject: Stays ideas in Conques, Aveyron (12), France Date: Sun, 21 Mar 2010 16:45:59 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0000_01CAC915.FC19DCD0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/en/images/accueil/en-tete.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAKwDdAwERAAIRAQMRAf/EAGcAAQEBAQEBAAAAAAAAAAAA AAAFBAYDCAEBAAAAAAAAAAAAAAAAAAAAABAAAgICAQMEAQQBBQAAAAAAAgMBBAAFEhETBiEiFAcV MTJCIyRBUmJTFxEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A+VMCt4p487yTyTXaBFpF OztHhVrPtd3sw5s8VCUpW445nMBE8OkTPr0jrMBf1P1Tu9uymvX36Lz2D1DTjlYDnSdsY1S9j70j xrldKFcC6P8A5drj7sBpfqnd7bUUtkq/RR+U+MvV1HFY71mzds3ataqHBJqBjG6tvuaYriJHkcdZ 6Bl1X17c2mq0l+rtKMs3l5+ur0C+VFhbaoAx0nEIkD6A5UgCTYxkmILA2dRgG18AZrtVu9gW6ou/ BXkayzTFWxTYOxYAzEQXZqI48ew4ThshMSsvT1DmGTUeFbXaaR22Q1CwH5fxKrCOHWvx1cbd/s8Q JY/GrMFpd0w5RPRfMuo4HV0PoTy258Dt2kR+Q1QbtXGrt2/47PicQDsUW/IZH5BfOK3cgOhc5Hp6 hED63sFS1t+d3rRoXtaW4tWZi7xpVRtRQibIxVkyIrs9iIQLPdHKei/fgZfLfAtv4vrtJevtWxW+ qLu1IUq2IitqUvGJc9CUNKAsDBdhjOJdYKYnp1DV499X7/fI1h07FRb9qxE16jjZDBqWL46sLpyK yXCYvF2ZGDl38u3w92BP2fhG7peZB4gsPlbhz69Wuvt2KncdbgJUPC+qm1fWWjHVgDH+v7ek4GvU /XtzcX7NbU7SjcSp9WjUvD8pabd++JlVpohqFtFjZSwYNy1qGQnkYxIyQUP/ABvy6KKNiZ1A1z10 3fM7pGsFXNa7bMI+AGUFVp1iN6und9QkAOGBJBksfV+/RKpKxUJVhexfVaJs4tr63Vp3EuGJXBQN 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 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/en/images/accueil/conques.jpg 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 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/fr/tourisme/visiter-conques/images/bandeau-haut.jpg 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 aNalklm4kLP8kP8A7g/6n3Pn/wDu1Z0YXRH/2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/fr/tourisme/visiter-conques/images/tourisme-decouverte-pour-tous-conques.jpg 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 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/fr/tourisme/visiter-conques/images/journeesConquesGroupes.jpg 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 QjQhGhCNCEaEI0IX/9k= ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/fr/tourisme/visiter-conques/images/groupescolairethematique.jpg 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 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/drpGE.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAJMAAQEBAQAAAAAAAAAAAAAA AAQFBgcBAAAHAQAAAAAAAAAAAAAAAAABAgMEBgcFEAAAAwUFBAgHAAAAAAAAAAABAgMTBBQFBgAR ITESIjIjFUFRUtQWBwgYkpOkJVVlJhEAAAMGAwQGCwAAAAAAAAAAEQISAAEhAxMEMSIUQTIFBlFh kaFSFcGi0mOToyRUZCYX/9oADAMBAAIRAxEAPwDntVed9KUhP3unZk5zFV9c2bVR3SQMkLZIioaR OuQcjhfeXOyQZYtG9ydC/j5t8l27zYwYC1mW+d9KTSQTuondzmJXKQwsYmokgCp41UUiMwBcQG4Q 2tRgw67EDAW1E09PM0rl+Vql3LJhRf8ATpF9KcXjgFBEdVzucMyYbQ4WzPjXOdtw+8PbndMURO6A RK43id09DbFy9d8LJYSyz7csyZmEz5ZDDmMEXxwBzD9pk67FPfCp3W3F/oln4Z3YX22sGu4J9qX4 UpmO/p5mcncXyljlk7epGTIEinh/t5mwtuAA5DsXFNj1W7NpznbTrOfcOdMTIpiIDnMlwZu2Lmr9 9d8Lff2xiW5XS3VVlpkzCVyYYPB8Y4bG3bj4shU+WcxgcWUM3Zbw36dGGd993Tax33klY2p09WCq lJeDgFUcAAdgNlkrUpchaepQdzJ/u/231NoP63+J8lnfrPeesxlvFkU7RHMY7bg2jdru8Rnfjlva ejO06T5JRmU9PSy1ApIxyLCGO6rbgzRtSpwrVEN4esPS3//Z ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/drpSP.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAI0AAAIDAAAAAAAAAAAAAAAA AAMEBQYHAQACAgMAAAAAAAAAAAAAAAAEBQMHAgYIEAAABAQFAwMFAAAAAAAAAAABAgMEERITBQAh MRQGUSIWQTIH0nOjZSYRAAAEBAMDBw0BAAAAAAAAAAERAgMAEgQFITETQSIUUWFxwdFTFZGhsTKS otJjoyRkBiYX/9oADAMBAAIRAxEAPwCNf8mZ294oyUbuVFU4RMkmBijMUDZDMHXCaourDCxQozDo 7YsK1fo9dcaVNS0toErMgUoQHBQpx3R2hywt5pbgyFo8j9kPqwP45Tc/m7Ya/wCa3LvGfbV8EMI8 nZLtHTwrdyCbSnOUyYAc1U0oShNnD1wQi6srQpYGSCPLbhywqqf0euYqmaZS2pn55SUJBImYZhlw wyzjT1+T2tL46SsVtv1utvJ4qAqVyommsQgqnOARNmUTAIQHoOKavFH/AETrzza1tbhEAiAjIgO2 MrPaq16nQ4hpxaBMhSZZiHpi1ca+QeGI2Vqlfb9aC3MhZVSgsitAA0icA7h6jjRLva3l1S1UrTgN COGAwyCxXTuXfIMAunNODueR2C4NbxblLcx3m/XTMnSSrIgVKpAIdxggWPrh5abbWJs9ehTawUrQ lDExJwTLrhXU2mvRVMoU2sFrnlDExJJiXQGcYo88c3B9/sd3lUr0qmgQjNnpDHRrvDTDPJNzkcLK DxzQTwvE6WMunqyZiZS4ZmZbTgH8h+t/BiP7P5fuwd/S/l/Wg6Xjm3Xo7Hadm6ko09eyeGWvtjiR PDSiUkuB5FzH1QC945rt6nE6u9pzas+W/IeOXrS7M4//2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/drpEN.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAIgAAAEFAAAAAAAAAAAAAAAA AAUBAgMEBgEAAwEBAQAAAAAAAAAAAAAAAwQGAgEFEAAABQIEAwYHAAAAAAAAAAABAgMEBRESABMV BiEiFDFBYTIzFlHBgmMkNCYRAAECBAMHAwQDAAAAAAAAAAERAgASAwQxQRMhUWGBIhQFkcEy8HGh 0UJiJP/aAAwDAQACEQMRAD8AWcVfQsLr5It3KxqdeqNFlTdKNgKNLl0wOU5Cj2gYQp44btLTuHSt e0O3Ep7RqvPSYHua6V2Dk2esDH+5mbCKVljt3CyKSUcvkoEKdYxZZPMRApbgqYA84V4d1cco2j6t y+3BAczEnDZD1xaPoWVK8chZWJDQPko3jD8mLISboIXXFId+m3NXJQOkQFlbRLdYXMoIluC4Lq4z oN1dOdn3Xp9UgLreu1gcablcpDU60GcuP0YO6ortSMNuFTfiG2hvEzWPIwSdOjAAWGOKlKgURAQ5 q/Dswn2te4eG0iXHcB8ef5iv8bfWNvaf6KAlKq91RJ9uxGZkYcoDNpRRGfnp6Y3+SOiHraIMtPOI sqqTgj5O9qVRvxBICBwE1MCpePual1Uog9bR1cUyiku/MeOo+Ltq/brTc50jQ5JDvXjGvcr7pB8y fO97JLkMgcI/cZmzcjFBqUhgUsEOU5DEGg3By17K40La4TSKzrsamH7X2iZr+Q8YbilcNptFPqLj qElxTYDm0tOG9YxEz7bon7g6G2o5XX5NK99ub8sejb9wh0p+Mq+0RFaVBqJwX2XjErzQ+gV1DpNM y2ufn5eRk2/i3XcttvpV4U8uB09XWMk2pmizc84branbs1F0f4Ksi/1Xp9IZ/Pe3w/S9q3mp6Wn5 lSXfburZX6fDBndzqBZ58vlNyzhEaUpSVOSR/9k= ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/drpFR.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAIoAAQEBAQAAAAAAAAAAAAAA AAcGCAkBAAMBAQEAAAAAAAAAAAAAAAUGBwMECBAAAAMFBwIFBQAAAAAAAAAAAQIDERITBAUAITEU FQYWIgdBMlKzNrJzhHU3EQAABAMGAgcJAAAAAAAAAAAAARIDEQIEMUFRIhMFIYFhwTKyFDQ18HGh gjODsxUG/9oADAMBAAIRAxEAPwCbq/cOh0Wqq0ebSmTTSJkymMmQgkaqUpgYInAcDB4WM02zPvtE 5KcsDxM7uGA4HtxaanOQyOJe2IY919rNy7P2tObvqqsqelySJZhYkuoc6wkOIAAFKZMoCN/qsCcN BGZ3Bh26jnrX5WW4KnsjZ1gll96UmZkZ2oJpLghIwowGKQDDGM6V0H77wvtgT8pymeAaaj+OrWah qnmORTy08ThkJRxy4WWgo7gfOp37kp7KVqtsvkpPm7xiJ7j5qbl3SHRjvx/C9wfr0vqJaXVfYmFc /kPVGPf1DAVJ+L7i/C94bDJPpzchct29XoPv/jIIk9w/On1LTdRaSJmIEdrAca/1YMZZoZ8YgtPU T0Kh8B5ac8OrMlXTCIvq3z3RV+R6vx1wMzqGZyUK5j8XodwxsNnhDMCtLrahaCl3IirlDiIdLjWW mIGRynRmnIMPHofZdj5W2zJELoA07+31ZF6+pmRHUVZmRHjZ2oXWj//Z ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/favoris.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAGgAAQEBAAAAAAAAAAAAAAAA AAQDBQEBAQEAAAAAAAAAAAAAAAAAAAIDEAABAgMGBAQHAAAAAAAAAAABAgMREgQAISITBRUxQUIU YYEzNDJSYpIkJWURAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AEWloI3qDTmoO6eBjaQF BV96hKVphDpS40Yxvm8DYF2AGq0ofYD2etg00XDB9ynaUkDElxTakkCHV0m+8RSQzqlWljTA0yS2 /SjvTTrfcTVU4diXHXAlwOkpS6pSkzYuHMWB6dLWnTl0Qq3s5ZnNQXHSqeYKgCVzhF0soXGXqjis FtU7Pb6jcJ+xk/Iy8yMnP0sUPmhy43WA7mxbe17fb5z2uTLDNxejl35kZpcvFHhfYKfrNk/jdr9f tsv7/g87B//Z ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/imprimer.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAGgAAAEFAAAAAAAAAAAAAAAA AAYBAgMEBQEBAQEAAAAAAAAAAAAAAAAAAAIDEAABAwIFAwEJAAAAAAAAAAADAQIEERIAIRMUBTEi MhVRYXEjNCVlpQYRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AE5KS+Hx0uWJEUkcJCsR 1VarmMVyVoqZZYloyJfJ8pGFJe043kjDKS13HShjcoWq5U1VLZRaZLX4YAgwGJ/QklvAWBGeJjDw pZCuMlaoNBttRyvY1tdRe51UTAD8yRxJUmGBRJUkZ2suJxLWo87HNzex6Ep3dbq+2uAKopuROyaB 5QpKjGaJhkE/TVqiGXMerWveqeeAbynpuvH3m43NhNDa7m+yrL67bOlbPLAVPtP5T9pgJ4/peyl6 G60tVN19XudW0dOvzvGzplT3VwH/2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/amis.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAG0AAAMBAQAAAAAAAAAAAAAA AAMFBgQHAQEBAQAAAAAAAAAAAAAAAAAAAgMQAAIBAgMFAg8AAAAAAAAAAAECAxEEIRIFADETFAZB IlFxgZGhsVKSIzPTJBVVBxEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AFq+pJpGnT6jI hkWECkakAlmYKoqdwqcTtLRG6b1xqN67xz8tAygMhyLlIrQ1aa6hAO6gFfRsDdOoL4xtKZrZo+HI wcLFRXikgXEi8aMgibcZFPqIbepdetNEtFFzDzUl1mRLY4K6igfMSCKUPgx89A57o+rxW0rQiIWi zH5kD3AJYt3Vb7uFQqhiAxOHb2nYKhbmsIm5iuWK5HF49afFs8M/PNTfu46+L2gJ1TZ9MS6ksmua hcQXRiXhxRrVRECwFMsTb2zHE18mwJPx/wDP/wBrde630NgtzY5bxBJqdy160MogJWCqx54jIRSE LWoQd6u/DYP/2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/handicap-visuel.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAGEAAAIDAQAAAAAAAAAAAAAA AAAGAgMEBQEBAQEAAAAAAAAAAAAAAAAAAAIDEAACAQQCAQQDAAAAAAAAAAABAgMAERIEIQUxQWEi E4FSBhEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8Ak7pEjSSMEjUXZ2NgAPUk1LRgXvep ab6BtKJfOLBl+P7XIAt7+KC9Oy0HhfYWdDrxuInlvZA5IW2R4PJAvQcn+lMmekqq2zHk7P16KWMp UXV+OCEPOLcGgX2l2Oz2cezlLtaMDSjSV1zRlLZAAI1gG+KA+fagYIus3F6KbTkQOHkEkWjmRhri RWMH2eTdQR+beKBgoCgKD//Z ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/taille-plus.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAGsAAAIDAAAAAAAAAAAAAAAA AAIGAwUHAQEBAQEAAAAAAAAAAAAAAAABAAIDEAABAgQFAwIHAQAAAAAAAAABAgMREgQFACETFAYi FgcxFUFhcYEyYiMmEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAMAwEAAhEDEQA/AJnXG2W1vOqCGm0l a1qyASkRJP0GMuhX4P5BsXP6WsqrIl9sULoaeaqkoQ51iKVgIWvpVAgRMcjliEq/aulC+Hy07MKa oFG90qEr5KQE5jPNacxliJL8zX12y8ErWKSZVyu6kWujbQCVqVUxCwkJzJ0wuHzhigrPOCXGn435 EttEzZ7lZbPfbYzbHUXekNHrV9E2AHECZQVMAAf2XnhEa5S+P+I0dPX0jFqpRS3F9D9Uzt2AhQaW hxLUobALYUiISY+pwNYDlXZvu3HO6I+47z/Px3GnvYpljpfzmjLLq/b44kHmfZevYu7Y7vft+xae 51d9ESybbq9Yfl0+kcQNeIv/2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/images/icones/taille-moins.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERER FBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAFgAWAwERAAIRAQMRAf/EAGsAAAIDAQAAAAAAAAAAAAAA AAAEAwUHBgEBAQEBAAAAAAAAAAAAAAAAAAECAxAAAAQFAQYGAwAAAAAAAAAAEQISEwABAwQFFSFB IhQGFlGBMlJiIzM0BxEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhEDEQA/AGIy6CAICC+vLfHW VzkLsyLW0pHr1z+2nSLMxp+UpQGPfzPqCt1Jkclhs5mj5DXLannbYlpkKpKlnOdY0qloU9vVKelM kp0ptymXYOwBipGx8vT5blRO0hpTh3EgkXFLV8lK3iMRVZ1XoXbuR7mHQGZ6gl4WRkP4PsDxTugE 7jtLXunXU64xcaA29+s0V0W+BCEg7sH08UB0kB//2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/en/images/site/enTeteImprim.jpg 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 CgUCgUH/2Q== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/globals.css * { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; FONT-STYLE: normal; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; BORDER-TOP: = medium none; FONT-WEIGHT: normal; BORDER-RIGHT: medium none; = TEXT-DECORATION: none; PADDING-TOP: 0px } IMG { DISPLAY: block } BODY { TEXT-ALIGN: center; BACKGROUND-COLOR: #ffffff; HEIGHT: 100%; COLOR: = #000000; FONT-SIZE: 1em } A { COLOR: #000000; TEXT-DECORATION: none } A:link { COLOR: #000000; TEXT-DECORATION: none } A:visited { COLOR: #000000; TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } UL { LIST-STYLE-TYPE: square } UL UL { LIST-STYLE-TYPE: disc } UL UL UL { LIST-STYLE-TYPE: none } LABEL { FONT-STYLE: italic; COLOR: #334d55; FONT-SIZE: 100% } STRONG { FONT-WEIGHT: bold } B { FONT-WEIGHT: bold } EM { FONT-STYLE: italic } I { FONT-STYLE: italic } .ajusteur { LINE-HEIGHT: 0px; HEIGHT: 0px; COLOR: #ffffff; CLEAR: both; FONT-SIZE: = 1px } .imageDroite { MARGIN-BOTTOM: 7px; FLOAT: right; MARGIN-LEFT: 7px } .imageGauche { MARGIN-BOTTOM: 7px; FLOAT: left; MARGIN-RIGHT: 7px } P.legendeGauche { POSITION: relative; TEXT-ALIGN: inherit; PADDING-BOTTOM: 6px; = FONT-STYLE: italic; PADDING-RIGHT: 20px; FLOAT: left; FONT-SIZE: 11px = !important; FONT-WEIGHT: bold } P.legendeDroite { POSITION: relative; TEXT-ALIGN: inherit; PADDING-BOTTOM: 6px; = FONT-STYLE: italic; PADDING-LEFT: 15px; FLOAT: right; FONT-SIZE: 11px = !important; FONT-WEIGHT: bold } P.legendeDroite IMG { PADDING-BOTTOM: 5px; DISPLAY: block !important } P.legendeGauche IMG { PADDING-BOTTOM: 5px; DISPLAY: block !important } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/ecran-en.css #page { Z-INDEX: 99; TEXT-ALIGN: left } #page #entete { CLEAR: both } #page #menu { WIDTH: 20%; DISPLAY: block; FLOAT: left } #page #contenu #articles { WIDTH: 100% } #page #contenu #articles .news { =09 } #animFond { Z-INDEX: 0; POSITION: absolute; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; = BACKGROUND-COLOR: #000000; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; = PADDING-RIGHT: 0px; HEIGHT: 100%; TOP: 0px; PADDING-TOP: 0px; LEFT: 0px } #versionFlash { POSITION: fixed; TEXT-ALIGN: left; MARGIN: 5px 0px 0px; COLOR: #5e7a05; = FONT-SIZE: 12px; LEFT: 23% } #versionFlash A { COLOR: #99cc00; FONT-SIZE: 12px; TEXT-DECORATION: underline } #versionFlash A:link { COLOR: #99cc00; FONT-SIZE: 12px; TEXT-DECORATION: underline } #versionFlash A:visited { COLOR: #99cc00; FONT-SIZE: 12px; TEXT-DECORATION: underline } BODY { BACKGROUND-COLOR: #000000; WIDTH: auto; HEIGHT: auto } #colG { Z-INDEX: 103; POSITION: absolute; TEXT-ALIGN: left; TOP: 0px; LEFT: 0px } #colG A.histoire { BACKGROUND-IMAGE: url(/en/images/accueil/histoire-patrimoine.jpg); = TEXT-INDENT: -5000px; WIDTH: 221px; DISPLAY: block; BACKGROUND-REPEAT: = no-repeat; BACKGROUND-POSITION: left 50%; HEIGHT: 24px } #colG A.histoire:hover { BACKGROUND-IMAGE: = url(/en/images/accueil/histoire-patrimoine-hover.jpg); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left 50% } #colG A.tourisme { BACKGROUND-IMAGE: url(/en/images/accueil/tourisme.jpg); = BACKGROUND-COLOR: #000000; TEXT-INDENT: -5000px; WIDTH: 221px; DISPLAY: = block; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left 50%; = HEIGHT: 24px } #colG A.tourisme:hover { BACKGROUND-IMAGE: url(/en/images/accueil/tourisme-hover.jpg); = BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left 50% } .accueil { TEXT-ALIGN: center; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #000000; = PADDING-LEFT: 0px; WIDTH: 221px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: = no-repeat; BACKGROUND-POSITION: left 50%; HEIGHT: 17px; COLOR: #ffffff; = FONT-SIZE: 9px; PADDING-TOP: 0px } .accueil P { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 2px } #colG .accueil A { MARGIN: 2px 5px 0px 0px; COLOR: #999999; FONT-SIZE: 9px } #colG .accueil A:hover { COLOR: #ffffff; TEXT-DECORATION: none } .planBrochure { BACKGROUND-IMAGE: url(/images/accueil/plan-brochure.jpg); TEXT-ALIGN: = center; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #000000; PADDING-LEFT: = 0px; WIDTH: 221px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; = BACKGROUND-POSITION: left 50%; HEIGHT: 17px; COLOR: #ffffff; FONT-SIZE: = 9px; PADDING-TOP: 0px } .planBrochure P { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 2px } #moteurRecherche { BACKGROUND-COLOR: #000000; MARGIN: 0px; WIDTH: 221px; HEIGHT: 23px } #recherche { PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 4px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FLOAT: left; PADDING-TOP: 3px } #recherche A { COLOR: #ffffff; FONT-SIZE: 9px } #rechercher { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 13px; FLOAT: = right; PADDING-TOP: 0px } #rechercher A { PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; PADDING-RIGHT: 0px; COLOR: = #ffffff; FONT-SIZE: 9px; PADDING-TOP: 0px } #requete { BORDER-BOTTOM: medium none; TEXT-ALIGN: center; BORDER-LEFT: medium = none; BACKGROUND-COLOR: #969696; FONT-STYLE: normal; WIDTH: 108px; = FONT-FAMILY: Interstate-LightCondensed; HEIGHT: 15px; COLOR: #ffffff; = FONT-SIZE: 13px; BORDER-TOP: medium none; BORDER-RIGHT: medium none } .espaceur { MARGIN: 0px; HEIGHT: 20px !important } #liensDirect { TEXT-ALIGN: left; WIDTH: 221px; TOP: auto; LEFT: 0px } #liensDirect LI { MARGIN: 3px 0px 0px; WIDTH: 188px; DISPLAY: block; FLOAT: left; HEIGHT: = 15px } #liensDirect .pro { LIST-STYLE-TYPE: none } #liensDirect .pratique { LIST-STYLE-TYPE: none } #liensDirect .pro .noir A { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #000000; = LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; WIDTH: 188px; PADDING-RIGHT: = 5px; DISPLAY: block; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: = 15px; COLOR: #ffffff; FONT-SIZE: 10px; PADDING-TOP: 2px } #liensDirect .pratique .orange A { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ff8a00; = LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; WIDTH: 188px; PADDING-RIGHT: = 5px; DISPLAY: block; HEIGHT: 15px; FONT-SIZE: 10px; FONT-WEIGHT: bold; = PADDING-TOP: 0px } #liensDirect .pratique .blanc A { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; = LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; WIDTH: 188px; PADDING-RIGHT: = 5px; DISPLAY: block; HEIGHT: 15px; FONT-SIZE: 10px; PADDING-TOP: 0px } #liensDirect .pratique LI A { Z-INDEX: 106; MARGIN: 0px 5px 0px 0px; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif; COLOR: #000000; FONT-SIZE: 10px; TEXT-DECORATION: = none } #liensDirect .pratique LI .conquesImages { MARGIN: 0px 5px 0px 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; = COLOR: #000000; FONT-SIZE: 11px; TEXT-DECORATION: none } #liensDirect .pratique .orange A:hover { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 0px; = WIDTH: 220px; PADDING-RIGHT: 5px; DISPLAY: block; HEIGHT: 15px; = PADDING-TOP: 0px } #liensDirect .pratique .blanc A:hover { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 0px; = WIDTH: 220px; PADDING-RIGHT: 5px; DISPLAY: block; HEIGHT: 15px; = PADDING-TOP: 0px } #liensDirect .pro .noir A:hover { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 0px; = WIDTH: 220px; PADDING-RIGHT: 5px; DISPLAY: block; HEIGHT: 15px; COLOR: = #000000; TEXT-DECORATION: none; PADDING-TOP: 2px } #liensDirect .pratique A.rappel { Z-INDEX: 105; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; = PADDING-LEFT: 0px; WIDTH: 220px; PADDING-RIGHT: 5px; DISPLAY: block; = HEIGHT: 15px; COLOR: #000000; TEXT-DECORATION: none; PADDING-TOP: 0px } #liensDirect .pro A.rappel { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 0px; = WIDTH: 220px; PADDING-RIGHT: 5px; DISPLAY: block; HEIGHT: 15px; COLOR: = #000000; TEXT-DECORATION: none; PADDING-TOP: 2px } SPAN { FONT-WEIGHT: bold } #angleG { Z-INDEX: 98; POSITION: absolute; MARGIN: 0px; WIDTH: 61px; HEIGHT: = 61px; TOP: 0px; LEFT: 0px } #angleG A#diapBtnRetour { BACKGROUND-IMAGE: url(/en/images/site/diaporamaRetour.jpg); = TEXT-INDENT: -5000px; WIDTH: 61px; DISPLAY: block; HEIGHT: 61px; CURSOR: = pointer } #diaporama { PADDING-BOTTOM: 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 0px; = PADDING-TOP: 0px } #diaporama A#diapBtn { BACKGROUND-IMAGE: url(/en/images/site/diaporama.gif); Z-INDEX: 111; = POSITION: relative; TEXT-INDENT: -5000px; WIDTH: 17px; DISPLAY: block; = HEIGHT: 17px; TOP: -4px; CURSOR: pointer } #piedPage { Z-INDEX: 101; POSITION: fixed; TEXT-ALIGN: center; BACKGROUND-COLOR: = #000000; MARGIN: 0px; WIDTH: 100%; BOTTOM: 0px; FONT-FAMILY: Verdana, = Arial, Helvetica, sans-serif; HEIGHT: 18px; COLOR: #ffffff; FONT-SIZE: = 10px; LEFT: 0px } * HTML #piedPage { POSITION: absolute } #contactPied { MARGIN: 2px 0px 0px; DISPLAY: block; CLEAR: both } .adSite { DISPLAY: none } #contactPied A { PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: = #ffffff; PADDING-TOP: 0px } #contactPied A#contactMail { BACKGROUND-IMAGE: url(/images/icones/mail.jpg); PADDING-BOTTOM: 0px; = PADDING-LEFT: 24px; PADDING-RIGHT: 5px; BACKGROUND-REPEAT: no-repeat; = BACKGROUND-POSITION: left 50%; PADDING-TOP: 0px } #contactPied A#livreOr { BACKGROUND-IMAGE: url(/images/icones/livre-d-or.jpg); PADDING-BOTTOM: = 0px; PADDING-LEFT: 22px; PADDING-RIGHT: 5px; BACKGROUND-REPEAT: = no-repeat; BACKGROUND-POSITION: left 50%; PADDING-TOP: 0px } #cm_divTelecommande { Z-INDEX: 5000; POSITION: absolute; MARGIN: 0px 0px 400px; WIDTH: 800px; = LEFT: 0px } .haut { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; DISPLAY: = block; FLOAT: right; HEIGHT: 2px; PADDING-TOP: 3px } .haut A { BACKGROUND-IMAGE: url(/images/puces/haut.gif); PADDING-BOTTOM: 0px; = BACKGROUND-COLOR: #ffffff; TEXT-INDENT: 15px; MARGIN: 0px; PADDING-LEFT: = 15px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; = BACKGROUND-POSITION: left 50%; FONT-SIZE: 0.7em; VERTICAL-ALIGN: = text-bottom; PADDING-TOP: 0px } .haut A:hover { BACKGROUND-IMAGE: url(/images/puces/haut_over.gif) } I { FONT-STYLE: italic; FONT-WEIGHT: normal } EM { FONT-STYLE: italic; FONT-WEIGHT: normal } SUP { LINE-HEIGHT: 1; VERTICAL-ALIGN: super } * + HTML SUP { VERTICAL-ALIGN: top } P { LINE-HEIGHT: 1.5 } .accroche { COLOR: #ff8a00; FONT-SIZE: 1.2em; FONT-WEIGHT: bold } .intro { BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 10px; = BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 20px; WIDTH: 660px; = PADDING-RIGHT: 20px; PADDING-TOP: 0px } .intro H1 { TEXT-ALIGN: left; PADDING-BOTTOM: 10px; TEXT-TRANSFORM: uppercase; = MARGIN: 0px 0px 10px; PADDING-LEFT: 20px; PADDING-RIGHT: 10px; = FONT-FAMILY: "Times New Roman", Times, serif !important; COLOR: #cccccc; = FONT-SIZE: 1.3em; FONT-WEIGHT: bold !important; PADDING-TOP: 10px } .intro H1:first-letter { TEXT-TRANSFORM: uppercase; FONT-FAMILY: "Times New Roman", Times, serif = !important; COLOR: #808080; FONT-WEIGHT: bold !important } .intro P { TEXT-ALIGN: justify; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #333333; FONT-SIZE: 0.7em; FONT-WEIGHT: normal } .actus { PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 20px; = WIDTH: 660px; PADDING-RIGHT: 20px; PADDING-TOP: 0px } .actu { BORDER-BOTTOM: #cccccc thin solid; PADDING-BOTTOM: 12px; MARGIN: 10px = 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 10px } .sansHaut { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = BORDER-RIGHT: medium none; PADDING-TOP: 10px } .actu P { TEXT-ALIGN: justify; MARGIN: 10px 0px; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif; COLOR: #333333; FONT-SIZE: 0.7em } .actu P U { TEXT-ALIGN: justify; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #333333; TEXT-DECORATION: underline } .imgDroite { MARGIN: 5px 0px 8px 20px; DISPLAY: block; FLOAT: right } .imgGauche { MARGIN: 5px 20px 8px 0px; DISPLAY: block; FLOAT: left } .imgHaut { MARGIN: 0px 0px 10px } .actu P A { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000 = !important; FONT-WEIGHT: bold; TEXT-DECORATION: none } .actu P A:hover { TEXT-DECORATION: underline } .actu H1 { TEXT-TRANSFORM: uppercase; MARGIN: 0px 10px 10px 0px; DISPLAY: block; = FONT-FAMILY: "Times New Roman", Times, serif; COLOR: #7a7979; FONT-SIZE: = 1.2em; FONT-WEIGHT: bold } .actu H1:first-letter { TEXT-TRANSFORM: uppercase; FONT-FAMILY: "Times New Roman", Times, serif = !important; COLOR: #000000 !important; FONT-WEIGHT: bold !important } .actu H2 A { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; = MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: = block; FONT-FAMILY: "Times New Roman", Times, serif; COLOR: #333333; = FONT-SIZE: 1em; FONT-WEIGHT: bold; PADDING-TOP: 0px } .actu H2 { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; = MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: = block; FONT-FAMILY: "Times New Roman", Times, serif; COLOR: #333333; = FONT-SIZE: 1em; FONT-WEIGHT: bold; PADDING-TOP: 0px } .actu H2 A { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 10px } .actu H3 { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; = MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = FONT-FAMILY: "Times New Roman", Times, serif; COLOR: #7a7979; FONT-SIZE: = 0.9em; FONT-WEIGHT: bold; PADDING-TOP: 0px } .actu H3 A { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; = MARGIN: 0px 0px 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = FONT-FAMILY: "Times New Roman", Times, serif; COLOR: #7a7979; FONT-SIZE: = 0.9em; FONT-WEIGHT: bold; PADDING-TOP: 0px } .actu UL { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; PADDING-LEFT: 35px; = PADDING-RIGHT: 0px; PADDING-TOP: 0px } .actu UL LI { TEXT-ALIGN: justify; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #333333; FONT-SIZE: 0.7em } .cartoucheGauche { PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; DISPLAY: = block; FLOAT: left; HEIGHT: auto; PADDING-TOP: 0px } .article P.cartoucheGauche { PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 10px; DISPLAY: = block; FLOAT: left; HEIGHT: auto; PADDING-TOP: 0px } .cartoucheGauche P { TEXT-ALIGN: left; PADDING-BOTTOM: 15px; FONT-STYLE: italic; = PADDING-LEFT: 2px; PADDING-RIGHT: 0px; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif; CLEAR: both; FONT-SIZE: 0.7em; PADDING-TOP: 0px } .cartoucheDroite { PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; DISPLAY: = block; FLOAT: right; HEIGHT: auto; PADDING-TOP: 0px } .article P.cartoucheDroite { PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; DISPLAY: = block; FLOAT: right; HEIGHT: auto; PADDING-TOP: 0px } .cartoucheDroite P { TEXT-ALIGN: right; PADDING-BOTTOM: 15px; FONT-STYLE: italic; = PADDING-LEFT: 0px; PADDING-RIGHT: 2px; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif; FONT-SIZE: 0.7em; PADDING-TOP: 0px } .paragraphe2col { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 660px; = PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: auto; PADDING-TOP: 0px } .paragraphe2col .col1 { PADDING-BOTTOM: 0px; MARGIN: 15px 0px; PADDING-LEFT: 0px; WIDTH: 300px; = PADDING-RIGHT: 0px; FLOAT: left; HEIGHT: auto; PADDING-TOP: 0px } .paragraphe2col .col2 { PADDING-BOTTOM: 0px; MARGIN: 15px 0px; PADDING-LEFT: 0px; WIDTH: 300px; = PADDING-RIGHT: 0px; FLOAT: left; HEIGHT: auto; PADDING-TOP: 0px } .paragraphe2col .col1 P { TEXT-ALIGN: left } .paragraphe2col .col2 P { TEXT-ALIGN: left } #piedOutils { WIDTH: 750px; DISPLAY: block; HEIGHT: 1px; CLEAR: both } #outils { POSITION: relative; WIDTH: 22px; BOTTOM: 220px; DISPLAY: block; FLOAT: = right; HEIGHT: 1px } #outils UL { BACKGROUND-COLOR: #858181; LIST-STYLE-TYPE: none; WIDTH: 22px; = LIST-STYLE-IMAGE: none } #outils UL LI { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 22px; = PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/ec-siteLarge.css #menuLigne { Z-INDEX: 103; POSITION: absolute; BACKGROUND-COLOR: #d3d0d0; WIDTH: = 728px; DISPLAY: block; HEIGHT: 18px; TOP: 67px; LEFT: 23% } #menuLigne UL { TEXT-ALIGN: center; BACKGROUND-COLOR: #d3d0d0; WIDTH: 728px; DISPLAY: = block; HEIGHT: 18px } #menuLigne UL LI { LIST-STYLE-TYPE: none; FONT-FAMILY: Arial, Helvetica, sans-serif; = FLOAT: left; HEIGHT: 18px; COLOR: #686767; FONT-SIZE: 10px; FONT-WEIGHT: = bold; LIST-STYLE-IMAGE: none; BORDER-RIGHT: #686767 1px solid } #menuLigne UL LI A { PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: = inline-block; HEIGHT: 18px; COLOR: #686767; FONT-WEIGHT: bold; = TEXT-DECORATION: none; PADDING-TOP: 2px } #menuLigne UL LI A:hover { BACKGROUND-COLOR: #858181; HEIGHT: 19px; COLOR: #000000 } #menuLigne UL LI A.rappel { BACKGROUND-COLOR: #858181; HEIGHT: 19px; COLOR: #000000 } #ssMenuLigne { PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #858181; MARGIN: 3px 22px 0px = 0px; PADDING-LEFT: 0px; WIDTH: 728px; PADDING-RIGHT: 0px; DISPLAY: = block; HEIGHT: auto; PADDING-TOP: 0px } #ssMenuLigne UL { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; WIDTH: 694px; = PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; PADDING-TOP: 0px } #ssMenuLigne UL LI { LIST-STYLE-TYPE: none; DISPLAY: inline; FONT-FAMILY: Arial, Helvetica, = sans-serif; COLOR: #ffffff; FONT-SIZE: 10px; LIST-STYLE-IMAGE: none; = BORDER-RIGHT: #ffffff 1px solid } #ssMenuLigne UL LI A { TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 8px; = PADDING-RIGHT: 8px; DISPLAY: inline-block; COLOR: #ffffff; = TEXT-DECORATION: none; PADDING-TOP: 3px } #ssMenuLigne UL LI A:hover { COLOR: #000000; TEXT-DECORATION: none } #ssMenuLigne UL LI A.ssMenuRappel { COLOR: #000000; TEXT-DECORATION: none } .imgEnTete { BACKGROUND-COLOR: #858181; MARGIN: 0px 22px 0px 0px; WIDTH: 728px; = FLOAT: none; HEIGHT: 64px; LEFT: 0px !important } .imgEnTete IMG { PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 3px; PADDING-LEFT: 0px; WIDTH: = 722px; PADDING-RIGHT: 0px; HEIGHT: 64px; PADDING-TOP: 3px } #fondContenu { PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #858181; PADDING-LEFT: 0px; = WIDTH: 728px; PADDING-RIGHT: 0px; FLOAT: left; PADDING-TOP: 0px } #rubrique { TEXT-ALIGN: left; OVERFLOW-Y: auto; BACKGROUND-COLOR: #ffffff; MARGIN: = 0px 0px 0px 3px; WIDTH: 722px; HEIGHT: 520px } .rubriqueTitre { TEXT-ALIGN: left; DISPLAY: block } #rubriqueCouleur { TEXT-ALIGN: left; BACKGROUND-COLOR: #ff8a00; WIDTH: 165px; DISPLAY: = block; HEIGHT: 32px } .rubriqueTitre H1 { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; = MARGIN: 0px 0px 10px; PADDING-LEFT: 20px; PADDING-RIGHT: 0px; = FONT-FAMILY: "Times New Roman", Times, serif !important; COLOR: #7a7979; = FONT-SIZE: 1.3em; FONT-WEIGHT: bold !important; PADDING-TOP: 10px } .rubriqueTitre H1:first-letter { TEXT-TRANSFORM: uppercase; COLOR: #000000 } .tarifs { MARGIN: 0px 0px 10px } .tarifs TD { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #333333; = FONT-SIZE: 0.8em } * + HTML .tarifs TD STRONG { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000 } * + HTML .tarifs TD B { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000 } * + HTML .tarifs TD { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #333333; = FONT-SIZE: 0.9em } A.zoom IMG { BACKGROUND-IMAGE: url(/images/icones/signal-zoom.jpg); PADDING-BOTTOM: = 24px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: block; = BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right bottom; CURSOR: = pointer; PADDING-TOP: 0px } #gsCartouchefr { Z-INDEX: 1000; POSITION: absolute; TEXT-ALIGN: center; WIDTH: 190px; = FLOAT: none; HEIGHT: 70px; FONT-SIZE: 10px; TOP: 0px; LEFT: 275px } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/lightbox-en.css #lightbox { Z-INDEX: 104; POSITION: absolute; TEXT-ALIGN: center; LINE-HEIGHT: 0; = WIDTH: 100%; LEFT: 0px } #lightbox IMG { WIDTH: auto; HEIGHT: auto } #lightbox A IMG { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } #outerImageContainer { POSITION: relative; BACKGROUND-COLOR: #fff; MARGIN: 0px auto; WIDTH: = 250px; HEIGHT: 250px } #imageContainer { PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; = PADDING-TOP: 10px } #loading { POSITION: absolute; TEXT-ALIGN: center; LINE-HEIGHT: 0; WIDTH: 100%; = HEIGHT: 25%; TOP: 40%; LEFT: 0% } #hoverNav { Z-INDEX: 10; POSITION: absolute; WIDTH: 100%; HEIGHT: 100%; TOP: 0px; = LEFT: 0px } #imageContainer > #hoverNav { LEFT: 0px } #hoverNav A { OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium } #prevLink { BACKGROUND-IMAGE: url(data:en/images/LB/gif;base64,AAAA); WIDTH: 49%; = DISPLAY: block; HEIGHT: 100% } #nextLink { BACKGROUND-IMAGE: url(data:en/images/LB/gif;base64,AAAA); WIDTH: 49%; = DISPLAY: block; HEIGHT: 100% } #prevLink { FLOAT: left; LEFT: 0px } #nextLink { FLOAT: right; RIGHT: 0px } #prevLink:hover { BACKGROUND: url(../../enr/images/LB/prevlabel.gif) no-repeat left 15% } #prevLink:hover:visited { BACKGROUND: url(../../enr/images/LB/prevlabel.gif) no-repeat left 15% } #nextLink:hover { BACKGROUND: url(../../en/images/LB/nextlabel.gif) no-repeat right 15% } #nextLink:hover:visited { BACKGROUND: url(../../en/images/LB/nextlabel.gif) no-repeat right 15% } #imageDataContainer { BACKGROUND-COLOR: #fff; MARGIN: 0px auto; WIDTH: 100%; FONT: 10px/1.4em = Verdana, Helvetica, sans-serif; OVERFLOW: auto } #imageData { PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; COLOR: = #666; PADDING-TOP: 0px } #imageData #imageDetails { TEXT-ALIGN: left; WIDTH: 70%; FLOAT: left } #imageData #caption { FONT-WEIGHT: bold } #imageData #numberDisplay { PADDING-BOTTOM: 1em; DISPLAY: block; CLEAR: left } #imageData #bottomNavClose { PADDING-BOTTOM: 0.7em; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; = OUTLINE-WIDTH: medium; WIDTH: 66px; FLOAT: right } #overlay { Z-INDEX: 90; POSITION: absolute; BACKGROUND-COLOR: #000; WIDTH: 100%; = HEIGHT: 500px; TOP: 0px; LEFT: 0px } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/librairies/modalbox/modalbox.css #MB_overlay { Z-INDEX: 9999; POSITION: absolute; BACKGROUND-COLOR: #333333 = !important; MARGIN: auto; WIDTH: 100%; HEIGHT: 100%; TOP: 0px; LEFT: 0px } [id]#MB_overlay { POSITION: fixed } #MB_window { Z-INDEX: 10000; BORDER-BOTTOM: 0px solid; POSITION: absolute; = TEXT-ALIGN: left; BORDER-LEFT: 0px solid; BORDER-TOP: 0px solid; TOP: = 0px; BORDER-RIGHT: 0px solid } [id]#MB_window { POSITION: fixed !important } #MB_frame { POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: = 0px; WIDTH: 100%; PADDING-RIGHT: 0px; PADDING-TOP: 0px } #MB_header { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } #MB_content { PADDING-BOTTOM: 6px; PADDING-LEFT: 0.75em; PADDING-RIGHT: 0.75em; = OVERFLOW: auto; PADDING-TOP: 6px } #MB_caption { TEXT-ALIGN: left; PADDING-BOTTOM: 0.5em; MARGIN: 0px; PADDING-LEFT: = 0.75em; PADDING-RIGHT: 2em; FONT: bold 100% "Lucida Grande", Arial, = sans-serif; PADDING-TOP: 0.5em; text-shadow: #FFF 0 1px 0 } #MB_close { POSITION: absolute; PADDING-BOTTOM: 2px; PADDING-LEFT: 3px; = PADDING-RIGHT: 3px; DISPLAY: block; FONT-SIZE: 13px; TOP: 4px; RIGHT: = 5px; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 2px } #MB_close:hover { BACKGROUND: none transparent scroll repeat 0% 0% } #MB_loading { PADDING-BOTTOM: 1.5em; TEXT-INDENT: -10000px; PADDING-LEFT: 1.5em; = PADDING-RIGHT: 1.5em; BACKGROUND: url(spinner.gif) no-repeat 50% 0px; = PADDING-TOP: 1.5em } #MB_frame { PADDING-BOTTOM: 7px; -webkit-border-radius: 7px; -moz-border-radius: = 7px } #MB_window { COLOR: #000 } #MB_content { =09 } #MB_header { =09 } #MB_caption { COLOR: #000 } #MB_close { COLOR: #777 } #MB_close:hover { COLOR: #000 } .MB_alert { TEXT-ALIGN: center; MARGIN: 10px 0px } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/popAmi.css #pageami { WIDTH: 545px } #pageami #enTete { WIDTH: 545px } #pageami #piedPagePop { WIDTH: 545px } #pageami #enTete { BACKGROUND-COLOR: #000000 } #pageami { POSITION: relative; TEXT-ALIGN: left; MARGIN-LEFT: 0px; MARGIN-RIGHT: = auto } #pageami #contenuPop { PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #000000; PADDING-LEFT: 20px; = PADDING-RIGHT: 30px } #pageami #contenuPop H1 { BORDER-BOTTOM: #ff8a00 1px solid; WIDTH: 353px; MARGIN-BOTTOM: 8px; = COLOR: #ff8a00; FONT-SIZE: 14px; FONT-WEIGHT: bold; PADDING-TOP: 17px } #pageami #contenuPop H2 { COLOR: #ff8a00; FONT-SIZE: 12px } #contenuPop UL { PADDING-BOTTOM: 25px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 0px } #contenuPop LI B { COLOR: #999999; FONT-SIZE: 12px } #pageami #contenuPop UL { LINE-HEIGHT: 14px; FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: = #999999; MARGIN-LEFT: 18px; FONT-SIZE: 12px; PADDING-TOP: 3px } #pageami #contenuPop UL LI { LINE-HEIGHT: 14px; FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: = #999999; MARGIN-LEFT: 18px; FONT-SIZE: 12px; PADDING-TOP: 3px } #pageami #contenuPop P { PADDING-BOTTOM: 6px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: = #ffffff; FONT-SIZE: 11px; PADDING-TOP: 5px } #pageami #contenuPop P EM { COLOR: #ffffff } #pageami #contenuPop P STRONG { COLOR: #ffffff } #pageami #contenuPop FIELDSET { BORDER-BOTTOM: #000000 1px solid; POSITION: relative; BORDER-LEFT: = #000000 1px solid; BACKGROUND-COLOR: #d3d0d0; MARGIN-BOTTOM: 8px; = BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; = PADDING-TOP: 8px } #pageami #contenuPop FIELDSET LEGEND { POSITION: absolute; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #ff8a00; = PADDING-LEFT: 12px; WIDTH: 130px; PADDING-RIGHT: 12px; MARGIN-LEFT: = 10px; FONT-SIZE: 13px; TOP: -25px; FONT-WEIGHT: bold; PADDING-TOP: 2px } #pageami #contenuPop FIELDSET P { PADDING-BOTTOM: 12px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; CLEAR: = left; PADDING-TOP: 0px } #pageami #contenuPop FIELDSET LABEL { TEXT-ALIGN: right; FONT-STYLE: normal; WIDTH: 110px; DISPLAY: block; = FLOAT: left; FONT-SIZE: 11px; MARGIN-RIGHT: 6px } #pageami #contenuPop FIELDSET INPUT { WIDTH: 320px; FONT-SIZE: 11px } #pageami #contenuPop FIELDSET SELECT { FONT-SIZE: 11px } #pageami #contenuPop FIELDSET TEXTAREA { WIDTH: 320px; HEIGHT: 80px; FONT-SIZE: 11px } #pageami #contenuPop INPUT.enregistrer { BACKGROUND-COLOR: #000000; MARGIN-TOP: 8px; WIDTH: 170px; DISPLAY: = block; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right center; = HEIGHT: 25px; MARGIN-LEFT: auto; FONT-WEIGHT: bold; MARGIN-RIGHT: auto } #pageami .langfr { BACKGROUND-IMAGE: url(/fr/images/PopAmi/bouton-envoyer.jpg) } #pageami .langfr:hover { BACKGROUND-IMAGE: url(/fr/images/PopAmi/bouton-envoyer-over.jpg) } #pageami .langen { BACKGROUND-IMAGE: url(/en/images/PopAmi/bouton-envoyer.jpg) } #pageami .langen:hover { BACKGROUND-IMAGE: url(/en/images/PopAmi/bouton-envoyer-over.jpg) } #pageami .langes { BACKGROUND-IMAGE: url(/es/images/PopAmi/bouton-envoyer.jpg) } #pageami .langes:hover { BACKGROUND-IMAGE: url(/es/images/PopAmi/bouton-envoyer-over.jpg) } #pageami .langde { BACKGROUND-IMAGE: url(/de/images/PopAmi/bouton-envoyer.jpg) } #pageami .langde:hover { BACKGROUND-IMAGE: url(/de/images/PopAmi/bouton-envoyer-over.jpg) } #pageami #enTete #closeFenetre { TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: = 480px; PADDING-RIGHT: 10px; PADDING-TOP: 0px } #pageami #enTete #closeFenetre A { COLOR: #990000; FONT-SIZE: 11px } #partenaires { BACKGROUND-COLOR: #ffffff; MARGIN: 5px 0px 0px; WIDTH: 545px; HEIGHT: = 68px } #partenaires UL { POSITION: absolute; LEFT: 25% } #partenaires UL LI { LIST-STYLE-TYPE: none; FLOAT: left; LIST-STYLE-IMAGE: none } #partenaires UL LI IMG.aveyron { MARGIN: 20px 0px 0px 15px } #partenaires UL LI IMG.villageFrance { MARGIN: 10px 0px 0px 20px } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/cm_perso_blocInfo.css DIV.cmBlocInfoEncadre IMG { DISPLAY: inline } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin { BORDER-BOTTOM: #000000 thin dashed; BORDER-LEFT: #000000 thin dashed; = PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ebecef; PADDING-LEFT: 15px; = PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: 18px; BORDER-TOP: #000000 = thin dashed; BORDER-RIGHT: #000000 thin dashed; PADDING-TOP: 10px } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A { DISPLAY: block; FLOAT: left; HEIGHT: 13px } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoSupprimer { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_supprimer.gif); = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoVisible { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_acces_plus.gif); = WIDTH: 16px; BACKGROUND-REPEAT: no-repeat } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoInvisible { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_acces_moins.gif);= WIDTH: 16px; BACKGROUND-REPEAT: no-repeat } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoDescendre { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_descendre.gif); = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoMonter { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_monter.gif); = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoAcceder { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_acceder.gif); = WIDTH: 16px; BACKGROUND-REPEAT: no-repeat } DIV.cmBlocInfoEncadre DIV.cmBlocInfoBandeauAdmin A.cmBlocInfoModifier { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_modifier.gif); = WIDTH: 17px; DISPLAY: none; BACKGROUND-REPEAT: no-repeat; MARGIN-LEFT: = 20px } DIV.cmBlocInfoEncadre P.alerte { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/attention.gif); = PADDING-LEFT: 20px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: = 1px 50%; COLOR: #990000; FONT-WEIGHT: bold } DIV.cmBlocInfoBandeauAdmin P.alerte { CLEAR: both; FONT-SIZE: 12px; FONT-WEIGHT: normal } DIV.cmBlocInfoAjouter { MARGIN: 15px; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 13px; = FONT-SIZE: 10px } DIV.cmBlocInfoAjouterSuivant { =09 } DIV.cmBlocInfoAjouter DIV.cmBlocInfoAjouterIntro { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_intro_blocInfo.gi= f); WIDTH: 16px; BACKGROUND-REPEAT: no-repeat; FLOAT: left } DIV.cmBlocInfoAjouter DIV.cmBlocInfoAjouterType { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_fond_ajouter.gif)= ; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FLOAT: = left; HEIGHT: 13px; COLOR: #464646; FONT-SIZE: 10px; PADDING-TOP: 0px } DIV.cmBlocInfoAjouter A.cmBlocInfoAjouter { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_ajouter.gif); = WIDTH: 20px; BACKGROUND-REPEAT: no-repeat; FLOAT: left; TEXT-DECORATION: = none } DIV.cmBlocInfoEncadre DIV.cmTinyMCE { DISPLAY: none } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/cm_perso_blocLien.css DIV.cm_blocLienEncadre { =09 } DIV.cm_blocLienBandeauAdmin { BORDER-BOTTOM: #000000 thin dashed; BORDER-LEFT: #000000 thin dashed; = PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ebecef; PADDING-LEFT: 15px; = PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: 18px; BORDER-TOP: #000000 = thin dashed; BORDER-RIGHT: #000000 thin dashed; PADDING-TOP: 10px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin A { DISPLAY: block; FLOAT: left; HEIGHT: 13px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin = A.cm_blocLienSupprimer { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_supprimer.gif); = WIDTH: 17px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin A.cm_blocLienVisible = { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_acces_plus.gif); = WIDTH: 17px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin = A.cm_blocLienInvisible { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_acces_moins.gif);= WIDTH: 17px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin = A.cm_blocLienDescendre { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_descendre.gif); = WIDTH: 17px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin A.cm_blocLienMonter { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_monter.gif); = WIDTH: 17px } DIV.cm_blocLienEncadre DIV.cm_blocLienBandeauAdmin A.cm_blocLienModifier = { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_acceder.gif); = WIDTH: 16px } DIV.cm_blocLienEncadre P.alerte { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/attention.gif); = PADDING-LEFT: 20px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: = 1px 50%; COLOR: #990000; FONT-WEIGHT: bold } DIV.cm_blocLienAjouter { MARGIN: 15px; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 13px; = FONT-SIZE: 10px } DIV.cm_blocLienAjouterSuivant { =09 } DIV.cm_blocLienAjouter DIV.cm_blocLienAjouterIntro { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_intro_blocLien.gi= f); WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; FLOAT: left } DIV.cm_blocLienAjouter DIV.cm_blocLienAjouterType { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_fond_ajouter.gif)= ; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FLOAT: = left; HEIGHT: 13px; COLOR: #464646; FONT-SIZE: 10px; PADDING-TOP: 0px } DIV.cm_blocLienAjouter A.cm_blocLienAjouter { BACKGROUND-IMAGE: = url(/admin/content_manager/images/cm_interface/bloc_doc_ajouter.gif); = WIDTH: 20px; BACKGROUND-REPEAT: no-repeat; FLOAT: left; TEXT-DECORATION: = none } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/ec-tourisme-en.css #contenu { Z-INDEX: 100; POSITION: absolute; WIDTH: 750px; TOP: 85px; LEFT: 23% } #lien { Z-INDEX: -1; POSITION: absolute; LINE-HEIGHT: 0; BACKGROUND-COLOR: = #d3d0d0; WIDTH: 728px; HEIGHT: 2px; FONT-SIZE: 0px; TOP: 75px; LEFT: 10% } #menuLigne { TOP: 67px } #colG A.tourisme { BACKGROUND-IMAGE: url(/en/images/accueil/tourisme-hover.jpg) } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/styles/print.css * { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; FONT-STYLE: normal; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; = BORDER-TOP: medium none; FONT-WEIGHT: normal; BORDER-RIGHT: medium none; = TEXT-DECORATION: none; PADDING-TOP: 0px } IMG { DISPLAY: block } BODY { BACKGROUND-IMAGE: none; BORDER-BOTTOM: medium none; TEXT-ALIGN: left; = BORDER-LEFT: medium none; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: = #ffffff; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: auto; PADDING-RIGHT: = 0px; HEIGHT: 100%; COLOR: #000000; FONT-SIZE: 8pt; BORDER-TOP: medium = none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; PADDING-TOP: = 0px; LEFT: 0px } IMG { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } #page { MARGIN: 0px 0px 0px 10px; WIDTH: 600px; HEIGHT: auto } #colG { DISPLAY: none } #animFond { DISPLAY: none } #menuLigne { DISPLAY: none } #menuLigne UL { DISPLAY: none } #lien { DISPLAY: none } #ssMenuLigne { DISPLAY: none } #gsCartouchefr { DISPLAY: none } .imgEnTete { DISPLAY: none } #outils { DISPLAY: none } .haut { DISPLAY: none } #rubriqueCouleur { DISPLAY: none } #diaporama { DISPLAY: none } #langue A { DISPLAY: none } #menuLigne { Z-INDEX: -1; BACKGROUND-COLOR: #ffffff } #langue { MARGIN: 30px 0px 0px } A.zoom IMG { BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; PADDING-TOP: 0px } #contenu { POSITION: absolute; WIDTH: 600px; DISPLAY: block; HEIGHT: auto; CLEAR: = both; TOP: 90px; LEFT: 0px } .intro { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: = 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 30px 0px 0px; PADDING-LEFT: 0px; = WIDTH: 600px; PADDING-RIGHT: 0px; HEIGHT: auto; BORDER-TOP: medium none; = BORDER-RIGHT: medium none; PADDING-TOP: 0px } .intro H1 { PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; MARGIN: 0px; = PADDING-LEFT: 0px; WIDTH: 600px; PADDING-RIGHT: 0px; HEIGHT: auto; = COLOR: #000000; PADDING-TOP: 0px } .actus { WIDTH: 600px } #fondContenu { BACKGROUND: none transparent scroll repeat 0% 0%; HEIGHT: auto; CLEAR: = both } #rubrique { POSITION: relative; PADDING-BOTTOM: 15px; MARGIN: 0px; PADDING-LEFT: = 0px; WIDTH: 600px; PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: auto = !important; OVERFLOW: visible; TOP: 10px; PADDING-TOP: 20px; LEFT: 10px } #logo { DISPLAY: block; FLOAT: left } #contactPied { POSITION: absolute; DISPLAY: block; COLOR: #000000; TOP: 50px; LEFT: = 250px } #piedPage { POSITION: absolute; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; = MARGIN: 10px 0px; PADDING-LEFT: 10px; WIDTH: 680px; PADDING-RIGHT: 0px; = DISPLAY: block; HEIGHT: 92px; COLOR: #000000; CLEAR: both; TOP: 0px; = PADDING-TOP: 10px; LEFT: 0px } .adSite { DISPLAY: block } .adSite A { COLOR: #000000 } #contactPied A { COLOR: #000000 } .removeSite { DISPLAY: none } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/logos/tn-logorouge.gif R0lGODlheAAaAPedANICAh4eHiAgINQCA9MDA9ICANMBAtMBAB4gH9QCASAeH9ACAtYBAyAfHdAC BNIBBB8fHR4fIdUAAh8fIdQDANQCBdUBANMCBdMCANMDAdADAB8eIx4gHR4eICEfINYCANYBBdMB BNUDAh8dHh4eHNC0s9EJCR4gGyAgIno0NCUgHdEEAcEoKjk5OayrsKurqzsrLMoaHLW2uNIQDtAP EDIjIModH6KgoWpqanIwMoCAgIQ2NtEzMhwgIS8xMC4gINIiJZiYmCsrK9CfoooODoU0OpGWknNz c9Byc9QEAtCCgFVVVa+xrsu7u1tbW0MnJM8PDktLTbi4ui0sKpA4N2BgXh8eHCMfICknKiAeITM0 NklLSHFwbHs0MtQMDLOxss6sq7MtLB8hHj89PlUvLNIeH5+doMUjITwkJNAsK8oWFyMlJCMlImNj Y88qLrwsLF5eYHt7e7+/vXZ3eaioqJmanCshHyIeGyAeI52dnTMzMczMzB0eICAfGy8uM1wuMERE RG8yMR0fHGQwMtA8PNMHCngyNFktLHwQDnRQUFVWWFsuMYE2M7m6tdIMC1xdX7a2trAwL481Nb6+ wNBaWs9pZ8ElJpI3NtEDA86qqqWlpTQzLx8fHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJ0ALAAAAAB4ABoA AAj/ADsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePnepwyQOypEmIe8ysEcMJzsmX MA1qwtKAj6AJS2LqPPlCSI8GE4qQaRBlp9GOTPxE4MBpx4EZizgBmnS0qkUZmzidUJCigIMVORQg GNPIqlmIUlpwGjEikIgCBAx52MAJgZYvZ/MurKJAQIRBhQBIYCTACqdDXRr4cHExhEMGeiHK2dLh jwkCCSRtUMDhCQ0QVCJMoWMxgUMAkSMmckRAwyUUeCCgUTPgQiROExTdGCjBwYADAzoBsKABgINO CxgUgCw8+AFMEiRUEJ7kgQGBmDt1EBCAk0BOAjiJ/+/UnVOA7927dxLfXcD68ObXe8eYidKCAwYQ kWhQIwaGBWH0oQAJeswxUHACTcdcJwd0UsBAICAn0AUHdpJBhRR2AsF6HBLknXvfFeTdeSHOx6GJ FymRRgIEGAAAET/YoNwbECBQlw6QDPQgQagJpEEnBAxEgYMCheBiBQ32KGGDnUyg4YkBcOediVOK Nx6V8lnZIUZIAAEAARZQ4AAUAAzAwhXmcRJHQQ8MdNx1Ai1goZtEAlkQnHYO2QkCnShw4kBTArpl oCGCKKhGJZTxAQEPiHDAB5aoAIF4RxiUgAUDYABZAmUC8CAGA8H5YAIPUAAAagjaKVwnd+x5opUj Ck1qJXdZxgcroRo14cYDBQxgwBl2eGAjDqlVZOhJPGTgBSEwZBGBAm0UG5F43B1rEhiVDNGJEWw0 8Ii04DIUhBPhlmvuueimq+667JYbEAA7 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/deconnexion.gif R0lGODlhFQARAJECAP///wAAAAAAAAAAACH5BAEAAAIALAAAAAAVABEAAAI4lI+pGiEAF2sOWmlo ezYuvXXXpHEiWYrjAW7HibRpl8iU6bF2Rdc2/vn1UI5XLhgaYgRJwPKJKQAAOw== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/deploie.gif R0lGODlhDQALAIABAFZSQeXl5SH5BAEAAAEALAAAAAANAAsAAAIXjI+ZwGyO2nEyAIXjze+2yikQ R31biBQAOw== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/document.gif R0lGODlhDQAKAJEAAEGRndrv8t7o7uXl5SH5BAEAAAMALAAAAAANAAoAAAIg3IBouxCvmHEwAHme TZJq2wmJczGeVjYblU4f1I2cUQAAOw== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/e.gif R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/bloc_news.gif R0lGODlhEAAHAJEDAGZmZvqoGZccHOXl5SH5BAEAAAMALAAAAAAQAAcAAAIbnIE4Yt0YIljuBRAv rQnL7XiZxnDjVx1dAjYFADs= ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/bloc_lien.gif R0lGODlhEAAHAJEDAGZmZqTjkVx/UeXl5SH5BAEAAAMALAAAAAAQAAcAAAIgnIE4wuaDggSrPhDw XM0lnRnCA0lmyIzeuY3q8SXcOxQAOw== ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/bloc_bdd.gif R0lGODlhEAAHAKIHAF1cW/TmNsvIw5hlCrGiD+KtAvXxjuXl5SH5BAEAAAcALAAAAAAQAAcAAAMr eArMqmMQsEC4FJoAxLEWBhWBQQhNyCnCEEzoJa9KAX+zeBRDV6WOj0+RAAA7 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/main.gif R0lGODlhDQAQAKIGANrv8nB7gG13fXN/hIeSlniDiNrv8gAAACH5BAEAAAYALAAAAAANABAAAAM2 aBbSEiouQCuUoVqs9TVCtymhSBEkUHZFGr4qBWVwGGTAsNDx/O09ifAG+AknxmHxyEkKdZIEADs= ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/pop_poignee.gif R0lGODlhDgAOAJECAFlibd7t/wAAAAAAACH5BAEAAAIALAAAAAAOAA4AAAIhlI+pa9AvHAqGCmsj lPLgCm7iFH4jl5imxqLkVR6uyygFADs= ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/images/cm_interface/pop_fermer.gif R0lGODlhLQAOAJECAGRkZEBuiQAAAAAAACH5BAEAAAIALAAAAAAtAA4AAAJJlI+py+0Po5wUAlDz wnqG8xkXN4oCVl5HebbKF66mqbqk29ZLLJ8j2rv9gA3ejNOz0RLIl8B4Wx6lOUaMh2Rlp75o5wsO i8eHAgA7 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/includes/styles/cm_globals.css .cm_body { BACKGROUND-COLOR: #ffffff; MARGIN: 0px; FONT-FAMILY: Arial, Helvetica, = sans-serif; FONT-SIZE: 11px } DIV.cm_ajusteur { HEIGHT: 0px; CLEAR: both } A { BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left center } .cm_zoneTexte { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #ffffff; MARGIN: 2px; = PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Arial, Helvetica, = sans-serif; FONT-SIZE: 10px; BORDER-TOP: #000000 1px solid; = BORDER-RIGHT: #000000 1px solid; PADDING-TOP: 2px } A.cm_lienGris { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #7a8285; FONT-SIZE: = 10px; TEXT-DECORATION: none } A.cm_lienGris:hover { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #406e89; FONT-SIZE: = 10px; TEXT-DECORATION: none } A.cm_courriel { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #666666; FONT-SIZE: = 10px; TEXT-DECORATION: none } A.cm_courriel:hover { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #000066; FONT-SIZE: = 10px; TEXT-DECORATION: none } .cm_titreDoc { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #1f464b; FONT-SIZE: = 10px } .cm_tabTitreDoc { BORDER-BOTTOM: #1f464b 1px solid; BORDER-LEFT: #1f464b 1px solid; = BACKGROUND-COLOR: #cddcdc; BORDER-TOP: #1f464b 1px solid; BORDER-RIGHT: = #1f464b 1px solid } .cm_tabContenuDoc { BORDER-BOTTOM: #1f464b 1px solid; BORDER-LEFT: #1f464b 1px solid; = BACKGROUND-COLOR: #e2f1ec; BORDER-RIGHT: #1f464b 1px solid } .cm_tabAlerte { BACKGROUND-COLOR: #edd7c9 } .cm_tabAide { PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #f2f1c4; FONT-STYLE: italic; = PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FONT-FAMILY: Arial, Helvetica, = sans-serif; FONT-SIZE: 9px; PADDING-TOP: 2px } .cm_tabAideGros { PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #f2f1c4; PADDING-LEFT: 2px; = PADDING-RIGHT: 2px; FONT-FAMILY: Arial, Helvetica, sans-serif; = FONT-SIZE: 11px; PADDING-TOP: 2px } .cm_coulRouge { COLOR: #cc0033 } A.cm_lienFonction { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #355b73; FONT-SIZE: = 11px; FONT-WEIGHT: bold; TEXT-DECORATION: underline } A.cm_lienFonction:hover { TEXT-DECORATION: none } .cm_titreFormulaire { BORDER-BOTTOM: #cdd6dc 1px solid; BACKGROUND-COLOR: #d6dde2; = FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #333333; FONT-SIZE: = 11px; FONT-WEIGHT: bold } .cm_policeMarquee { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #333333; FONT-SIZE: = 11px; FONT-WEIGHT: bold } .cm_texteLegRadioCoche { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #000099; FONT-SIZE: = 11px } .cm_sepColFormulaire { BORDER-LEFT: #b9cece 1px solid } .cm_boutonAction { BORDER-BOTTOM: #547c94 1px solid; BORDER-LEFT: #547c94 1px solid; = BACKGROUND-COLOR: #f8f7ef; FONT-FAMILY: Arial, Helvetica, sans-serif; = FONT-SIZE: 11px; BORDER-TOP: #547c94 1px solid; BORDER-RIGHT: #547c94 = 1px solid } .cm_boutonActionActif { BORDER-BOTTOM: #547c94 1px solid; BORDER-LEFT: #547c94 1px solid; = BACKGROUND-COLOR: #cccccc; FONT-FAMILY: Arial, Helvetica, sans-serif; = FONT-SIZE: 11px; BORDER-TOP: #547c94 1px solid; BORDER-RIGHT: #547c94 = 1px solid } .cm_blocFormulaire { BORDER-BOTTOM: #c0cbd3 1px solid; BORDER-LEFT: #c0cbd3 1px solid; = BORDER-TOP: #c0cbd3 1px solid; BORDER-RIGHT: #c0cbd3 1px solid } .cm_inviteFormulaire { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #333333; FONT-SIZE: = 11px } .cm_texteInstruction { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #464646; FONT-SIZE: = 10px } .cm_margeRadio { PADDING-TOP: 4px } .cm_sepColTableau { BORDER-BOTTOM: #666666 1px solid; BORDER-LEFT: #666666 1px solid; = BORDER-TOP: #666666 1px solid; BORDER-RIGHT: #666666 1px solid } .cm_listeTitre { BACKGROUND-COLOR: #c0cbd3 } .cm_listeImpair { BACKGROUND-COLOR: #e9ecef } .cm_listePair { BACKGROUND-COLOR: #dae0e4 } .cm_popStyle { BORDER-BOTTOM: #1f464b 1px solid; BORDER-LEFT: #1f464b 1px solid; = BACKGROUND-COLOR: #d6dde2; BORDER-TOP: #1f464b 1px solid; BORDER-RIGHT: = #1f464b 1px solid } .cm_titrePopFrame { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #333333; FONT-SIZE: = 11px; FONT-WEIGHT: bold } .cm_titrePopFrameRouge { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #ff0000; FONT-SIZE: = 11px; FONT-WEIGHT: bold } .cm_document { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #41919d; = FONT-SIZE: 10px } A.cm_document { TEXT-DECORATION: none } A.cm_document:hover { TEXT-DECORATION: underline } .cm_documentInactif { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #a5babe; = FONT-SIZE: 10px } A.cm_documentInactif { TEXT-DECORATION: none } A.cm_documentInactif:hover { TEXT-DECORATION: underline } .cm_nomFavori { BORDER-BOTTOM: #dbe6e6; BORDER-LEFT: #dbe6e6; BACKGROUND-COLOR: = #dbe6e6; FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #1f464b; = FONT-SIZE: 10px; BORDER-TOP: #dbe6e6; BORDER-RIGHT: #dbe6e6; = TEXT-DECORATION: underline } .cm_inputTexte { BORDER-BOTTOM: #999999 1px dotted; BORDER-RIGHT-STYLE: none; WIDTH: = 150px; FONT-FAMILY: Arial, Helvetica, sans-serif; BORDER-TOP-STYLE: = none; COLOR: #000000; FONT-SIZE: 12px; BORDER-LEFT-STYLE: none } .cm_texteAlerteBlocInfo { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #000000; FONT-SIZE: = 11px } .cm_typeBlocLien { FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px } .cm_typeBlocLien { FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10px } .cm_typeBlocInfo { FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 12px } A.cm_lienOptions { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #464646; FONT-SIZE: = 11px; TEXT-DECORATION: underline } A.cm_lienOptions:hover { TEXT-DECORATION: none } A.cm_lienUtilitaires { FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #464646; FONT-SIZE: = 11px; TEXT-DECORATION: none } A.cm_lienUtilitaires:hover { TEXT-DECORATION: underline } .cm_imageLienFonction { BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; MARGIN: 3px; = BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none } .cm_imageLienFonction:hover { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = MARGIN: 2px; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px = solid } #cm_affichageTel { BORDER-BOTTOM: #000000 1px solid; TEXT-ALIGN: center; BORDER-LEFT: = #000000 1px solid; MARGIN: 2px; WIDTH: 770px; DISPLAY: block; = BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid } #cm_menuNavArbo LI { MARGIN: 3px 0px } #cm_menuNavArbo LI.cm_arboVisible { LIST-STYLE-IMAGE: url(../../images/cm_interface/acces_arbo.gif) } #cm_menuNavArbo LI.cm_arboInvisible { LIST-STYLE-IMAGE: url(../../images/cm_interface/acces_arbo_inactif.gif) } #cm_menuNavArbo UL { PADDING-LEFT: 30px; MARGIN-LEFT: 0px } A.cm_arboFichier { BACKGROUND-IMAGE: url(../../images/cm_interface/arbo_fichier.gif); = PADDING-LEFT: 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: = left 50% } A.cm_arboDossier { BACKGROUND-IMAGE: url(../../images/cm_interface/arbo_dossier.gif); = PADDING-LEFT: 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: = left 50% } SPAN.cm_arboDossier { BACKGROUND-IMAGE: url(../../images/cm_interface/arbo_dossier.gif); = PADDING-LEFT: 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: = left 50% } DIV.cm_arboDossierSelect { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: = #000000 1px solid; BORDER-RIGHT: #000000 1px solid; PADDING-TOP: 2px } DIV.cm_arboDossierInactifSelect { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: = #000000 1px solid; BORDER-RIGHT: #000000 1px solid; PADDING-TOP: 2px } DIV.cm_arboFichierSelect { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: = #000000 1px solid; BORDER-RIGHT: #000000 1px solid; PADDING-TOP: 2px } DIV.cm_arboFichierInactifSelect { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: = #000000 1px solid; BORDER-RIGHT: #000000 1px solid; PADDING-TOP: 2px } #cm_menuNavArbo DIV.cm_texteLegRadioCoche { MARGIN: 3px } A.cm_arboFichierInactif { BACKGROUND-IMAGE: = url(../../images/cm_interface/arbo_fichier_inactif.gif); PADDING-LEFT: = 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left 50% } A.cm_arboDossierInactif { BACKGROUND-IMAGE: = url(../../images/cm_interface/arbo_dossier_inactif.gif); PADDING-LEFT: = 15px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left 50% } A.cm_ongletOption { PADDING-BOTTOM: 3px; LINE-HEIGHT: 15px; BACKGROUND-COLOR: #e9ecef; = PADDING-LEFT: 3px; PADDING-RIGHT: 3px; DISPLAY: block; FONT-FAMILY: = Arial, Helvetica, sans-serif; HEIGHT: 15px; COLOR: #464646; FONT-SIZE: = 11px; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 3px } A.cm_ongletOptionSelect { PADDING-BOTTOM: 3px; LINE-HEIGHT: 15px; BACKGROUND-COLOR: #e9ecef; = PADDING-LEFT: 3px; PADDING-RIGHT: 3px; DISPLAY: block; FONT-FAMILY: = Arial, Helvetica, sans-serif; HEIGHT: 15px; COLOR: #464646; FONT-SIZE: = 11px; FONT-WEIGHT: bold; TEXT-DECORATION: none; PADDING-TOP: 3px } A.cm_ongletOption:hover { BACKGROUND-COLOR: #d3d3d3 } A.cm_ongletOptionSelect { COLOR: #0000c4 } TD.cm_ongletOption { BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; = PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: = 20px; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; = PADDING-TOP: 0px } #cm_menuCM { BORDER-BOTTOM: #305165 1px solid; PADDING-BOTTOM: 0px; = BACKGROUND-COLOR: #c3ccd1; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; = PADDING-RIGHT: 0px; HEIGHT: 30px; PADDING-TOP: 0px } #cm_menuCM .cm_ongletMenu { LINE-HEIGHT: 29px; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: = left; HEIGHT: 29px; FONT-SIZE: 10px } #cm_menuCM .cm_ongletMenuSelect { LINE-HEIGHT: 29px; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: = left; HEIGHT: 29px; FONT-SIZE: 10px } #cm_menuCM #cm_menuIdentifiant { LINE-HEIGHT: 29px; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: = left; HEIGHT: 29px; FONT-SIZE: 10px } #cm_menuCM #cm_menuDroite { LINE-HEIGHT: 29px; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: = left; HEIGHT: 29px; FONT-SIZE: 10px } #cm_menuCM #cm_menuLogo { LINE-HEIGHT: 29px; FONT-FAMILY: Arial, Helvetica, sans-serif; FLOAT: = left; HEIGHT: 29px; FONT-SIZE: 10px } #cm_menuCM .cm_ongletMenu A { PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = PADDING-TOP: 8px } #cm_menuCM .cm_ongletMenuSelect A { PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = PADDING-TOP: 8px } #cm_menuCM .cm_ongletMenu { TEXT-ALIGN: center; BORDER-LEFT: #99a8b0 1px solid; BACKGROUND-COLOR: = #d5dcdf; BORDER-TOP: #99a8b0 1px solid; BORDER-RIGHT: #99a8b0 1px solid } #cm_menuCM .cm_ongletMenuSelect { TEXT-ALIGN: center; BORDER-LEFT: #99a8b0 1px solid; BACKGROUND-COLOR: = #d5dcdf; BORDER-TOP: #99a8b0 1px solid; BORDER-RIGHT: #99a8b0 1px solid } #cm_menuCM .cm_ongletMenuSelect { BACKGROUND-COLOR: #ffffff; BORDER-TOP-COLOR: #305165; HEIGHT: 30px; = BORDER-RIGHT-COLOR: #305165; BORDER-LEFT-COLOR: #305165 } #cm_menuCM #cm_menuIdentifiant { TEXT-ALIGN: center; LINE-HEIGHT: normal; PADDING-LEFT: 5px } #cm_menuCM #cm_menuDroite { TEXT-ALIGN: center; LINE-HEIGHT: normal; PADDING-LEFT: 5px } #cm_menuCM #cm_menuDroite { PADDING-TOP: 2px } .cm_arboDossier { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #5a5232; = FONT-SIZE: 10px } .cm_arboFichier { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #2b5057; = FONT-SIZE: 10px } .cm_arboDossierInactif { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #a9a48b; = FONT-SIZE: 10px } .cm_arboFichierInactif { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #99a2ac; = FONT-SIZE: 10px } A.cm_arboDossierInactif { TEXT-DECORATION: none } A.cm_arboFichierInactif { TEXT-DECORATION: none } .cm_arboDossierInactifSelect { BACKGROUND-COLOR: #ffffcc; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #353120; FONT-SIZE: 10px } .cm_arboFichierInactifSelect { BACKGROUND-COLOR: #e1e8f0; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #353120; FONT-SIZE: 10px } A.cm_arboFichier { TEXT-DECORATION: none } A.cm_arboDossier { TEXT-DECORATION: none } A.cm_arboDossier:hover { TEXT-DECORATION: underline } A.cm_arboFichier:hover { TEXT-DECORATION: underline } .cm_arboFichierSelect { BACKGROUND-COLOR: #b1c3d9; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #3a5c63; FONT-SIZE: 10px } .cm_arboDossierSelect { BACKGROUND-COLOR: #e7e7b8; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; COLOR: #6a6240; FONT-SIZE: 10px } A.cm_arboFichierSelect { TEXT-DECORATION: none } A.cm_arboDossierSelect { TEXT-DECORATION: none } .cm_cadreRouge { BORDER-BOTTOM: #ff0000 1px solid; BORDER-LEFT: #ff0000 1px solid; = PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: = #ff0000 1px solid; BORDER-RIGHT: #ff0000 1px solid; PADDING-TOP: 2px } .cm_titrePage { FONT-SIZE: 16px } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_004F_01CAC915.FC50A440" ------=_NextPart_001_004F_01CAC915.FC50A440 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/en/tourisme/visiter-conques/idees-sejours.php Stays ideas in = Conques, Aveyron (12), France
= =
Loading ...
=20
3D"Tympanum

 

=20

discovery ideas

 
intro
 =20
 
=20

TOURISM and discovery for all

 
 
actu
 =20
=20

3D"TourismTourism and Discovery for all = (Tourisme et=20 d=E9couverte pour tous)

The Tourist Offices from the Pays Ruth=E9nois work together to = favor and=20 to value leisure  activities and touristic services for people with = disability. Click on the picture to discover what is presented at the = Tourist=20 Office of Conques. The pictogram on the upper right identifies the = concerned=20 disability.

 
haut=20 de page
 
actu
 =20
=20

Stays IDEAS (groups)

On process: this subject is being finalized

 
 
actu
 =20
=20

thematic SHORT STAYS

The Tourist Office is available to advise you on preparing your stay = in the=20 area. Many activities are possible to make it the most memorable.

 
 
actu
 =20
=20

Adults

To download the pamphlet filled with ideas of activities to do in the = area,=20 for an Adult Group, click=20 here. (In French only)

 
 
actu
 =20
=20

School groups

To download the pamphlet filled with ideas of activities to do in the = area,=20 for a School Group, click=20 here. (In French only)

 
haut=20 de page
 
actu
 =20
=20

Office de Tourisme - 12320 CONQUES t=E9l. 0820 820 803 ou +33(0)5 65 = 72 85=20 00 | Website : http://www.conques.fr/ | e-mail : tourisme@conques.fr | Contact | Guestbook = | Legal=20 Notice

------=_NextPart_001_004F_01CAC915.FC50A440 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/cm_0_pop_init.php Content Manager - Accueil   ------=_NextPart_001_004F_01CAC915.FC50A440-- ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/includes/javascript/cm_globals.js // fonctions dreamweaver function cm_verifierCaracteresChiffre (evenement) { key =3D document.all?event.keyCode:evenement.which; cle =3D String.fromCharCode(key); // autorise les chiffres, le retour en arriere et la suppression if (/[0-9]/.test(cle) || key=3D=3D8 || key=3D=3D0 ) { return true; } return false; } function cm_preloadImages() { //v3.0 var d=3Ddocument; if(d.images){ if(!d.MM_p) d.MM_p=3Dnew Array(); var i,j=3Dd.MM_p.length,a=3Dcm_preloadImages.arguments; for(i=3D0; = i 0 && parent.frames.length) { theDoc =3D parent.frames[theObj.substring(p+1)].document; theObj =3D theObj.substring(0,p); } if(!(foundObj =3D theDoc[theObj]) && theDoc.all) foundObj =3D = theDoc.all[theObj]; for (i=3D0; !foundObj && i < theDoc.forms.length; i++)=20 foundObj =3D theDoc.forms[i][theObj]; for(i=3D0; !foundObj && theDoc.layers && i < theDoc.layers.length; = i++)=20 foundObj =3D cm_findObj(theObj,theDoc.layers[i].document); if(!foundObj && document.getElementById)=20 foundObj =3D document.getElementById(theObj); =20 return foundObj; } function cm_supprimer(ID,type,lien) { if ( confirm('Voulez-vous vraiment supprimer cet =E9l=E9ment ?') ) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"supprimer"; tmpFormulaire.IDobjet.value=3DID; tmpFormulaire.typeObjet.value=3Dtype; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); } }=09 function cm_acceder(ID,typeAffiche,lien) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"modifier"; tmpFormulaire.IDobjet.value=3DID; tmpFormulaire.typeAffiche.value=3DtypeAffiche; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); } function cm_modifier(ID,typeAffiche) { divTinyMCE=3Ddocument.getElementById('tinyMCE_bi_'+typeAffiche+'_'+ID); if (divTinyMCE.style.display=3D=3D'block') divTinyMCE.style.display=3D'none'; else divTinyMCE.style.display=3D'block'; = inputTinyMCE=3Ddocument.getElementById('bloc_info_txt_'+typeAffiche+'_'+I= D); inputTinyMCE.focus(); } function cm_monter(ID,typeAffiche,lien) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"monter"; tmpFormulaire.IDobjet.value=3DID; tmpFormulaire.typeAffiche.value=3DtypeAffiche; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); }=09 function cm_descendre(ID,typeAffiche,lien) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"descendre"; tmpFormulaire.IDobjet.value=3DID; tmpFormulaire.typeAffiche.value=3DtypeAffiche; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); }=09 function cm_rendreVisible(ID,typeAffiche,lien) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"rendreVisible"; tmpFormulaire.IDobjet.value=3DID; tmpFormulaire.typeAffiche.value=3DtypeAffiche; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); }=09 function cm_rendreInvisible(ID,typeAffiche,lien) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"rendreInvisible"; tmpFormulaire.IDobjet.value=3DID; tmpFormulaire.typeAffiche.value=3DtypeAffiche; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); } function cm_ajouterContact() { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"creer"; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); } function cm_ajouterBloc(typeAffiche,ordreObjetPrecedent,lien) { tmpFormulaire=3Dcm_findObj('cm_formulaireNavigation'); tmpFormulaire.fonction.value=3D"creer"; tmpFormulaire.IDobjet.value=3D0; tmpFormulaire.ordreObjetPrecedent.value=3DordreObjetPrecedent; tmpFormulaire.typeAffiche.value=3DtypeAffiche; tmpFormulaire.action=3Dlien; tmpFormulaire.submit(); } function cm_envoyerFormulairePopUp(type,ID,lien) { cm_envoyerFormulaire(type,ID,lien,"cm_idPopIframe"); } function cm_envoyerFormulaire(type,ID,lien,cible) { tmpFormulaire=3Dcm_findObj('cm_navigateur'); if ( type!=3D'' ) { tmpFormulaire.type.value=3Dtype; } if ( ID!=3D'' ) { tmpFormulaire.ID.value=3DID; } tmpFormulaire.action=3Dlien; tmpFormulaire.target=3Dcible; tmpFormulaire.submit(); } function cm_ouvrirPopup(type,ID,lien,e) { // ouverture du iframe cm_ouvrePopLayer(e); cm_envoyerFormulairePopUp(type,ID,lien); } function cm_recharger() { url =3D window.location; tmpFormulaire =3D cm_findObj('cm_navigateur'); tmpFormulaire.action =3D url; tmpFormulaire.target =3D "_self"; tmpFormulaire.submit(); } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: 7bit Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/includes/javascript/cm_menu.js //gestion des rappels de contextes de menu function cm_rappelContexteMenu(urlDoc) { urlDoc = urlDoc.toString() idOnglet = "cm_menuAcceuil"; //accueil et racine par defaut if ( urlDoc.lastIndexOf("admin_options")>=0 ) { idOnglet = "cm_menuOptions"; } if ( urlDoc.lastIndexOf("utilisateurs_gestion")>=0 ) { idOnglet = "cm_menuUtilisateurs"; } if ( urlDoc.lastIndexOf("arborescence_gestion")>=0 ) { idOnglet = "cm_menuArbo"; } if ( urlDoc.lastIndexOf("docs_explorateur")>=0 ) { idOnglet = "cm_menuExplorateur"; } if ( urlDoc.lastIndexOf("aide_cm")>=0 ) { idOnglet = "cm_menuAide"; } if ( urlDoc.lastIndexOf("docs_gestion")>=0 ) { idOnglet = ""; //activer aucun onglet } if ( idOnglet!='' ) { divOnglet = document.getElementById(idOnglet); if ( divOnglet!=null ) { divOnglet.className = "cm_ongletMenuSelect"; } } } function cm_deploieDiv(stringID) { divToOpenClose=cm_findObj(stringID); if (divToOpenClose.style.display=="none") { divToOpenClose.style.display="block"; } else { divToOpenClose.style.display="none"; } } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/includes/javascript/cm_pop.js // pour afficher / masquer les calques //v6.0 function MM_showHideLayers() { var i, p, v, obj; var args =3D MM_showHideLayers.arguments; for (i=3D0; i<(args.length-2); i+=3D3)=20 {=20 if ((obj=3Dcm_findObj(args[i]))!=3Dnull)=20 { v =3D args[i+2]; if (obj.style)=20 { obj =3D obj.style; v =3D (v=3D=3D'show')?'visible':(v=3D=3D'hide')?'hidden':v; }=20 obj.visibility =3D v;=09 }=20 }=20 } //fermer le pop function cm_closePop() { iframeToControl=3Ddocument.getElementById('cm_idPopIframe'); iframeToControl.src =3D "/admin/content_manager/cm_0_chargement.php"; // sur mac sort compl=E8tement de la fen=EAtre, sur pc aussi, pour = effacer les listes d=E9roulantes formulaire divToControl=3Ddocument.getElementById('cm_popLayer'); divToControl.style.top=3D "-500px"; MM_showHideLayers('cm_popLayer','','hide'); } function cm_ouvrePopLayer(e)=20 { iframeToControl=3Ddocument.getElementById('cm_idPopIframe'); divToControl=3Dcm_findObj('cm_popLayer'); if (document.all) // IE { X =3D e.clientX;=20 Y =3D e.clientY; if ( (Y + 270) > window.document.body.clientHeight ) { divToControl.style.top=3Dwindow.document.body.clientHeight - = 270 + window.document.body.parentNode.scrollTop; } else { divToControl.style.top=3DY + = window.document.body.parentNode.scrollTop; }=20 if ( divToControl.style.top.indexOf('-')>-1 ) { divToControl.style.top=3D'5px'; } } else =20 { X =3D e.pageX; // NN & Moz Y =3D e.pageY + 8; if ( Y+270 > window.document.body.offsetHeight) { Y=3Dwindow.document.body.offsetHeight - 270; if ( window.document.body.offsetHeight< 270) { Y=3D5; } } divToControl.style.top =3D Y + "px"; } if ( (X + 5 + 400) > 750) { divToControl.style.left=3D770 - 420 + = window.document.body.scrollLeft+"px"; } else { divToControl.style.left=3DX + 8 + window.document.body.scrollLeft = +"px"; } MM_showHideLayers('cm_popLayer','','show'); } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/includes/javascript/cm_iframe.js function cm_getDocHeight(doc,minimum) { var docHt =3D 0, sh, oh; if (doc.height) { docHt =3D doc.height; } else if (doc.body)=20 { if (doc.body.scrollHeight)=20 { docHt =3D sh =3D doc.body.scrollHeight; } if (doc.body.offsetHeight) { docHt =3D oh =3D doc.body.offsetHeight; } if (sh && oh) { docHt =3D Math.max(sh, oh); if (minimum) {docHt =3D Math.min(sh, oh);} }=09 } return docHt; } cm_resizeTimer=3D0; function cm_redimensionnerFrame(iframeName,minimum) { var iframeWin =3D window.frames[iframeName]; var iframeEl =3D document.getElementById? = document.getElementById(iframeName): document.all? = document.all[iframeName]: null; clearTimeout(cm_resizeTimer); if ( iframeEl && iframeWin )=20 { iframeEl.style.height =3D "auto"; // helps resize (for some) if new = doc shorter than previous =20 var docHt =3D cm_getDocHeight(iframeWin.document,minimum); // need to add to height to be sure it will all show iframeEl.style.height =3D docHt + 15 + "px"; } } =20 ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/admin/content_manager/includes/javascript/scriptaculous/lib/prototype.js /* Prototype JavaScript framework, version 1.6.0=0A= * (c) 2005-2007 Sam Stephenson=0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://www.prototypejs.org/=0A= *=0A= = *------------------------------------------------------------------------= --*/=0A= =0A= var Prototype =3D {=0A= Version: '1.6.0',=0A= =0A= Browser: {=0A= IE: !!(window.attachEvent && !window.opera),=0A= Opera: !!window.opera,=0A= WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A= Gecko: navigator.userAgent.indexOf('Gecko') > -1 && = navigator.userAgent.indexOf('KHTML') =3D=3D -1,=0A= MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A= },=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= ElementExtensions: !!window.HTMLElement,=0A= SpecificElementExtensions:=0A= document.createElement('div').__proto__ &&=0A= document.createElement('div').__proto__ !=3D=3D=0A= document.createElement('form').__proto__=0A= },=0A= =0A= ScriptFragment: ']*>([\\S\\s]*?)<\/script>',=0A= JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A= =0A= emptyFunction: function() { },=0A= K: function(x) { return x }=0A= };=0A= =0A= if (Prototype.Browser.MobileSafari)=0A= Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A= =0A= if (Prototype.Browser.WebKit)=0A= Prototype.BrowserFeatures.XPath =3D false;=0A= =0A= /* Based on Alex Arnell's inheritance implementation. */=0A= var Class =3D {=0A= create: function() {=0A= var parent =3D null, properties =3D $A(arguments);=0A= if (Object.isFunction(properties[0]))=0A= parent =3D properties.shift();=0A= =0A= function klass() {=0A= this.initialize.apply(this, arguments);=0A= }=0A= =0A= Object.extend(klass, Class.Methods);=0A= klass.superclass =3D parent;=0A= klass.subclasses =3D [];=0A= =0A= if (parent) {=0A= var subclass =3D function() { };=0A= subclass.prototype =3D parent.prototype;=0A= klass.prototype =3D new subclass;=0A= parent.subclasses.push(klass);=0A= }=0A= =0A= for (var i =3D 0; i < properties.length; i++)=0A= klass.addMethods(properties[i]);=0A= =0A= if (!klass.prototype.initialize)=0A= klass.prototype.initialize =3D Prototype.emptyFunction;=0A= =0A= klass.prototype.constructor =3D klass;=0A= =0A= return klass;=0A= }=0A= };=0A= =0A= Class.Methods =3D {=0A= addMethods: function(source) {=0A= var ancestor =3D this.superclass && this.superclass.prototype;=0A= var properties =3D Object.keys(source);=0A= =0A= if (!Object.keys({ toString: true }).length)=0A= properties.push("toString", "valueOf");=0A= =0A= for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A= var property =3D properties[i], value =3D source[property];=0A= if (ancestor && Object.isFunction(value) &&=0A= value.argumentNames().first() =3D=3D "$super") {=0A= var method =3D value, value =3D Object.extend((function(m) {=0A= return function() { return ancestor[m].apply(this, arguments) = };=0A= })(property).wrap(method), {=0A= valueOf: function() { return method },=0A= toString: function() { return method.toString() }=0A= });=0A= }=0A= this.prototype[property] =3D value;=0A= }=0A= =0A= return this;=0A= }=0A= };=0A= =0A= var Abstract =3D { };=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= };=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (object =3D=3D=3D undefined) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : object.toString();=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= toJSON: function(object) {=0A= var type =3D typeof object;=0A= switch (type) {=0A= case 'undefined':=0A= case 'function':=0A= case 'unknown': return;=0A= case 'boolean': return object.toString();=0A= }=0A= =0A= if (object =3D=3D=3D null) return 'null';=0A= if (object.toJSON) return object.toJSON();=0A= if (Object.isElement(object)) return;=0A= =0A= var results =3D [];=0A= for (var property in object) {=0A= var value =3D Object.toJSON(object[property]);=0A= if (value !=3D=3D undefined)=0A= results.push(property.toJSON() + ': ' + value);=0A= }=0A= =0A= return '{' + results.join(', ') + '}';=0A= },=0A= =0A= toQueryString: function(object) {=0A= return $H(object).toQueryString();=0A= },=0A= =0A= toHTML: function(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({ }, object);=0A= },=0A= =0A= isElement: function(object) {=0A= return object && object.nodeType =3D=3D 1;=0A= },=0A= =0A= isArray: function(object) {=0A= return object && object.constructor =3D=3D=3D Array;=0A= },=0A= =0A= isHash: function(object) {=0A= return object instanceof Hash;=0A= },=0A= =0A= isFunction: function(object) {=0A= return typeof object =3D=3D "function";=0A= },=0A= =0A= isString: function(object) {=0A= return typeof object =3D=3D "string";=0A= },=0A= =0A= isNumber: function(object) {=0A= return typeof object =3D=3D "number";=0A= },=0A= =0A= isUndefined: function(object) {=0A= return typeof object =3D=3D "undefined";=0A= }=0A= });=0A= =0A= Object.extend(Function.prototype, {=0A= argumentNames: function() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").inv= oke("strip");=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= },=0A= =0A= bind: function() {=0A= if (arguments.length < 2 && arguments[0] =3D=3D=3D undefined) return = this;=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= bindAsEventListener: function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function(event) {=0A= return __method.apply(object, [event || = window.event].concat(args));=0A= }=0A= },=0A= =0A= curry: function() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D $A(arguments);=0A= return function() {=0A= return __method.apply(this, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= delay: function() {=0A= var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= },=0A= =0A= wrap: function(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments)));=0A= }=0A= },=0A= =0A= methodize: function() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= return __method.apply(null, [this].concat($A(arguments)));=0A= };=0A= }=0A= });=0A= =0A= Function.prototype.defer =3D Function.prototype.delay.curry(0.01);=0A= =0A= Date.prototype.toJSON =3D function() {=0A= return '"' + this.getUTCFullYear() + '-' +=0A= (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A= this.getUTCDate().toPaddedString(2) + 'T' +=0A= this.getUTCHours().toPaddedString(2) + ':' +=0A= this.getUTCMinutes().toPaddedString(2) + ':' +=0A= this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A= };=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) { }=0A= }=0A= =0A= return returnValue;=0A= }=0A= };=0A= =0A= RegExp.prototype.match =3D RegExp.prototype.test;=0A= =0A= RegExp.escape =3D function(str) {=0A= return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create({=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= execute: function() {=0A= this.callback(this);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.execute();=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= });=0A= Object.extend(String, {=0A= interpret: function(value) {=0A= return value =3D=3D null ? '' : String(value);=0A= },=0A= specialChar: {=0A= '\b': '\\b',=0A= '\t': '\\t',=0A= '\n': '\\n',=0A= '\f': '\\f',=0A= '\r': '\\r',=0A= '\\': '\\\\'=0A= }=0A= });=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D count =3D=3D=3D undefined ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : = String(this);=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= },=0A= =0A= escapeHTML: function() {=0A= var self =3D arguments.callee;=0A= self.text.data =3D this;=0A= return self.div.innerHTML;=0A= },=0A= =0A= unescapeHTML: function() {=0A= var div =3D new Element('div');=0A= div.innerHTML =3D this.stripTags();=0A= return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A= $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) :=0A= div.childNodes[0].nodeValue) : '';=0A= },=0A= =0A= toQueryParams: function(separator) {=0A= var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A= if (!match) return { };=0A= =0A= return match[1].split(separator || '&').inject({ }, function(hash, = pair) {=0A= if ((pair =3D pair.split('=3D'))[0]) {=0A= var key =3D decodeURIComponent(pair.shift());=0A= var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A= if (value !=3D undefined) value =3D decodeURIComponent(value);=0A= =0A= if (key in hash) {=0A= if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A= hash[key].push(value);=0A= }=0A= else hash[key] =3D value;=0A= }=0A= return hash;=0A= });=0A= },=0A= =0A= toArray: function() {=0A= return this.split('');=0A= },=0A= =0A= succ: function() {=0A= return this.slice(0, this.length - 1) +=0A= String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A= },=0A= =0A= times: function(count) {=0A= return count < 1 ? '' : new Array(count + 1).join(this);=0A= },=0A= =0A= camelize: function() {=0A= var parts =3D this.split('-'), len =3D parts.length;=0A= if (len =3D=3D 1) return parts[0];=0A= =0A= var camelized =3D this.charAt(0) =3D=3D '-'=0A= ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A= : parts[0];=0A= =0A= for (var i =3D 1; i < len; i++)=0A= camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1);=0A= =0A= return camelized;=0A= },=0A= =0A= capitalize: function() {=0A= return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase();=0A= },=0A= =0A= underscore: function() {=0A= return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase();=0A= },=0A= =0A= dasherize: function() {=0A= return this.gsub(/_/,'-');=0A= },=0A= =0A= inspect: function(useDoubleQuotes) {=0A= var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A= var character =3D String.specialChar[match[0]];=0A= return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16);=0A= });=0A= if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"';=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= },=0A= =0A= toJSON: function() {=0A= return this.inspect(true);=0A= },=0A= =0A= unfilterJSON: function(filter) {=0A= return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A= },=0A= =0A= isJSON: function() {=0A= var str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A= return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A= },=0A= =0A= evalJSON: function(sanitize) {=0A= var json =3D this.unfilterJSON();=0A= try {=0A= if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A= } catch (e) { }=0A= throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A= },=0A= =0A= include: function(pattern) {=0A= return this.indexOf(pattern) > -1;=0A= },=0A= =0A= startsWith: function(pattern) {=0A= return this.indexOf(pattern) =3D=3D=3D 0;=0A= },=0A= =0A= endsWith: function(pattern) {=0A= var d =3D this.length - pattern.length;=0A= return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A= },=0A= =0A= empty: function() {=0A= return this =3D=3D '';=0A= },=0A= =0A= blank: function() {=0A= return /^\s*$/.test(this);=0A= },=0A= =0A= interpolate: function(object, pattern) {=0A= return new Template(this, pattern).evaluate(object);=0A= }=0A= });=0A= =0A= if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, {=0A= escapeHTML: function() {=0A= return = this.replace(/&/g,'&').replace(//g,'>');=0A= },=0A= unescapeHTML: function() {=0A= return = this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');=0A= }=0A= });=0A= =0A= String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A= if (Object.isFunction(replacement)) return replacement;=0A= var template =3D new Template(replacement);=0A= return function(match) { return template.evaluate(match) };=0A= };=0A= =0A= String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A= =0A= Object.extend(String.prototype.escapeHTML, {=0A= div: document.createElement('div'),=0A= text: document.createTextNode('')=0A= });=0A= =0A= with (String.prototype.escapeHTML) div.appendChild(text);=0A= =0A= var Template =3D Class.create({=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= if (Object.isFunction(object.toTemplateReplacements))=0A= object =3D object.toTemplateReplacements();=0A= =0A= return this.template.gsub(this.pattern, function(match) {=0A= if (object =3D=3D null) return '';=0A= =0A= var before =3D match[1] || '';=0A= if (before =3D=3D '\\') return match[2];=0A= =0A= var ctx =3D object, expr =3D match[3];=0A= var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = =3D pattern.exec(expr);=0A= if (match =3D=3D null) return before;=0A= =0A= while (match !=3D null) {=0A= var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1];=0A= ctx =3D ctx[comp];=0A= if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A= expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length);=0A= match =3D pattern.exec(expr);=0A= }=0A= =0A= return before + String.interpret(ctx);=0A= }.bind(this));=0A= }=0A= });=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= =0A= var $break =3D { };=0A= =0A= var Enumerable =3D {=0A= each: function(iterator, context) {=0A= var index =3D 0;=0A= iterator =3D iterator.bind(context);=0A= try {=0A= this._each(function(value) {=0A= iterator(value, index++);=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator, context);=0A= },=0A= =0A= all: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!iterator(value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!iterator(value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator(value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(filter, iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(filter);=0A= =0A= this.each(function(value, index) {=0A= if (filter.match(value))=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= if (Object.isFunction(this.indexOf))=0A= if (this.indexOf(object) !=3D -1) return true;=0A= =0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= this.each(function(value, index) {=0A= memo =3D iterator(memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator(value, index);=0A= if (result =3D=3D undefined || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator(value, index);=0A= if (result =3D=3D undefined || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= (iterator(value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= return this.map(function(value, index) {=0A= return {value: value, criteria: iterator(value, index)};=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (Object.isFunction(args.last()))=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= };=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= filter: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray,=0A= every: Enumerable.all,=0A= some: Enumerable.any=0A= });=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= =0A= if (Prototype.Browser.WebKit) {=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (!(Object.isFunction(iterable) && iterable =3D=3D '[object = NodeList]') &&=0A= iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(Object.isArray(value) ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function(sorted) {=0A= return this.inject([], function(array, value, index) {=0A= if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value)))=0A= array.push(value);=0A= return array;=0A= });=0A= },=0A= =0A= intersect: function(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { return item =3D=3D=3D value = });=0A= });=0A= },=0A= =0A= clone: function() {=0A= return [].concat(this);=0A= },=0A= =0A= size: function() {=0A= return this.length;=0A= },=0A= =0A= inspect: function() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= },=0A= =0A= toJSON: function() {=0A= var results =3D [];=0A= this.each(function(object) {=0A= var value =3D Object.toJSON(object);=0A= if (value !=3D=3D undefined) results.push(value);=0A= });=0A= return '[' + results.join(', ') + ']';=0A= }=0A= });=0A= =0A= // use native browser JS 1.6 implementation if available=0A= if (Object.isFunction(Array.prototype.forEach))=0A= Array.prototype._each =3D Array.prototype.forEach;=0A= =0A= if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) {=0A= i || (i =3D 0);=0A= var length =3D this.length;=0A= if (i < 0) i =3D length + i;=0A= for (; i < length; i++)=0A= if (this[i] =3D=3D=3D item) return i;=0A= return -1;=0A= };=0A= =0A= if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) {=0A= i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A= var n =3D this.slice(0, i).reverse().indexOf(item);=0A= return (n < 0) ? n : i - n - 1;=0A= };=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if (Prototype.Browser.Opera){=0A= Array.prototype.concat =3D function() {=0A= var array =3D [];=0A= for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if (Object.isArray(arguments[i])) {=0A= for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= };=0A= }=0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= return this.toPaddedString(2, 16);=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator) {=0A= $R(0, this, true).each(iterator);=0A= return this;=0A= },=0A= =0A= toPaddedString: function(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= },=0A= =0A= toJSON: function() {=0A= return isFinite(this) ? this.toString() : 'null';=0A= }=0A= });=0A= =0A= $w('abs round ceil floor').each(function(method){=0A= Number.prototype[method] =3D Math[method].methodize();=0A= });=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= if (function() {=0A= var i =3D 0, Test =3D function(value) { this.key =3D value };=0A= Test.prototype.key =3D 'foo';=0A= for (var property in new Test('bar')) i++;=0A= return i > 1;=0A= }()) {=0A= function each(iterator) {=0A= var cache =3D [];=0A= for (var key in this._object) {=0A= var value =3D this._object[key];=0A= if (cache.include(key)) continue;=0A= cache.push(key);=0A= var pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= }=0A= } else {=0A= function each(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= }=0A= }=0A= =0A= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= return {=0A= initialize: function(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= },=0A= =0A= _each: each,=0A= =0A= set: function(key, value) {=0A= return this._object[key] =3D value;=0A= },=0A= =0A= get: function(key) {=0A= return this._object[key];=0A= },=0A= =0A= unset: function(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= },=0A= =0A= toObject: function() {=0A= return Object.clone(this._object);=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= index: function(value) {=0A= var match =3D this.detect(function(pair) {=0A= return pair.value =3D=3D=3D value;=0A= });=0A= return match && match.key;=0A= },=0A= =0A= merge: function(object) {=0A= return this.clone().update(object);=0A= },=0A= =0A= update: function(object) {=0A= return new Hash(object).inject(this, function(result, pair) {=0A= result.set(pair.key, pair.value);=0A= return result;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.map(function(pair) {=0A= var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A= =0A= if (values && typeof values =3D=3D 'object') {=0A= if (Object.isArray(values))=0A= return values.map(toQueryPair.curry(key)).join('&');=0A= }=0A= return toQueryPair(key, values);=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= },=0A= =0A= toJSON: function() {=0A= return Object.toJSON(this.toObject());=0A= },=0A= =0A= clone: function() {=0A= return new Hash(this);=0A= }=0A= }=0A= })());=0A= =0A= Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject;=0A= Hash.from =3D $H;=0A= var ObjectRange =3D Class.create(Enumerable, {=0A= initialize: function(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= },=0A= =0A= _each: function(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= },=0A= =0A= include: function(value) {=0A= if (value < this.start)=0A= return false;=0A= if (this.exclusive)=0A= return value < this.end;=0A= return value <=3D this.end;=0A= }=0A= });=0A= =0A= var $R =3D function(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= };=0A= =0A= var Ajax =3D {=0A= getTransport: function() {=0A= return Try.these(=0A= function() {return new XMLHttpRequest()},=0A= function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A= function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A= ) || false;=0A= },=0A= =0A= activeRequestCount: 0=0A= };=0A= =0A= Ajax.Responders =3D {=0A= responders: [],=0A= =0A= _each: function(iterator) {=0A= this.responders._each(iterator);=0A= },=0A= =0A= register: function(responder) {=0A= if (!this.include(responder))=0A= this.responders.push(responder);=0A= },=0A= =0A= unregister: function(responder) {=0A= this.responders =3D this.responders.without(responder);=0A= },=0A= =0A= dispatch: function(callback, request, transport, json) {=0A= this.each(function(responder) {=0A= if (Object.isFunction(responder[callback])) {=0A= try {=0A= responder[callback].apply(responder, [request, transport, = json]);=0A= } catch (e) { }=0A= }=0A= });=0A= }=0A= };=0A= =0A= Object.extend(Ajax.Responders, Enumerable);=0A= =0A= Ajax.Responders.register({=0A= onCreate: function() { Ajax.activeRequestCount++ },=0A= onComplete: function() { Ajax.activeRequestCount-- }=0A= });=0A= =0A= Ajax.Base =3D Class.create({=0A= initialize: function(options) {=0A= this.options =3D {=0A= method: 'post',=0A= asynchronous: true,=0A= contentType: 'application/x-www-form-urlencoded',=0A= encoding: 'UTF-8',=0A= parameters: '',=0A= evalJSON: true,=0A= evalJS: true=0A= };=0A= Object.extend(this.options, options || { });=0A= =0A= this.options.method =3D this.options.method.toLowerCase();=0A= if (Object.isString(this.options.parameters))=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= }=0A= });=0A= =0A= Ajax.Request =3D Class.create(Ajax.Base, {=0A= _complete: false,=0A= =0A= initialize: function($super, url, options) {=0A= $super(options);=0A= this.transport =3D Ajax.getTransport();=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D Object.clone(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= this.parameters =3D params;=0A= =0A= if (params =3D Object.toQueryString(params)) {=0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get')=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= params +=3D '&_=3D';=0A= }=0A= =0A= try {=0A= var response =3D new Ajax.Response(this);=0A= if (this.options.onCreate) this.options.onCreate(response);=0A= Ajax.Responders.dispatch('onCreate', this, response);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null;=0A= this.transport.send(this.body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (Object.isFunction(extras.push))=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value });=0A= }=0A= =0A= for (var name in headers)=0A= this.transport.setRequestHeader(name, headers[name]);=0A= },=0A= =0A= success: function() {=0A= var status =3D this.getStatus();=0A= return !status || (status >=3D 200 && status < 300);=0A= },=0A= =0A= getStatus: function() {=0A= try {=0A= return this.transport.status || 0;=0A= } catch (e) { return 0 }=0A= },=0A= =0A= respondToReadyState: function(readyState) {=0A= var state =3D Ajax.Request.Events[readyState], response =3D new = Ajax.Response(this);=0A= =0A= if (state =3D=3D 'Complete') {=0A= try {=0A= this._complete =3D true;=0A= (this.options['on' + response.status]=0A= || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A= || Prototype.emptyFunction)(response, response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= var contentType =3D response.getHeader('Content-type');=0A= if (this.options.evalJS =3D=3D 'force'=0A= || (this.options.evalJS && contentType=0A= && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i)))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON);=0A= Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name);=0A= } catch (e) { return null }=0A= },=0A= =0A= evalResponse: function() {=0A= try {=0A= return eval((this.transport.responseText || '').unfilterJSON());=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= dispatchException: function(exception) {=0A= (this.options.onException || Prototype.emptyFunction)(this, = exception);=0A= Ajax.Responders.dispatch('onException', this, exception);=0A= }=0A= });=0A= =0A= Ajax.Request.Events =3D=0A= ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A= =0A= Ajax.Response =3D Class.create({=0A= initialize: function(request){=0A= this.request =3D request;=0A= var transport =3D this.transport =3D request.transport,=0A= readyState =3D this.readyState =3D transport.readyState;=0A= =0A= if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) = {=0A= this.status =3D this.getStatus();=0A= this.statusText =3D this.getStatusText();=0A= this.responseText =3D String.interpret(transport.responseText);=0A= this.headerJSON =3D this._getHeaderJSON();=0A= }=0A= =0A= if(readyState =3D=3D 4) {=0A= var xml =3D transport.responseXML;=0A= this.responseXML =3D xml =3D=3D=3D undefined ? null : xml;=0A= this.responseJSON =3D this._getResponseJSON();=0A= }=0A= },=0A= =0A= status: 0,=0A= statusText: '',=0A= =0A= getStatus: Ajax.Request.prototype.getStatus,=0A= =0A= getStatusText: function() {=0A= try {=0A= return this.transport.statusText || '';=0A= } catch (e) { return '' }=0A= },=0A= =0A= getHeader: Ajax.Request.prototype.getHeader,=0A= =0A= getAllHeaders: function() {=0A= try {=0A= return this.getAllResponseHeaders();=0A= } catch (e) { return null }=0A= },=0A= =0A= getResponseHeader: function(name) {=0A= return this.transport.getResponseHeader(name);=0A= },=0A= =0A= getAllResponseHeaders: function() {=0A= return this.transport.getAllResponseHeaders();=0A= },=0A= =0A= _getHeaderJSON: function() {=0A= var json =3D this.getHeader('X-JSON');=0A= if (!json) return null;=0A= json =3D decodeURIComponent(escape(json));=0A= try {=0A= return json.evalJSON(this.request.options.sanitizeJSON);=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= },=0A= =0A= _getResponseJSON: function() {=0A= var options =3D this.request.options;=0A= if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A= !(this.getHeader('Content-type') || = '').include('application/json')))=0A= return null;=0A= try {=0A= return this.transport.responseText.evalJSON(options.sanitizeJSON);=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create(Ajax.Request, {=0A= initialize: function($super, container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= };=0A= =0A= options =3D options || { };=0A= var onComplete =3D options.onComplete;=0A= options.onComplete =3D (function(response, param) {=0A= this.updateContent(response.responseText);=0A= if (Object.isFunction(onComplete)) onComplete(response, param);=0A= }).bind(this);=0A= =0A= $super(url, options);=0A= },=0A= =0A= updateContent: function(responseText) {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'],=0A= options =3D this.options;=0A= =0A= if (!options.evalScripts) responseText =3D = responseText.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (options.insertion) {=0A= if (Object.isString(options.insertion)) {=0A= var insertion =3D { }; insertion[options.insertion] =3D = responseText;=0A= receiver.insert(insertion);=0A= }=0A= else options.insertion(receiver, responseText);=0A= }=0A= else receiver.update(responseText);=0A= }=0A= =0A= if (this.success()) {=0A= if (this.onComplete) this.onComplete.bind(this).defer();=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A= initialize: function($super, container, url, options) {=0A= $super(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D { };=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(response) {=0A= if (this.options.decay) {=0A= this.decay =3D (response.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D response.responseText;=0A= }=0A= this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (Object.isString(element))=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(Element.extend(query.snapshotItem(i)));=0A= return results;=0A= };=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=0A= // DOM level 2 ECMAScript Language Binding=0A= Object.extend(Node, {=0A= ELEMENT_NODE: 1,=0A= ATTRIBUTE_NODE: 2,=0A= TEXT_NODE: 3,=0A= CDATA_SECTION_NODE: 4,=0A= ENTITY_REFERENCE_NODE: 5,=0A= ENTITY_NODE: 6,=0A= PROCESSING_INSTRUCTION_NODE: 7,=0A= COMMENT_NODE: 8,=0A= DOCUMENT_NODE: 9,=0A= DOCUMENT_TYPE_NODE: 10,=0A= DOCUMENT_FRAGMENT_NODE: 11,=0A= NOTATION_NODE: 12=0A= });=0A= }=0A= =0A= (function() {=0A= var element =3D this.Element;=0A= this.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= if (Prototype.Browser.IE && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes);=0A= };=0A= Object.extend(this.Element, element || { });=0A= }).call(window);=0A= =0A= Element.cache =3D { };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= $(element).style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= $(element).style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= content =3D Object.toHTML(content);=0A= element.innerHTML =3D content.stripScripts();=0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= },=0A= =0A= replace: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= else if (!Object.isElement(content)) {=0A= content =3D Object.toHTML(content);=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNode(element);=0A= content.evalScripts.bind(content).defer();=0A= content =3D range.createContextualFragment(content.stripScripts());=0A= }=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= },=0A= =0A= insert: function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D {bottom:insertions};=0A= =0A= var content, t, range;=0A= =0A= for (position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= t =3D Element._insertionTranslations[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= t.insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= range =3D element.ownerDocument.createRange();=0A= t.initializeRange(element, range);=0A= t.insert(element, = range.createContextualFragment(content.stripScripts()));=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= },=0A= =0A= wrap: function(element, wrapper, attributes) {=0A= element =3D $(element);=0A= if (Object.isElement(wrapper))=0A= $(wrapper).writeAttribute(attributes || { });=0A= else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes);=0A= else wrapper =3D new Element('div', wrapper);=0A= if (element.parentNode)=0A= element.parentNode.replaceChild(wrapper, element);=0A= wrapper.appendChild(element);=0A= return wrapper;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $A($(element).getElementsByTagName('*')).each(Element.extend);=0A= },=0A= =0A= firstDescendant: function(element) {=0A= element =3D $(element).firstChild;=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= return $(element);=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (Object.isString(selector))=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return $(element.parentNode);=0A= var ancestors =3D element.ancestors();=0A= return expression ? Selector.findElement(ancestors, expression, = index) :=0A= ancestors[index || 0];=0A= },=0A= =0A= down: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= var descendants =3D element.descendants();=0A= return expression ? Selector.findElement(descendants, expression, = index) :=0A= descendants[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element));=0A= var previousSiblings =3D element.previousSiblings();=0A= return expression ? Selector.findElement(previousSiblings, = expression, index) :=0A= previousSiblings[index || 0];=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element));=0A= var nextSiblings =3D element.nextSiblings();=0A= return expression ? Selector.findElement(nextSiblings, expression, = index) :=0A= nextSiblings[index || 0];=0A= },=0A= =0A= select: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= adjacent: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element.parentNode, = args).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D element.readAttribute('id'), self =3D arguments.callee;=0A= if (id) return id;=0A= do { id =3D 'anonymous_element_' + self.counter++ } while ($(id));=0A= element.writeAttribute('id', id);=0A= return id;=0A= },=0A= =0A= readAttribute: function(element, name) {=0A= element =3D $(element);=0A= if (Prototype.Browser.IE) {=0A= var t =3D Element._attributeTranslations.read;=0A= if (t.values[name]) return t.values[name](element, name);=0A= if (t.names[name]) name =3D t.names[name];=0A= if (name.include(':')) {=0A= return (!element.attributes || !element.attributes[name]) ? null = :=0A= element.attributes[name].value;=0A= }=0A= }=0A= return element.getAttribute(name);=0A= },=0A= =0A= writeAttribute: function(element, name, value) {=0A= element =3D $(element);=0A= var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A= =0A= if (typeof name =3D=3D 'object') attributes =3D name;=0A= else attributes[name] =3D value =3D=3D=3D undefined ? true : value;=0A= =0A= for (var attr in attributes) {=0A= var name =3D t.names[attr] || attr, value =3D attributes[attr];=0A= if (t.values[attr]) name =3D t.values[attr](element, value);=0A= if (value =3D=3D=3D false || value =3D=3D=3D null)=0A= element.removeAttribute(name);=0A= else if (value =3D=3D=3D true)=0A= element.setAttribute(name, name);=0A= else element.setAttribute(name, value);=0A= }=0A= return element;=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= return (elementClassName.length > 0 && (elementClassName =3D=3D = className ||=0A= new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName)));=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= if (!element.hasClassName(className))=0A= element.className +=3D (element.className ? ' ' : '') + className;=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= element.className =3D element.className.replace(=0A= new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= return element[element.hasClassName(className) ?=0A= 'removeClassName' : 'addClassName'](className);=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.blank();=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= =0A= if (element.compareDocumentPosition)=0A= return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A= =0A= if (element.sourceIndex && !Prototype.Browser.Opera) {=0A= var e =3D element.sourceIndex, a =3D ancestor.sourceIndex,=0A= nextAncestor =3D ancestor.nextSibling;=0A= if (!nextAncestor) {=0A= do { ancestor =3D ancestor.parentNode; }=0A= while (!(nextAncestor =3D ancestor.nextSibling) && = ancestor.parentNode);=0A= }=0A= if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex);=0A= }=0A= =0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D element.cumulativeOffset();=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value) {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= }=0A= if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= getOpacity: function(element) {=0A= return $(element).getStyle('opacity');=0A= },=0A= =0A= setStyle: function(element, styles) {=0A= element =3D $(element);=0A= var elementStyle =3D element.style, match;=0A= if (Object.isString(styles)) {=0A= element.style.cssText +=3D ';' + styles;=0A= return styles.include('opacity') ?=0A= element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element;=0A= }=0A= for (var property in styles)=0A= if (property =3D=3D 'opacity') = element.setOpacity(styles[property]);=0A= else=0A= elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ?=0A= (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : = 'styleFloat') :=0A= property] =3D styles[property];=0A= =0A= return element;=0A= },=0A= =0A= setOpacity: function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D $(element).getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (window.opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto';=0A= if (element._overflow !=3D=3D 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if (element.tagName =3D=3D 'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A= }=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'absolute') return;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= var offsets =3D element.positionedOffset();=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= return element;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'relative') return;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= return element;=0A= },=0A= =0A= cumulativeScrollOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= getOffsetParent: function(element) {=0A= if (element.offsetParent) return $(element.offsetParent);=0A= if (element =3D=3D document.body) return $(element);=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return $(element);=0A= =0A= return $(document.body);=0A= },=0A= =0A= viewportOffset: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent =3D=3D document.body &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!Prototype.Browser.Opera || element.tagName =3D=3D 'BODY') {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= clonePosition: function(element, source) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || { });=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D source.viewportOffset();=0A= =0A= // find coordinate system to use=0A= element =3D $(element);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D element.getOffsetParent();=0A= delta =3D parent.viewportOffset();=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px';=0A= if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px';=0A= return element;=0A= }=0A= };=0A= =0A= Element.Methods.identify.counter =3D 1;=0A= =0A= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= childElements: Element.Methods.immediateDescendants=0A= });=0A= =0A= Element._attributeTranslations =3D {=0A= write: {=0A= names: {=0A= className: 'class',=0A= htmlFor: 'for'=0A= },=0A= values: { }=0A= }=0A= };=0A= =0A= =0A= if (!document.createRange || Prototype.Browser.Opera) {=0A= Element.Methods.insert =3D function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D { bottom: insertions };=0A= =0A= var t =3D Element._insertionTranslations, content, position, pos, = tagName;=0A= =0A= for (position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= pos =3D t[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= pos.insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A= ? element.parentNode : element).tagName.toUpperCase();=0A= =0A= if (t.tags[tagName]) {=0A= var fragments =3D = Element._getContentFromAnonymousElement(tagName, content.stripScripts());=0A= if (position =3D=3D 'top' || position =3D=3D 'after') = fragments.reverse();=0A= fragments.each(pos.insert.curry(element));=0A= }=0A= else element.insertAdjacentHTML(pos.adjacency, = content.stripScripts());=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= };=0A= }=0A= =0A= if (Prototype.Browser.Opera) {=0A= Element.Methods._getStyle =3D Element.Methods.getStyle;=0A= Element.Methods.getStyle =3D function(element, style) {=0A= switch(style) {=0A= case 'left':=0A= case 'top':=0A= case 'right':=0A= case 'bottom':=0A= if (Element._getStyle(element, 'position') =3D=3D 'static') = return null;=0A= default: return Element._getStyle(element, style);=0A= }=0A= };=0A= Element.Methods._readAttribute =3D Element.Methods.readAttribute;=0A= Element.Methods.readAttribute =3D function(element, attribute) {=0A= if (attribute =3D=3D 'title') return element.title;=0A= return Element._readAttribute(element, attribute);=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.IE) {=0A= $w('positionedOffset getOffsetParent = viewportOffset').each(function(method) {=0A= Element.Methods[method] =3D Element.Methods[method].wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= var position =3D element.getStyle('position');=0A= if (position !=3D 'static') return proceed(element);=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= });=0A= =0A= Element.Methods.getStyle =3D function(element, style) {=0A= element =3D $(element);=0A= style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value && element.currentStyle) value =3D = element.currentStyle[style];=0A= =0A= if (style =3D=3D 'opacity') {=0A= if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if (value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= =0A= if (value =3D=3D 'auto') {=0A= if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none'))=0A= return element['offset' + style.capitalize()] + 'px';=0A= return null;=0A= }=0A= return value;=0A= };=0A= =0A= Element.Methods.setOpacity =3D function(element, value) {=0A= function stripAlpha(filter){=0A= return filter.replace(/alpha\([^\)]*\)/gi,'');=0A= }=0A= element =3D $(element);=0A= var currentStyle =3D element.currentStyle;=0A= if ((currentStyle && !currentStyle.hasLayout) ||=0A= (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A= element.style.zoom =3D 1;=0A= =0A= var filter =3D element.getStyle('filter'), style =3D element.style;=0A= if (value =3D=3D 1 || value =3D=3D=3D '') {=0A= (filter =3D stripAlpha(filter)) ?=0A= style.filter =3D filter : style.removeAttribute('filter');=0A= return element;=0A= } else if (value < 0.00001) value =3D 0;=0A= style.filter =3D stripAlpha(filter) +=0A= 'alpha(opacity=3D' + (value * 100) + ')';=0A= return element;=0A= };=0A= =0A= Element._attributeTranslations =3D {=0A= read: {=0A= names: {=0A= 'class': 'className',=0A= 'for': 'htmlFor'=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= _getAttrNode: function(element, attribute) {=0A= var node =3D element.getAttributeNode(attribute);=0A= return node ? node.value : "";=0A= },=0A= _getEv: function(element, attribute) {=0A= var attribute =3D element.getAttribute(attribute);=0A= return attribute ? attribute.toString().slice(23, -2) : null;=0A= },=0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= title: function(element) {=0A= return element.title;=0A= }=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.write =3D {=0A= names: Object.clone(Element._attributeTranslations.read.names),=0A= values: {=0A= checked: function(element, value) {=0A= element.checked =3D !!value;=0A= },=0A= =0A= style: function(element, value) {=0A= element.style.cssText =3D value ? value : '';=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.has =3D {};=0A= =0A= $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A= 'encType maxLength readOnly longDesc').each(function(attr) {=0A= Element._attributeTranslations.write.names[attr.toLowerCase()] =3D = attr;=0A= Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A= });=0A= =0A= (function(v) {=0A= Object.extend(v, {=0A= href: v._getAttr,=0A= src: v._getAttr,=0A= type: v._getAttr,=0A= action: v._getAttrNode,=0A= disabled: v._flag,=0A= checked: v._flag,=0A= readonly: v._flag,=0A= multiple: v._flag,=0A= onload: v._getEv,=0A= onunload: v._getEv,=0A= onclick: v._getEv,=0A= ondblclick: v._getEv,=0A= onmousedown: v._getEv,=0A= onmouseup: v._getEv,=0A= onmouseover: v._getEv,=0A= onmousemove: v._getEv,=0A= onmouseout: v._getEv,=0A= onfocus: v._getEv,=0A= onblur: v._getEv,=0A= onkeypress: v._getEv,=0A= onkeydown: v._getEv,=0A= onkeyup: v._getEv,=0A= onsubmit: v._getEv,=0A= onreset: v._getEv,=0A= onselect: v._getEv,=0A= onchange: v._getEv=0A= });=0A= })(Element._attributeTranslations.read.values);=0A= }=0A= =0A= else if (Prototype.Browser.Gecko && = /rv:1\.8\.0/.test(navigator.userAgent)) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A= (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A= return element;=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.WebKit) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= =0A= if (value =3D=3D 1)=0A= if(element.tagName =3D=3D 'IMG' && element.width) {=0A= element.width++; element.width--;=0A= } else try {=0A= var n =3D document.createTextNode(' ');=0A= element.appendChild(n);=0A= element.removeChild(n);=0A= } catch (e) { }=0A= =0A= return element;=0A= };=0A= =0A= // Safari returns margins on body which is incorrect if the child is = absolutely=0A= // positioned. For performance reasons, redefine = Position.cumulativeOffset for=0A= // KHTML/WebKit only.=0A= Element.Methods.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= };=0A= }=0A= =0A= if (Prototype.Browser.IE || Prototype.Browser.Opera) {=0A= // IE and Opera are missing .innerHTML support for TABLE-related and = SELECT elements=0A= Element.Methods.update =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= =0A= content =3D Object.toHTML(content);=0A= var tagName =3D element.tagName.toUpperCase();=0A= =0A= if (tagName in Element._insertionTranslations.tags) {=0A= $A(element.childNodes).each(function(node) { = element.removeChild(node) });=0A= Element._getContentFromAnonymousElement(tagName, = content.stripScripts())=0A= .each(function(node) { element.appendChild(node) });=0A= }=0A= else element.innerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= if (document.createElement('div').outerHTML) {=0A= Element.Methods.replace =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= var parent =3D element.parentNode, tagName =3D = parent.tagName.toUpperCase();=0A= =0A= if (Element._insertionTranslations.tags[tagName]) {=0A= var nextSibling =3D element.next();=0A= var fragments =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= parent.removeChild(element);=0A= if (nextSibling)=0A= fragments.each(function(node) { parent.insertBefore(node, = nextSibling) });=0A= else=0A= fragments.each(function(node) { parent.appendChild(node) });=0A= }=0A= else element.outerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= Element._returnOffset =3D function(l, t) {=0A= var result =3D [l, t];=0A= result.left =3D l;=0A= result.top =3D t;=0A= return result;=0A= };=0A= =0A= Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A= var div =3D new Element('div'), t =3D = Element._insertionTranslations.tags[tagName];=0A= div.innerHTML =3D t[0] + html + t[1];=0A= t[2].times(function() { div =3D div.firstChild });=0A= return $A(div.childNodes);=0A= };=0A= =0A= Element._insertionTranslations =3D {=0A= before: {=0A= adjacency: 'beforeBegin',=0A= insert: function(element, node) {=0A= element.parentNode.insertBefore(node, element);=0A= },=0A= initializeRange: function(element, range) {=0A= range.setStartBefore(element);=0A= }=0A= },=0A= top: {=0A= adjacency: 'afterBegin',=0A= insert: function(element, node) {=0A= element.insertBefore(node, element.firstChild);=0A= },=0A= initializeRange: function(element, range) {=0A= range.selectNodeContents(element);=0A= range.collapse(true);=0A= }=0A= },=0A= bottom: {=0A= adjacency: 'beforeEnd',=0A= insert: function(element, node) {=0A= element.appendChild(node);=0A= }=0A= },=0A= after: {=0A= adjacency: 'afterEnd',=0A= insert: function(element, node) {=0A= element.parentNode.insertBefore(node, element.nextSibling);=0A= },=0A= initializeRange: function(element, range) {=0A= range.setStartAfter(element);=0A= }=0A= },=0A= tags: {=0A= TABLE: ['', '
', 1],=0A= TBODY: ['', '
', 2],=0A= TR: ['', '
', 3],=0A= TD: ['
', '
', 4],=0A= SELECT: ['', 1]=0A= }=0A= };=0A= =0A= (function() {=0A= this.bottom.initializeRange =3D this.top.initializeRange;=0A= Object.extend(this.tags, {=0A= THEAD: this.tags.TBODY,=0A= TFOOT: this.tags.TBODY,=0A= TH: this.tags.TD=0A= });=0A= }).call(Element._insertionTranslations);=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= attribute =3D Element._attributeTranslations.has[attribute] || = attribute;=0A= var node =3D $(element).getAttributeNode(attribute);=0A= return node && node.specified;=0A= }=0A= };=0A= =0A= Element.Methods.ByTag =3D { };=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= if (!Prototype.BrowserFeatures.ElementExtensions &&=0A= document.createElement('div').__proto__) {=0A= window.HTMLElement =3D { };=0A= window.HTMLElement.prototype =3D = document.createElement('div').__proto__;=0A= Prototype.BrowserFeatures.ElementExtensions =3D true;=0A= }=0A= =0A= Element.extend =3D (function() {=0A= if (Prototype.BrowserFeatures.SpecificElementExtensions)=0A= return Prototype.K;=0A= =0A= var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A= =0A= var extend =3D Object.extend(function(element) {=0A= if (!element || element._extendedByPrototype ||=0A= element.nodeType !=3D 1 || element =3D=3D window) return element;=0A= =0A= var methods =3D Object.clone(Methods),=0A= tagName =3D element.tagName, property, value;=0A= =0A= // extend methods for specific tags=0A= if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A= =0A= for (property in methods) {=0A= value =3D methods[property];=0A= if (Object.isFunction(value) && !(property in element))=0A= element[property] =3D value.methodize();=0A= }=0A= =0A= element._extendedByPrototype =3D Prototype.emptyFunction;=0A= return element;=0A= =0A= }, {=0A= refresh: function() {=0A= // extend methods for all tags (Safari doesn't need this)=0A= if (!Prototype.BrowserFeatures.ElementExtensions) {=0A= Object.extend(Methods, Element.Methods);=0A= Object.extend(Methods, Element.Methods.Simulated);=0A= }=0A= }=0A= });=0A= =0A= extend.refresh();=0A= return extend;=0A= })();=0A= =0A= Element.hasAttribute =3D function(element, attribute) {=0A= if (element.hasAttribute) return element.hasAttribute(attribute);=0A= return Element.Methods.Simulated.hasAttribute(element, attribute);=0A= };=0A= =0A= Element.addMethods =3D function(methods) {=0A= var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A= =0A= if (!methods) {=0A= Object.extend(Form, Form.Methods);=0A= Object.extend(Form.Element, Form.Element.Methods);=0A= Object.extend(Element.Methods.ByTag, {=0A= "FORM": Object.clone(Form.Methods),=0A= "INPUT": Object.clone(Form.Element.Methods),=0A= "SELECT": Object.clone(Form.Element.Methods),=0A= "TEXTAREA": Object.clone(Form.Element.Methods)=0A= });=0A= }=0A= =0A= if (arguments.length =3D=3D 2) {=0A= var tagName =3D methods;=0A= methods =3D arguments[1];=0A= }=0A= =0A= if (!tagName) Object.extend(Element.Methods, methods || { });=0A= else {=0A= if (Object.isArray(tagName)) tagName.each(extend);=0A= else extend(tagName);=0A= }=0A= =0A= function extend(tagName) {=0A= tagName =3D tagName.toUpperCase();=0A= if (!Element.Methods.ByTag[tagName])=0A= Element.Methods.ByTag[tagName] =3D { };=0A= Object.extend(Element.Methods.ByTag[tagName], methods);=0A= }=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!Object.isFunction(value)) continue;=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D value.methodize();=0A= }=0A= }=0A= =0A= function findDOMClass(tagName) {=0A= var klass;=0A= var trans =3D {=0A= "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A= "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList",=0A= "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading",=0A= "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A= "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION":=0A= "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A= "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR":=0A= "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A= "FrameSet", "IFRAME": "IFrame"=0A= };=0A= if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A= if (window[klass]) return window[klass];=0A= =0A= window[klass] =3D { };=0A= window[klass].prototype =3D = document.createElement(tagName).__proto__;=0A= return window[klass];=0A= }=0A= =0A= if (F.ElementExtensions) {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= }=0A= =0A= if (F.SpecificElementExtensions) {=0A= for (var tag in Element.Methods.ByTag) {=0A= var klass =3D findDOMClass(tag);=0A= if (Object.isUndefined(klass)) continue;=0A= copy(T[tag], klass.prototype);=0A= }=0A= }=0A= =0A= Object.extend(Element, Element.Methods);=0A= delete Element.ByTag;=0A= =0A= if (Element.extend.refresh) Element.extend.refresh();=0A= Element.cache =3D { };=0A= };=0A= =0A= document.viewport =3D {=0A= getDimensions: function() {=0A= var dimensions =3D { };=0A= $w('width height').each(function(d) {=0A= var D =3D d.capitalize();=0A= dimensions[d] =3D self['inner' + D] ||=0A= (document.documentElement['client' + D] || document.body['client' = + D]);=0A= });=0A= return dimensions;=0A= },=0A= =0A= getWidth: function() {=0A= return this.getDimensions().width;=0A= },=0A= =0A= getHeight: function() {=0A= return this.getDimensions().height;=0A= },=0A= =0A= getScrollOffsets: function() {=0A= return Element._returnOffset(=0A= window.pageXOffset || document.documentElement.scrollLeft || = document.body.scrollLeft,=0A= window.pageYOffset || document.documentElement.scrollTop || = document.body.scrollTop);=0A= }=0A= };=0A= /* Portions of the Selector class are derived from Jack Slocum=E2=80=99s = DomQuery,=0A= * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style=0A= * license. Please see http://www.yui-ext.com/ for more information. */=0A= =0A= var Selector =3D Class.create({=0A= initialize: function(expression) {=0A= this.expression =3D expression.strip();=0A= this.compileMatcher();=0A= },=0A= =0A= compileMatcher: function() {=0A= // Selectors with namespaced attributes can't use the XPath version=0A= if (Prototype.BrowserFeatures.XPath && = !(/(\[[\w-]*?:|:checked)/).test(this.expression))=0A= return this.compileXPathMatcher();=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers,=0A= c =3D Selector.criteria, le, p, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.matcher =3D Selector._cache[e];=0A= return;=0A= }=0A= =0A= this.matcher =3D ["this.matcher =3D function(root) {",=0A= "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"];=0A= =0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :=0A= new Template(c[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.matcher.push("return h.unique(n);\n}");=0A= eval(this.matcher.join('\n'));=0A= Selector._cache[this.expression] =3D this.matcher;=0A= },=0A= =0A= compileXPathMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.xpath =3D Selector._cache[e]; return;=0A= }=0A= =0A= this.matcher =3D ['.//*'];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= if (m =3D e.match(ps[i])) {=0A= this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :=0A= new Template(x[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.xpath =3D this.matcher.join('');=0A= Selector._cache[this.expression] =3D this.xpath;=0A= },=0A= =0A= findElements: function(root) {=0A= root =3D root || document;=0A= if (this.xpath) return document._getElementsByXPath(this.xpath, = root);=0A= return this.matcher(root);=0A= },=0A= =0A= match: function(element) {=0A= this.tokens =3D [];=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, as =3D = Selector.assertions;=0A= var le, p, m;=0A= =0A= while (e && le !=3D=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= // use the Selector.assertions methods unless the selector=0A= // is too complex.=0A= if (as[i]) {=0A= this.tokens.push([i, Object.clone(m)]);=0A= e =3D e.replace(m[0], '');=0A= } else {=0A= // reluctantly do a document-wide search=0A= // and look for a match in the array=0A= return this.findElements(document).include(element);=0A= }=0A= }=0A= }=0A= }=0A= =0A= var match =3D true, name, matches;=0A= for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A= name =3D token[0], matches =3D token[1];=0A= if (!Selector.assertions[name](element, matches)) {=0A= match =3D false; break;=0A= }=0A= }=0A= =0A= return match;=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= },=0A= =0A= inspect: function() {=0A= return "#";=0A= }=0A= });=0A= =0A= Object.extend(Selector, {=0A= _cache: { },=0A= =0A= xpath: {=0A= descendant: "//*",=0A= child: "/*",=0A= adjacent: "/following-sibling::*[1]",=0A= laterSibling: '/following-sibling::*',=0A= tagName: function(m) {=0A= if (m[1] =3D=3D '*') return '';=0A= return "[local-name()=3D'" + m[1].toLowerCase() +=0A= "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A= },=0A= className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A= id: "[@id=3D'#{1}']",=0A= attrPresence: "[@#{1}]",=0A= attr: function(m) {=0A= m[3] =3D m[5] || m[6];=0A= return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= var h =3D Selector.xpath.pseudos[m[1]];=0A= if (!h) return '';=0A= if (Object.isFunction(h)) return h(m);=0A= return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A= },=0A= operators: {=0A= '=3D': "[@#{1}=3D'#{3}']",=0A= '!=3D': "[@#{1}!=3D'#{3}']",=0A= '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A= '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']",=0A= '*=3D': "[contains(@#{1}, '#{3}')]",=0A= '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A= '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A= },=0A= pseudos: {=0A= 'first-child': '[not(preceding-sibling::*)]',=0A= 'last-child': '[not(following-sibling::*)]',=0A= 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]',=0A= 'empty': "[count(*) =3D 0 and (count(text()) =3D 0 or = translate(text(), ' \t\r\n', '') =3D '')]",=0A= 'checked': "[@checked]",=0A= 'disabled': "[@disabled]",=0A= 'enabled': "[not(@disabled)]",=0A= 'not': function(m) {=0A= var e =3D m[6], p =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m, v;=0A= =0A= var exclusion =3D [];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in p) {=0A= if (m =3D e.match(p[i])) {=0A= v =3D Object.isFunction(x[i]) ? x[i](m) : new = Template(x[i]).evaluate(m);=0A= exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= return "[not(" + exclusion.join(" and ") + ")]";=0A= },=0A= 'nth-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A= },=0A= 'nth-last-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A= },=0A= 'nth-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("position() ", m);=0A= },=0A= 'nth-last-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m);=0A= },=0A= 'first-of-type': function(m) {=0A= m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A= },=0A= 'last-of-type': function(m) {=0A= m[6] =3D "1"; return = Selector.xpath.pseudos['nth-last-of-type'](m);=0A= },=0A= 'only-of-type': function(m) {=0A= var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + = p['last-of-type'](m);=0A= },=0A= nth: function(fragment, m) {=0A= var mm, formula =3D m[6], predicate;=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A= return '[' + fragment + "=3D " + mm[1] + ']';=0A= if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A= if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A= var a =3D mm[1] ? Number(mm[1]) : 1;=0A= var b =3D mm[2] ? Number(mm[2]) : 0;=0A= predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A= "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A= return new Template(predicate).evaluate({=0A= fragment: fragment, a: a, b: b });=0A= }=0A= }=0A= }=0A= },=0A= =0A= criteria: {=0A= tagName: 'n =3D h.tagName(n, r, "#{1}", c); c =3D false;',=0A= className: 'n =3D h.className(n, r, "#{1}", c); c =3D false;',=0A= id: 'n =3D h.id(n, r, "#{1}", c); c =3D false;',=0A= attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;',=0A= attr: function(m) {=0A= m[3] =3D (m[5] || m[6]);=0A= return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = =3D false;').evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A= return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m);=0A= },=0A= descendant: 'c =3D "descendant";',=0A= child: 'c =3D "child";',=0A= adjacent: 'c =3D "adjacent";',=0A= laterSibling: 'c =3D "laterSibling";'=0A= },=0A= =0A= patterns: {=0A= // combinators must be listed first=0A= // (and descendant needs to be last combinator)=0A= laterSibling: /^\s*~\s*/,=0A= child: /^\s*>\s*/,=0A= adjacent: /^\s*\+\s*/,=0A= descendant: /^\s/,=0A= =0A= // selectors follow=0A= tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,=0A= id: /^#([\w\-\*]+)(\b|$)/,=0A= className: /^\.([\w\-\*]+)(\b|$)/,=0A= pseudo: = /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|(?=3D\s)|(?=3D:))/,=0A= attrPresence: /^\[([\w]+)\]/,=0A= attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^= \]]*?)))?\]/=0A= },=0A= =0A= // for Selector.match and Element#match=0A= assertions: {=0A= tagName: function(element, matches) {=0A= return matches[1].toUpperCase() =3D=3D = element.tagName.toUpperCase();=0A= },=0A= =0A= className: function(element, matches) {=0A= return Element.hasClassName(element, matches[1]);=0A= },=0A= =0A= id: function(element, matches) {=0A= return element.id =3D=3D=3D matches[1];=0A= },=0A= =0A= attrPresence: function(element, matches) {=0A= return Element.hasAttribute(element, matches[1]);=0A= },=0A= =0A= attr: function(element, matches) {=0A= var nodeValue =3D Element.readAttribute(element, matches[1]);=0A= return Selector.operators[matches[2]](nodeValue, matches[3]);=0A= }=0A= },=0A= =0A= handlers: {=0A= // UTILITY FUNCTIONS=0A= // joins two collections=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= a.push(node);=0A= return a;=0A= },=0A= =0A= // marks an array of nodes for counting=0A= mark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._counted =3D true;=0A= return nodes;=0A= },=0A= =0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._counted =3D undefined;=0A= return nodes;=0A= },=0A= =0A= // mark each child node with its position (for nth calls)=0A= // "ofType" flag indicates whether we're indexing for nth-of-type=0A= // rather than nth-child=0A= index: function(parentNode, reverse, ofType) {=0A= parentNode._counted =3D true;=0A= if (reverse) {=0A= for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) {=0A= var node =3D nodes[i];=0A= if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++;=0A= }=0A= } else {=0A= for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++)=0A= if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++;=0A= }=0A= },=0A= =0A= // filters out duplicates and extends all nodes=0A= unique: function(nodes) {=0A= if (nodes.length =3D=3D 0) return nodes;=0A= var results =3D [], n;=0A= for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A= if (!(n =3D nodes[i])._counted) {=0A= n._counted =3D true;=0A= results.push(Element.extend(n));=0A= }=0A= return Selector.handlers.unmark(results);=0A= },=0A= =0A= // COMBINATOR FUNCTIONS=0A= descendant: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName('*'));=0A= return results;=0A= },=0A= =0A= child: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= for (var j =3D 0, children =3D [], child; child =3D = node.childNodes[j]; j++)=0A= if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child);=0A= }=0A= return results;=0A= },=0A= =0A= adjacent: function(nodes) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= var next =3D this.nextElementSibling(node);=0A= if (next) results.push(next);=0A= }=0A= return results;=0A= },=0A= =0A= laterSibling: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, Element.nextSiblings(node));=0A= return results;=0A= },=0A= =0A= nextElementSibling: function(node) {=0A= while (node =3D node.nextSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= previousElementSibling: function(node) {=0A= while (node =3D node.previousSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= // TOKEN FUNCTIONS=0A= tagName: function(nodes, root, tagName, combinator) {=0A= tagName =3D tagName.toUpperCase();=0A= var results =3D [], h =3D Selector.handlers;=0A= if (nodes) {=0A= if (combinator) {=0A= // fastlane for ordinary descendant combinators=0A= if (combinator =3D=3D "descendant") {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName(tagName));=0A= return results;=0A= } else nodes =3D this[combinator](nodes);=0A= if (tagName =3D=3D "*") return nodes;=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.tagName.toUpperCase() =3D=3D tagName) = results.push(node);=0A= return results;=0A= } else return root.getElementsByTagName(tagName);=0A= },=0A= =0A= id: function(nodes, root, id, combinator) {=0A= var targetNode =3D $(id), h =3D Selector.handlers;=0A= if (!targetNode) return [];=0A= if (!nodes && root =3D=3D document) return [targetNode];=0A= if (nodes) {=0A= if (combinator) {=0A= if (combinator =3D=3D 'child') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (targetNode.parentNode =3D=3D node) return [targetNode];=0A= } else if (combinator =3D=3D 'descendant') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.descendantOf(targetNode, node)) return = [targetNode];=0A= } else if (combinator =3D=3D 'adjacent') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node)=0A= return [targetNode];=0A= } else nodes =3D h[combinator](nodes);=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node =3D=3D targetNode) return [targetNode];=0A= return [];=0A= }=0A= return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : [];=0A= },=0A= =0A= className: function(nodes, root, className, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= return Selector.handlers.byClassName(nodes, root, className);=0A= },=0A= =0A= byClassName: function(nodes, root, className) {=0A= if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A= var needle =3D ' ' + className + ' ';=0A= for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) {=0A= nodeClassName =3D node.className;=0A= if (nodeClassName.length =3D=3D 0) continue;=0A= if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle))=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= attrPresence: function(nodes, root, attr) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= var results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.hasAttribute(node, attr)) results.push(node);=0A= return results;=0A= },=0A= =0A= attr: function(nodes, root, attr, value, operator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= var handler =3D Selector.operators[operator], results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= var nodeValue =3D Element.readAttribute(node, attr);=0A= if (nodeValue =3D=3D=3D null) continue;=0A= if (handler(nodeValue, value)) results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= pseudo: function(nodes, name, value, root, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= return Selector.pseudos[name](nodes, value, root);=0A= }=0A= },=0A= =0A= pseudos: {=0A= 'first-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.previousElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'last-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.nextElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'only-child': function(nodes, value, root) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!h.previousElementSibling(node) && = !h.nextElementSibling(node))=0A= results.push(node);=0A= return results;=0A= },=0A= 'nth-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root);=0A= },=0A= 'nth-last-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true);=0A= },=0A= 'nth-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, false, true);=0A= },=0A= 'nth-last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true, true);=0A= },=0A= 'first-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, false, true);=0A= },=0A= 'last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, true, true);=0A= },=0A= 'only-of-type': function(nodes, formula, root) {=0A= var p =3D Selector.pseudos;=0A= return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root);=0A= },=0A= =0A= // handles the an+b logic=0A= getIndices: function(a, b, total) {=0A= if (a =3D=3D 0) return b > 0 ? [b] : [];=0A= return $R(1, total).inject([], function(memo, i) {=0A= if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A= return memo;=0A= });=0A= },=0A= =0A= // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type=0A= nth: function(nodes, formula, root, reverse, ofType) {=0A= if (nodes.length =3D=3D 0) return [];=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A= h.mark(nodes);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= if (!node.parentNode._counted) {=0A= h.index(node.parentNode, reverse, ofType);=0A= indexed.push(node.parentNode);=0A= }=0A= }=0A= if (formula.match(/^\d+$/)) { // just a number=0A= formula =3D Number(formula);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.nodeIndex =3D=3D formula) results.push(node);=0A= } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b=0A= if (m[1] =3D=3D "-") m[1] =3D -1;=0A= var a =3D m[1] ? Number(m[1]) : 1;=0A= var b =3D m[2] ? Number(m[2]) : 0;=0A= var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A= for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) {=0A= for (var j =3D 0; j < l; j++)=0A= if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A= }=0A= }=0A= h.unmark(nodes);=0A= h.unmark(indexed);=0A= return results;=0A= },=0A= =0A= 'empty': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= // IE treats comments as element nodes=0A= if (node.tagName =3D=3D '!' || (node.firstChild && = !node.innerHTML.match(/^\s*$/))) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= 'not': function(nodes, selector, root) {=0A= var h =3D Selector.handlers, selectorType, m;=0A= var exclusions =3D new Selector(selector).findElements(root);=0A= h.mark(exclusions);=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node._counted) results.push(node);=0A= h.unmark(exclusions);=0A= return results;=0A= },=0A= =0A= 'enabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'disabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'checked': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.checked) results.push(node);=0A= return results;=0A= }=0A= },=0A= =0A= operators: {=0A= '=3D': function(nv, v) { return nv =3D=3D v; },=0A= '!=3D': function(nv, v) { return nv !=3D v; },=0A= '^=3D': function(nv, v) { return nv.startsWith(v); },=0A= '$=3D': function(nv, v) { return nv.endsWith(v); },=0A= '*=3D': function(nv, v) { return nv.include(v); },=0A= '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + = ' '); },=0A= '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + = '-').include('-' + v.toUpperCase() + '-'); }=0A= },=0A= =0A= matchElements: function(elements, expression) {=0A= var matches =3D new Selector(expression).findElements(), h =3D = Selector.handlers;=0A= h.mark(matches);=0A= for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++)=0A= if (element._counted) results.push(element);=0A= h.unmark(matches);=0A= return results;=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (Object.isNumber(expression)) {=0A= index =3D expression; expression =3D false;=0A= }=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= var exprs =3D expressions.join(','), expressions =3D [];=0A= exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {=0A= expressions.push(m[1].strip());=0A= });=0A= var results =3D [], h =3D Selector.handlers;=0A= for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A= selector =3D new Selector(expressions[i].strip());=0A= h.concat(results, selector.findElements(element));=0A= }=0A= return (l > 1) ? h.unique(results) : results;=0A= }=0A= });=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements, options) {=0A= if (typeof options !=3D 'object') options =3D { hash: !!options };=0A= else if (options.hash =3D=3D=3D undefined) options.hash =3D true;=0A= var key, value, submitted =3D false, submit =3D options.submit;=0A= =0A= var data =3D elements.inject({ }, function(result, element) {=0A= if (!element.disabled && element.name) {=0A= key =3D element.name; value =3D $(element).getValue();=0A= if (value !=3D null && (element.type !=3D 'submit' || = (!submitted &&=0A= submit !=3D=3D false && (!submit || key =3D=3D submit) && = (submitted =3D true)))) {=0A= if (key in result) {=0A= // a key is already present; construct an array of values=0A= if (!Object.isArray(result[key])) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= }=0A= else result[key] =3D value;=0A= }=0A= }=0A= return result;=0A= });=0A= =0A= return options.hash ? data : Object.toQueryString(data);=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form, options) {=0A= return Form.serializeElements(Form.getElements(form), options);=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name) return $A(inputs).map(Element.extend);=0A= =0A= for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('disable');=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('enable');=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= var elements =3D $(form).getElements().findAll(function(element) {=0A= return 'hidden' !=3D element.type && !element.disabled;=0A= });=0A= var firstByIndex =3D elements.findAll(function(element) {=0A= return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A= }).sortBy(function(element) { return element.tabIndex }).first();=0A= =0A= return firstByIndex ? firstByIndex : elements.find(function(element) = {=0A= return ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase());=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= form.findFirstElement().activate();=0A= return form;=0A= },=0A= =0A= request: function(form, options) {=0A= form =3D $(form), options =3D Object.clone(options || { });=0A= =0A= var params =3D options.parameters, action =3D = form.readAttribute('action') || '';=0A= if (action.blank()) action =3D window.location.href;=0A= options.parameters =3D form.serialize(true);=0A= =0A= if (params) {=0A= if (Object.isString(params)) params =3D params.toQueryParams();=0A= Object.extend(options.parameters, params);=0A= }=0A= =0A= if (form.hasAttribute('method') && !options.method)=0A= options.method =3D form.method;=0A= =0A= return new Ajax.Request(action, options);=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element =3D {=0A= focus: function(element) {=0A= $(element).focus();=0A= return element;=0A= },=0A= =0A= select: function(element) {=0A= $(element).select();=0A= return element;=0A= }=0A= };=0A= =0A= Form.Element.Methods =3D {=0A= serialize: function(element) {=0A= element =3D $(element);=0A= if (!element.disabled && element.name) {=0A= var value =3D element.getValue();=0A= if (value !=3D undefined) {=0A= var pair =3D { };=0A= pair[element.name] =3D value;=0A= return Object.toQueryString(pair);=0A= }=0A= }=0A= return '';=0A= },=0A= =0A= getValue: function(element) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= return Form.Element.Serializers[method](element);=0A= },=0A= =0A= setValue: function(element, value) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= Form.Element.Serializers[method](element, value);=0A= return element;=0A= },=0A= =0A= clear: function(element) {=0A= $(element).value =3D '';=0A= return element;=0A= },=0A= =0A= present: function(element) {=0A= return $(element).value !=3D '';=0A= },=0A= =0A= activate: function(element) {=0A= element =3D $(element);=0A= try {=0A= element.focus();=0A= if (element.select && (element.tagName.toLowerCase() !=3D 'input' = ||=0A= !['button', 'reset', 'submit'].include(element.type)))=0A= element.select();=0A= } catch (e) { }=0A= return element;=0A= },=0A= =0A= disable: function(element) {=0A= element =3D $(element);=0A= element.blur();=0A= element.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Field =3D Form.Element;=0A= var $F =3D Form.Element.Methods.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element, value) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element, value);=0A= default:=0A= return Form.Element.Serializers.textarea(element, value);=0A= }=0A= },=0A= =0A= inputSelector: function(element, value) {=0A= if (value =3D=3D=3D undefined) return element.checked ? = element.value : null;=0A= else element.checked =3D !!value;=0A= },=0A= =0A= textarea: function(element, value) {=0A= if (value =3D=3D=3D undefined) return element.value;=0A= else element.value =3D value;=0A= },=0A= =0A= select: function(element, index) {=0A= if (index =3D=3D=3D undefined)=0A= return this[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= else {=0A= var opt, value, single =3D !Object.isArray(index);=0A= for (var i =3D 0, length =3D element.length; i < length; i++) {=0A= opt =3D element.options[i];=0A= value =3D this.optionValue(opt);=0A= if (single) {=0A= if (value =3D=3D index) {=0A= opt.selected =3D true;=0A= return;=0A= }=0A= }=0A= else opt.selected =3D index.include(value);=0A= }=0A= }=0A= },=0A= =0A= selectOne: function(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? this.optionValue(element.options[index]) : = null;=0A= },=0A= =0A= selectMany: function(element) {=0A= var values, length =3D element.length;=0A= if (!length) return null;=0A= =0A= for (var i =3D 0, values =3D []; i < length; i++) {=0A= var opt =3D element.options[i];=0A= if (opt.selected) values.push(this.optionValue(opt));=0A= }=0A= return values;=0A= },=0A= =0A= optionValue: function(opt) {=0A= // extend element because hasAttribute may not be native=0A= return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A= initialize: function($super, element, frequency, callback) {=0A= $super(callback, frequency);=0A= this.element =3D $(element);=0A= this.lastValue =3D this.getValue();=0A= },=0A= =0A= execute: function() {=0A= var value =3D this.getValue();=0A= if (Object.isString(this.lastValue) && Object.isString(value) ?=0A= this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= });=0A= =0A= Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D Class.create({=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= Form.getElements(this.element).each(this.registerCallback, this);=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= });=0A= =0A= Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) var Event =3D { };=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= KEY_INSERT: 45,=0A= =0A= cache: { },=0A= =0A= relatedTarget: function(event) {=0A= var element;=0A= switch(event.type) {=0A= case 'mouseover': element =3D event.fromElement; break;=0A= case 'mouseout': element =3D event.toElement; break;=0A= default: return null;=0A= }=0A= return Element.extend(element);=0A= }=0A= });=0A= =0A= Event.Methods =3D (function() {=0A= var isButton;=0A= =0A= if (Prototype.Browser.IE) {=0A= var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A= isButton =3D function(event, code) {=0A= return event.button =3D=3D buttonMap[code];=0A= };=0A= =0A= } else if (Prototype.Browser.WebKit) {=0A= isButton =3D function(event, code) {=0A= switch (code) {=0A= case 0: return event.which =3D=3D 1 && !event.metaKey;=0A= case 1: return event.which =3D=3D 1 && event.metaKey;=0A= default: return false;=0A= }=0A= };=0A= =0A= } else {=0A= isButton =3D function(event, code) {=0A= return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code);=0A= };=0A= }=0A= =0A= return {=0A= isLeftClick: function(event) { return isButton(event, 0) },=0A= isMiddleClick: function(event) { return isButton(event, 1) },=0A= isRightClick: function(event) { return isButton(event, 2) },=0A= =0A= element: function(event) {=0A= var node =3D Event.extend(event).target;=0A= return Element.extend(node.nodeType =3D=3D Node.TEXT_NODE ? = node.parentNode : node);=0A= },=0A= =0A= findElement: function(event, expression) {=0A= var element =3D Event.element(event);=0A= return element.match(expression) ? element : = element.up(expression);=0A= },=0A= =0A= pointer: function(event) {=0A= return {=0A= x: event.pageX || (event.clientX +=0A= (document.documentElement.scrollLeft || = document.body.scrollLeft)),=0A= y: event.pageY || (event.clientY +=0A= (document.documentElement.scrollTop || = document.body.scrollTop))=0A= };=0A= },=0A= =0A= pointerX: function(event) { return Event.pointer(event).x },=0A= pointerY: function(event) { return Event.pointer(event).y },=0A= =0A= stop: function(event) {=0A= Event.extend(event);=0A= event.preventDefault();=0A= event.stopPropagation();=0A= event.stopped =3D true;=0A= }=0A= };=0A= })();=0A= =0A= Event.extend =3D (function() {=0A= var methods =3D Object.keys(Event.Methods).inject({ }, function(m, = name) {=0A= m[name] =3D Event.Methods[name].methodize();=0A= return m;=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(methods, {=0A= stopPropagation: function() { this.cancelBubble =3D true },=0A= preventDefault: function() { this.returnValue =3D false },=0A= inspect: function() { return "[object Event]" }=0A= });=0A= =0A= return function(event) {=0A= if (!event) return false;=0A= if (event._extendedByPrototype) return event;=0A= =0A= event._extendedByPrototype =3D Prototype.emptyFunction;=0A= var pointer =3D Event.pointer(event);=0A= Object.extend(event, {=0A= target: event.srcElement,=0A= relatedTarget: Event.relatedTarget(event),=0A= pageX: pointer.x,=0A= pageY: pointer.y=0A= });=0A= return Object.extend(event, methods);=0A= };=0A= =0A= } else {=0A= Event.prototype =3D Event.prototype || = document.createEvent("HTMLEvents").__proto__;=0A= Object.extend(Event.prototype, methods);=0A= return Prototype.K;=0A= }=0A= })();=0A= =0A= Object.extend(Event, (function() {=0A= var cache =3D Event.cache;=0A= =0A= function getEventID(element) {=0A= if (element._eventID) return element._eventID;=0A= arguments.callee.id =3D arguments.callee.id || 1;=0A= return element._eventID =3D ++arguments.callee.id;=0A= }=0A= =0A= function getDOMEventName(eventName) {=0A= if (eventName && eventName.include(':')) return "dataavailable";=0A= return eventName;=0A= }=0A= =0A= function getCacheForID(id) {=0A= return cache[id] =3D cache[id] || { };=0A= }=0A= =0A= function getWrappersForEventName(id, eventName) {=0A= var c =3D getCacheForID(id);=0A= return c[eventName] =3D c[eventName] || [];=0A= }=0A= =0A= function createWrapper(element, eventName, handler) {=0A= var id =3D getEventID(element);=0A= var c =3D getWrappersForEventName(id, eventName);=0A= if (c.pluck("handler").include(handler)) return false;=0A= =0A= var wrapper =3D function(event) {=0A= if (!Event || !Event.extend ||=0A= (event.eventName && event.eventName !=3D eventName))=0A= return false;=0A= =0A= Event.extend(event);=0A= handler.call(element, event)=0A= };=0A= =0A= wrapper.handler =3D handler;=0A= c.push(wrapper);=0A= return wrapper;=0A= }=0A= =0A= function findWrapper(id, eventName, handler) {=0A= var c =3D getWrappersForEventName(id, eventName);=0A= return c.find(function(wrapper) { return wrapper.handler =3D=3D = handler });=0A= }=0A= =0A= function destroyWrapper(id, eventName, handler) {=0A= var c =3D getCacheForID(id);=0A= if (!c[eventName]) return false;=0A= c[eventName] =3D c[eventName].without(findWrapper(id, eventName, = handler));=0A= }=0A= =0A= function destroyCache() {=0A= for (var id in cache)=0A= for (var eventName in cache[id])=0A= cache[id][eventName] =3D null;=0A= }=0A= =0A= if (window.attachEvent) {=0A= window.attachEvent("onunload", destroyCache);=0A= }=0A= =0A= return {=0A= observe: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var name =3D getDOMEventName(eventName);=0A= =0A= var wrapper =3D createWrapper(element, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.addEventListener) {=0A= element.addEventListener(name, wrapper, false);=0A= } else {=0A= element.attachEvent("on" + name, wrapper);=0A= }=0A= =0A= return element;=0A= },=0A= =0A= stopObserving: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var id =3D getEventID(element), name =3D = getDOMEventName(eventName);=0A= =0A= if (!handler && eventName) {=0A= getWrappersForEventName(id, eventName).each(function(wrapper) {=0A= element.stopObserving(eventName, wrapper.handler);=0A= });=0A= return element;=0A= =0A= } else if (!eventName) {=0A= Object.keys(getCacheForID(id)).each(function(eventName) {=0A= element.stopObserving(eventName);=0A= });=0A= return element;=0A= }=0A= =0A= var wrapper =3D findWrapper(id, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, wrapper, false);=0A= } else {=0A= element.detachEvent("on" + name, wrapper);=0A= }=0A= =0A= destroyWrapper(id, eventName, handler);=0A= =0A= return element;=0A= },=0A= =0A= fire: function(element, eventName, memo) {=0A= element =3D $(element);=0A= if (element =3D=3D document && document.createEvent && = !element.dispatchEvent)=0A= element =3D document.documentElement;=0A= =0A= if (document.createEvent) {=0A= var event =3D document.createEvent("HTMLEvents");=0A= event.initEvent("dataavailable", true, true);=0A= } else {=0A= var event =3D document.createEventObject();=0A= event.eventType =3D "ondataavailable";=0A= }=0A= =0A= event.eventName =3D eventName;=0A= event.memo =3D memo || { };=0A= =0A= if (document.createEvent) {=0A= element.dispatchEvent(event);=0A= } else {=0A= element.fireEvent(event.eventType, event);=0A= }=0A= =0A= return event;=0A= }=0A= };=0A= })());=0A= =0A= Object.extend(Event, Event.Methods);=0A= =0A= Element.addMethods({=0A= fire: Event.fire,=0A= observe: Event.observe,=0A= stopObserving: Event.stopObserving=0A= });=0A= =0A= Object.extend(document, {=0A= fire: Element.Methods.fire.methodize(),=0A= observe: Element.Methods.observe.methodize(),=0A= stopObserving: Element.Methods.stopObserving.methodize()=0A= });=0A= =0A= (function() {=0A= /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A= Matthias Miller, Dean Edwards and John Resig. */=0A= =0A= var timer, fired =3D false;=0A= =0A= function fireContentLoadedEvent() {=0A= if (fired) return;=0A= if (timer) window.clearInterval(timer);=0A= document.fire("dom:loaded");=0A= fired =3D true;=0A= }=0A= =0A= if (document.addEventListener) {=0A= if (Prototype.Browser.WebKit) {=0A= timer =3D window.setInterval(function() {=0A= if (/loaded|complete/.test(document.readyState))=0A= fireContentLoadedEvent();=0A= }, 0);=0A= =0A= Event.observe(window, "load", fireContentLoadedEvent);=0A= =0A= } else {=0A= document.addEventListener("DOMContentLoaded",=0A= fireContentLoadedEvent, false);=0A= }=0A= =0A= } else {=0A= document.write(" T=E9l=E9commande de gestion du document
3D"" 3D""=20 Gestion du=20 document Vos droits :=20 = ADMINISTRATEUR_SUPERVISEUR_RESPONSABLE   
Url :  / en /=20 tourisme / visiter-conques / = idees-sejours.php >> Voir la version = publique de=20 la page
Menu :  en >=20 Prepare your stay > Visiting Conques = >=20 Discovery=20 = ideas
 
 Modification du=20 document
 Vous = pouvez=20 modifier certains contenus de ce document en = cliquant=20 sur les boutons suivants : 3D"Bloc3D"Bloc3D"Bloc dans le document ci-dessous
 
 Supprimer = d=E9finitivement ce=20 document    Modifier la p=E9riodicit=E9 =  
 Renommer le fichier =    Modifier le titre et la = description de la=20 page  
 Rendre inaccessible = ce=20 document =E0 l'internaute si le contenu est = invalid=E9 ou en=20 cours de modification.
 Ne pas int=E9grer ce = document=20 dans le sitemap=20 Google.
 
 Suivi du=20 document
 P=E9riode de=20 mise =E0 jour : 0 jours. Responsable : webmestre@laetis.fr
 Der.= =20 action : 21-03-2010 16:42:00 / Der. modif HTML : = 12-02-2010=20 09:46:29
 
 
 Faites une demande de = correction,=20 validation ou de suppression =E0 un des=20 responsables
 Suivi : historique des=20 = actions   -   Suivi : les utilisateurs = et leurs=20 droits     = -   Modifier les utilisateurs et = leurs droits=20 >>
 
 
 Menu du site =
  en > Prepare = your stay=20 > Visiting Conques > Discovery ideas =
 Renommer le lien du = menu=20    -    D=E9placer dans le menu=20 = >>   -    Mettre hors du menu = "popup"=20
 
 Th=E9matique de la=20 page
Liste des=20 th=E8mes associ=E9s :   
  Changer la th=E9matique=20 = >>
 
3DCi-dessous Le document = HTML
3DD=E9placer=20 3DFermer=20
------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/javascript/globals.js //detection de navigateur var detect =3D navigator.userAgent.toLowerCase(); var OS,navigateur,versionNavigateur,total,thestring; if (checkIt('konqueror')) { navigateur =3D "Konqueror"; OS =3D "Linux"; } else if (checkIt('chrome')) navigateur =3D "Chrome" else if (checkIt('firefox')) navigateur =3D "Firefox" else if (checkIt('omniweb')) navigateur =3D "OmniWeb" else if (checkIt('opera')) navigateur =3D "Opera" else if (checkIt('webtv')) navigateur =3D "WebTV"; else if (checkIt('icab')) navigateur =3D "iCab" else if (checkIt('msie')) navigateur =3D "Internet Explorer" else if (checkIt('safari')) navigateur =3D "Safari" else if (!checkIt('compatible')) { navigateur =3D "Netscape Navigator" versionNavigateur =3D detect.charAt(8); } else navigateur =3D "An unknown navigateur"; if (!versionNavigateur)=20 { if(navigateur=3D=3D"Safari") { checkIt('version'); versionNavigateur =3D detect.charAt(place + thestring.length); } else { versionNavigateur =3D detect.charAt(place + thestring.length); } } if (!OS) { if (checkIt('linux')) OS =3D "Linux"; else if (checkIt('x11')) OS =3D "Unix"; else if (checkIt('mac')) OS =3D "Mac" else if (checkIt('win')) OS =3D "Windows" else OS =3D "an unknown operating system"; } function checkIt(string) { place =3D detect.indexOf(string) + 1; thestring =3D string; return place; } //fonctions fr=E9quentes nav =3D navigator.appName.substring(0,3); ver =3D navigator.appVersion.substring(0,1); function lsjs_printAll() { if (navigator.platform.substring(0,3)=3D=3D"Win") { window.self.print(); } else { window.alert("Appuyez sur Pomme + P, pour imprimer cette page"); } } function lsjs_ajouterFavoris() { url_site=3Dwindow.self.location.href; titre_site =3D window.document.title; if ( navigator.appName !=3D 'Microsoft Internet Explorer' ) { window.sidebar.addPanel(titre_site,url_site,""); } else { window.external.AddFavorite(url_site,titre_site); }=20 } /* Fonction "Donnez votre avis sur le site" Appel: Votre avis sur le site Ouvre la page du questionnaire standard La=EBtis h=E9berg=E9e sur = interview.laetis.fr */ function lsjs_openVotreAvis(siteInternet, emailCopie) { = winAvis=3Dwindow.open('http://www.interview.laetis.fr/fr/votre-avis/quest= ionnaire.php?siteInternet=3D' +siteInternet + '&emailCopie=3D' + = emailCopie,'votreavis','height=3D692,width=3D650,toolbar=3D0,menubar=3Dno= ,scrollbars=3Dyes,Status=3Dyes'); winAvis.opener =3D self; winAvis.focus(); } // FIN function lsjs_openVotreAvis(siteInternet) /* Fonction "Contenus illicites" Appel: contenus illicites Ouvre la page "contenus illicites" sur laetis.fr */ function lsjs_popupMentions() {=09 = winMentions=3Dwindow.open('http://www.laetis.fr/contenus-illicites/index.= htm','contenusIllicites','height=3D692,width=3D730,toolbar=3D0,menubar=3D= no,scrollbars=3Dyes,Status=3Dyes'); winMentions.opener =3D self;=20 winMentions.focus(); } // FIN function lsjs_popupMentions() function envoyerPageAmiFr() { lienHrefAmi=3D"/fr/popup/envoi-ami.php?titreAmi=3D" + = window.document.title + "&urlAmi=3D" + window.document.location.href; = window.open(lienHrefAmi,'envoiAmi','scrollbars=3Dyes,resizable=3Dyes,stat= us=3Dyes,width=3D650,height=3D600'); =09 } function envoyerPageAmiEn() { lienHrefAmi=3D"/en/popup/envoi-ami.php?titreAmi=3D" + = window.document.title + "&urlAmi=3D" + window.document.location.href; = window.open(lienHrefAmi,'envoiAmi','scrollbars=3Dyes,resizable=3Dyes,stat= us=3Dyes,width=3D650,height=3D600'); =09 } ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/javascript/flashobject.js /** *SWFObjectv1.5.1:FlashPlayerdetectionandembed-http://blog.deconcept.com/s= wfobject/ *SWFObjectis(c)2007GeoffStearnsandisreleasedundertheMITLicense: *http://www.opensource.org/licenses/mit-license.php */ if(typeof deconcept=3D=3D"undefined")var deconcept=3D{};if(typeof = deconcept.util=3D=3D"undefined")deconcept.util=3D{};if(typeof = deconcept.SWFObjectUtil=3D=3D"undefined")deconcept.SWFObjectUtil=3D{};dec= oncept.SWFObject=3Dfunction(swf,id,w,h,ver,c,quality,xiRedirectUrl,redire= ctUrl,detectKey){if(!document.getElementById){return;}this.DETECT_KEY=3Dd= etectKey?detectKey:'detectflash';this.skipDetect=3Ddeconcept.util.getRequ= estParameter(this.DETECT_KEY);this.params=3D{};this.variables=3D{};this.a= ttributes=3D[];if(swf){this.setAttribute('swf',swf);}if(id){this.setAttri= bute('id',id);}if(w){this.setAttribute('width',w);}if(h){this.setAttribut= e('height',h);}if(ver){this.setAttribute('version',new = deconcept.PlayerVersion(ver.toString().split(".")));}this.installedVer=3D= deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all= &&this.installedVer.major>7){if(!deconcept.unloadSet){deconcept.SWFObject= Util.prepUnload=3Dfunction(){__flash_unloadHandler=3Dfunction(){};__flash= _savedUnloadHandler=3Dfunction(){};window.attachEvent("onunload",deconcep= t.SWFObjectUtil.cleanupSWFs);} window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);d= econcept.unloadSet=3Dtrue;}}if(c){this.addParam('bgcolor',c);}var = q=3Dquality?quality:'high';this.addParam('quality',q);this.setAttribute('= useExpressInstall',false);this.setAttribute('doExpressInstall',false);var= = xir=3D(xiRedirectUrl)?xiRedirectUrl:window.location;this.setAttribute('xi= RedirectUrl',xir);this.setAttribute('redirectUrl','');if(redirectUrl){thi= s.setAttribute('redirectUrl',redirectUrl);}} deconcept.SWFObject.prototype=3D{useExpressInstall:function(path){this.xi= SWFPath=3D!path?"expressinstall.swf":path;this.setAttribute('useExpressIn= stall',true);},setAttribute:function(name,value){this.attributes[name]=3D= value;},getAttribute:function(name){return = this.attributes[name]||"";},addParam:function(name,value){this.params[nam= e]=3Dvalue;},getParams:function(){return = this.params;},addVariable:function(name,value){this.variables[name]=3Dval= ue;},getVariable:function(name){return = this.variables[name]||"";},getVariables:function(){return = this.variables;},getVariablePairs:function(){var variablePairs=3D[];var = key;var variables=3Dthis.getVariables();for(key in = variables){variablePairs[variablePairs.length]=3Dkey+"=3D"+variables[key]= ;}return variablePairs;},getSWFHTML:function(){var = swfNode=3D"";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTyp= es.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MM= playerType","PlugIn");this.setAttribute('swf',this.xiSWFPath);}swfNode=3D= '0){swfNode+=3D'= flashvars=3D"'+pairs+'"';}swfNode+=3D'/>';}else{if(this.getAttribute("doE= xpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttri= bute('swf',this.xiSWFPath);}swfNode=3D'';swfNode+=3D'';var = params=3Dthis.getParams();for(var key in params){swfNode+=3D'';}var = pairs=3Dthis.getVariablePairs().join("&");if(pairs.length>0){swfNode+=3D'= ';}swfNode+=3D"";}return = swfNode;},write:function(elementId){if(this.getAttribute('useExpressInsta= ll')){var expressInstallReqVer=3Dnew = deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(exp= ressInstallReqVer)&&!this.installedVer.versionIsValid(this.getAttribute('= version'))){this.setAttribute('doExpressInstall',true);this.addVariable("= MMredirectURL",escape(this.getAttribute('xiRedirectUrl')));document.title= =3Ddocument.title.slice(0,47)+" - Flash Player = Installation";this.addVariable("MMdoctitle",document.title);}}if(this.ski= pDetect||this.getAttribute('doExpressInstall')||this.installedVer.version= IsValid(this.getAttribute('version'))){var n=3D(typeof = elementId=3D=3D'string')?document.getElementById(elementId):elementId;n.i= nnerHTML=3Dthis.getSWFHTML();return = true;}else{if(this.getAttribute('redirectUrl')!=3D""){document.location.r= eplace(this.getAttribute('redirectUrl'));}}return false;}} deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){var = PlayerVersion=3Dnew = deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeType= s.length){var x=3Dnavigator.plugins["Shockwave = Flash"];if(x&&x.description){PlayerVersion=3Dnew = deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac= e(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else = if(navigator.userAgent&&navigator.userAgent.indexOf("Windows = CE")>=3D0){var axo=3D1;var = counter=3D3;while(axo){try{counter++;axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash."+counter);PlayerVersion=3Dn= ew = deconcept.PlayerVersion([counter,0,0]);}catch(e){axo=3Dnull;}}}else{try{v= ar axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var = axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");PlayerVersion=3Dnew = deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}catch= (e){if(PlayerVersion.major=3D=3D6){return PlayerVersion;}}try{axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=3Dnull= ){PlayerVersion=3Dnew = deconcept.PlayerVersion(axo.GetVariable("$version").split(" = ")[1].split(","));}}return PlayerVersion;} deconcept.PlayerVersion=3Dfunction(arrVersion){this.major=3DarrVersion[0]= !=3Dnull?parseInt(arrVersion[0]):0;this.minor=3DarrVersion[1]!=3Dnull?par= seInt(arrVersion[1]):0;this.rev=3DarrVersion[2]!=3Dnull?parseInt(arrVersi= on[2]):0;} deconcept.PlayerVersion.prototype.versionIsValid=3Dfunction(fv){if(this.m= ajorfv.major)return = true;if(this.minorfv.minor)return = true;if(this.rev=3D0;i--){objects[i].style.display=3D'none';for = (var x in objects[i]){if(typeof = objects[i][x]=3D=3D'function'){objects[i][x]=3Dfunction(){};}}}} if(!document.getElementById && = document.all){document.getElementById=3Dfunction(id){return = document.all[id];}}var = getQueryParamValue=3Ddeconcept.util.getRequestParameter;var = FlashObject=3Ddeconcept.SWFObject;var SWFObject=3Ddeconcept.SWFObject; ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://grandsites.midipyrenees.fr/cartouches/tourisme-conques_com/fr/cartouche.js //alert("cartouche"); //variables graphiques =E0 personnaliser par cleint transmises =E0 flash var colorCartPlie=3D"#AC6232"; var alphaColorCartPlie=3D"0"; var alphaCartPlie=3D"95"; var alphaOmbreCartPlie=3D"50"; var colorCartDeplie=3D"#AC6232"; var alphaColorCartDeplie=3D"0"; var alphaCartDeplie=3D"95"; var alphaOmbreCartDeplie=3D"50"; var positionGauche=3D"origineCentre"; =20 //origineCentre : sites centr=E9s, la calcul se fait par rapport au = centre de la page, ex http://www.tourisme-midi-pyrenees.com/fr/index.php //bordGauche : site cal=E9e =E0 guache, le calcul se fait par rapport au = bord gauche, http://www.tourisme-aveyron.com/fr/index.php //peut etre contredit par le site partenaire en amont sur son style de = div style=3D"", c'est le style d=E9finit par le site qui gagne par = rapport =E0 cette valeur var topY=3D30;=20 var leftX=3D335; //distance par rapport au bord gauche ou par rapport au = centre suivant la valeur pr=E9c=E9dente positionGauche //indique si le cartouche est envoy=E9 auto en fin de chargement (true) //ou par le d=E9veloppeur (false) //false : cas de l'int=E9gration experte (ex : cahors avant refonte) var gsAfficheSurOnload=3Dfalse; //indique qi on a le deplie ou si on envoi directement vers le site sans = d=E9plier var gsDeplieBool=3D"false"; //tags xiti var tagXiti=3D"from"; var swfIdGs =3D ""; //parametres generaux var listeLangues=3D["fr","en", "es", "it", "nl", "de"]; var baseNomDiv=3D"gsCartouche"; var defaultLang=3D"fr"; var divGsContainer; //indique si le posionnement est auto, ou =E0 l'int=E9rieur d'un div = existant=20 //cr=E9=E9 par le d=E9veloppeur du site qui accueille le cartouche var gsPositionnementAuto=3Dtrue; function afficheGs() { //alert("maintenance en cours"); swfIdGs=3DbaseNomDiv+defaultLang; if(window.top.document.getElementById(swfIdGs)!=3Dnull) { divGsContainer=3Dwindow.top.document.getElementById(swfIdGs); gsPositionnementAuto=3Dfalse; } else { divGsContainer=3Dcreatediv(swfIdGs);=09 } //ecriture et positionnement du cartouche Gs var fo =3D new = FlashObject("http://www.grandsites.midipyrenees.fr/cartouches/cartouche-g= s-" + defaultLang + "-v02.swf", swfIdGs, "190", "170", 9, "#FFFFFF"); fo.addParam("wmode","transparent"); fo.addParam("allowScriptAccess", "always"); fo.addVariable("colorCartPlie",colorCartPlie); fo.addVariable("alphaColorCartPlie",alphaColorCartPlie); fo.addVariable("alphaCartPlie",alphaCartPlie); fo.addVariable("alphaOmbreCartPlie",alphaOmbreCartPlie); fo.addVariable("colorCartDeplie",colorCartDeplie); fo.addVariable("alphaColorCartDeplie",alphaColorCartDeplie); fo.addVariable("alphaCartDeplie",alphaCartDeplie); fo.addVariable("alphaOmbreCartDeplie",alphaOmbreCartDeplie); fo.addVariable("gsDeplieBool",gsDeplieBool); var flashok=3Dfo.write(swfIdGs); if(flashok && gsPositionnementAuto) { positionneCartoucheGsFirstTime(); divGsContainer.style.display=3D"block"; } } var tempWinId =3D 0; function openWindowGs(pageUrl) { //alert("openWindowGs"); tempWinId=3DtempWinId+1; var winName =3D "popgs"+tempWinId; //Math.round(9999*Math.random()) + = new Date().getTime(); var winNew =3D = window.open(pageUrl,winName,"toolbar=3D1,scrollbars=3D1,location=3D1,stat= usbar=3D0,menubar=3D0,resizable=3D1,width=3D800,height=3D700,left=3D200,t= op=3D100"); if(!winNew) { //alert("ouvre"); window.location.href=3DpageUrl; //alert(swfIdGs + "--" + getSwfGs(swfIdGs) + "--" + pageUrl); //getSwfGs(swfIdGs).openWindowFromGsSwf(pageUrl); } else { winNew.focus(); } } function getSwfGs(id) { if (navigator.appName.indexOf("Microsoft") !=3D -1) { return window[id]; }=20 else { return document[id]; } } =20 function positionneCartoucheGsFirstTime() { //on affiche si et seulement si falsh est disponible en bonne version //alert(divGsContainer.style.top); if(!divGsContainer.style.top) { divGsContainer.style.top=3DtopY+"px"; } else { positionGauche=3D"bordGauche"; = topY=3DdivGsContainer.style.top.substring(0,divGsContainer.style.left.len= gth-2); } =09 if(!divGsContainer.style.left) { if(positionGauche=3D=3D"origineCentre") { var largeurTemp=3DMath.round(f_clientWidth()/2); //alert(largeurTemp); var posX=3DlargeurTemp+leftX; divGsContainer.style.left=3DposX+"px"; window.onresize=3DpositionneCartoucheGs; } else { =20 divGsContainer.style.left=3DleftX+"px"; } } else { positionGauche=3D"bordGauche";=20 = leftX=3DdivGsContainer.style.left.substring(0,divGsContainer.style.left.l= ength-2); } =09 } function positionneCartoucheGs() { //on affiche si et seulement si falsh est disponible en bonne version divGsContainer.style.top=3DtopY+"px"; if(positionGauche=3D=3D"origineCentre") { var largeurTemp=3DMath.round(f_clientWidth()/2); //alert(largeurTemp); var posX=3DlargeurTemp+leftX; divGsContainer.style.left=3DposX+"px"; } else { divGsContainer.style.left=3DleftX+"px"; } =09 } // fonction laetis, globales function checkLangue() { //cheque le nom du cartouche pour conna=EEtre la langue for(i=3D0; i n_docel))) n_result =3D n_docel; return n_body && (!n_result || (n_result > n_body)) ? n_body : = n_result; }; function creatediv(id) { DIVtoRemove =3D window.top.document.getElementById(id); //alert(DIVtoRemove); if(DIVtoRemove!=3Dnull) { window.top.document.body.removeChild(DIVtoRemove); } var newdiv =3D window.top.document.createElement('div'); newdiv.setAttribute('id', id); newdiv.style.width =3D '190px'; newdiv.style.height =3D '170px'; newdiv.style.position =3D "absolute"; window.top.document.body.appendChild(newdiv); return newdiv; }=20 if(gsAfficheSurOnload) { window.onload=3DafficheGs; //alert('GS'); } //affiche Gs //afficheGs(); ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/javascript/preload-en.js // Fonctions pour g=E9rer les preloads des images hover pr=E9sente dans = les css // Compl=E9ter la liste ci-dessous avec les chemins absolus des images //communs aux versions linguistiques //lsjs_listeImages=3Dlsjs_listeImages.concat(["/images/...","/images/..."= ]); //pour la version fran=E7aise var = lsjs_listeImages=3D["/en/images/accueil/histoire-patrimoine.jpg","/en/ima= ges/accueil/tourisme.jpg","/en/images/accueil/histoire-patrimoine-hover.j= pg","/en/images/accueil/tourisme-hover.jpg"]; function lsjs_preloadImages() { //alert("preloader"); =09 tempImagesArray=3Dnew Array(); for(var i=3D0; i0&&parent.frames.length) { d=3Dparent.frames[n.substring(p+1)].document; n=3Dn.substring(0,p);} if(!(x=3Dd[n])&&d.all) x=3Dd.all[n]; for = (i=3D0;!x&&i ------=_NextPart_000_0000_01CAC915.FC19DCD0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://admin.tourisme-conques.fr/includes/javascript/prototype.js /* Prototype JavaScript framework, version 1.6.0.2 * (c) 2005-2008 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style = license. * For details, see the Prototype web site: http://www.prototypejs.org/ * = *------------------------------------------------------------------------= --*/ var Prototype =3D { Version: '1.6.0.2', Browser: { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && = navigator.userAgent.indexOf('KHTML') =3D=3D -1, MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) }, BrowserFeatures: { XPath: !!document.evaluate, ElementExtensions: !!window.HTMLElement, SpecificElementExtensions: document.createElement('div').__proto__ && document.createElement('div').__proto__ !=3D=3D document.createElement('form').__proto__ }, ScriptFragment: ']*>([\\S\\s]*?)<\/script>', JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, emptyFunction: function() { }, K: function(x) { return x } }; if (Prototype.Browser.MobileSafari) Prototype.BrowserFeatures.SpecificElementExtensions =3D false; /* Based on Alex Arnell's inheritance implementation. */ var Class =3D { create: function() { var parent =3D null, properties =3D $A(arguments); if (Object.isFunction(properties[0])) parent =3D properties.shift(); function klass() { this.initialize.apply(this, arguments); } Object.extend(klass, Class.Methods); klass.superclass =3D parent; klass.subclasses =3D []; if (parent) { var subclass =3D function() { }; subclass.prototype =3D parent.prototype; klass.prototype =3D new subclass; parent.subclasses.push(klass); } for (var i =3D 0; i < properties.length; i++) klass.addMethods(properties[i]); if (!klass.prototype.initialize) klass.prototype.initialize =3D Prototype.emptyFunction; klass.prototype.constructor =3D klass; return klass; } }; Class.Methods =3D { addMethods: function(source) { var ancestor =3D this.superclass && this.superclass.prototype; var properties =3D Object.keys(source); if (!Object.keys({ toString: true }).length) properties.push("toString", "valueOf"); for (var i =3D 0, length =3D properties.length; i < length; i++) { var property =3D properties[i], value =3D source[property]; if (ancestor && Object.isFunction(value) && value.argumentNames().first() =3D=3D "$super") { var method =3D value, value =3D Object.extend((function(m) { return function() { return ancestor[m].apply(this, arguments) = }; })(property).wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() } }); } this.prototype[property] =3D value; } return this; } }; var Abstract =3D { }; Object.extend =3D function(destination, source) { for (var property in source) destination[property] =3D source[property]; return destination; }; Object.extend(Object, { inspect: function(object) { try { if (Object.isUndefined(object)) return 'undefined'; if (object =3D=3D=3D null) return 'null'; return object.inspect ? object.inspect() : String(object); } catch (e) { if (e instanceof RangeError) return '...'; throw e; } }, toJSON: function(object) { var type =3D typeof object; switch (type) { case 'undefined': case 'function': case 'unknown': return; case 'boolean': return object.toString(); } if (object =3D=3D=3D null) return 'null'; if (object.toJSON) return object.toJSON(); if (Object.isElement(object)) return; var results =3D []; for (var property in object) { var value =3D Object.toJSON(object[property]); if (!Object.isUndefined(value)) results.push(property.toJSON() + ': ' + value); } return '{' + results.join(', ') + '}'; }, toQueryString: function(object) { return $H(object).toQueryString(); }, toHTML: function(object) { return object && object.toHTML ? object.toHTML() : = String.interpret(object); }, keys: function(object) { var keys =3D []; for (var property in object) keys.push(property); return keys; }, values: function(object) { var values =3D []; for (var property in object) values.push(object[property]); return values; }, clone: function(object) { return Object.extend({ }, object); }, isElement: function(object) { return object && object.nodeType =3D=3D 1; }, isArray: function(object) { return object !=3D null && typeof object =3D=3D "object" && 'splice' in object && 'join' in object; }, isHash: function(object) { return object instanceof Hash; }, isFunction: function(object) { return typeof object =3D=3D "function"; }, isString: function(object) { return typeof object =3D=3D "string"; }, isNumber: function(object) { return typeof object =3D=3D "number"; }, isUndefined: function(object) { return typeof object =3D=3D "undefined"; } }); Object.extend(Function.prototype, { argumentNames: function() { var names =3D = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").inv= oke("strip"); return names.length =3D=3D 1 && !names[0] ? [] : names; }, bind: function() { if (arguments.length < 2 && Object.isUndefined(arguments[0])) return = this; var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); } }, bindAsEventListener: function() { var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function(event) { return __method.apply(object, [event || = window.event].concat(args)); } }, curry: function() { if (!arguments.length) return this; var __method =3D this, args =3D $A(arguments); return function() { return __method.apply(this, args.concat($A(arguments))); } }, delay: function() { var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000; return window.setTimeout(function() { return __method.apply(__method, args); }, timeout); }, wrap: function(wrapper) { var __method =3D this; return function() { return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments))); } }, methodize: function() { if (this._methodized) return this._methodized; var __method =3D this; return this._methodized =3D function() { return __method.apply(null, [this].concat($A(arguments))); }; } }); Function.prototype.defer =3D Function.prototype.delay.curry(0.01); Date.prototype.toJSON =3D function() { return '"' + this.getUTCFullYear() + '-' + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + this.getUTCDate().toPaddedString(2) + 'T' + this.getUTCHours().toPaddedString(2) + ':' + this.getUTCMinutes().toPaddedString(2) + ':' + this.getUTCSeconds().toPaddedString(2) + 'Z"'; }; var Try =3D { these: function() { var returnValue; for (var i =3D 0, length =3D arguments.length; i < length; i++) { var lambda =3D arguments[i]; try { returnValue =3D lambda(); break; } catch (e) { } } return returnValue; } }; RegExp.prototype.match =3D RegExp.prototype.test; RegExp.escape =3D function(str) { return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1'); }; /*-----------------------------------------------------------------------= ---*/ var PeriodicalExecuter =3D Class.create({ initialize: function(callback, frequency) { this.callback =3D callback; this.frequency =3D frequency; this.currentlyExecuting =3D false; this.registerCallback(); }, registerCallback: function() { this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000); }, execute: function() { this.callback(this); }, stop: function() { if (!this.timer) return; clearInterval(this.timer); this.timer =3D null; }, onTimerEvent: function() { if (!this.currentlyExecuting) { try { this.currentlyExecuting =3D true; this.execute(); } finally { this.currentlyExecuting =3D false; } } } }); Object.extend(String, { interpret: function(value) { return value =3D=3D null ? '' : String(value); }, specialChar: { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\' } }); Object.extend(String.prototype, { gsub: function(pattern, replacement) { var result =3D '', source =3D this, match; replacement =3D arguments.callee.prepareReplacement(replacement); while (source.length > 0) { if (match =3D source.match(pattern)) { result +=3D source.slice(0, match.index); result +=3D String.interpret(replacement(match)); source =3D source.slice(match.index + match[0].length); } else { result +=3D source, source =3D ''; } } return result; }, sub: function(pattern, replacement, count) { replacement =3D this.gsub.prepareReplacement(replacement); count =3D Object.isUndefined(count) ? 1 : count; return this.gsub(pattern, function(match) { if (--count < 0) return match[0]; return replacement(match); }); }, scan: function(pattern, iterator) { this.gsub(pattern, iterator); return String(this); }, truncate: function(length, truncation) { length =3D length || 30; truncation =3D Object.isUndefined(truncation) ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : = String(this); }, strip: function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); }, stripTags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), = ''); }, extractScripts: function() { var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img'); var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im'); return (this.match(matchAll) || []).map(function(scriptTag) { return (scriptTag.match(matchOne) || ['', ''])[1]; }); }, evalScripts: function() { return this.extractScripts().map(function(script) { return = eval(script) }); }, escapeHTML: function() { var self =3D arguments.callee; self.text.data =3D this; return self.div.innerHTML; }, unescapeHTML: function() { var div =3D new Element('div'); div.innerHTML =3D this.stripTags(); return div.childNodes[0] ? (div.childNodes.length > 1 ? $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) : div.childNodes[0].nodeValue) : ''; }, toQueryParams: function(separator) { var match =3D this.strip().match(/([^?#]*)(#.*)?$/); if (!match) return { }; return match[1].split(separator || '&').inject({ }, function(hash, = pair) { if ((pair =3D pair.split('=3D'))[0]) { var key =3D decodeURIComponent(pair.shift()); var value =3D pair.length > 1 ? pair.join('=3D') : pair[0]; if (value !=3D undefined) value =3D decodeURIComponent(value); if (key in hash) { if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]]; hash[key].push(value); } else hash[key] =3D value; } return hash; }); }, toArray: function() { return this.split(''); }, succ: function() { return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); }, times: function(count) { return count < 1 ? '' : new Array(count + 1).join(this); }, camelize: function() { var parts =3D this.split('-'), len =3D parts.length; if (len =3D=3D 1) return parts[0]; var camelized =3D this.charAt(0) =3D=3D '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0]; for (var i =3D 1; i < len; i++) camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1); return camelized; }, capitalize: function() { return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase(); }, underscore: function() { return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase(); }, dasherize: function() { return this.gsub(/_/,'-'); }, inspect: function(useDoubleQuotes) { var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) { var character =3D String.specialChar[match[0]]; return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16); }); if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"'; return "'" + escapedString.replace(/'/g, '\\\'') + "'"; }, toJSON: function() { return this.inspect(true); }, unfilterJSON: function(filter) { return this.sub(filter || Prototype.JSONFilter, '#{1}'); }, isJSON: function() { var str =3D this; if (str.blank()) return false; str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); }, evalJSON: function(sanitize) { var json =3D this.unfilterJSON(); try { if (!sanitize || json.isJSON()) return eval('(' + json + ')'); } catch (e) { } throw new SyntaxError('Badly formed JSON string: ' + = this.inspect()); }, include: function(pattern) { return this.indexOf(pattern) > -1; }, startsWith: function(pattern) { return this.indexOf(pattern) =3D=3D=3D 0; }, endsWith: function(pattern) { var d =3D this.length - pattern.length; return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d; }, empty: function() { return this =3D=3D ''; }, blank: function() { return /^\s*$/.test(this); }, interpolate: function(object, pattern) { return new Template(this, pattern).evaluate(object); } }); if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, { escapeHTML: function() { return = this.replace(/&/g,'&').replace(//g,'>'); }, unescapeHTML: function() { return = this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } }); String.prototype.gsub.prepareReplacement =3D function(replacement) { if (Object.isFunction(replacement)) return replacement; var template =3D new Template(replacement); return function(match) { return template.evaluate(match) }; }; String.prototype.parseQuery =3D String.prototype.toQueryParams; Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); with (String.prototype.escapeHTML) div.appendChild(text); var Template =3D Class.create({ initialize: function(template, pattern) { this.template =3D template.toString(); this.pattern =3D pattern || Template.Pattern; }, evaluate: function(object) { if (Object.isFunction(object.toTemplateReplacements)) object =3D object.toTemplateReplacements(); return this.template.gsub(this.pattern, function(match) { if (object =3D=3D null) return ''; var before =3D match[1] || ''; if (before =3D=3D '\\') return match[2]; var ctx =3D object, expr =3D match[3]; var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/; match =3D pattern.exec(expr); if (match =3D=3D null) return before; while (match !=3D null) { var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1]; ctx =3D ctx[comp]; if (null =3D=3D ctx || '' =3D=3D match[3]) break; expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length); match =3D pattern.exec(expr); } return before + String.interpret(ctx); }); } }); Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/; var $break =3D { }; var Enumerable =3D { each: function(iterator, context) { var index =3D 0; iterator =3D iterator.bind(context); try { this._each(function(value) { iterator(value, index++); }); } catch (e) { if (e !=3D $break) throw e; } return this; }, eachSlice: function(number, iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var index =3D -number, slices =3D [], array =3D this.toArray(); while ((index +=3D number) < array.length) slices.push(array.slice(index, index+number)); return slices.collect(iterator, context); }, all: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result =3D true; this.each(function(value, index) { result =3D result && !!iterator(value, index); if (!result) throw $break; }); return result; }, any: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result =3D false; this.each(function(value, index) { if (result =3D !!iterator(value, index)) throw $break; }); return result; }, collect: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var results =3D []; this.each(function(value, index) { results.push(iterator(value, index)); }); return results; }, detect: function(iterator, context) { iterator =3D iterator.bind(context); var result; this.each(function(value, index) { if (iterator(value, index)) { result =3D value; throw $break; } }); return result; }, findAll: function(iterator, context) { iterator =3D iterator.bind(context); var results =3D []; this.each(function(value, index) { if (iterator(value, index)) results.push(value); }); return results; }, grep: function(filter, iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var results =3D []; if (Object.isString(filter)) filter =3D new RegExp(filter); this.each(function(value, index) { if (filter.match(value)) results.push(iterator(value, index)); }); return results; }, include: function(object) { if (Object.isFunction(this.indexOf)) if (this.indexOf(object) !=3D -1) return true; var found =3D false; this.each(function(value) { if (value =3D=3D object) { found =3D true; throw $break; } }); return found; }, inGroupsOf: function(number, fillWith) { fillWith =3D Object.isUndefined(fillWith) ? null : fillWith; return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice; }); }, inject: function(memo, iterator, context) { iterator =3D iterator.bind(context); this.each(function(value, index) { memo =3D iterator(memo, value, index); }); return memo; }, invoke: function(method) { var args =3D $A(arguments).slice(1); return this.map(function(value) { return value[method].apply(value, args); }); }, max: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result; this.each(function(value, index) { value =3D iterator(value, index); if (result =3D=3D null || value >=3D result) result =3D value; }); return result; }, min: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result; this.each(function(value, index) { value =3D iterator(value, index); if (result =3D=3D null || value < result) result =3D value; }); return result; }, partition: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var trues =3D [], falses =3D []; this.each(function(value, index) { (iterator(value, index) ? trues : falses).push(value); }); return [trues, falses]; }, pluck: function(property) { var results =3D []; this.each(function(value) { results.push(value[property]); }); return results; }, reject: function(iterator, context) { iterator =3D iterator.bind(context); var results =3D []; this.each(function(value, index) { if (!iterator(value, index)) results.push(value); }); return results; }, sortBy: function(iterator, context) { iterator =3D iterator.bind(context); return this.map(function(value, index) { return {value: value, criteria: iterator(value, index)}; }).sort(function(left, right) { var a =3D left.criteria, b =3D right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value'); }, toArray: function() { return this.map(); }, zip: function() { var iterator =3D Prototype.K, args =3D $A(arguments); if (Object.isFunction(args.last())) iterator =3D args.pop(); var collections =3D [this].concat(args).map($A); return this.map(function(value, index) { return iterator(collections.pluck(index)); }); }, size: function() { return this.toArray().length; }, inspect: function() { return '#'; } }; Object.extend(Enumerable, { map: Enumerable.collect, find: Enumerable.detect, select: Enumerable.findAll, filter: Enumerable.findAll, member: Enumerable.include, entries: Enumerable.toArray, every: Enumerable.all, some: Enumerable.any }); function $A(iterable) { if (!iterable) return []; if (iterable.toArray) return iterable.toArray(); var length =3D iterable.length || 0, results =3D new Array(length); while (length--) results[length] =3D iterable[length]; return results; } if (Prototype.Browser.WebKit) { $A =3D function(iterable) { if (!iterable) return []; if (!(Object.isFunction(iterable) && iterable =3D=3D '[object = NodeList]') && iterable.toArray) return iterable.toArray(); var length =3D iterable.length || 0, results =3D new Array(length); while (length--) results[length] =3D iterable[length]; return results; }; } Array.from =3D $A; Object.extend(Array.prototype, Enumerable);