From: Subject: EMSC - European-Mediterranean Seismological Centre Date: Fri, 6 Mar 2009 13:24:29 -0500 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0000_01C99E5E.E1184B70" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/emsc_200.png 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 ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/lock.jpg /9j/4AAQSkZJRgABAgEASwBLAAD/4QPZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAbAAAAcgEyAAIAAAAUAAAAjYdp AAQAAAABAAAApAAAANAAAABLAAAAAQAAAEsAAAABQWRvYmUgUGhvdG9zaG9wIENTIFdpbmRvd3MA MjAwNjowMToyNyAxMTo0MzoyMAAAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAAAEKADAAQAAAAB AAAAEAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAKjAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAQBIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAEAAQAwEiAAIRAQMRAf/dAAQAAf/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A9D6vl+m/FxG3Gh2VYWue0S8Max9rvTHu97tnp/RQuk5cZ+V0 43vyBUyu2p9o95DtzbZdtZ9B7Wf56P1CsF73PrNjXMYGwwv1Bs3aMa/99qo9ExL2dSsvNLqqvSLJ c0sklzHNhrtrvzFnHnc/30cv7P6v/OVL7eL5WYY4nGZcWo6P/9n/7QiUUGhvdG9zaG9wIDMuMAA4 QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAEsAAAABAAIASwAAAAEAAjhC SU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44 QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAAC OEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoA AAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD///////////////////// ////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////// //////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAAOEJJTQQC AAAAAAACAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0E GgAAAAADPQAAAAYAAAAAAAAAAAAAABAAAAAQAAAABABsAG8AYwBrAAAAAQAAAAAAAAAAAAAAAAAA AAAAAAABAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA ABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABU b3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAEAAAAABSZ2h0bG9uZwAA ABAAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAA DWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5k c09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAA AABCdG9tbG9uZwAAABAAAAAAUmdodGxvbmcAAAAQAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRF WFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4 dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VT bGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFs aWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAA AE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRv bU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/w AAAAAAAAOEJJTQQRAAAAAAABAQA4QklNBBQAAAAAAAQAAAACOEJJTQQMAAAAAAK/AAAAAQAAABAA AAAQAAAAMAAAAwAAAAKjABgAAf/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFkb2JlX0NNAAL/7gAO QWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwM DAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/90ABAAB /8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUG BwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLR QwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZm doaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKB kRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aU pIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwD0Pq+X6b8X EbcaHZVha57RLwxrH2u9Me73u2en9FC6Tlxn5XTje/IFTK7an2j3kO3Ntl21n0HtZ/no/UKwXvc+ s2NcxgbDC/UGzdoxr/32qj0TEvZ1Ky80uqq9IslzSySXMc2Gu2u/MWcedz/fRy/s/q/85Uvt4vlZ hjicZlxajo//2QA4QklNBCEAAAAAAFMAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMA aABvAHAAAAASAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTAAAAAQA4QklNBAYA AAAAAAcACAAAAAEBAP/hGAFodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBi ZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+Cjx4OnhtcG1ldGEgeG1s bnM6eD0nYWRvYmU6bnM6bWV0YS8nIHg6eG1wdGs9J1hNUCB0b29sa2l0IDMuMC0yOCwgZnJhbWV3 b3JrIDEuNic+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y Mi1yZGYtc3ludGF4LW5zIycgeG1sbnM6aVg9J2h0dHA6Ly9ucy5hZG9iZS5jb20vaVgvMS4wLyc+ CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6M2VlOTQ4ZTktOGYxOS0xMWRhLThj NWQtYzFlMzNiMDE5YWZmJwogIHhtbG5zOmV4aWY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8x LjAvJz4KICA8ZXhpZjpDb2xvclNwYWNlPjQyOTQ5NjcyOTU8L2V4aWY6Q29sb3JTcGFjZT4KICA8 ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogIDxleGlmOlBp eGVsWURpbWVuc2lvbj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiA8L3JkZjpEZXNjcmlwdGlv bj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0ndXVpZDozZWU5NDhlOS04ZjE5LTExZGEt OGM1ZC1jMWUzM2IwMTlhZmYnCiAgeG1sbnM6cGRmPSdodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8x LjMvJz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1 dWlkOjNlZTk0OGU5LThmMTktMTFkYS04YzVkLWMxZTMzYjAxOWFmZicKICB4bWxuczpwaG90b3No b3A9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8nPgogIDxwaG90b3Nob3A6SGlz dG9yeT48L3Bob3Rvc2hvcDpIaXN0b3J5PgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNj cmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6M2VlOTQ4ZTktOGYxOS0xMWRhLThjNWQtYzFlMzNiMDE5 YWZmJwogIHhtbG5zOnRpZmY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvJz4KICA8dGlm ZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogIDx0aWZmOlhSZXNvbHV0aW9uPjc1 LzE8L3RpZmY6WFJlc29sdXRpb24+CiAgPHRpZmY6WVJlc29sdXRpb24+NzUvMTwvdGlmZjpZUmVz b2x1dGlvbj4KICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0Pgog PC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6M2Vl OTQ4ZTktOGYxOS0xMWRhLThjNWQtYzFlMzNiMDE5YWZmJwogIHhtbG5zOnhhcD0naHR0cDovL25z LmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhhcDpDcmVhdGVEYXRlPjIwMDYtMDEtMjdUMTE6NDM6 MjArMDI6MDA8L3hhcDpDcmVhdGVEYXRlPgogIDx4YXA6TW9kaWZ5RGF0ZT4yMDA2LTAxLTI3VDEx OjQzOjIwKzAyOjAwPC94YXA6TW9kaWZ5RGF0ZT4KICA8eGFwOk1ldGFkYXRhRGF0ZT4yMDA2LTAx LTI3VDExOjQzOjIwKzAyOjAwPC94YXA6TWV0YWRhdGFEYXRlPgogIDx4YXA6Q3JlYXRvclRvb2w+ QWRvYmUgUGhvdG9zaG9wIENTIFdpbmRvd3M8L3hhcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2Ny aXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjNlZTk0OGU5LThmMTkt MTFkYS04YzVkLWMxZTMzYjAxOWFmZicKICB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyc+CiAgPHhhcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9w OjNlZTk0OGU4LThmMTktMTFkYS04YzVkLWMxZTMzYjAxOWFmZjwveGFwTU06RG9jdW1lbnRJRD4K IDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjNl ZTk0OGU5LThmMTktMTFkYS04YzVkLWMxZTMzYjAxOWFmZicKICB4bWxuczpkYz0naHR0cDovL3B1 cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8nPgogIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9y bWF0PgogPC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0n dyc/Pv/uAA5BZG9iZQBkQAAAAAH/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIABAAEAMBEQACEQED EQH/3QAEAAL/xAGiAAAABgIDAQAAAAAAAAAAAAAHCAYFBAkDCgIBAAsBAAAGAwEBAQAAAAAAAAAA AAYFBAMHAggBCQAKCxAAAgEDBAEDAwIDAwMCBgl1AQIDBBEFEgYhBxMiAAgxFEEyIxUJUUIWYSQz F1JxgRhikSVDobHwJjRyChnB0TUn4VM2gvGSokRUc0VGN0djKFVWVxqywtLi8mSDdJOEZaOzw9Pj KThm83UqOTpISUpYWVpnaGlqdnd4eXqFhoeIiYqUlZaXmJmapKWmp6ipqrS1tre4ubrExcbHyMnK 1NXW19jZ2uTl5ufo6er09fb3+Pn6EQACAQMCBAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEU cQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeE haOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2xtbm9md3h5ent8fX5/dIWGh4iJiouMjY 6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/2gAMAwEAAhEDEQA/ANyT5ddsttnL9E9OYvs2 u6tzHefYmSwmW3VtvHpl984bY20th7w31nZ9m0ElJk4Y89nK/bVHh4KqWjrY6MZCSo+3nMIjYCc4 e5/IXIFrvF3zZzDFb/QW1vcTRhZJZlgurk2kE3gwpJK0bTK66lU0Ebk0CkgysNm3TdHhSxs2cSOU DYVNSrrKl2IQHTQ5I4j16Q3xN7b8Xe3eXxnrO1d9dp0mx9nda9n9fbi7SoqlN/5LB7uqdz4ffFJk smdubbpclRbYz+MxwiP21O6JklVYygDku5B95PbH3RhtZeQ+bbfcHmS4cRqsqSotrLDDMZYpUSWG j3EQTxlQyq+uIPGCwV7ryzvuyLJJue3tFCrRrrqrKWkV2QKykq2I3rpJ0laNQkA//9Dc9+QG34qj KbiyWX2Xld043J7T2PjcK2K2JmewJVy+EzHZFVlEOO27hdwZDGmmgz9C4mmhiikMlo3Zo5AnIr+8 y9mPdf3AtRvntdyJuW6721vs0EMthEZLmNLa63qS+jDRHxoY2S8tGcErHPwq7RELMPttvMFktjbv uyW6pdTvIHmWFSjpahDV2RXzFJgElaZADCpU/hR1VvjC/I3e3YNb1xuXZWzE6yzu10yG5dp5DZL5 TNZrd+zMpjIsdic5RYrK5CFMdtmreWVafx0+qNXZWlVfaH+7W9kfeb285t5s5m9zeTty2yzl2T6Z DfB45WmkubeXSqSnWwCwPrYAqpCgnuSo/wDfPmzlreOXto2zZt3t7m6W7WQiJg4VVikUlmSqg6nW grU5IrQ9f//Z ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/vide.gif R0lGODlhAQABAPcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Z mf+ZZv+ZM/+ZAP9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8A Zv8AM/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZ M8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wA AJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZmZmZZpmZM5mZAJlm /5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/ zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZm mWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ ZjP/MzP/ADPM/zPMzDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNm MzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/ AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBmAAAz /wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAMwAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAANgALAAAAAABAAEA AAgEALEFBAA7 ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/haut.png iVBORw0KGgoAAAANSUhEUgAAA80AAAAeCAMAAAAhKgzbAAADAFBMVEX////m5ube3t6+vr7MzMy1 tbXT09OsrKzGxsbZ2dmkpKSbm5uVlZXi4uKOjo7r6+vV1dXCwsLJycm6urqxsbHj4+Pk5OTg4ODb 29vo6Ojc3NzOzs7Y2Nj5+fn+/v79/f0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABHlY8PAAACWUlEQVR42u3a0ZKaQBBGYQRBMSGCKKCi+/5vmf57wLjW5n6m6nzX 7M1UneqZdrPjh6vZAIibQv2MN/tMOXw6DBfXAIhHyHIYXkX/t+aQ8qCExzEHEKdxVNhDCPrHmr1l S1kd36apBhCnabqp6RD0W8/Ze8zWspVsX89z21YAYtS282yVWtHe87+c15o1mNXyVM/q+G62AOKj ONX0XE/qWeP5e80e86iWrWT7g9PptAcQI6tTUVeVeh7fcs5eMduDObRsHXddVwCIk/VpTYee7fn8 yjlb38zNeKtbb9lC7vu+BBAn69OS9p7b+qacw9s5W0bzxWP2li3ks9kBiJHytKS9Z8/5sgznbI05 r1sbzGrZQz4AiJUnrZ5tPLd1vuYcah6aXJPZB/PZU/4FIFYetOe813TOm2GtWaM5n+ZKkzm0bJ// BhArD1o9azpX85SH4Zyto7m6h5jVsn3+B0CsPGjr2XO+V+tw9prDaN4XvWI+dM01AxCza9Ppun3u i/0ynL1m/ToVRnNf7g67+clJAQl4ztZr2S/DWVdt1TyMNx/Nds8uHhwSkIhHobu2hvNtHJaaL/p1 ykbzebflgICEbO2ubcO5rf2qrZp10fbR3HE6QFK6MJx11VbNm1fNJddsILHLdvmqeXPMtATTs9ku 2jlnAyQmt6u2Hs5ag2Vagk2zns0922wgNc9eD+d50hpMNeeTL8FaTgZITutrsCkPNYeVdlHyPyNA eo5lsS61Q82+BGMHBqTnsazBvtf8xcEAyfn6sWbOBUgQNQPUDCDimhtqBpKvudlc/wLG6bLZqjxN 5QAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/06/NEIRp5972.global.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA yADIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooAKKKKACiiopp44ImklkVI0GWdjgKPUmgCWoZ7mG2haa4lSKNeWeRgoH1JrgNZ+JgJe Dw9Al1tyGvZ8rAv+6Or/AIYHvXCXj32uTC41a8luznK+aMIv+7EPlX6nJqJVIo5K2MpUtN2el6l8 S9EtiU09Z9UkHe0A8sfWRiF/LNcxP8SNf1FX+xQafYRgkFmJnkH/AKCo/Wubkhgt4d5j3KvYnP8A OoprPznErQxgr1UH7/sTWTqN7HnTzGpLbQvSa74m1Dc8niK9WLGVWMJDu98qoIH41UFtcyOGuNSv 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 FFFFAH//2Q== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/06/NEIRp5972.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB EwEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/rkfFPhbTtY1Bb291P7IywCMAsoBUOTnn3cD8R6111YWtovn7v7Ia6Jh2+arEfxrhPly3vn px9cAEF1YpfSQXba5H5scEkIKKvksGOCdpJOeMfe7VWv9IsrjSbLSm1JF+yRgN5ce52DqVUqAcrz nGPTHTIqaOztWuFgOhyrHBI0Kybmxsckkj1XjJ59Pam3dtHLpn2htKkkmRvLWMI4YKuCOjZIyq8/ p2IBnw+EbCK83f2tIJIihZQu3hUIwOfr64A2+tSQ+DLJIsLqodRCYT8q4bL5G7nkZA47kt68WSIJ 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 ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/06/NEIRp5972.zoom.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB DwEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooA4fxn4Ju/Eupi6tryKDNp9lcODyu4ydv8AbWL8Aa0o9H1Y6Hf6V59rbeZLI0FwhaQl XlZ2DL8uOG28N3JzVvXILiSVHTUo7WMRSAo7FN3yNzuB7fKenGCaz7XTr50ujHq6MJYomhYTmVYx xgjPUfK3JJ3e3OQBtl4f1WLUtElu2tXi062ETyxyuHkby9udpBG3JPGc9CScAVX13wvqOq6td3Mb WqwvFGkYaZxvw6MwkGCMHaQMHjJ4O41q2yX1g8E+oaj5it8jICWDN854+XPQJ/3yfxzbTSp9JutP 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 pKWkoAWiiigAopKWgAoopKAFopKWgAooooA//9k= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/evt/cadre.png iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0 U29mdHdhcmUAUGFpbnQuTkVUIHYzLjEwcrIlkgAAADJJREFUOE9j/N/Q8J+BXADSTC5mgGv8TwKA WjiqmdgwGw0wYBIlBWAEGBlpHJE8ydAMAJ6V74iL9ihgAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/evt/leg.png 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 ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/bul.gif R0lGODlhDAAMAPcAAIGf2+jo6ODg4Nra2szM/6/A5MXFxdDQ0NDQ/7i45qWlzqmp06y+4cnJ+729 7K2t2NPT/9TU/7a249LS/87O/8XF9p2v0v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAADAAMAAAITgAvCBxI sKDBgwgHFgDAEEABgwAiQEBAAADECRQdAAhQEACFBgkeABDQsYKEBQoADOA4kEFDABZWFhRwwICB AyQLBhAwYIAAlgYDAL0QEAA7 ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/06/NEIRp5972.wide.seismicity.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB JwEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/opKWgAopKKAFopKKAFopKWgAopKw/FFrrd1ZWy6DcrBcLPmQsQAYyjA9QehKn6gUAbtcnd eDHm17UdVg1E2s16yFpIUZZVVVRCu7fgghD/AA5BIOeKLSDxWPCc9lK0f9rhMJdvMNrEnkjCnBA6 ZXGcVe0+LWjrcct5vS0WzCOolRleXI+YDAI4B577u2OQDJHge/aC5juPFGo3HnMSvmO+1VIcbcBw CMsh7fc4xmp9Z8Kape3E9zY+Ir22d45gkAkcR7miCJ0bgKw3cDqfXmqB07xo11O63ciQNLlY2njJ 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 FFFAH//Z ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/06/NEIRp5972.regional.seismicity.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB IwEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooAKKKKACiiigBKWiigAoorF8S22sXOnRjRJ1iu45ll+dtquFydhODwTgH2JoA2q5W+8 ISXOvX2rW1+ttc3MSokqxMZIioXGDvAK5UZUryCRnBpui2Pim10C60+9uEnveRDeyTZ3A4HOF4IG T0PPaptNtNfXUNMa+c+VBZLHcstxuWWbbyduB35z14HTnIBnv4Ev5La6t5fFWqSxzFwgeRjsVinB w3zYVWXn+/nGRzd1bwtqN/5L2viC9sniWIbYXYK+wNkEFj94sMk5PyjOao3mleL5ry5ktL37OjTS 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 AUUUUAFFFFAH/9k= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/ques.gif R0lGODlhEgASAPeyAP///8q2jOjizbKrhdfJrfjz6mWDG5/PPvv69+LXwYC3FOPYw/j28bGphMO3 nOLWv7LXZ5/OPsK2mLLWZ2aEHNnKrurkz/Pv3fj15H+3FLPXaLqskWOCGYhySMG0mKDQQODSuo24 PYOHSufey56JWNjKruzk1e3n1Pr553+2FNzNtN3PteHWv8CymImxN+HUv4ORPejfzOTZxNLnpIqT Tf37+O/y2aWNX/Tv54ZwRfz496S0ZPXv5cW6n8S2nfj078e6mfXy4KvWU2eDHX2iMe7r16y4d/n2 5sq8oengzmiaDsXYms/Hq/r38IC3E9PIrMe6mqKEW/n18/r59evj1O/q3q/DfOrj077ZjP79+7XY a7PAf8evgP777NTFqfLu5ffz7auTY/fz7uTZxfj15aS1Zrauiv/+/LevimSCGrLXZuLXwn62EcW4 mPz79v7+/N/Xv97PtbegcvPv3NnLr/Xt5NnLsObmy9/mwOPYxJC4QaXUQ5C3Qvr357qxjZ+uXOfc ya3Be+vk1ZO6Qu/p3Ma6mXqCJHeNNcO3mJO7SY20PPPu5c/ApL6wlMa4nd7Rt+PYwt/Rt9vNse7p 2+DTvJO5R/fy5+TVwPj18PLq29rMsdfIq8S3mIWlQ865j4lySuLWwa3Ceuzm2NvLs4mvQcO1mZS9 SOnjzv///I21PcK2mbyykFaBAnJZJIhySo62P+jhzK6XZ9EAFAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALIALAAAAAASABIA AAj/AJ9wCUCwYEFPcrrIWigLyCMAECNKjEWGoSwoBAAg2MigI6YpWcIcsVjICwAxP8AkePCAkqg3 N/pYbMPozBcci8YsyAPKRI0oKJaEsiGLExI3k6oQWpBgDYskOkgYCTGoUxFEjppcEUSFToUKmyBJ MaRHyx4lZiSUKgAoxogSBOK+sMJHw4EUQ1Z5aMQjgYwFmuyoGPUnFYQDTgwMOOVhQyZJK+JEAnFp x6sJHzJwaCBAVosNqCwVGF2njKIJERRQGNBZloRWOTp0+OQKhqnDChRbYAhHlQMHPnrQcKEh8+bW CzHMuXAhyJZKalKvRm6RIakZQtjorl4dDxEsidJwFeZePRCrQyLQwCJf/Y4fJicwsJcVEAA7 ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_en.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTCRgNt8hMLAAAAn5JREFUOMutkG9MzAEYxz/36+rc oaJoaVp1CFeKDrkXCLeZZSkuYTX6Q2SZ9EJrTV6UmWZDbTYxW0RZS9ZM829lO6NQ7m5K3WVJpdBM Xa6z38+LZLLJmz5vn2ff7/N8ZJ37jkp+hTlYvvwgNbeGF+Ye/qSyKJZFGSkAvC25THx29YR5hMaX M1oF8x7exSfrAIJlQTi2PRn4tzzDWJHKqWw9KqUr/0OldOXkrlDKp1tQ93eirirF7BuMsK3Mxvnl cfQ2NNK99whZmwNpqk5n3aqAf4atjZhPXaw3CcZb+KYk4FmQy7ESI1GJV3ARPdfmN7YNcM/pRUjk YhQXivGe7kpaXgI+c93xmaVkZs3Ymw6DgRWzBbL7njDHYxr+xYXUD0BMejn3GtoRRQlZ5V2zNN4s CDI2hPkiNL1AuWwJbv5+iA4HJvUaAELbjQwZm5B7zUIVruHrNwcPjFZE8XcEsraNBmkyV5IoMWJu BUAZshiZIJvUreyVt0ZiCpGrwpYypRf+7XCTTo3HTAX2Zgs/Pg8yQ6fFtFA35tD6FEGhYLTrAyOv 3yBqI3jU0jvBoTw+swIAtf9sSvKjmSE56c45i72jk9pQPUtEK/N+Ldc1dGD7OMz+HeE4++r5knQQ af1Wjj/ox/Z+cOwouVwgMymSl7fT0Tn7sMYl887NkzSXlRwrMzFkH/3dPmQf5fDJWvQp1xiI0hNw qYgVZiN3gj9xKGYpcrmA/HFZMpFB7vTkFvD98yA3dQZOV7diH3H+01P983doYy+Sl7GerKvnGKqq JbO0nC2J0QghvW1Yt6dinRvI7mENJ26YJg0bxz7iJKfoPrqdpXSFrSboegmajmZ+AuL29Xf4F5k4 AAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_ar.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGBzQnOBtk8wAAAXRJREFUOE99k09v00AQR9+s139i O4qcIEWq4IJAUb8lX5ALlyCaSw8tCBoc12mceG0PB4qrmjhvDyuNnn6andHK8hMOg+ES+nzLq+r/ dHQWeT4jGAypnSFA2RZ0dEPlBUEsgshIoBGPzF/wPlphRNg8fSVvt3TaDlUAVBA7LP7DiGHuL/iQ fORteIUIiLRsDvDbPdDp+U5HZzcxMav0mswP+anf+N6uyYKAVXrNxMRDvWc0MPMXZF7KQ72lCabY eMmvekvmpWT+Yqj3jD45sQnTMEEn79DIJ7ARU2KSJiCpkqHeMxrYakfghcwmIXtOoMqbdEm3P9KO zA8uBUqLinCVLJEgIbIx7rjjfn9HK+e3DBcCd3VO4Sr8xx9EYUQlhuPpQOFO7Op8qPeMLqV0BTfl BitzfDfDq6d4zNmUN5SuGOo9ox026rivblnna2L5u4SDPnFX3dKoG9gvWBRV7X/rK0pX8CX/jE8A gKOmbB7Rszag6B/VVIr9sxEqtgAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_al.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTCQ0033giMAAAAQZJREFUOMu1kz9Lw1AUxX/35b2k NrSgg1RL164OHXUQnPRT9Hu6ODgIgiBufgALDhIpwWpe7nVocJAMidQznvuHczj3ysP+3NghHDuG byMVeNGKPYSbquTEDwB4jBvOQ84HxrELrWpaFwpw/bWmNKU05bYqAZg4z0orcnEsBwfdFQqQiXAf NzzHT7Thn4C5zzgLOdLHMsC7KtHgzeqfYQOibWu9Q5kmgYnzzFwgQUgQZm7LTZPQLxSAFOEqHZOJ sNIIwJHzXIQRhdX9FBqgGIXVLPyQaEY0Y+GHFFajGNZHoQCX6RgB1qbcNSmfhpyROKzpaZ3t8imv jeVD5/922L/RZdG/vd43OG5Y3JkFfnQAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_hy.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwFDyMwou2b9AAAADpJREFUOE9j/M/A8J+BioAJXYBS MPgNZAxlKKRqGDIyMKyiqoFU9zLVDWQJNT6OLkYRYPw/czRhUwgA5jEJa+rzVbgAAAAASUVORK5C YII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_bg.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA4ADgAODYf054AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTDActRzegkQAAADNJREFUOMtj/P///38GKgImBiqD wW8gS9iu+dQ1cPXdCyMtDN1vP6SqgYzX1IRGEzZlAAAQnQwytOf2AQAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_cr.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwFDy4TtSSUywAAATZJREFUOE+tkr1KA0EURs+dZH9c ETH+JEExINqrYCtY6MNo5cOIb6EvYBOxs0gqQVFDTKFGogRF1p3Njo2E7IRdQTxwm28OH8ydkav5 suEfKdrBKEnRIXZcIsdnIIKnv3CjEBVrWx2SW/hWXaZTqREWB0RzDrOhoXrdpvRwa6tDlB2MErs+ jyvrDIzBcTRRbRFVLNhaCumfnGbuUBdcWmcXBDNTqALEz12W9nZQSWKrQ8QkSWahiSJ6R8dgfgpE KB3so1w3LY6gECFrjAhqMsBojdEaFQRjjj25OxQgum8hnod4HlG7jYjYWgqpN18yr4wxLNw1KN00 QOB1bYPu6qZtpZDdw/PsQmBr+pNtv4sA9bDMZX/CVlLk/kOA5vsEnY8KAD3jWafj/FqoE+EJ344z yX2Uv/ANkhZgNCivgQMAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_nl.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AMfDhAvlu4L+QAAADRJREFUOMtjXCej8Z+BioCJgcpg 8BvI+GTzdqqGIeP///9HWKSwbDt0k7qRoujWPZqwKQMArNsNlUNSwP4AAAAASUVORK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_fa.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwFDyQpicel8wAAARlJREFUOE+tk71OwzAURs/nOm06 QyV21g5sBcTA1sfkcUgZGRASKwMisHVIFOrLYCdNzUZ7Ft8/f772lXX5cG+cEJcHjsVPXYEBEpB6 7VtWWse+YQj1Ttw7qvOriytiXpgFJAHCzJAUBdLGQccMyWEYJLuX1NPHswmQRLCAQ5iUCiE0LaGu MWCyWODKcn+YGYbhkrgQ6nY/o6GMLxBpqkd2X98ATM7PKK9vDvI53rtJHjsgvLzi5vNof9b427us 4hBvXZfH9khMl0uazQaAcrViqE/PkuObqoqWBCGkcROLJaxtUVEAELZbmqqKOefiOrYBva/XFqcJ hIBcnJglwYGx39t9h9Lw8nqbzf72/V8kvLVtHj6Kk3+9X4jWfsuVylGIAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_fr.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTA7ReF4bgAAAGVJREFUOE9jZFCY/58BDTAzMzIk h6sytJUYMQgLcqDI/f/wkeHXxLkMf9ZsY2D49w9FjoGBgYEJXYBSMDgMZGRgRBeCA7IMxAcGi4EY CQMOyDQQNyDTQCpHyn9qe5nqyYbqLsQHAOHUEnhv5YlUAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_de.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS8ftLiSIQAAADNJREFUOE9jZGBg+M9ARcCELkAp GPwGskxGF6EQMN4dcZHCwu2KLkQZYPx/bqSFIdUNBACoAgamar9YlwAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_gr.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS4rjBdX1QAAAUxJREFUOE+tk88rw3EYx1/P9t3Y WgtrYn5sDaExWXbQioPEydXJydl/4aTk5iYnRRJlN8mPcEA5rG9zQhsxRd9Jflz2cdAy38N+xOvy eZ7387yfnk+fPlLjn1MA0YhPzc+OyuqGrhaXzgXAbrdi0yxUglYQi+lkZChApM+XT0sjKG045geg s8ODy2WnLVhLXhuMthDuqS+0lEJETz7mFIjTYaOxwYWR/eTp+Q2AlfUEh8cpk6c4Mj2zrQCCgVqm Jns5Ob1lZ+8KgFCXl9Zm9y9DMQTQNuOXAAz0+5gY7yChZ8hr3jon4VD5VxYRpTmqv9+lym7FYrFg s1nJa2tbOhvxZKGnFCK7B9c5pZS43VV0tnt4yLySvnsxN5aFiCjNMN5FAUb2g1Q6a+6pCAGR2Niy Mhf+guwf3fzrQO3s4l6hfn7HnxCUNHUv/OuGX/6SWZN7gW5vAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_hu.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTAgz4SxggAAAD1JREFUOE9jvKSs85+BioAJXYBS MPgNZPywbSdVw5Dx////VDWQ6l6muoEsq28dQhejCDAy9LqNsDCkuoEAZ8QNrEDnbIkAAAAASUVO RK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_mt.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS4QPRy+8QAAATBJREFUOE+tkcFKw0AURc+bpE2j JAhaxC66EHQnihv9Er/L7/BPLC50IYIggpa2UC2thrRpkhkXKYWkSUDxbAbeuxzm8uT++tzotzn/ geq62PHtlOhmUNzlkdVrctMNnKsOdnG4gSWw1wQlMI4gNbXiWqFqNzEicOKBAu5SpKXQg6gYXVMt FFBnfibyGlntUx+2LfRoDLr8m9VCJbDvIIcew76NNkLneIkMQ8QSzK+Fq0MkbZeJ9okSi932FOd5 hknLZZAVKic16KeAeDQnacU0vRDzvSB+CCrrQt0PDZjPJY3eB0eXGiPAY8jCd3EJiuk11ULATGIU sNWfg4L4NUD1F8VYjlohXwm6N4X3RXaklxAVpcVUjnohwCxBf68q6vyqDLtxsYN14BTnf0J1XX4A vVFqbIiqm/QAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_pl.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS0ztFacQAAAADNJREFUOE9jfPni+X8GKgImdAFK waiBlAOWb3NWM/xnYGBgRBKkhM94RdF2NNlQBga/gQDqgg1AyXNoGgAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_pt.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTQp0jTMIgAAATpJREFUOE+lkrtKA0EYRs+/s0l2 E9fCSDCCl0a00MpGEfIWVna+j/gavoYKloKFRUALG0lgF3Vz3Wxmxkowu7kYPOU33xz4mBEujy1z eLkLs9FcnGzwX2YKHbFUXI3xDFbmjpjAzQYiUPU0u8GYasmQHlpULKiWRToCC9w54bqXcr7d5TRy 8VolkmKA2Uoo1Af4jy5OZ+YoYIqwXklprPY40meYkwuMBf/+hiR+wAYGlhWuFDR9Dc0RjAZlrLFs +ilBLUGHCvWeuzJB7rTdL/AUlmkMPtmjDWLwShGSCqqrsvUcOeHH0CXasLz5r3B7zf5Qow9CipHB +Zo/F0CyH1sE1rwxO0FCrQhXzRg3tjhthXTU8q9sLUQDl4+hoqwMhecekghiJVudSk74g7FCd6xw hotn/ma59h/4Bh6GcELupP/OAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_ro.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTQR+jZ0vAAAAFdJREFUOE9jZNCu/8+ABpiZ/v9L cbr2pyXsFIsgzw8mZLm/Hxn/PZvJ+ff9djZmhv8MKHIMDAyYAkQCDEfAALkG4gSjBlIOhq+BjOgC MECugYM/YeP0MgD8CxMeBxpO7gAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_ru.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA4ADgAODYf054AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTDAcJezREQAAAAElJREFUOMvlk8ENACEMw9yqjIjE iLdjD8IS+ZEBrERWQpIwJjHHDiyAbn4HbAwq5lQ7G0aEjhUIXsuVHC9w8W3r5E16pQgee8oFI80V rDNL6k0AAAAASUVORK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_sk.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA4ADgAODYf054AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTDAY3o05oqgAAAUNJREFUOMvNk0svA2EUhp9+WpeO olWbamhEaBcsECESKzaWVvwZP8hSEAu6aIqkiy5oIhJJXUZRE8ylzZi2MxaTiq46FQtnd5I3zzkn 73t8juM4/GEJ/rj8PxtbM2hUqy2CrmAQMdDfGbBWtwFQ946onOboHo8DYN3JSCuLDG5teoIF/AL/ 9s45AJFQgI10mglDRlqaB+Dj4JjCrcHhU4I3veZtw92TBwDi0V4WXnRS0zFEsA+AnniM8rXOfraE rJjegLbtmmyYDSwpRKV4T+MsD4BZlLGkMQyzQVPXFihwhapucRVL8nqhkc/6AJhTh1Bmk6gli6au LXBdK3w3ughQTCyT+RwGoB6JMvKssKaWPbvsy0VSLaOV0Uky4RkAVt8viT7edJRDXz481XqLENiS mztRMcC2fx9sN902Qtf+z+t9AXWNdpwDBowTAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_es.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTIqHWc6HgAAAO9JREFUOE+tk8FKw0AURc+bTkKS ShaKq9YWFDeCv+XKz/CH/AfpyrVdCF1URLFNilrrdGombtsJKYH0LM9cHsN9MzLqDkoOiPJFW3R4 UviuFXp4s/AdAK4UhBIR/2Q/Uj6w02FRCPP3kOwjIAgcF1cGpdx2ZC+VDueZMJ0I43HKNO+Tf4Ox za9ZGbjIznl5PuVndQ3dW/LZJXad+rFaKgN/lxEuCsi+3sif7rEmYrOuxGrRvjgaLjlThuN0RVK8 EvdSdNz8JcjsLtlZyqdJUJQ4FxKIZaOEWFvCzt92rBZ5HPQO+lO0zTq+a0XzthvyD9juStK7MoDY AAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_tu.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTIaO74KsgAAAVhJREFUOE+tk7tKA0EUhr+ZnU0g EYMJGJLOSyHYeCtsxEawtrGw8R1sBRHExk6wtbCxtPAVxAdQIxrwhsYUgslKVkmy2RmLRZOswSj6 dfPP/IdzZv4RD7G04R+RYeGvqLCAEIhoBBGPY2p1jOuGT3zLl4LRyXGic7NgoHFzR/00h393j6nV wkc70jaylc3Qu7GKGh6kfprDu8hj3FeEshBKgex+Q20dxhYXkKkUla1tqkfH0PCDDdsmMj2FTCTw Ts7wC8VWWxvNgkJgj46gS880rm+axaTEHh6gZ3kJe2KMp5n5T0snmjMYg3d+iUymUEODoKxA1xrv 6hZ3b5+XtU1ksu/T0gnRmkMrmyG5u4NfKPJ2cIj/8IguOxjHCV5ca9C61f8Fa8XuWf9YmIqLn79C 9iWw0v0IpdBlB11yMJ4HpvsfaOswUP45hxiDqdYw1Z/lLkz3YP2Sd7VCf87P4cOVAAAAAElFTkSu QmCC ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/camera.png iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB2lBMVEXAwMAkJCQqKiolJSXS0tIa GhrHyMf///+1tbQbGxsZGRmGh4Wqq6mqqqlnaGUUFBQwMS5SU1BaW1dkZWExMjAYGBilpaUiIiIf Hx8aGxoeHh1ISUdVVlQREhEgICAoKCh4eXdzdHLExMTDw8NrbWlNTkpXWlhbYF9hZWJnaWR+gH1l ZmOAgYAuLi5rbGsrLClgYGBqamlVWFZ5hIiDjZB+hIdmbG9QV1xTV1VKTEk0NTJ0dXQpKilgYV8q Kyk3ODVWWFZ1foJuc3VWWVpPU1RPUVNKT1BeY2Q2OTghIiFsbGsnJyddXlw5OjdeY2VOUlRVWFko LC4SFBUhJCZJTE04PT9SVlgnJyY4OjhUWFkyODkTFRYODg4BAQECAgIUFRUuMzQwMTFhYWA/QkEy ODocICEZGhpoaGgSEhIuMDAuNDY6Pj9gYWAZGRhISkkVFxiampp9fX05OzsvNTc1OTlgYF8sLSo+ QD4dHyA4ODiMjIyLi4tBQUFKS0s2OjtXWFYTExNNTk1TVFNPUE9RVFQrLzAPDw9ISEhxcnFQUlFT VldHSko8PDw2NjYjIyMVFRUyNTY6OjopKSomJiYhISHa2tq7u7t8fHw7OzslJiZ7e3vIyMjm5ub/ //+ywT8WAAAAnnRSTlP///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// AD6H4/gAAAABYktHRAcWYYjrAAAA7klEQVR42mOYCwLK4kxMTJNZQEwGsAArGzs7OwcrkgA3Ly8v H5JAv4CgkLYAREBMXIqVVUoayJTJ6GcVF2OYPEtRSVlF1VldQ1NLe5YWK4OuClOSoYOxialZWJel lTUrA5OtjYeDo5Ozq6ubu4e4ISvDZJ8yXz9/58DoYLfQrskqrAzhPkwekSnRMXFxDQkpIu5gFeUp qazsfKkZAlnZpaIgFd3FaVKGBYWTJxbXlUJUFFfE9VZV19QW1zlkMExubGp2aY0Rn1zb4drVXd7L INbX19dfPEE8fCLTZHHxyWJgv0ydVjhx8sRZs+cA2QBNolks9mQjkwAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/bas.png iVBORw0KGgoAAAANSUhEUgAAA80AAAAeCAMAAAAhKgzbAAADAFBMVEX////m5ube3t6+vr7MzMy1 tbXT09OsrKzGxsbZ2dmkpKSbm5uVlZXi4uKOjo7r6+vV1dXCwsLJycm6urqxsbHj4+Pk5OTg4ODb 29vo6Ojc3NzOzs7Y2Nj5+fn+/v79/f0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABHlY8PAAACcklEQVR42u3aDY6DIBCG4Sr+VFu2oFbR0u79b7kzA/YvewBIvvcI JE9mQA9rocuuqY6qPiCE8qtWx6rpSl2sh7W4QjNC2Wu+QjNC0IwQSljzL84Foez6/VfzHQeDUHbd vzWb26DqCw4GoexaazXczK55Lh1ptqPBwSCUXWa0pNmVc9C8OM+axwdOBqHMeoys2bslaC705pvK jlOJo0Eos8pptFXjN12Q5kvx/BkM72AIZda9fv4KVlwOl9evnZPF4SCUVXZ6/dgpmsOjNq3abYXT QSijqnaSRzB50hbN88IXZx7OrcKyjVA2a7Zqw2j2Gz+CiWZZtXk4123ferxsI5RDD09eax7N4drM mmXVdjKcadfu+97qFSeFUNKt2pJV2rNlNDtZtIPmOQ5n3rX7/nQ6n88/CKFUI6GnE2OuVRzN81Nz HM6Bs3hm0AihNDuJ5YA5juaoOQ5nQ7u2VWPwzKARQmnWB8ujsrRnm300R83FdeGvVDydiTN5ZtAI oTQjoZNgHir+OrWE0SyaA+eNp/Mg45lAC2mEUHoxz1oG88CTedsxR838lUo438SzGkcijRBKMvKp xPJNMPPXqZdmHs7Euex8I56P1hJphFCSkc+jWG48rdmEOYzmqFk4093ZBc9VNQxkGiGUYKSTjIpl J3fmiHnXHDjrkj2bhkRTFUIovRgnGTVsudRvmJ+a5e48s+et6zrvDZtGCKWXMd6T0o0tz/ud+UOz cGbPS0minesQQmnmHEmmCzNbfsP8pjl6ZtBaL2waIZRiy0JGhfK75U/N7FlAE+n5KmmEUDoFlvMc mK4flr81B9BRNEIo2dZvytQfIB2y2SQJ2JgAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://c1.statcounter.com/counter.php?sc_project=217829&java=0&security=&invisible=0 R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw== ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/emsc.css BODY { FONT-SIZE: 12px; MARGIN: 0px; COLOR: black; FONT-FAMILY: Verdana, = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #e8e8e8; TEXT-ALIGN: = justify } IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } A { COLOR: #3366cc; TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } TH { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 3px; VERTICAL-ALIGN: top; COLOR: white; PADDING-TOP: = 3px; BACKGROUND-COLOR: #1874cd; TEXT-ALIGN: center } TH { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/blu2.png) #e2eeff repeat-x left top; PADDING-BOTTOM: 5px; = COLOR: #fff; LINE-HEIGHT: 13px; PADDING-TOP: 6px } H1 { FONT-SIZE: 20px; MARGIN: 1.2em 0px 0.4em; COLOR: #18397c; TEXT-ALIGN: = center } H2 { FONT-SIZE: 16px; MARGIN: 0px 0px 10px; COLOR: #111111; BORDER-BOTTOM: = #999999 1px dotted } DIV#page LI { PADDING-LEFT: 20px; BACKGROUND: url(imgs/s.png) no-repeat left top; = MARGIN: 0px 0px 0.4em } DIV#page UL { PADDING-LEFT: 10px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } H3 { FONT-SIZE: 14px; MARGIN: 1.2em 0px 0.4em } .mix { COLOR: red } .intro { PADDING-RIGHT: 30px; PADDING-LEFT: 30px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 0px; WIDTH: 840px; PADDING-TOP: 0px; FONT-STYLE: italic } .titre { FONT-SIZE: 20px; MARGIN-BOTTOM: 10px; COLOR: #18397c; TEXT-ALIGN: = center } .comment { FONT-SIZE: 10px } .comment2 { =09 } .error { COLOR: red } .pagelist { COLOR: white; BACKGROUND-COLOR: #5ba1e0; TEXT-ALIGN: center } .pagelist A { FONT-WEIGHT: normal; COLOR: white } .pagelist A:hover { FONT-WEIGHT: normal; COLOR: #c7a718 } .question { FONT-STYLE: italic } .button1 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 11px; = BACKGROUND-IMAGE: url(imgs/button1.png); PADDING-BOTTOM: 0px; = BORDER-LEFT: #b0bec7 1px solid; WIDTH: 20%; COLOR: #18397c; LINE-HEIGHT: = 20px; PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 21px; = TEXT-ALIGN: center } .button2 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 11px; BACKGROUND-IMAGE: url(imgs/button2.png); PADDING-BOTTOM: 0px; = BORDER-LEFT: #b0bec7 1px solid; WIDTH: 20%; COLOR: #ff8000; LINE-HEIGHT: = 20px; PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 21px; = TEXT-ALIGN: center } .button3 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 11px; = BACKGROUND-IMAGE: url(imgs/button3.png); PADDING-BOTTOM: 0px; = BORDER-LEFT: #b0bec7 1px solid; WIDTH: 20%; COLOR: #18397c; LINE-HEIGHT: = 20px; PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 42px; = TEXT-ALIGN: center } .bis { BACKGROUND: none transparent scroll repeat 0% 0%; WIDTH: 50%; = BORDER-BOTTOM: #b0bec7 1px solid } .bis2 { WIDTH: 15% } .bul { PADDING-LEFT: 20px; BACKGROUND: url(imgs/s.png) no-repeat left top; = MARGIN-BOTTOM: 5px; TEXT-ALIGN: left } .point { PADDING-RIGHT: 10px; PADDING-LEFT: 20px; BACKGROUND: = url(imgs/arrow1.gif) no-repeat left top; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; COLOR: #666666; TEXT-ALIGN: left } .point2 { PADDING-RIGHT: 10px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; COLOR: #000000; TEXT-ALIGN: left } .blueheader { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/contentboxtop.png) #e2eeff repeat-x left top; PADDING-BOTTOM: = 5px; COLOR: #000; LINE-HEIGHT: 13px; PADDING-TOP: 6px } .blueheader2 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/content2boxtop.png) #e2eeff repeat-x left top; PADDING-BOTTOM: = 5px; COLOR: #fff; LINE-HEIGHT: 13px; PADDING-TOP: 6px } .blueheader3 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/content2boxtop2.png) repeat-x left top; PADDING-BOTTOM: 5px; = COLOR: #fff; LINE-HEIGHT: 13px; PADDING-TOP: 5px } .divmap { LEFT: -10px; WIDTH: 620px; POSITION: absolute; TOP: 40px; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center } .divmap0 { LEFT: -10px; WIDTH: 620px; POSITION: absolute; TOP: 75px; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center } .divmap1 { LEFT: -10px; POSITION: absolute; TOP: 5px; BACKGROUND-COLOR: #ffffff } .divmap2 { LEFT: 630px; POSITION: absolute; TOP: 5px; BACKGROUND-COLOR: #ffffff } .head1 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; BACKGROUND: url(imgs/h1.png) repeat-x left top; PADDING-BOTTOM: = 5px; COLOR: #000; LINE-HEIGHT: 13px; PADDING-TOP: 6px; TEXT-ALIGN: = center } .head2 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/h2.png) repeat-x left bottom; PADDING-BOTTOM: 5px; COLOR: #888; = LINE-HEIGHT: 13px; PADDING-TOP: 6px; TEXT-ALIGN: center } .news { FONT-SIZE: 11px; BACKGROUND: url(imgs/contentboxbottom.png) #fff = no-repeat left bottom; MARGIN-BOTTOM: 13px; PADDING-BOTTOM: 5px } .info2 { BACKGROUND-COLOR: #87cefa } .auto2 { BACKGROUND-COLOR: #d6d6e8 } .info { FONT-WEIGHT: bold; COLOR: red; LINE-HEIGHT: 1.3em } .info:hover { BACKGROUND-COLOR: yellow } .normal { LINE-HEIGHT: 1.1em } .auto { FONT-WEIGHT: bold; LINE-HEIGHT: 1.3em } .listsurlign { FONT-WEIGHT: bold; BACKGROUND: url(imgs/2.png) #e2eeff repeat-x left = top; COLOR: white; LINE-HEIGHT: 1.5em } .mix { COLOR: red } .msgman { FONT-WEIGHT: bold; COLOR: red } .msgmix { COLOR: red; FONT-STYLE: italic } .msgtrigger { COLOR: green } #contenu { BORDER-RIGHT: #b0bec7 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: = 10px; PADDING-BOTTOM: 10px; WIDTH: 891px; COLOR: #000000; PADDING-TOP: = 10px; BORDER-BOTTOM: #b0bec7 1px solid; POSITION: relative; HEIGHT: = 400px; BACKGROUND-COLOR: #ffffff } #main { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = auto; WIDTH: 960px; PADDING-TOP: 0px; TEXT-ALIGN: left } #page { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; MARGIN: 0px; WIDTH: 913px; = PADDING-TOP: 1px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: justify } #pagecaps { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND-IMAGE: = url(imgs/fond.png); PADDING-BOTTOM: 10px; MARGIN: 0px; WIDTH: 973px; = BACKGROUND-REPEAT: repeat-y } #ejs_server_heure { COLOR: #4c7fb2 } .sec1 { FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 3px; BORDER-BOTTOM: = #dddddd 1px solid; TEXT-ALIGN: left } .sec2 { PADDING-LEFT: 15px; BACKGROUND: url(imgs/s.png) no-repeat left top; = TEXT-ALIGN: left } .titleh2 { FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN: 0px 0px 0.4em; COLOR: = #111111 } .vertscroll { OVERFLOW-Y: auto; DISPLAY: block; OVERFLOW-X: hidden } #lang DIV .popup { DISPLAY: none } #lang:hover .popup { DISPLAY: block; BOTTOM: -5px; POSITION: relative } .cssbox { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox_body { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox_head { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox_head H2 { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox { PADDING-RIGHT: 15px; MARGIN: 20px auto; WIDTH: 885px! important } .cssbox_head { PADDING-RIGHT: 40px; BACKGROUND-POSITION: right top; MARGIN-RIGHT: = -15px } .cssbox_head H2 { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND-POSITION: left = top; PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; HEIGHT: auto! = important; BORDER-RIGHT-WIDTH: 0px } .cssbox_body { PADDING-RIGHT: 0px; BACKGROUND-POSITION: left bottom; PADDING-LEFT: = 10px; PADDING-BOTTOM: 5px; MARGIN-RIGHT: 25px; PADDING-TOP: 10px } .cssbox2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox_body2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox_head2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox_head2 H2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox2 { PADDING-RIGHT: 15px; MARGIN: 20px auto; WIDTH: 885px! important } .cssbox_head2 { PADDING-RIGHT: 40px; BACKGROUND-POSITION: right top; MARGIN-RIGHT: = -15px } .cssbox_head2 H2 { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND-POSITION: left = top; PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; HEIGHT: auto! = important; BORDER-RIGHT-WIDTH: 0px } .cssbox_body2 { PADDING-RIGHT: 0px; BACKGROUND-POSITION: left bottom; PADDING-LEFT: = 10px; PADDING-BOTTOM: 5px; MARGIN-RIGHT: 25px; PADDING-TOP: 10px } ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Location: http://www.emsc-csem.org/print.css BODY { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } P { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } TD { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } DIV { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } SPAN { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } A { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } H1 { FONT-SIZE: 13px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } H2 { FONT-SIZE: 14px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } #msgprint { MARGIN-LEFT: 0px } ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/yui/build/menu/assets/menu.css DIV.yuimenu { BORDER-RIGHT: #c4c4be 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: = #c4c4be 1px solid; PADDING-LEFT: 1px; Z-INDEX: 1; VISIBILITY: hidden; = PADDING-BOTTOM: 1px; BORDER-LEFT: #c4c4be 1px solid; COLOR: #ffffff; = PADDING-TOP: 1px; BORDER-BOTTOM: #c4c4be 1px solid; BACKGROUND-COLOR: = #243d6b } DIV.yuimenubar { COLOR: #ffffff } DIV.yuimenubar DIV.bd { ZOOM: 1 } DIV.yuimenubar DIV.bd:unknown { CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: = '.' } DIV.yuimenu H6 { BORDER-RIGHT: #c4c4be 1px solid; BORDER-TOP: #c4c4be 1px solid; = FONT-WEIGHT: normal; FONT-SIZE: 100%; MARGIN: 0px; BORDER-LEFT: #c4c4be = 1px solid; COLOR: #b9b9b9; BORDER-BOTTOM: #c4c4be 1px solid } DIV.yuimenubar H6 { BORDER-RIGHT: #c4c4be 1px solid; BORDER-TOP: #c4c4be 1px solid; = FONT-WEIGHT: normal; FONT-SIZE: 100%; MARGIN: 0px; BORDER-LEFT: #c4c4be = 1px solid; COLOR: #b9b9b9; BORDER-BOTTOM: #c4c4be 1px solid } DIV.yuimenubar H6 { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 12px; DISPLAY: inline; = PADDING-LEFT: 12px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; = BORDER-RIGHT-WIDTH: 1px } DIV.yuimenu H6 { BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 10px; DISPLAY: block; = PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; FLOAT: none; = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 5px; = BORDER-RIGHT-WIDTH: 0px } DIV.yuimenubar UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } DIV.yuimenu UL { BORDER-RIGHT: #c4c4be 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #c4c4be 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: 0px; = BORDER-LEFT: #c4c4be 0px solid; PADDING-TOP: 10px; BORDER-BOTTOM: = #c4c4be 0px solid; LIST-STYLE-TYPE: none } DIV.yuimenu UL.first-of-type { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenu UL.hastitle { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenu H6.first-of-type { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenu LI { FONT-SIZE: 85%; CURSOR: hand; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; WHITE-SPACE: nowrap; TEXT-ALIGN: left } DIV.yuimenubar LI { FONT-SIZE: 85%; CURSOR: hand; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; WHITE-SPACE: nowrap; TEXT-ALIGN: left } DIV.yuimenu LI.yuimenuitem { PADDING-RIGHT: 14px; PADDING-LEFT: 14px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } DIV.yuimenu LI LI { FONT-SIZE: 100%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } DIV.yuimenubar LI LI { FONT-SIZE: 100%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } DIV.yuimenu LI EM { MARGIN: 0px 0px 0px 40px; FONT-STYLE: normal } DIV.yuimenu LI A EM { MARGIN: 0px } DIV.yuimenu LI A { COLOR: #fff; ZOOM: 1; TEXT-DECORATION: none } DIV.yuimenubar LI A { COLOR: #fff; ZOOM: 1; TEXT-DECORATION: none } DIV.yuimenu LI.hassubmenu { TEXT-ALIGN: right } DIV.yuimenu LI.hashelptext { TEXT-ALIGN: right } DIV.yuimenu LI.hassubmenu A.hassubmenu { DISPLAY: inline; FLOAT: left; TEXT-ALIGN: left } DIV.yuimenu LI.hashelptext A.hashelptext { DISPLAY: inline; FLOAT: left; TEXT-ALIGN: left } DIV.yuimenu LI.selected { BACKGROUND: url(imgs/3.png) repeat-x left top } DIV.yuimenubar LI.selected { BACKGROUND: url(imgs/3.png) repeat-x left top } DIV.yuimenu LI.selected A.selected { TEXT-DECORATION: none } DIV.yuimenubar LI.selected A.selected { TEXT-DECORATION: none } DIV.yuimenu LI.selected A.selected { COLOR: #fff } DIV.yuimenu LI.selected EM.selected { COLOR: #fff } DIV.yuimenubar LI.selected A.selected { COLOR: #fff } DIV.yuimenu LI.disabled { CURSOR: default } DIV.yuimenubar LI.disabled { CURSOR: default } DIV.yuimenu LI.disabled A.disabled { CURSOR: default; COLOR: #b9b9b9 } DIV.yuimenu LI.disabled EM.disabled { CURSOR: default; COLOR: #b9b9b9 } DIV.yuimenubar LI.disabled A.disabled { CURSOR: default; COLOR: #b9b9b9 } DIV.yuimenubar LI.yuimenubaritem { BORDER-RIGHT: #c4c4be 0px solid; PADDING-RIGHT: 14px; BORDER-TOP: = #c4c4be 0px solid; DISPLAY: inline; PADDING-LEFT: 14px; FLOAT: left; = PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: #c4c4be 1px solid; = PADDING-TOP: 4px; BORDER-BOTTOM: #c4c4be 0px solid } DIV.yuimenubar LI.first-of-type.yuimenubaritem { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenubar LI.yuimenubaritem IMG { MARGIN: 0px 0px 0px 10px; VERTICAL-ALIGN: middle; WIDTH: 8px; HEIGHT: = 8px } DIV.yuimenu LI.yuimenuitem IMG { BORDER-RIGHT: #d9e8ff 0px solid; BORDER-TOP: #d9e8ff 0px solid; MARGIN: = 0px -16px 0px 0px; BORDER-LEFT: #d9e8ff 10px solid; WIDTH: 8px; = BORDER-BOTTOM: #d9e8ff 0px solid; HEIGHT: 8px } DIV.yuimenu LI.selected.yuimenuitem IMG.selected { BORDER-LEFT-COLOR: #5aa1e0; BORDER-BOTTOM-COLOR: #5aa1e0; = BORDER-TOP-COLOR: #5aa1e0; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; BORDER-RIGHT-COLOR: #5aa1e0 } DIV.yuimenu LI.checked { POSITION: relative } DIV.yuimenu LI.checked IMG.checked { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; LEFT: 6px; = BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px; WIDTH: 8px; POSITION: absolute; = TOP: 0.5em; HEIGHT: 8px; BORDER-RIGHT-WIDTH: 0px; _left: -16px } ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt2-20uB1h4X733mC4jQfTZBEhTRd9m9Vo2PCmjgy9vxZC0pkcx3Cg var timers =3D {};function tickImpl(name, timerObj) {timerObj[name] =3D = (new Date()).getTime();}function tick(name) {tickImpl(name, = timers);}tick("start");if (window.external && window.external.pageT) = {timers["pt"] =3D timers["start"] -window.external.pageT;}function = _stats(timerObj, requestType) {if (typeof reportStats !=3D "undefined") = {reportStats(timerObj, requestType);}}var G_INCOMPAT =3D false;function = GScript(src) {document.write('<' + 'script src=3D"' + src + '"' +' = type=3D"text/javascript"><' + '/script>');}function = GBrowserIsCompatible() {if (G_INCOMPAT) return false;return = true;}function GVerify() {}function GApiInit() {if (GApiInit.called) = return;GApiInit.called =3D true;tick("e");window.GAddMessages && = GAddMessages({160: '\x3cH1\x3eServer Error\x3c/H1\x3eThe server = encountered a temporary error and could not complete your = request.\x3cp\x3ePlease try again in a minute or so.\x3c/p\x3e',1415: = '.',1416: ',',1547: 'mi',1616: 'km',4100: 'm',4101: 'ft',10018: = 'Loading...',10021: 'Zoom In',10022: 'Zoom Out',10024: 'Drag to = zoom',10029: 'Return to the last result',10049: 'Map',10050: = 'Satellite',10093: 'Terms of Use',10109: 'm',10110: 'ft',10111: = 'Map',10112: 'Sat',10116: 'Hybrid',10117: 'Hyb',10120: 'We are sorry, = but we don\x27t have maps at this zoom level for this = region.\x3cp\x3eTry zooming out for a broader look.\x3c/p\x3e',10121: = 'We are sorry, but we don\x27t have imagery at this zoom level for this = region.\x3cp\x3eTry zooming out for a broader look.\x3c/p\x3e',10507: = 'Pan left',10508: 'Pan right',10509: 'Pan up',10510: 'Pan down',10511: = 'Show street map',10512: 'Show satellite imagery',10513: 'Show imagery = with street names',10806: 'Click to see this area on Google Maps',10807: = 'Traffic',10808: 'Show Traffic',10809: 'Hide Traffic',12150: '%1$s on = %2$s',12151: '%1$s on %2$s at %3$s',12152: '%1$s on %2$s between %3$s = and %4$s',10985: 'Zoom in',10986: 'Zoom out',11047: 'Center map = here',11089: '\x3ca href\x3d\x22javascript:void(0);\x22\x3eZoom = In\x3c/a\x3e to see traffic for this region',11259: 'Full-screen',11751: = 'Show street map with terrain',11752: 'Style:',11757: 'Change map = style',11758: 'Terrain',11759: 'Ter',11794: 'Show labels',11303: 'Street = View Help',11274: 'To use street view, you need Adobe Flash Player = version %1$d or newer.',11382: 'Get the latest Flash Player.',11314: = 'We\x27re sorry, street view is currently unavailable due to high = demand.\x3cbr\x3ePlease try again later!',1559: 'N',1560: 'S',1561: = 'W',1562: 'E',1608: 'NW',1591: 'NE',1605: 'SW',1606: 'SE',11907: 'This = image is no longer available',10041: 'Help',12471: 'Current = Location',12492: 'Earth',12823: 'Google has disabled usage of the Maps = API for this application. See the Terms of Service for more information: = %1$s.',12822: 'http://code.google.com/apis/maps/terms.html',0: ''});if = (!GValidateKey("1f4addbedb4b81d61e17ef7de60b88d07d364112")) {G_INCOMPAT = =3D true;alert("The Google Maps API key used on this web site was = registered for a different web site. You can generate a new key for this = web site at http://code.google.com/apis/maps/.");return;}}var = GLoad;(function() {var = jslinker=3D{version:"140",jsbinary:[{id:"maps2",url:"http://maps.google.c= om/intl/en_us/mapfiles/140g/maps2/main.js"},{id:"maps2.api",url:"http://m= aps.google.com/intl/en_us/mapfiles/140g/maps2.api/main.js"},{id:"gc",url:= "http://maps.google.com/intl/en_us/mapfiles/140g/gc.js"},{id:"legacy_gc",= url:"http://maps.google.com/intl/en_us/mapfiles/140g/legacy_gc.js"},{id:"= adsense",url:"http://maps.google.com/intl/en_us/mapfiles/140g/adsense.js"= },{id:"suggest",url:"http://maps.google.com/intl/en_us/mapfiles/140g/sugg= est/main.js"}]};GLoad =3D function(callback) {var apiCallback =3D = callback || GLoadApi;GApiInit();var opts =3D = {public_api:true,export_legacy_names:true,jsmain:"http://maps.google.com/= intl/en_us/mapfiles/140g/maps2.api/main.js"};var pageArgs =3D {timers: = window.timers};var jsinit =3D window.GJsLoaderInit;jsinit && = jsinit(opts.jsmain);apiCallback(["http://mt0.google.com/mt/v\x3dap.92\x26= hl\x3den\x26","http://mt1.google.com/mt/v\x3dap.92\x26hl\x3den\x26","http= ://mt2.google.com/mt/v\x3dap.92\x26hl\x3den\x26","http://mt3.google.com/m= t/v\x3dap.92\x26hl\x3den\x26"], = ["http://khm0.google.com/kh/v\x3d36\x26hl\x3den\x26","http://khm1.google.= com/kh/v\x3d36\x26hl\x3den\x26","http://khm2.google.com/kh/v\x3d36\x26hl\= x3den\x26","http://khm3.google.com/kh/v\x3d36\x26hl\x3den\x26"], = ["http://mt0.google.com/mt/v\x3dapt.92\x26hl\x3den\x26","http://mt1.googl= e.com/mt/v\x3dapt.92\x26hl\x3den\x26","http://mt2.google.com/mt/v\x3dapt.= 92\x26hl\x3den\x26","http://mt3.google.com/mt/v\x3dapt.92\x26hl\x3den\x26= "],"ABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt2-20uB1h4X733mC4jQfTZBEhTRd9m9Vo2PC= mjgy9vxZC0pkcx3Cg","","",true,"google.maps.",opts,["http://mt0.google.com= /mt/v\x3dapp.87\x26hl\x3den\x26","http://mt1.google.com/mt/v\x3dapp.87\x2= 6hl\x3den\x26","http://mt2.google.com/mt/v\x3dapp.87\x26hl\x3den\x26","ht= tp://mt3.google.com/mt/v\x3dapp.87\x26hl\x3den\x26"],jslinker,pageArgs);}= })();function GUnload() {if (window.GUnloadApi) {GUnloadApi();}}var = _mIsRtl =3D false;var _mF =3D [ = ,,false,true,true,20,4096,"bounds_cippppt.txt","cities_cippppt.txt","loca= l/add/flagStreetView",true,true,400,true,true,,true,,true,"/maps/c/ui/Hov= ercardLauncher/dommanifest.js",,true,true,false,false,,true,false,true,tr= ue,true,,true,true,,true,,true,"http://maps.google.com/maps/stk/fetch",0,= ,true,,,,true,,,,"http://maps.google.com/maps/stk/style",,"10748560224077= 3805043.00043dadc95ca3874f1fa",,"US,AU,NZ",false,1000,42,"http://cbk0.goo= gle.com",false,true,"ar,iw",false,,,true,,,false,"/maps/complete","http:/= /pagead2.googlesyndication.com/pagead/imgad?id\x3dCMKp3NaV5_mE1AEQEBgQMgi= eroCd6vHEKA",false,,false,false,,false,5000,,,true,"SS","en,fr",false,"tb= r","Earth","SATELLITE_3D_MAP",true,true,true,true,"getEarthInstance",fals= e,true,true,true,true,,true,true,"","1",true,false,false,true,false,true,= 25,"0.25","AU,BE,FR,NZ,US",true,false,false,true,500,"http://chart.apis.g= oogle.com/chart?cht\x3dqr\x26chs\x3d80x80\x26chld\x3d|0\x26chl\x3d",false= ,,,true,false,false,,true,false,,false,true,false,false,,false,false,,,,f= alse,,true,false,10,,true,true,true,true,false,30,"infowindow_v1","",fals= e,true,30,"http://khm.%1$s/maptilecompress?t\x3d1\x26c\x3d10\x26","http:/= /khm.%1$s/maptilecompress?t\x3d2\x26q\x3d20\x26","http://khm.%1$s/maptile= compress?t\x3d3\x26q\x3d25\x26","http://khm.%1$s/maptilecompress?t\x3d6\x= 26q\x3d30\x26",,true,false,"US,AU,NZ,FR,DK,MX,BE,CA,DE,GB,IE,PR,PT,RU,SG,= JM,HK,TW",true,true,"windows-ie,windows-firefox,macos-safari,macos-firefo= x",true,false,40000,900,30,,true,true,true,,false,false,true,true,"maps.g= oogle.com",true,true,true,true,"",true,true,false,true,true,"4:http://gt%= 1$d.google.com/mt?v\x3dgwm.fresh\x26","4:http://gt%1$d.google.com/mt?v\x3= dgwh.fresh\x26",false,false,false,true,0.25,true,"107485602240773805043.0= 004561b22ebdc3750300",false,false,false,"/ig/ifr",false,false,false,true,= true,8,"http://maps.gmodules.com/gadgets/js/rpc.js",false,true,true,false= ,"https://cbks0.google.com",false,true,false,false,false,false,false,fals= e,false,false,false,false,false ];var _mHost =3D = "http://maps.google.com";var _mUri =3D "/maps";var _mDomain =3D = "google.com";var _mStaticPath =3D = "http://maps.google.com/intl/en_us/mapfiles/";var _mJavascriptVersion = =3D G_API_VERSION =3D "140g";var _mTermsUrl =3D = "http://www.google.com/intl/en_us/help/terms_maps.html";var _mHL =3D = "en";var _mGL =3D "us";var _mLocalSearchUrl =3D = "http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js";var = _mTrafficEnableApi =3D true;var _mTrafficTileServerUrls =3D = ['http://mt0.google.com/mapstt','http://mt1.google.com/mapstt','http://mt= 2.google.com/mapstt','http://mt3.google.com/mapstt'];var = _mCityblockLatestFlashUrl =3D = "http://maps.google.com/local_url?q=3Dhttp://www.adobe.com/shockwave/down= load/download.cgi%3FP1_Prod_Version%3DShockwaveFlash&dq=3D&file=3D= api&v=3D2&key=3DABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt2-20uB1h4X733mC= 4jQfTZBEhTRd9m9Vo2PCmjgy9vxZC0pkcx3Cg&s=3DANYYN7manSNIV_th6k0SFvGB4jz= 36is1Gg";var _mCityblockFrogLogUsage =3D false;var = _mCityblockInfowindowLogUsage =3D false;var = _mCityblockDrivingDirectionsLogUsage =3Dfalse;var = _mCityblockPrintwindowLogUsage =3Dfalse;var = _mCityblockPrintwindowImpressionLogUsage =3Dfalse;var _mCityblockUseSsl = =3D false;var _mAddressBookUrl =3D = "/maps?file\x3dapi\x26v\x3d2\x26key\x3dABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt= 2-20uB1h4X733mC4jQfTZBEhTRd9m9Vo2PCmjgy9vxZC0pkcx3Cg\x26ie\x3dUTF8\x26hl\= x3den\x26sidr\x3d1\x26oi\x3dsl_menu_edit";var _mWizActions =3D = {hyphenSep: 1,breakSep: 2,dir: 3,searchNear: 6,savePlace: 9};var = _mIGoogleUseXSS =3D false;var _mIGoogleEt =3D "7ZJMGpcQ";var = _mIGoogleServerTrustedUrl =3D "";var _mMMEnablePanelTab =3D true;var = _mIdcRouterPath =3D "/maps/mpl/router";var _mIdcRelayPath =3D = "/maps/mpl/relay";var _mIGoogleServerUntrustedUrl =3D = "http://maps.gmodules.com";var _mMplGGeoXml =3D 100;var _mMplGPoly =3D = 1000;var _mMplMapViews =3D 100;var _mMplGeocoding =3D 100;var = _mMplDirections =3D 100;var _mMplEnableGoogleLinks =3D true;var = _mMMEnableAddContent =3D true;var _mMSEnablePublicView =3D true;var = _mMSSurveyUrl =3D "";var _mMMLogPanelLoad =3D true;var _mSatelliteToken = =3D "fzwq2kKPd9XlpsRP9yxakAAQMLEpXKkf8lVLCA";var _mMapCopy =3D "Map data = \x26#169;2009 ";var _mSatelliteCopy =3D "Imagery \x26#169;2009 ";var = _mGoogleCopy =3D "\x26#169;2009 Google";var _mPreferMetric =3D false;var = _mPanelWidth =3D 23.75; var _mMapPrintUrl =3D = 'http://www.google.com/mapprint';var _mSvgEnabled =3D true;var = _mSvgForced =3D false;var _mLogPanZoomClks =3D false;var = _mSXBmwAssistUrl =3D '';var _mSXCarEnabled =3D true;var _mSXServices =3D = {};var _mSXPhoneEnabled =3D true;var _mSXQRCodeEnabled =3D false;var = _mLyrcItems =3D = [{label:"12102",layer_id:"lmc:panoramio"},{label:"12103",layer_id:"lmc:yo= utube"},{label:"12210",layer_id:"lmc:wikipedia_en"}];var _mAttrInpNumMap = =3D {'hundred': 100,'thousand': 1000,'k': 1000,'million': 1000000,'m': = 1000000,'billion': 1000000000,'b': 1000000000};var _mMSMarker =3D = 'Placemark';var _mMSLine =3D 'Line';var _mMSPolygon =3D 'Shape';var = _mMSImage =3D 'Image';var _mDirectionsDragging =3D true;var = _mDirectionsEnableCityblock =3D true;var _mDirectionsEnableApi =3D = true;var _mAdSenseForMapsEnable =3D "true";var _mAdSenseForMapsFeedUrl = =3D "http://pagead2.googlesyndication.com/afmaps/ads";var = _mReviewsWidgetUrl =3D = "/reviews/scripts/annotations_bootstrap.js?hl\x3den\x26amp;gl\x3dus";var = _mIsRecentlyViewedEnabled =3D false;var _mTumblerLoaderV1Url =3D = _mStaticPath + "ge/v/1/4/loader.js";var _mUserPreferences =3D = false;function GLoadMapsScript() {if (GBrowserIsCompatible()) = {tick("d");GScript("http://maps.google.com/intl/en_us/mapfiles/140g/maps2= .api/main.js");}}(function() {if (!window.google) window.google =3D = {};if (!window.google.maps) window.google.maps =3D {};var ns =3D = window.google.maps;ns.BrowserIsCompatible =3D = GBrowserIsCompatible;ns.Unload =3D GUnload;})();GLoadMapsScript(); ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0051_01C99E5E.E133E9C0" ------=_NextPart_001_0051_01C99E5E.E133E9C0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/index.php?page=current&sub=detail&id=120890 =EF=BB=BF EMSC - = European-Mediterranean Seismological Centre =
3D""=20

Earthquake Information

= Centre=20 Sismologique = Euro-M=C3=A9diterran=C3=A9en
European-Mediterranean=20 Seismological Centre

set_server_date(2009,3,6,18,21,27)
=
Current time: 2009-03-06 = 18:21:27=20 UTC
3D""=20 Member accessName  Pwd
 
  • Earthquake information
  • Euro-Med seismicity
  • How it works
  • Database & Documents
  • News
  • Projects
  • About EMSC=20 =

= Send=20 us your pictures or videos about the effects of the=20 = earthquake

Summary Maps Regional=20 seismicity More=20 Information List = of data=20 providers
Summary:
Magnitude ML 4.2
Region WESTERN MONTANA
Date time 2009-03-06 at 11:29:55.6 UTC
Location 45.84 N ; 112.13 W
Depth 5 km
Distances 408 km NE = Boise=20 city (pop 192,170 ; local time 04:29 2009-03-06)
42 km E = Butte=20 (pop 31,056 ; local time 04:29 2009-03-06)
4 km SW = Whitehall (pop=20 1,136 ; local time 04:29 2009-03-06)
More=20 seismicity information (Moment tensors, phases=20 pickings, etc.)
Maps:
3D"Global
Global view Regional=20 view Local=20 view
References=20 for tectonic plate boundaries:
Bird, P. (2003) An = updated=20 digital model of plate boundaries,
Geochemistry = Geophysics=20 Geosystems, 4(3), 1027.
Google maps view: Seismicity from the = previous 7=20 days in the area .
3D"" Regional instrumental seismicity


This seismicity maps have been = generated by=20 concatenating the ISC catalogue (since 1964), the EMSC Euro-Med = Bulletin=20 catalogue and the EMSC Real Time catalogue. Therefore, they show = the=20 seismicity from 1964 until the earthquake = occurrence.



 Regional = deadly=20 earthquakes from year 1500 to 2000
Date Long. Lat. Mag. Death Location
 
1959-08-17 -111.1 44.8 7.1 28
IDAHO-MONTANA BORDER REGION =

Source: T. Utsu ; International = Handbook of=20 Earthquake and Engineering Seismology; vol. A; 691-718

More information at:

 US= GS/NEIC=20 Denver, USA
List of data providers:

 US= GS/NEIC,=20 Denver, USA (NEIR)

     Map in = progress...=20
Witnesses Reports:


Contributions Map  
Were=20 you on the spot? Report=20 your experience and observations (shaking, damage, = etc.)
Answer=20 the questionnaire
Choose your language : =
=20
3D""
3D""=20

Help us improve our website! We need your feedback to make this = website=20 even more user-friendly.
So if you have any suggestion or wish to = report a=20 technical problem, please contact webmaster@emsc-csem.org.
T= hank you=20 for your time and help.

3D""
------=_NextPart_001_0051_01C99E5E.E133E9C0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/gmap.php?lat=45.84&long=-112.13&id=120890 =EF=BB=BF maps
------=_NextPart_001_0051_01C99E5E.E133E9C0-- ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/javascript/dyndate.js var ejs_server_date;=0A= =0A= function set_server_date(Y,M,D,h,m,s)=0A= {=0A= ejs_server_date =3D new Date(Y,M-1,D,h,m,s);=0A= }=0A= =0A= function ejs_server_calc()=0A= {=0A= // static ejs_server_date =3D new Date(Y,M,D,h,m,s);=0A= ejs_server_date.setSeconds(ejs_server_date.getSeconds()+1);=0A= var ejs_server_year =3D ejs_server_date.getFullYear();=0A= var ejs_server_month =3D ejs_server_date.getMonth()+1;=0A= var ejs_server_day =3D ejs_server_date.getDate();=0A= var ejs_server_hour =3D ejs_server_date.getHours();=0A= var ejs_server_min =3D ejs_server_date.getMinutes();=0A= var ejs_server_sec =3D ejs_server_date.getSeconds();=0A= if(ejs_server_sec < 10)=0A= ejs_server_sec =3D "0"+ejs_server_sec;=0A= if(ejs_server_min < 10)=0A= ejs_server_min =3D "0"+ejs_server_min;=0A= if(ejs_server_hour < 10)=0A= ejs_server_hour =3D "0"+ejs_server_hour;=0A= if(ejs_server_day < 10)=0A= ejs_server_day =3D "0"+ejs_server_day;=0A= if(ejs_server_month < 10)=0A= ejs_server_month =3D "0"+ejs_server_month;=0A= ejs_server_texte =3D "Current time: = "+ejs_server_year+"-"+ejs_server_month+"-"+ejs_server_day+" = "+ejs_server_hour + ":" + ejs_server_min + ":" + ejs_server_sec+" UTC";=0A= if(document.getElementById)=0A= {=0A= = document.getElementById("ejs_server_heure").innerHTML=3Dejs_server_texte;=0A= }=0A= }=0A= setInterval("ejs_server_calc()", 1000);=0A= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/javascript/refresh.js function refresh(adress,timeout)=0A= {=0A= setTimeout('changeLocation("'+adress+'")',timeout*1000);=0A= }=0A= =0A= function changeLocation(adress)=0A= {=0A= location.href =3D adress;=0A= }=0A= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://google.com/coop/cse/brand?form=searchbox_015286299597385877176%3A7nylgcdy1ke =0A= (function() {=0A= var f =3D = document.getElementById('searchbox_015286299597385877176:7nylgcdy1ke');=0A= if (!f) {=0A= f =3D document.getElementById('searchbox_demo');=0A= }=0A= if (f && f.q) {=0A= var q =3D f.q;=0A= var n =3D navigator;=0A= var l =3D location;=0A= if (n.platform =3D=3D 'Win32') {=0A= q.style.cssText =3D 'border: 1px solid #7e9db9; padding: 2px;';=0A= }=0A= var b =3D function() {=0A= if (q.value =3D=3D '') {=0A= q.style.background =3D '#FFFFFF = url(http:\x2F\x2Fwww.google.com\x2Fcoop\x2Fintl\x2Fen\x2Fimages\x2Fgoogle= _custom_search_watermark.gif) left no-repeat';=0A= }=0A= };=0A= var f =3D function() {=0A= q.style.background =3D '#ffffff';=0A= };=0A= q.onfocus =3D f;=0A= q.onblur =3D b;=0A= if (!/[&?]q=3D[^&]/.test(l.search)) {=0A= b();=0A= }=0A= }=0A= })();=0A= ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.statcounter.com/counter/counter_xhtml.js var sc_width=3Dscreen.width;var sc_height=3Dscreen.height;var = sc_referer=3D""+document.referrer;try{sc_referer=3D""+parent.document.ref= errer}catch(ex){sc_referer=3D""+document.referrer}var sc_unique=3D0;var = sc_returning=3D0;var sc_returns=3D0;var sc_error=3D0;var = sc_remove=3D0;var sc_cls=3D-1;var sc_inv=3D0;var sc_os=3D"";var = sc_title=3D"";var sc_url=3D"";var sc_base_dir=3D"";var = sc_click_dir=3D"";var sc_link_back_start=3D"";var = sc_link_back_end=3D"";var sc_security_code=3D"";var = sc_http_url=3D"http";var = sc_host=3D"statcounter.com";if(window.sc_invisible){if(window.sc_invisibl= e=3D=3D1){sc_inv=3D1}}if(window.sc_click_stat){sc_cls=3Dwindow.sc_click_s= tat}if(window.sc_https){if(sc_https=3D=3D1){sc_doc_loc=3D''+document.loca= tion;myRE=3Dnew = RegExp("^https","i");if(sc_doc_loc.match(myRE)){sc_http_url=3D"https"}}}i= f(window.sc_local){sc_base_dir=3Dsc_local}else{if(window.sc_partition){if= (sc_cls=3D=3D-1&&sc_partition=3D=3D3){sc_cls=3D1}var = sc_counter=3D"";if(window.sc_partition!=3D34&&sc_partition<=3D45){sc_coun= ter=3Dsc_partition+1}sc_base_dir=3Dsc_http_url+"://c"+sc_counter+"."+sc_h= ost+"/"}else{sc_base_dir=3Dsc_http_url+"://c1."+sc_host+"/"}}sc_click_dir= =3Dsc_base_dir;if(window.sc_text){sc_base_dir+=3D"text.php?"}else{sc_base= _dir+=3D"t.php?"}if(window.sc_project){sc_base_dir+=3D"sc_project=3D"+sc_= project}else = if(window.usr){sc_base_dir+=3D"usr=3D"+usr}else{sc_error=3D1}if(window.sc= _remove_link){sc_link_back_start=3D"";sc_link_back_end=3D""}else{sc_link_= back_start=3D"";sc_link_back_end=3D"<\/a>"}sc_date=3Dnew = Date();sc_time=3Dsc_date.getTime();sc_time_difference=3D3600000;sc_title=3D= ""+document.title;sc_url=3D""+document.location;sc_referer=3Dsc_referer.s= ubstring(0,255);sc_title=3Dsc_title.substring(0,150);sc_url=3Dsc_url.subs= tring(0,150);sc_referer=3Descape(sc_referer);if(encodeURIComponent){sc_ti= tle=3DencodeURIComponent(sc_title)}else{sc_title=3Descape(sc_title)}sc_ur= l=3Descape(sc_url);if(window.sc_security){sc_security_code=3Dsc_security}= var = sc_tracking_url=3Dsc_base_dir+"&resolution=3D"+sc_width+"&h=3D"+sc_height= +"&camefrom=3D"+sc_referer+"&u=3D"+sc_url+"&t=3D"+sc_title+"&java=3D1&sec= urity=3D"+sc_security_code+"&sc_random=3D"+Math.random();var = sc_clstr=3D"";var sc_cltext=3D"\" = alt=3D\"StatCounter - Free Web Tracker and Counter\" = border=3D\"0\">";var sc_strout=3Dsc_clstr+sc_link_back_start+"";if(sc_erro= r=3D=3D1){document.writeln("Code corrupted. Insert fresh copy.")}else = if(sc_remove=3D=3D1){}else{if(sc_inv=3D=3D1){if(window.sc_call){sc_call++= }else{sc_call=3D1}eval("var sc_img"+sc_call+" =3D new = Image();sc_img"+sc_call+".src =3D = \""+sc_tracking_url+"&invisible=3D1\"")}else = if(window.sc_text){document.writeln('')}else{document= .writeln(sc_strout)}}if(sc_cls>0){if(clickstat_done!=3D1){var = clickstat_done=3D1;var clickstat_project=3Dwindow.sc_project;var = clickstat_security=3Dwindow.sc_security_code;var = dlext=3D"7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|p= hps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip";if(typeof(window= .sc_download_type)=3D=3D'string'){dlext=3Dwindow.sc_download_type}var = ltype=3D"https?|ftp|telnet|ssh|ssl|mailto";var = second=3D"ac|co|gov|ltd|me|mod|net|nic|nhs|org|plc|police|sch|com";var = dl=3Dnew RegExp("\\.("+dlext+")$","i");var lnk=3Dnew = RegExp("^("+ltype+"):","i");var domsec=3Dnew = RegExp("\^("+second+")$","i");var = host_name=3Dlocation.host.replace(/^www\./i,"");var = host_splitted=3Dhost_name.split(".");var = domain=3Dhost_splitted.pop();var = host_split=3Dhost_splitted.pop();if(domsec.test(host_split)){domain=3Dhos= t_split+"."+domain;host_split=3Dhost_splitted.pop()}domain=3Dhost_split+"= ."+domain;var lnklocal_mask=3D"^https?:\/\/(.*)"+domain;var = lnklocal=3Dnew = RegExp(lnklocal_mask,"i");if(document.getElementsByTagName){var = anchors=3Ddocument.getElementsByTagName('a');for(var = i=3D0;i0){var = sc_req=3Dsc_click_dir+"click.gif?sc_project=3D"+clickstat_project+"&secur= ity=3D"+clickstat_security+"&c=3D"+sc_link+"&m=3D"+clickmode+"&u=3D"+sc_u= rl+"&t=3D"+sc_title+"&rand=3D"+Math.random();var sc_req_image=3Dnew = Image();sc_req_image.onload=3Dsc_none;sc_req_image.src=3Dsc_req;sc_delay(= )}}}}var = sc_gsyn_pattern=3D'googlesyndication\.com|ypn-js\.overture\.com|googleads= \.g\.doubleclick\.net';var sc_px;var sc_py;function = sc_adsense_click(sc_data){var sc_link=3Descape(sc_data.src);var i=3Dnew = Image();var = sc_req=3Dsc_click_dir+"click.gif?sc_project=3D"+clickstat_project+"&secur= ity=3D"+clickstat_security+"&c=3D"+sc_link+"&m=3D2&u=3D"+sc_url+"&t=3D"+s= c_title+"&rand=3D"+Math.random();i.src=3Dsc_req;sc_delay()}function = sc_adsense_init(){if(document.all&&typeof = window.opera=3D=3D"undefined"){var = el=3Ddocument.getElementsByTagName("iframe");for(var = i=3D0;i(adLeft-10)&&sc_px(adTop-10)&&sc_py * - The type of event * - All of the arguments fire() was executed with as an array * - The custom object (if any) that was passed into the = subscribe() method * * @method fire * @param {Array} an arbitrary set of parameters to pass to the = handler */ fire: function() { var len=3Dthis.subscribers.length; if (!len && this.silent) { return; } var args =3D []; for (var i=3D0; i=3D 0) { cacheItem =3D listeners[index]; } if (!el || !cacheItem) { return false; } if (this.useLegacyEvent(el, sType)) { var legacyIndex =3D this.getLegacyIndex(el, sType); var llist =3D legacyHandlers[legacyIndex]; if (llist) { for (i=3D0, len=3Dllist.length; i 0); } // Delayed listeners var stillDelayed =3D []; for (var i=3D0,len=3DdelayedListeners.length; i 0) { for (var i=3D0,len=3Dlisteners.length; i 0) { //for (i=3D0,len=3Dlisteners.length; i -1); var isSafari =3D (ua.indexOf('safari') > -1); var isIE =3D (window.ActiveXObject); var id_counter =3D 0; var util =3D YAHOO.util; // internal shorthand var property_cache =3D {}; // to cache case conversion for = set/getStyle var toCamel =3D function(property) { var convert =3D function(prop) { var test =3D /(-[a-z])/i.exec(prop); return prop.replace(RegExp.$1, = RegExp.$1.substr(1).toUpperCase()); }; while(property.indexOf('-') > -1) { property =3D convert(property); } return property; //return property.replace(/-([a-z])/gi, function(m0, m1) {return = m1.toUpperCase()}) // cant use function as 2nd arg yet due to safari bug }; var toHyphen =3D function(property) { if (property.indexOf('-') > -1) { // assume hyphen return property; } var converted =3D ''; for (var i =3D 0, len =3D property.length;i < len; ++i) { if (property.charAt(i) =3D=3D property.charAt(i).toUpperCase()) = { converted =3D converted + '-' + = property.charAt(i).toLowerCase(); } else { converted =3D converted + property.charAt(i); } } return converted; //return property.replace(/([a-z])([A-Z]+)/g, function(m0, m1, m2) = {return (m1 + '-' + m2.toLowerCase())}); }; // improve performance by only looking up once var cacheConvertedProperties =3D function(property) { property_cache[property] =3D { camel: toCamel(property), hyphen: toHyphen(property) }; }; return { /** * Returns an HTMLElement reference * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID for getting a DOM reference, an actual DOM reference, or an Array = of IDs and/or HTMLElements. * @return {HTMLElement/Array} A DOM reference to an HTML element = or an array of HTMLElements. */ get: function(el) { if (!el) { return null; } // nothing to work with if (typeof el !=3D 'string' && !(el instanceof Array) ) { // = assuming HTMLElement or HTMLCollection, so pass back as is return el; } if (typeof el =3D=3D 'string') { // ID return document.getElementById(el); } else { // array of ID's and/or elements var collection =3D []; for (var i =3D 0, len =3D el.length; i < len; ++i) { collection[collection.length] =3D util.Dom.get(el[i]); } return collection; } return null; // safety, should never happen }, /** * Normalizes currentStyle and ComputedStyle. * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {String} property The style property whose value is = returned. * @return {String/Array} The current value of the style property = for the element(s). */ getStyle: function(el, property) { var f =3D function(el) { var value =3D null; var dv =3D document.defaultView; if (!property_cache[property]) { cacheConvertedProperties(property); } var camel =3D property_cache[property]['camel']; var hyphen =3D property_cache[property]['hyphen']; if (property =3D=3D 'opacity' && el.filters) {// IE opacity value =3D 1; try { value =3D = el.filters.item('DXImageTransform.Microsoft.Alpha').opacity / 100; } catch(e) { try { value =3D el.filters.item('alpha').opacity / 100; } catch(e) {} } } else if (el.style[camel]) { // camelCase for valid styles value =3D el.style[camel]; } else if (isIE && el.currentStyle && el.currentStyle[camel]) = { // camelCase for currentStyle; isIE to workaround broken Opera 9 = currentStyle value =3D el.currentStyle[camel]; } else if ( dv && dv.getComputedStyle ) { // hyphen-case for = computedStyle var computed =3D dv.getComputedStyle(el, ''); if (computed && computed.getPropertyValue(hyphen)) { value =3D computed.getPropertyValue(hyphen); } } return value; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Wrapper for setting style properties of HTMLElements. = Normalizes "opacity" across modern browsers. * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {String} property The style property to be set. * @param {String} val The value to apply to the given property. */ setStyle: function(el, property, val) { if (!property_cache[property]) { cacheConvertedProperties(property); } var camel =3D property_cache[property]['camel']; var f =3D function(el) { switch(property) { case 'opacity' : if (isIE && typeof el.style.filter =3D=3D 'string') { = // in case not appended el.style.filter =3D 'alpha(opacity=3D' + val * 100 = + ')'; if (!el.currentStyle || !el.currentStyle.hasLayout) = { el.style.zoom =3D 1; // when no layout or cant = tell } } else { el.style.opacity =3D val; el.style['-moz-opacity'] =3D val; el.style['-khtml-opacity'] =3D val; } break; default : el.style[camel] =3D val; } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Gets the current position of an element based on page = coordinates. Element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements @ return {Array} The XY position of the element(s) */ getXY: function(el) { var f =3D function(el) { // has to be part of document to have pageXY if (el.offsetParent =3D=3D=3D null || this.getStyle(el, = 'display') =3D=3D 'none') { return false; } var parentNode =3D null; var pos =3D []; var box; if (el.getBoundingClientRect) { // IE box =3D el.getBoundingClientRect(); var doc =3D document; if ( !this.inDocument(el) && parent.document !=3D = document) {// might be in a frame, need to get its scroll doc =3D parent.document; if ( !this.isAncestor(doc.documentElement, el) ) { return false; } } var scrollTop =3D Math.max(doc.documentElement.scrollTop, = doc.body.scrollTop); var scrollLeft =3D = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft); return [box.left + scrollLeft, box.top + scrollTop]; } else { // safari, opera, & gecko pos =3D [el.offsetLeft, el.offsetTop]; parentNode =3D el.offsetParent; if (parentNode !=3D el) { while (parentNode) { pos[0] +=3D parentNode.offsetLeft; pos[1] +=3D parentNode.offsetTop; parentNode =3D parentNode.offsetParent; } } if (isSafari && this.getStyle(el, 'position') =3D=3D = 'absolute' ) { // safari doubles in some cases pos[0] -=3D document.body.offsetLeft; pos[1] -=3D document.body.offsetTop; } } if (el.parentNode) { parentNode =3D el.parentNode; } else { parentNode =3D null; } while (parentNode && parentNode.tagName.toUpperCase() !=3D = 'BODY' && parentNode.tagName.toUpperCase() !=3D 'HTML') { // account for any scrolled ancestors if (util.Dom.getStyle(parentNode, 'display') !=3D = 'inline') { // work around opera inline scrollLeft/Top bug pos[0] -=3D parentNode.scrollLeft; pos[1] -=3D parentNode.scrollTop; } if (parentNode.parentNode) { parentNode =3D = parentNode.parentNode; } else { parentNode =3D null; } } return pos; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Gets the current X position of an element based on page = coordinates. The element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements * @return {String/Array} The X position of the element(s) */ getX: function(el) { var f =3D function(el) { return util.Dom.getXY(el)[0]; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Gets the current Y position of an element based on page = coordinates. Element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements * @return {String/Array} The Y position of the element(s) */ getY: function(el) { var f =3D function(el) { return util.Dom.getXY(el)[1]; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Set the position of an html element in page coordinates, = regardless of how the element is positioned. * The element(s) must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements * @param {Array} pos Contains X & Y values for new position = (coordinates are page-based) * @param {Boolean} noRetry By default we try and set the position = a second time if the first fails */ setXY: function(el, pos, noRetry) { var f =3D function(el) { var style_pos =3D this.getStyle(el, 'position'); if (style_pos =3D=3D 'static') { // default to relative this.setStyle(el, 'position', 'relative'); style_pos =3D 'relative'; } var pageXY =3D this.getXY(el); if (pageXY =3D=3D=3D false) { // has to be part of doc to = have pageXY return false; } var delta =3D [ // assuming pixels; if not we will have to = retry parseInt( this.getStyle(el, 'left'), 10 ), parseInt( this.getStyle(el, 'top'), 10 ) ]; if ( isNaN(delta[0]) ) {// in case of 'auto' delta[0] =3D (style_pos =3D=3D 'relative') ? 0 : = el.offsetLeft; } if ( isNaN(delta[1]) ) { // in case of 'auto' delta[1] =3D (style_pos =3D=3D 'relative') ? 0 : = el.offsetTop; } if (pos[0] !=3D=3D null) { el.style.left =3D pos[0] - = pageXY[0] + delta[0] + 'px'; } if (pos[1] !=3D=3D null) { el.style.top =3D pos[1] - = pageXY[1] + delta[1] + 'px'; } var newXY =3D this.getXY(el); // if retry is true, try one more time if we miss if (!noRetry && (newXY[0] !=3D pos[0] || newXY[1] !=3D = pos[1]) ) { this.setXY(el, pos, true); } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Set the X position of an html element in page coordinates, = regardless of how the element is positioned. * The element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {Int} x to use as the X coordinate for the element(s). */ setX: function(el, x) { util.Dom.setXY(el, [x, null]); }, /** * Set the Y position of an html element in page coordinates, = regardless of how the element is positioned. * The element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {Int} x to use as the Y coordinate for the element(s). */ setY: function(el, y) { util.Dom.setXY(el, [null, y]); }, /** * Returns the region position of the given element. * The element must be part of the DOM tree to have a region = (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @return {Region/Array} A Region or array of Region instances = containing "top, left, bottom, right" member data. */ getRegion: function(el) { var f =3D function(el) { var region =3D new YAHOO.util.Region.getRegion(el); return region; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Returns the width of the client (viewport). * Now using getViewportWidth. This interface left intact for = back compat. * @return {Int} The width of the viewable area of the page. */ getClientWidth: function() { return util.Dom.getViewportWidth(); }, /** * Returns the height of the client (viewport). * Now using getViewportHeight. This interface left intact for = back compat. * @return {Int} The height of the viewable area of the page. */ getClientHeight: function() { return util.Dom.getViewportHeight(); }, /** * Returns a array of HTMLElements with the given class * For optimized performance, include a tag and/or root node if = possible * @param {String} className The class name to match against * @param {String} tag (optional) The tag name of the elements = being collected * @param {String/HTMLElement} root (optional) The HTMLElement or = an ID to use as the starting point * @return {Array} An array of elements that have the given class = name */ getElementsByClassName: function(className, tag, root) { var method =3D function(el) { return util.Dom.hasClass(el, = className) }; return util.Dom.getElementsBy(method, tag, root); }, /** * Determines whether an HTMLElement has the given className * @param {String/HTMLElement/Array} el The element or collection = to test * @param {String} className the class name to search for * @return {Boolean/Array} A boolean value or array of boolean = values */ hasClass: function(el, className) { var re =3D new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)'); var f =3D function(el) { return re.test(el['className']); }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Adds a class name to a given element or collection of elements * @param {String/HTMLElement/Array} el The element or collection = to add the class to * @param {String} className the class name to add to the class = attribute */ addClass: function(el, className) { var f =3D function(el) { if (this.hasClass(el, className)) { return; } // already = present el['className'] =3D [el['className'], className].join(' '); }; util.Dom.batch(el, f, util.Dom, true); }, /** * Removes a class name from a given element or collection of = elements * @param {String/HTMLElement/Array} el The element or collection = to remove the class from * @param {String} className the class name to remove from the = class attribute */ removeClass: function(el, className) { var re =3D new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', = 'g'); var f =3D function(el) { if (!this.hasClass(el, className)) { return; } // not = present var c =3D el['className']; el['className'] =3D c.replace(re, ' '); if ( this.hasClass(el, className) ) { // in case of multiple = adjacent this.removeClass(el, className); } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Replace a class with another class for a given element or = collection of elements. * If no oldClassName is present, the newClassName is simply = added. * @param {String/HTMLElement/Array} el The element or collection = to remove the class from * @param {String} oldClassName the class name to be replaced * @param {String} newClassName the class name that will be = replacing the old class name */ replaceClass: function(el, oldClassName, newClassName) { if (oldClassName =3D=3D=3D newClassName) { // avoid infinite = loop return false; }; var re =3D new RegExp('(?:^|\\s+)' + oldClassName + = '(?:\\s+|$)', 'g'); var f =3D function(el) { if ( !this.hasClass(el, oldClassName) ) { this.addClass(el, newClassName); // just add it if = nothing to replace return; // note return } el['className'] =3D el['className'].replace(re, ' ' + = newClassName + ' '); if ( this.hasClass(el, oldClassName) ) { // in case of = multiple adjacent this.replaceClass(el, oldClassName, newClassName); } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Generates a unique ID * @param {String/HTMLElement/Array} el (optional) An optional = element array of elements to add an ID to (no ID is added if one is = already present) * @param {String} prefix (optional) an optional prefix to use = (defaults to "yui-gen") * @return {String/Array} The generated ID, or array of generated = IDs (or original ID if already present on an element) */ generateId: function(el, prefix) { prefix =3D prefix || 'yui-gen'; el =3D el || {}; var f =3D function(el) { if (el) { el =3D util.Dom.get(el); } else { el =3D {}; // just generating ID in this case } if (!el.id) { el.id =3D prefix + id_counter++; } // dont override existing return el.id; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Determines whether an HTMLElement is an ancestor of another = HTML element in the DOM hierarchy * @param {String/HTMLElement} haystack The possible ancestor * @param {String/HTMLElement} needle The possible descendent * @return {Boolean} Whether or not the haystack is an ancestor of = needle */ isAncestor: function(haystack, needle) { haystack =3D util.Dom.get(haystack); if (!haystack || !needle) { return false; } var f =3D function(needle) { if (haystack.contains && !isSafari) { // safari "contains" = is broken return haystack.contains(needle); } else if ( haystack.compareDocumentPosition ) { return !!(haystack.compareDocumentPosition(needle) & 16); } else { // loop up and test each parent var parent =3D needle.parentNode; while (parent) { if (parent =3D=3D haystack) { return true; } else if (!parent.tagName || = parent.tagName.toUpperCase() =3D=3D 'HTML') { return false; } parent =3D parent.parentNode; } return false; } }; return util.Dom.batch(needle, f, util.Dom, true); }, /** * Determines whether an HTMLElement is present in the current = document * @param {String/HTMLElement} el The element to search for * @return {Boolean} Whether or not the element is present in the = current document */ inDocument: function(el) { var f =3D function(el) { return this.isAncestor(document.documentElement, el); }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Returns a array of HTMLElements that pass the test applied by = supplied boolean method * For optimized performance, include a tag and/or root node if = possible * @param {Function} method A boolean method to test elements with * @param {String} tag (optional) The tag name of the elements = being collected * @param {String/HTMLElement} root (optional) The HTMLElement or = an ID to use as the starting point */ getElementsBy: function(method, tag, root) { tag =3D tag || '*'; root =3D util.Dom.get(root) || document; var nodes =3D []; var elements =3D root.getElementsByTagName(tag); if ( !elements.length && (tag =3D=3D '*' && root.all) ) { elements =3D root.all; // IE < 6 } for (var i =3D 0, len =3D elements.length; i < len; ++i) { if ( method(elements[i]) ) { nodes[nodes.length] =3D = elements[i]; } } return nodes; }, /** * Returns an array of elements that have had the supplied method = applied. * The method is called with the element(s) as the first arg, and = the optional param as the second ( method(el, o) ) * @param {String/HTMLElement/Array} el (optional) An element or = array of elements to apply the method to * @param {Function} method The method to apply to the element(s) * @param {Generic} (optional) o An optional arg that is passed to = the supplied method * @param {Boolean} (optional) override Whether or not to override = the scope of "method" with "o" * @return {HTMLElement/Array} The element(s) with the method = applied */ batch: function(el, method, o, override) { var id =3D el; el =3D util.Dom.get(el); var scope =3D (override) ? o : window; if (!el || el.tagName || !el.length) { // is null or not a = collection (tagName for SELECT and others that can be both an element = and a collection) if (!el) { return false; } return method.call(scope, el, o); } var collection =3D []; for (var i =3D 0, len =3D el.length; i < len; ++i) { if (!el[i]) { id =3D id[i]; } collection[collection.length] =3D method.call(scope, el[i], = o); } return collection; }, /** * Returns the height of the document. * @return {Int} The height of the actual document (which includes = the body and its margin). */ getDocumentHeight: function() { var scrollHeight=3D-1,windowHeight=3D-1,bodyHeight=3D-1; var marginTop =3D parseInt(util.Dom.getStyle(document.body, = 'marginTop'), 10); var marginBottom =3D parseInt(util.Dom.getStyle(document.body, = 'marginBottom'), 10); var mode =3D document.compatMode; if ( (mode || isIE) && !isOpera ) { // (IE, Gecko) switch (mode) { case 'CSS1Compat': // Standards mode scrollHeight =3D ((window.innerHeight && = window.scrollMaxY) ? window.innerHeight+window.scrollMaxY : -1); windowHeight =3D = [document.documentElement.clientHeight,self.innerHeight||-1].sort(functio= n(a, b){return(a-b);})[1]; bodyHeight =3D document.body.offsetHeight + marginTop = + marginBottom; break; default: // Quirks scrollHeight =3D document.body.scrollHeight; bodyHeight =3D document.body.clientHeight; } } else { // Safari & Opera scrollHeight =3D document.documentElement.scrollHeight; windowHeight =3D self.innerHeight; bodyHeight =3D document.documentElement.clientHeight; } var h =3D = [scrollHeight,windowHeight,bodyHeight].sort(function(a, = b){return(a-b);}); return h[2]; }, /** * Returns the width of the document. * @return {Int} The width of the actual document (which includes = the body and its margin). */ getDocumentWidth: function() { var docWidth=3D-1,bodyWidth=3D-1,winWidth=3D-1; var marginRight =3D parseInt(util.Dom.getStyle(document.body, = 'marginRight'), 10); var marginLeft =3D parseInt(util.Dom.getStyle(document.body, = 'marginLeft'), 10); var mode =3D document.compatMode; if (mode || isIE) { // (IE, Gecko, Opera) switch (mode) { case 'CSS1Compat': // Standards mode docWidth =3D document.documentElement.clientWidth; bodyWidth =3D document.body.offsetWidth + marginLeft + = marginRight; break; default: // Quirks bodyWidth =3D document.body.clientWidth; docWidth =3D document.body.scrollWidth; break; } } else { // Safari docWidth =3D document.documentElement.clientWidth; bodyWidth =3D document.body.offsetWidth + marginLeft + = marginRight; } var w =3D Math.max(docWidth, bodyWidth); return w; }, /** * Returns the current height of the viewport. * @return {Int} The height of the viewable area of the page = (excludes scrollbars). */ getViewportHeight: function() { var height =3D -1; var mode =3D document.compatMode; if ( (mode || isIE) && !isOpera ) { switch (mode) { // (IE, Gecko) case 'CSS1Compat': // Standards mode height =3D document.documentElement.clientHeight; break; default: // Quirks height =3D document.body.clientHeight; } } else { // Safari, Opera height =3D self.innerHeight; } return height; }, /** * Returns the current width of the viewport. * @return {Int} The width of the viewable area of the page = (excludes scrollbars). */ getViewportWidth: function() { var width =3D -1; var mode =3D document.compatMode; if (mode || isIE) { // (IE, Gecko, Opera) switch (mode) { case 'CSS1Compat': // Standards mode width =3D document.documentElement.clientWidth; break; default: // Quirks width =3D document.body.clientWidth; } } else { // Safari width =3D self.innerWidth; } return width; } }; }(); /** * @class A region is a representation of an object on a grid. It is = defined * by the top, right, bottom, left extents, so is rectangular by = default. If * other shapes are required, this class could be extended to support = it. * * @param {int} t the top extent * @param {int} r the right extent * @param {int} b the bottom extent * @param {int} l the left extent * @constructor */ YAHOO.util.Region =3D function(t, r, b, l) { /** * The region's top extent * @type int */ this.top =3D t; /** * The region's top extent as index, for symmetry with set/getXY * @type int */ this[1] =3D t; /** * The region's right extent * @type int */ this.right =3D r; /** * The region's bottom extent * @type int */ this.bottom =3D b; /** * The region's left extent * @type int */ this.left =3D l; /** * The region's left extent as index, for symmetry with set/getXY * @type int */ this[0] =3D l; }; /** * Returns true if this region contains the region passed in * * @param {Region} region The region to evaluate * @return {boolean} True if the region is contained with this = region, * else false */ YAHOO.util.Region.prototype.contains =3D function(region) { return ( region.left >=3D this.left && region.right <=3D this.right && region.top >=3D this.top && region.bottom <=3D this.bottom ); }; /** * Returns the area of the region * * @return {int} the region's area */ YAHOO.util.Region.prototype.getArea =3D function() { return ( (this.bottom - this.top) * (this.right - this.left) ); }; /** * Returns the region where the passed in region overlaps with this one * * @param {Region} region The region that intersects * @return {Region} The overlap region, or null if there is no = overlap */ YAHOO.util.Region.prototype.intersect =3D function(region) { var t =3D Math.max( this.top, region.top ); var r =3D Math.min( this.right, region.right ); var b =3D Math.min( this.bottom, region.bottom ); var l =3D Math.max( this.left, region.left ); if (b >=3D t && r >=3D l) { return new YAHOO.util.Region(t, r, b, l); } else { return null; } }; /** * Returns the region representing the smallest region that can contain = both * the passed in region and this region. * * @param {Region} region The region that to create the union with * @return {Region} The union region */ YAHOO.util.Region.prototype.union =3D function(region) { var t =3D Math.min( this.top, region.top ); var r =3D Math.max( this.right, region.right ); var b =3D Math.max( this.bottom, region.bottom ); var l =3D Math.min( this.left, region.left ); return new YAHOO.util.Region(t, r, b, l); }; /** * toString * @return string the region properties */ YAHOO.util.Region.prototype.toString =3D function() { return ( "Region {" + "top: " + this.top + ", right: " + this.right + ", bottom: " + this.bottom + ", left: " + this.left + "}" ); }; /** * Returns a region that is occupied by the DOM element * * @param {HTMLElement} el The element * @return {Region} The region that the element occupies * @static */ YAHOO.util.Region.getRegion =3D function(el) { var p =3D YAHOO.util.Dom.getXY(el); var t =3D p[1]; var r =3D p[0] + el.offsetWidth; var b =3D p[1] + el.offsetHeight; var l =3D p[0]; return new YAHOO.util.Region(t, r, b, l); }; /////////////////////////////////////////////////////////////////////////= //// /** * @class * * A point is a region that is special in that it represents a single = point on * the grid. * * @param {int} x The X position of the point * @param {int} y The Y position of the point * @constructor * @extends Region */ YAHOO.util.Point =3D function(x, y) { if (x instanceof Array) { // accept output from Dom.getXY y =3D x[1]; x =3D x[0]; } /** * The X position of the point, which is also the right, left and = index zero (for Dom.getXY symmetry) * @type int */ this.x =3D this.right =3D this.left =3D this[0] =3D x; /** * The Y position of the point, which is also the top, bottom and = index one (for Dom.getXY symmetry) * @type int */ this.y =3D this.top =3D this.bottom =3D this[1] =3D y; }; YAHOO.util.Point.prototype =3D new YAHOO.util.Region(); ------=_NextPart_000_0000_01C99E5E.E1184B70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/yui/build/container/container_core.js /* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt Version 0.11.4 */ /** * Config is a utility used within an object to allow the implementer to = maintain a list of local configuration properties and listen for changes = to those properties dynamically using CustomEvent. The initial values = are also maintained so that the configuration can be reset at any given = point to its initial state. * @param {object} owner The owner object to which this Config object = belongs * @constructor */ YAHOO.util.Config =3D function(owner) { if (owner) { this.init(owner); } }; YAHOO.util.Config.prototype =3D { =09 /** * Object reference to the owner of this Config object * @type object */ owner : null, /** * Object reference to the owner of this Config object * args: key, value * @type YAHOO.util.CustomEvent */ configChangedEvent : null, /** * Boolean flag that specifies whether a queue is currently being = executed * @type boolean */ queueInProgress : false, /** * Adds a property to the Config object's private config hash.=20 * @param {string} key The configuration property's name * @param {object} propertyObject The object containing all of this = property's arguments */ addProperty : function(key, propertyObject){}, /** * Returns a key-value configuration map of the values currently set in = the Config object. * @return {object} The current config, represented in a key-value map */ getConfig : function(){}, /** * Returns the value of specified property. * @param {key} The name of the property * @return {object} The value of the specified property */ getProperty : function(key){}, /** * Resets the specified property's value to its initial value. * @param {key} The name of the property */ resetProperty : function(key){}, /** * Sets the value of a property. If the silent property is passed as = true, the property's event will not be fired. * @param {key} The name of the property * @param {value} The value to set the property to * @param {boolean} Whether the value should be set silently, without = firing the property event. * @return {boolean} true, if the set was successful, false if it = failed. */ setProperty : function(key,value,silent){}, /** * Sets the value of a property and queues its event to execute. If the = event is already scheduled to execute, it is * moved from its current position to the end of the queue. * @param {key} The name of the property * @param {value} The value to set the property to * @return {boolean} true, if the set was successful, false if it = failed. */=09 queueProperty : function(key,value){}, /** * Fires the event for a property using the property's current value. * @param {key} The name of the property */ refireEvent : function(key){}, /** * Applies a key-value object literal to the configuration, replacing = any existing values, and queueing the property events. * Although the values will be set, fireQueue() must be called for their = associated events to execute. * @param {object} userConfig The configuration object literal * @param {boolean} init When set to true, the initialConfig will be = set to the userConfig passed in, so that calling a reset will reset the = properties to the passed values. */ applyConfig : function(userConfig,init){}, /** * Refires the events for all configuration properties using their = current values. */ refresh : function(){}, /** * Fires the normalized list of queued property change events */ fireQueue : function(){}, /** * Subscribes an external handler to the change event for any given = property.=20 * @param {string} key The property name * @param {Function} handler The handler function to use subscribe to = the property's event * @param {object} obj The object to use for scoping the event handler = (see CustomEvent documentation) * @param {boolean} override Optional. If true, will override "this" = within the handler to map to the scope object passed into the method. */=09 subscribeToConfigEvent : function(key,handler,obj,override){}, /** * Unsubscribes an external handler from the change event for any given = property.=20 * @param {string} key The property name * @param {Function} handler The handler function to use subscribe to = the property's event * @param {object} obj The object to use for scoping the event handler = (see CustomEvent documentation) */ unsubscribeFromConfigEvent: function(key,handler,obj){}, /** * Validates that the value passed in is a boolean. * @param {object} val The value to validate * @return {boolean} true, if the value is valid */=09 checkBoolean: function(val) { if (typeof val =3D=3D 'boolean') { return true; } else { return false; } }, /** * Validates that the value passed in is a number. * @param {object} val The value to validate * @return {boolean} true, if the value is valid */ checkNumber: function(val) { if (isNaN(val)) { return false; } else { return true; } } }; /** * Initializes the configuration object and all of its local members. * @param {object} owner The owner object to which this Config object = belongs */ YAHOO.util.Config.prototype.init =3D function(owner) { this.owner =3D owner; this.configChangedEvent =3D new = YAHOO.util.CustomEvent("configChanged"); this.queueInProgress =3D false; /* Private Members */ var config =3D {}; var initialConfig =3D {}; var eventQueue =3D []; /** * @private * Fires a configuration property event using the specified value.=20 * @param {string} key The configuration property's name * @param {value} object The value of the correct type for the property */=20 var fireEvent =3D function( key, value ) { key =3D key.toLowerCase(); var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { property.event.fire(value); }=09 }; /* End Private Members */ this.addProperty =3D function( key, propertyObject ) { key =3D key.toLowerCase(); config[key] =3D propertyObject; propertyObject.event =3D new YAHOO.util.CustomEvent(key); propertyObject.key =3D key; if (propertyObject.handler) { propertyObject.event.subscribe(propertyObject.handler, this.owner, = true); } this.setProperty(key, propertyObject.value, true); =09 if (! propertyObject.suppressEvent) { this.queueProperty(key, propertyObject.value); } }; this.getConfig =3D function() { var cfg =3D {}; =09 for (var prop in config) { var property =3D config[prop]; if (typeof property !=3D 'undefined' && property.event) { cfg[prop] =3D property.value; } } =09 return cfg; }; this.getProperty =3D function(key) { key =3D key.toLowerCase(); var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { return property.value; } else { return undefined; } }; this.resetProperty =3D function(key) { key =3D key.toLowerCase(); var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { this.setProperty(key, initialConfig[key].value); } else { return undefined; } }; this.setProperty =3D function(key, value, silent) { key =3D key.toLowerCase(); if (this.queueInProgress && ! silent) { this.queueProperty(key,value); // Currently running through a = queue...=20 return true; } else { var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { if (property.validator && ! property.validator(value)) { // = validator return false; } else { property.value =3D value; if (! silent) { fireEvent(key, value); this.configChangedEvent.fire([key, value]); } return true; } } else { return false; } } }; this.queueProperty =3D function(key, value) { key =3D key.toLowerCase(); var property =3D config[key]; =09 if (typeof property !=3D 'undefined' && property.event) { if (typeof value !=3D 'undefined' && property.validator && ! = property.validator(value)) { // validator return false; } else { if (typeof value !=3D 'undefined') { property.value =3D value; } else { value =3D property.value; } var foundDuplicate =3D false; for (var i=3D0;iOR * @param {Element} el The element representing the Module * @param {object} userConfig The configuration object literal containing = the configuration that should be set for this module. See configuration = documentation for more details. * @constructor */ YAHOO.widget.Module =3D function(el, userConfig) { if (el) {=20 this.init(el, userConfig);=20 } }; /** * Constant representing the prefix path to use for non-secure images * @type string */ YAHOO.widget.Module.IMG_ROOT =3D "http://us.i1.yimg.com/us.yimg.com/i/"; /** * Constant representing the prefix path to use for securely served = images * @type string */ YAHOO.widget.Module.IMG_ROOT_SSL =3D = "https://a248.e.akamai.net/sec.yimg.com/i/"; /** * Constant for the default CSS class name that represents a Module * @type string * @final */ YAHOO.widget.Module.CSS_MODULE =3D "module"; /** * Constant representing the module header * @type string * @final */ YAHOO.widget.Module.CSS_HEADER =3D "hd"; /** * Constant representing the module body * @type string * @final */ YAHOO.widget.Module.CSS_BODY =3D "bd"; /** * Constant representing the module footer * @type string * @final */ YAHOO.widget.Module.CSS_FOOTER =3D "ft"; /** * Constant representing the url for the "src" attribute of the iframe = used to monitor changes to the browser's base font size * @type string * @final */ YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL =3D "javascript:false"; YAHOO.widget.Module.prototype =3D { /** * The class's constructor function * @type function */ constructor : YAHOO.widget.Module, /** * The main module element that contains the header, body, and footer * @type Element */ element : null,=20 /** * The header element, denoted with CSS class "hd" * @type Element */ header : null, /** * The body element, denoted with CSS class "bd" * @type Element */ body : null, /** * The footer element, denoted with CSS class "ft" * @type Element */ footer : null, /** * The id of the element * @type string */ id : null, /** * Array of elements * @type Element[] */ childNodesInDOM : null, /** * The string representing the image root * @type string */ imageRoot : YAHOO.widget.Module.IMG_ROOT, /** * CustomEvent fired prior to class initalization. * args: class reference of the initializing class, such as = this.beforeInitEvent.fire(YAHOO.widget.Module) * @type YAHOO.util.CustomEvent */ beforeInitEvent : null, /** * CustomEvent fired after class initalization. * args: class reference of the initializing class, such as = this.initEvent.fire(YAHOO.widget.Module) * @type YAHOO.util.CustomEvent */ initEvent : null, /** * CustomEvent fired when the Module is appended to the DOM * args: none * @type YAHOO.util.CustomEvent */ appendEvent : null, /** * CustomEvent fired before the Module is rendered * args: none * @type YAHOO.util.CustomEvent */ beforeRenderEvent : null, /** * CustomEvent fired after the Module is rendered * args: none * @type YAHOO.util.CustomEvent */ renderEvent : null, /** * CustomEvent fired when the header content of the Module is modified * args: string/element representing the new header content * @type YAHOO.util.CustomEvent */ changeHeaderEvent : null, /** * CustomEvent fired when the body content of the Module is modified * args: string/element representing the new body content * @type YAHOO.util.CustomEvent */ changeBodyEvent : null, /** * CustomEvent fired when the footer content of the Module is modified * args: string/element representing the new footer content * @type YAHOO.util.CustomEvent */ changeFooterEvent : null, /** * CustomEvent fired when the content of the Module is modified * args: none * @type YAHOO.util.CustomEvent */ changeContentEvent : null, /** * CustomEvent fired when the Module is destroyed * args: none * @type YAHOO.util.CustomEvent */ destroyEvent : null, /** * CustomEvent fired before the Module is shown * args: none * @type YAHOO.util.CustomEvent */ beforeShowEvent : null, /** * CustomEvent fired after the Module is shown * args: none * @type YAHOO.util.CustomEvent */ showEvent : null, /** * CustomEvent fired before the Module is hidden * args: none * @type YAHOO.util.CustomEvent */ beforeHideEvent : null, =09 /** * CustomEvent fired after the Module is hidden * args: none * @type YAHOO.util.CustomEvent */ hideEvent : null, =09 /** * Initializes the custom events for Module which are fired = automatically at appropriate times by the Module class. */ initEvents : function() { this.beforeInitEvent =3D new YAHOO.util.CustomEvent("beforeInit"); this.initEvent =3D new YAHOO.util.CustomEvent("init"); this.appendEvent =3D new YAHOO.util.CustomEvent("append"); this.beforeRenderEvent =3D new = YAHOO.util.CustomEvent("beforeRender"); this.renderEvent =3D new YAHOO.util.CustomEvent("render"); this.changeHeaderEvent =3D new = YAHOO.util.CustomEvent("changeHeader"); this.changeBodyEvent =3D new YAHOO.util.CustomEvent("changeBody"); this.changeFooterEvent =3D new = YAHOO.util.CustomEvent("changeFooter"); this.changeContentEvent =3D new = YAHOO.util.CustomEvent("changeContent"); this.destroyEvent =3D new YAHOO.util.CustomEvent("destroy"); this.beforeShowEvent =3D new YAHOO.util.CustomEvent("beforeShow"); this.showEvent =3D new YAHOO.util.CustomEvent("show"); this.beforeHideEvent =3D new YAHOO.util.CustomEvent("beforeHide"); this.hideEvent =3D new YAHOO.util.CustomEvent("hide"); },=20 /** * String representing the current user-agent platform * @type string */ platform : function() { var ua =3D navigator.userAgent.toLowerCase(); if (ua.indexOf("windows") !=3D -1 || ua.indexOf("win32") !=3D -1) { return "windows"; } else if (ua.indexOf("macintosh") !=3D -1) { return "mac"; } else { return false; } }(), /** * String representing the current user-agent browser * @type string */ browser : function() { var ua =3D navigator.userAgent.toLowerCase(); if (ua.indexOf('opera')!=3D-1) { // Opera (check first in case of = spoof) return 'opera'; } else if (ua.indexOf('msie 7')!=3D-1) { // IE7 return 'ie7'; } else if (ua.indexOf('msie') !=3D-1) { // IE return 'ie'; } else if (ua.indexOf('safari')!=3D-1) { // Safari (check before = Gecko because it includes "like Gecko") return 'safari'; } else if (ua.indexOf('gecko') !=3D -1) { // Gecko return 'gecko'; } else { return false; } }(), /** * Boolean representing whether or not the current browsing context is = secure (https) * @type boolean */ isSecure : function() { if (window.location.href.toLowerCase().indexOf("https") =3D=3D=3D 0) { return true; } else { return false; } }(), /** * Initializes the custom events for Module which are fired = automatically at appropriate times by the Module class. */ initDefaultConfig : function() { // Add properties // this.cfg.addProperty("visible", { value:true, = handler:this.configVisible, validator:this.cfg.checkBoolean } ); this.cfg.addProperty("effect", { suppressEvent:true, = supercedes:["visible"] } ); this.cfg.addProperty("monitorresize", { value:true, = handler:this.configMonitorResize } ); }, /** * The Module class's initialization method, which is executed for = Module and all of its subclasses. This method is automatically called by = the constructor, and sets up all DOM references for pre-existing = markup, and creates required markup if it is not already present. * @param {string} el The element ID representing the Module OR * @param {Element} el The element representing the Module * @param {object} userConfig The configuration object literal = containing the configuration that should be set for this module. See = configuration documentation for more details. */ init : function(el, userConfig) { this.initEvents(); this.beforeInitEvent.fire(YAHOO.widget.Module); this.cfg =3D new YAHOO.util.Config(this); =09 if (this.isSecure) { this.imageRoot =3D YAHOO.widget.Module.IMG_ROOT_SSL; } if (typeof el =3D=3D "string") { var elId =3D el; el =3D document.getElementById(el); if (! el) { el =3D document.createElement("DIV"); el.id =3D elId; } } this.element =3D el; =09 if (el.id) { this.id =3D el.id; }=20 var childNodes =3D this.element.childNodes; if (childNodes) { for (var i=3D0;iOR * @param {Element} headerContent The Element to append to the header */=09 setHeader : function(headerContent) { if (! this.header) { this.header =3D document.createElement("DIV"); this.header.className =3D YAHOO.widget.Module.CSS_HEADER; } =09 if (typeof headerContent =3D=3D "string") { this.header.innerHTML =3D headerContent; } else { this.header.innerHTML =3D ""; this.header.appendChild(headerContent); } this.changeHeaderEvent.fire(headerContent); this.changeContentEvent.fire(); }, /** * Appends the passed element to the header. If no header is present, = one will be automatically created. * @param {Element} element The element to append to the header */=09 appendToHeader : function(element) { if (! this.header) { this.header =3D document.createElement("DIV"); this.header.className =3D YAHOO.widget.Module.CSS_HEADER; } =09 this.header.appendChild(element); this.changeHeaderEvent.fire(element); this.changeContentEvent.fire(); }, /** * Sets the Module's body content to the HTML specified, or appends the = passed element to the body. If no body is present, one will be = automatically created. * @param {string} bodyContent The HTML used to set the body OR * @param {Element} bodyContent The Element to append to the body */ =09 setBody : function(bodyContent) { if (! this.body) { this.body =3D document.createElement("DIV"); this.body.className =3D YAHOO.widget.Module.CSS_BODY; } if (typeof bodyContent =3D=3D "string") { this.body.innerHTML =3D bodyContent; } else { this.body.innerHTML =3D ""; this.body.appendChild(bodyContent); } this.changeBodyEvent.fire(bodyContent); this.changeContentEvent.fire(); }, /** * Appends the passed element to the body. If no body is present, one = will be automatically created. * @param {Element} element The element to append to the body */ appendToBody : function(element) { if (! this.body) { this.body =3D document.createElement("DIV"); this.body.className =3D YAHOO.widget.Module.CSS_BODY; } this.body.appendChild(element); this.changeBodyEvent.fire(element); this.changeContentEvent.fire(); }, /** * Sets the Module's footer content to the HTML specified, or appends = the passed element to the footer. If no footer is present, one will be = automatically created. * @param {string} footerContent The HTML used to set the footer = OR * @param {Element} footerContent The Element to append to the footer */=09 setFooter : function(footerContent) { if (! this.footer) { this.footer =3D document.createElement("DIV"); this.footer.className =3D YAHOO.widget.Module.CSS_FOOTER; } if (typeof footerContent =3D=3D "string") { this.footer.innerHTML =3D footerContent; } else { this.footer.innerHTML =3D ""; this.footer.appendChild(footerContent); } this.changeFooterEvent.fire(footerContent); this.changeContentEvent.fire(); }, /** * Appends the passed element to the footer. If no footer is present, = one will be automatically created. * @param {Element} element The element to append to the footer */ appendToFooter : function(element) { if (! this.footer) { this.footer =3D document.createElement("DIV"); this.footer.className =3D YAHOO.widget.Module.CSS_FOOTER; } this.footer.appendChild(element); this.changeFooterEvent.fire(element); this.changeContentEvent.fire(); }, /** * Renders the Module by inserting the elements that are not already in = the main Module into their correct places. Optionally appends the Module = to the specified node prior to the render's execution. NOTE: For Modules = without existing markup, the appendToNode argument is REQUIRED. If this = argument is ommitted and the current element is not present in the = document, the function will return false, indicating that the render was = a failure. * @param {string} appendToNode The element id to which the Module = should be appended to prior to rendering OR * @param {Element} appendToNode The element to which the Module should = be appended to prior to rendering=09 * @param {Element} moduleElement OPTIONAL. The element that represents = the actual Standard Module container.=20 * @return {boolean} Success or failure of the render */ render : function(appendToNode, moduleElement) { this.beforeRenderEvent.fire(); if (! moduleElement) { moduleElement =3D this.element; } var me =3D this; var appendTo =3D function(element) { if (typeof element =3D=3D "string") { element =3D document.getElementById(element); } =09 if (element) { element.appendChild(me.element); me.appendEvent.fire(); } }; if (appendToNode) { appendTo(appendToNode); } else { // No node was passed in. If the element is not pre-marked = up, this fails if (! YAHOO.util.Dom.inDocument(this.element)) { return false; } } // Need to get everything into the DOM if it isn't already =09 if (this.header && ! YAHOO.util.Dom.inDocument(this.header)) { // There is a header, but it's not in the DOM yet... need to add it var firstChild =3D moduleElement.firstChild; if (firstChild) { // Insert before first child if exists moduleElement.insertBefore(this.header, firstChild); } else { // Append to empty body because there are no children moduleElement.appendChild(this.header); } } if (this.body && ! YAHOO.util.Dom.inDocument(this.body)) { // There is a body, but it's not in the DOM yet... need to add it if (this.footer && YAHOO.util.Dom.isAncestor(this.moduleElement, = this.footer)) { // Insert before footer if exists in DOM moduleElement.insertBefore(this.body, this.footer); } else { // Append to element because there is no footer moduleElement.appendChild(this.body); } } if (this.footer && ! YAHOO.util.Dom.inDocument(this.footer)) { // There is a footer, but it's not in the DOM yet... need to add it moduleElement.appendChild(this.footer); } this.renderEvent.fire(); return true; }, /** * Removes the Module element from the DOM and sets all child elements = to null. */ destroy : function() { if (this.element) { var parent =3D this.element.parentNode; } if (parent) { parent.removeChild(this.element); } this.element =3D null; this.header =3D null; this.body =3D null; this.footer =3D null; this.destroyEvent.fire(); }, /** * Shows the Module element by setting the visible configuration = property to true. Also fires two events: beforeShowEvent prior to the = visibility change, and showEvent after. */ show : function() { this.cfg.setProperty("visible", true); }, /** * Hides the Module element by setting the visible configuration = property to false. Also fires two events: beforeHideEvent prior to the = visibility change, and hideEvent after. */ hide : function() { this.cfg.setProperty("visible", false); }, // BUILT-IN EVENT HANDLERS FOR MODULE // /** * Default event handler for changing the visibility property of a = Module. By default, this is achieved by switching the "display" style = between "block" and "none". * This method is responsible for firing showEvent and hideEvent. */ configVisible : function(type, args, obj) { var visible =3D args[0]; if (visible) { this.beforeShowEvent.fire(); YAHOO.util.Dom.setStyle(this.element, "display", "block"); this.showEvent.fire(); } else { this.beforeHideEvent.fire(); YAHOO.util.Dom.setStyle(this.element, "display", "none"); this.hideEvent.fire(); } }, /** * Default event handler for the "monitorresize" configuration property */ configMonitorResize : function(type, args, obj) { var monitor =3D args[0]; if (monitor) { this.initResizeMonitor(); } else { YAHOO.util.Event.removeListener(this.resizeMonitor, "resize", = this.onDomResize); this.resizeMonitor =3D null; } } }; /** * Returns a string representation of the object. * @type string */=20 YAHOO.widget.Module.prototype.toString =3D function() { return "Module " + this.id; }; /** * Overlay is a Module that is absolutely positioned above the page flow. = It has convenience methods for positioning and sizing, as well as = options for controlling zIndex and constraining the Overlay's position = to the current visible viewport. Overlay also contains a dynamicly = generated IFRAME which is placed beneath it for Internet Explorer 6 and = 5.x so that it will be properly rendered above SELECT elements. * @extends YAHOO.widget.Module * @param {string} el The element ID representing the Overlay OR * @param {Element} el The element representing the Overlay * @param {object} userConfig The configuration object literal containing = the configuration that should be set for this Overlay. See configuration = documentation for more details. * @constructor */ YAHOO.widget.Overlay =3D function(el, userConfig) { YAHOO.widget.Overlay.superclass.constructor.call(this, el, userConfig); }; YAHOO.extend(YAHOO.widget.Overlay, YAHOO.widget.Module); /** * The URL of the blank image that will be placed in the iframe * @type string * @final */ YAHOO.widget.Overlay.IFRAME_SRC =3D "promo/m/irs/blank.gif"; /** * Constant representing the top left corner of an element, used for = configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.TOP_LEFT =3D "tl"; /** * Constant representing the top right corner of an element, used for = configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.TOP_RIGHT =3D "tr"; /** * Constant representing the top bottom left corner of an element, used = for configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.BOTTOM_LEFT =3D "bl"; /** * Constant representing the bottom right corner of an element, used for = configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.BOTTOM_RIGHT =3D "br"; /** * Constant representing the default CSS class used for an Overlay * @type string * @final */ YAHOO.widget.Overlay.CSS_OVERLAY =3D "overlay"; /** * CustomEvent fired before the Overlay is moved. * args: x,y that the Overlay will be moved to * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.prototype.beforeMoveEvent =3D null; /** * CustomEvent fired after the Overlay is moved. * args: x,y that the Overlay was moved to * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.prototype.moveEvent =3D null; /** * The Overlay initialization method, which is executed for Overlay and = all of its subclasses. This method is automatically called by the = constructor, and sets up all DOM references for pre-existing markup, = and creates required markup if it is not already present. * @param {string} el The element ID representing the Overlay OR * @param {Element} el The element representing the Overlay * @param {object} userConfig The configuration object literal containing = the configuration that should be set for this Overlay. See configuration = documentation for more details. */ YAHOO.widget.Overlay.prototype.init =3D function(el, userConfig) { YAHOO.widget.Overlay.superclass.init.call(this, el/*, userConfig*/); = // Note that we don't pass the user config in here yet because we only = want it executed once, at the lowest subclass level =09 this.beforeInitEvent.fire(YAHOO.widget.Overlay); YAHOO.util.Dom.addClass(this.element, = YAHOO.widget.Overlay.CSS_OVERLAY); if (userConfig) { this.cfg.applyConfig(userConfig, true); } if (this.platform =3D=3D "mac" && this.browser =3D=3D "gecko") { if (! = YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrol= lbars,this)) { this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true); } if (! = YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrol= lbars,this)) { this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true); } } this.initEvent.fire(YAHOO.widget.Overlay); }; /** * Initializes the custom events for Overlay which are fired = automatically at appropriate times by the Overlay class. */ YAHOO.widget.Overlay.prototype.initEvents =3D function() { YAHOO.widget.Overlay.superclass.initEvents.call(this); this.beforeMoveEvent =3D new YAHOO.util.CustomEvent("beforeMove", = this); this.moveEvent =3D new YAHOO.util.CustomEvent("move", this); }; /** * Initializes the class's configurable properties which can be changed = using the Overlay's Config object (cfg). */ YAHOO.widget.Overlay.prototype.initDefaultConfig =3D function() { YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this); // Add overlay config properties // this.cfg.addProperty("x", { handler:this.configX, = validator:this.cfg.checkNumber, suppressEvent:true, = supercedes:["iframe"] } ); this.cfg.addProperty("y", { handler:this.configY, = validator:this.cfg.checkNumber, suppressEvent:true, = supercedes:["iframe"] } ); this.cfg.addProperty("xy",{ handler:this.configXY, suppressEvent:true, = supercedes:["iframe"] } ); this.cfg.addProperty("context", { handler:this.configContext, = suppressEvent:true, supercedes:["iframe"] } ); this.cfg.addProperty("fixedcenter", { value:false, = handler:this.configFixedCenter, validator:this.cfg.checkBoolean, = supercedes:["iframe","visible"] } ); this.cfg.addProperty("width", { handler:this.configWidth, = suppressEvent:true, supercedes:["iframe"] } ); this.cfg.addProperty("height", { handler:this.configHeight, = suppressEvent:true, supercedes:["iframe"] } ); this.cfg.addProperty("zIndex", { value:null, handler:this.configzIndex = } ); this.cfg.addProperty("constraintoviewport", { value:false, = handler:this.configConstrainToViewport, validator:this.cfg.checkBoolean, = supercedes:["iframe","x","y","xy"] } ); this.cfg.addProperty("iframe", { value:(this.browser =3D=3D "ie" ? true = : false), handler:this.configIframe, validator:this.cfg.checkBoolean, = supercedes:["zIndex"] } ); }; /** * Moves the Overlay to the specified position. This function is = identical to calling this.cfg.setProperty("xy", [x,y]); * @param {int} x The Overlay's new x position * @param {int} y The Overlay's new y position */ YAHOO.widget.Overlay.prototype.moveTo =3D function(x, y) { this.cfg.setProperty("xy",[x,y]); }; /** * Adds a special CSS class to the Overlay when Mac/Gecko is in use, to = work around a Gecko bug where * scrollbars cannot be hidden. See = https://bugzilla.mozilla.org/show_bug.cgi?id=3D187435 */ YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars =3D function() { YAHOO.util.Dom.removeClass(this.element, "show-scrollbars"); YAHOO.util.Dom.addClass(this.element, "hide-scrollbars"); }; /** * Removes a special CSS class from the Overlay when Mac/Gecko is in use, = to work around a Gecko bug where * scrollbars cannot be hidden. See = https://bugzilla.mozilla.org/show_bug.cgi?id=3D187435 */ YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars =3D function() { YAHOO.util.Dom.removeClass(this.element, "hide-scrollbars"); YAHOO.util.Dom.addClass(this.element, "show-scrollbars"); }; // BEGIN BUILT-IN PROPERTY EVENT HANDLERS // /** * The default event handler fired when the "visible" property is = changed. This method is responsible for firing showEvent and hideEvent. */ YAHOO.widget.Overlay.prototype.configVisible =3D function(type, args, = obj) { var visible =3D args[0]; var currentVis =3D YAHOO.util.Dom.getStyle(this.element, "visibility"); var effect =3D this.cfg.getProperty("effect"); var effectInstances =3D []; if (effect) { if (effect instanceof Array) { for (var i=3D0;i rightConstraint) { x =3D rightConstraint; } if (y < topConstraint) { y =3D topConstraint; } else if (y > bottomConstraint) { y =3D bottomConstraint; } this.cfg.setProperty("x", x, true); this.cfg.setProperty("y", y, true); this.cfg.setProperty("xy", [x,y], true); }; /** * Centers the container in the viewport. */ YAHOO.widget.Overlay.prototype.center =3D function() { var scrollX =3D document.documentElement.scrollLeft || = document.body.scrollLeft; var scrollY =3D document.documentElement.scrollTop || = document.body.scrollTop; var viewPortWidth =3D YAHOO.util.Dom.getClientWidth(); var viewPortHeight =3D YAHOO.util.Dom.getClientHeight(); var elementWidth =3D this.element.offsetWidth; var elementHeight =3D this.element.offsetHeight; var x =3D (viewPortWidth / 2) - (elementWidth / 2) + scrollX; var y =3D (viewPortHeight / 2) - (elementHeight / 2) + scrollY; =09 this.element.style.left =3D parseInt(x, 10) + "px"; this.element.style.top =3D parseInt(y, 10) + "px"; this.syncPosition(); this.cfg.refireEvent("iframe"); }; /** * Synchronizes the Panel's "xy", "x", and "y" properties with the = Panel's position in the DOM. This is primarily used to update position = information during drag & drop. */ YAHOO.widget.Overlay.prototype.syncPosition =3D function() { var pos =3D YAHOO.util.Dom.getXY(this.element); this.cfg.setProperty("x", pos[0], true); this.cfg.setProperty("y", pos[1], true); this.cfg.setProperty("xy", pos, true); }; /** * Event handler fired when the resize monitor element is resized. */ YAHOO.widget.Overlay.prototype.onDomResize =3D function(e, obj) { YAHOO.widget.Overlay.superclass.onDomResize.call(this, e, obj); this.cfg.refireEvent("iframe"); }; /** * Removes the Overlay element from the DOM and sets all child elements = to null. */ YAHOO.widget.Overlay.prototype.destroy =3D function() { if (this.iframe) { this.iframe.parentNode.removeChild(this.iframe); } =09 this.iframe =3D null; YAHOO.widget.Overlay.superclass.destroy.call(this); =20 }; /** * Returns a string representation of the object. * @type string */=20 YAHOO.widget.Overlay.prototype.toString =3D function() { return "Overlay " + this.id; }; /** * A singleton CustomEvent used for reacting to the DOM event for window = scroll * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.windowScrollEvent =3D new = YAHOO.util.CustomEvent("windowScroll"); /** * A singleton CustomEvent used for reacting to the DOM event for window = resize * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.windowResizeEvent =3D new = YAHOO.util.CustomEvent("windowResize"); /** * The DOM event handler used to fire the CustomEvent for window scroll * @type Function */ YAHOO.widget.Overlay.windowScrollHandler =3D function(e) { YAHOO.widget.Overlay.windowScrollEvent.fire(); }; /** * The DOM event handler used to fire the CustomEvent for window resize * @type Function */ YAHOO.widget.Overlay.windowResizeHandler =3D function(e) { YAHOO.widget.Overlay.windowResizeEvent.fire(); }; /** * @private */ YAHOO.widget.Overlay._initialized =3D null; if (YAHOO.widget.Overlay._initialized =3D=3D=3D null) { YAHOO.util.Event.addListener(window, "scroll", = YAHOO.widget.Overlay.windowScrollHandler); YAHOO.util.Event.addListener(window, "resize", = YAHOO.widget.Overlay.windowResizeHandler); YAHOO.widget.Overlay._initialized =3D true; } /** * OverlayManager is used for maintaining the focus status of multiple = Overlays. * @param {Array} overlays Optional. A collection of Overlays to register = with the manager. * @param {object} userConfig The object literal representing the user = configuration of the OverlayManager * @constructor */ YAHOO.widget.OverlayManager =3D function(userConfig) { this.init(userConfig); }; /** * The CSS class representing a focused Overlay * @type string */ YAHOO.widget.OverlayManager.CSS_FOCUSED =3D "focused"; YAHOO.widget.OverlayManager.prototype =3D { constructor : YAHOO.widget.OverlayManager, /** * The array of Overlays that are currently registered * @type Array */ overlays : null, /** * Initializes the default configuration of the OverlayManager */=09 initDefaultConfig : function() { this.cfg.addProperty("overlays", { suppressEvent:true } ); this.cfg.addProperty("focusevent", { value:"mousedown" } ); },=20 /** * Returns the currently focused Overlay * @return {Overlay} The currently focused Overlay */ getActive : function() {}, /** * Focuses the specified Overlay * @param {Overlay} The Overlay to focus * @param {string} The id of the Overlay to focus */ focus : function(overlay) {}, /** * Removes the specified Overlay from the manager * @param {Overlay} The Overlay to remove * @param {string} The id of the Overlay to remove */ remove: function(overlay) {}, /** * Removes focus from all registered Overlays in the manager */ blurAll : function() {}, /** * Initializes the OverlayManager * @param {Array} overlays Optional. A collection of Overlays to = register with the manager. * @param {object} userConfig The object literal representing the user = configuration of the OverlayManager */ init : function(userConfig) { this.cfg =3D new YAHOO.util.Config(this); this.initDefaultConfig(); if (userConfig) { this.cfg.applyConfig(userConfig, true); } this.cfg.fireQueue(); var activeOverlay =3D null; this.getActive =3D function() { return activeOverlay; }; this.focus =3D function(overlay) { var o =3D this.find(overlay); if (o) { this.blurAll(); activeOverlay =3D o; YAHOO.util.Dom.addClass(activeOverlay.element, = YAHOO.widget.OverlayManager.CSS_FOCUSED); this.overlays.sort(this.compareZIndexDesc); var topZIndex =3D YAHOO.util.Dom.getStyle(this.overlays[0].element, = "zIndex"); if (! isNaN(topZIndex) && this.overlays[0] !=3D overlay) { activeOverlay.cfg.setProperty("zIndex", (parseInt(topZIndex, 10) + = 2)); } this.overlays.sort(this.compareZIndexDesc); } }; this.remove =3D function(overlay) { var o =3D this.find(overlay); if (o) { var originalZ =3D YAHOO.util.Dom.getStyle(o.element, "zIndex"); o.cfg.setProperty("zIndex", -1000, true); this.overlays.sort(this.compareZIndexDesc); this.overlays =3D this.overlays.slice(0, this.overlays.length-1); o.cfg.setProperty("zIndex", originalZ, true); o.cfg.setProperty("manager", null); o.focusEvent =3D null; o.blurEvent =3D null; o.focus =3D null; o.blur =3D null; } }; this.blurAll =3D function() { activeOverlay =3D null; for (var o=3D0;o 0) { return true; } } else { return false; } }, /** * Attempts to locate an Overlay by instance or ID. * @param {Overlay} overlay An Overlay to locate within the manager * @param {string} overlay An Overlay id to locate within the manager * @return {Overlay} The requested Overlay, if found, or null if it = cannot be located. */ find : function(overlay) { if (overlay instanceof YAHOO.widget.Overlay) { for (var o=3D0;o zIndex2) { return -1; } else if (zIndex1 < zIndex2) { return 1; } else { return 0; } }, /** * Shows all Overlays in the manager. */ showAll : function() { for (var o=3D0;o 0) { var i =3D this._aListElements.length - 1; do { oNode =3D this._aListElements[i].firstChild; do { switch(oNode.tagName) { case "LI": this.addItem(new this.ITEM_TYPE(oNode), = i); break; } } while((oNode =3D oNode.nextSibling)); } while(i--); } break; case "SELECT": oNode =3D this.srcElement.firstChild; do { switch(oNode.tagName) { case "OPTGROUP": case "OPTION": this.addItem(new this.ITEM_TYPE(oNode)); break; } } while((oNode =3D oNode.nextSibling)); break; } }; /** * Returns the first enabled item in a menu instance. * @return Returns a MenuModuleItem instance. * @type YAHOO.widget.MenuModuleItem * @private */ YAHOO.widget.MenuModule.prototype._getFirstEnabledItem =3D function() { var nGroups =3D this._aItemGroups.length; var oItem; var aItemGroup; for(var i=3D0; i=3D aGroup.length); if(aGroup[p_nItemIndex]) { aGroup.splice(p_nItemIndex, 0, oItem); } else { aGroup[p_nItemIndex] =3D oItem; } oGroupItem =3D aGroup[p_nItemIndex]; if(oGroupItem) { if( bAppend && ( !oGroupItem.element.parentNode || oGroupItem.element.parentNode.nodeType = =3D=3D 11 ) ) { this._aListElements[nGroupIndex].appendChild( oGroupItem.element ); } else { /** * Returns the next sibling of an item in an = array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start = searching * the array * @ignore * @return Returns an item in an array * @type Object */ function getNextItemSibling(p_aArray, = p_nStartIndex) { return ( p_aArray[p_nStartIndex] || getNextItemSibling( p_aArray, (p_nStartIndex+1) ) ); } var oNextItemSibling =3D getNextItemSibling(aGroup, = (p_nItemIndex+1)); if( oNextItemSibling && ( !oGroupItem.element.parentNode || oGroupItem.element.parentNode.nodeType = =3D=3D 11 ) ) { = this._aListElements[nGroupIndex].insertBefore( oGroupItem.element, oNextItemSibling.element ); } } oGroupItem.parent =3D this; this._subscribeToItemEvents(oGroupItem); this._configureItemSubmenuModule(oGroupItem); this._updateItemProperties(nGroupIndex); return oGroupItem; } } else { var nItemIndex =3D aGroup.length; aGroup[nItemIndex] =3D oItem; oGroupItem =3D aGroup[nItemIndex]; if(oGroupItem) { if( !Dom.isAncestor( this._aListElements[nGroupIndex], oGroupItem.element ) ) { this._aListElements[nGroupIndex].appendChild( oGroupItem.element ); } oGroupItem.element.setAttribute("groupindex", = nGroupIndex); oGroupItem.element.setAttribute("index", = nItemIndex); oGroupItem.parent =3D this; oGroupItem.index =3D nItemIndex; oGroupItem.groupIndex =3D nGroupIndex; this._subscribeToItemEvents(oGroupItem); this._configureItemSubmenuModule(oGroupItem); if(nItemIndex =3D=3D=3D 0) { Dom.addClass(oGroupItem.element, = "first-of-type"); } return oGroupItem; } } } }; /** * Removes an item from a group by index. * @private * @param {Number} p_nGroupIndex Number indicating the group to which * the item belongs. * @param {Number} p_nItemIndex Number indicating the index of the item = to * be removed. * @return The item that was removed. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype._removeItemFromGroupByIndex =3D function(p_nGroupIndex, p_nItemIndex) { var nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? = p_nGroupIndex : 0; var aGroup =3D this._getItemGroup(nGroupIndex); if(aGroup) { var aArray =3D aGroup.splice(p_nItemIndex, 1); var oItem =3D aArray[0]; if(oItem) { // Update the index and className properties of each = member this._updateItemProperties(nGroupIndex); if(aGroup.length =3D=3D=3D 0) { // Remove the UL var oUL =3D this._aListElements[nGroupIndex]; if(this.body && oUL) { this.body.removeChild(oUL); } // Remove the group from the array of items this._aItemGroups.splice(nGroupIndex, 1); // Remove the UL from the array of ULs this._aListElements.splice(nGroupIndex, 1); /* Assign the "first-of-type" class to the new = first UL in the collection */ oUL =3D this._aListElements[0]; if(oUL) { this._oDom.addClass(oUL, "first-of-type"); } } // Return a reference to the item that was removed return oItem; } } }; /** * Removes a item from a group by reference. * @private * @param {Number} p_nGroupIndex Number indicating the group to which * the item belongs. * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be removed. * @return The item that was removed. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype._removeItemFromGroupByValue =3D function(p_nGroupIndex, p_oItem) { var aGroup =3D this._getItemGroup(p_nGroupIndex); if(aGroup) { var nItems =3D aGroup.length; var nItemIndex =3D -1; if(nItems > 0) { var i =3D nItems-1; do { if(aGroup[i] =3D=3D p_oItem) { nItemIndex =3D i; break; } } while(i--); if(nItemIndex > -1) { return this._removeItemFromGroupByIndex( p_nGroupIndex, nItemIndex ); } } } }; /** * Updates the index, groupindex, and className properties of the items * in the specified group. * @private * @param {Number} p_nGroupIndex Number indicating the group of items to = update. */ YAHOO.widget.MenuModule.prototype._updateItemProperties =3D function(p_nGroupIndex) { var aGroup =3D this._getItemGroup(p_nGroupIndex); var nItems =3D aGroup.length; if(nItems > 0) { var Dom =3D this._oDom; var i =3D nItems - 1; var oItem; var oLI; // Update the index and className properties of each member do { oItem =3D aGroup[i]; if(oItem) { oLI =3D oItem.element; oItem.index =3D i; oItem.groupIndex =3D p_nGroupIndex; oLI.setAttribute("groupindex", p_nGroupIndex); oLI.setAttribute("index", i); Dom.removeClass(oLI, "first-of-type"); } } while(i--); if(oLI) { Dom.addClass(oLI, "first-of-type"); } } }; /** * Creates a new item group (array) and it's associated HTMLUlElement = node * @private * @param {Number} p_nIndex Number indicating the group to create. * @return An item group. * @type Array */ YAHOO.widget.MenuModule.prototype._createItemGroup =3D = function(p_nIndex) { if(!this._aItemGroups[p_nIndex]) { this._aItemGroups[p_nIndex] =3D []; var oUL =3D document.createElement("ul"); this._aListElements[p_nIndex] =3D oUL; return this._aItemGroups[p_nIndex]; } }; /** * Returns the item group at the specified index. * @private * @param {Number} p_nIndex Number indicating the index of the item group = to * be retrieved. * @return An array of items. * @type Array */ YAHOO.widget.MenuModule.prototype._getItemGroup =3D function(p_nIndex) { var nIndex =3D ((typeof p_nIndex =3D=3D "number") ? p_nIndex : 0); return this._aItemGroups[nIndex]; }; /** * Subscribe's a MenuModule instance to it's parent MenuModule instance's = events. * @private * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen * for events on. */ YAHOO.widget.MenuModule.prototype._configureItemSubmenuModule =3D function(p_oItem) { var oSubmenu =3D p_oItem.cfg.getProperty("submenu"); if(oSubmenu) { /* Listen for configuration changes to the parent = MenuModule instance so they they can be applied to the submenu. */ this.cfg.configChangedEvent.subscribe( this._onParentMenuModuleConfigChange, oSubmenu, true ); this.renderEvent.subscribe( this._onParentMenuModuleRender, oSubmenu, true ); oSubmenu.beforeShowEvent.subscribe( this._onSubmenuBeforeShow, oSubmenu, true ); oSubmenu.showEvent.subscribe(this._onSubmenuShow, oSubmenu, = true); oSubmenu.hideEvent.subscribe(this._onSubmenuHide, oSubmenu, = true); } }; /** * Subscribes a MenuModule instance to the specified item's Custom = Events. * @private * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen for = events on. */ YAHOO.widget.MenuModule.prototype._subscribeToItemEvents =3D = function(p_oItem) { var aArguments =3D [this, p_oItem]; p_oItem.focusEvent.subscribe(this._onItemFocus, aArguments); p_oItem.blurEvent.subscribe(this._onItemBlur, aArguments); p_oItem.cfg.configChangedEvent.subscribe( this._onItemConfigChange, aArguments ); }; /** * Returns the offset width of a MenuModule instance. * @private */ YAHOO.widget.MenuModule.prototype._getOffsetWidth =3D function() { var oClone =3D this.element.cloneNode(true); this._oDom.setStyle(oClone, "width", ""); document.body.appendChild(oClone); var sWidth =3D oClone.offsetWidth; document.body.removeChild(oClone); return sWidth; }; // Private Custom Event handlers /** * "init" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onInit =3D function(p_sType, p_aArgs, p_oMenuModule) { var sCSSPosition =3D (this.cfg.getProperty("position") =3D=3D = "static") ? "static" : "absolute"; this._oDom.setStyle(this.element, "position", sCSSPosition); }; /** * "beforerender" Custom Event handler for a MenuModule instance. = Appends all * of the HTMLUListElement (<UL<s) nodes (and their child * HTMLLIElement (<LI<)) nodes and their accompanying title nodes = to * the body of the MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onBeforeRender =3D function(p_sType, p_aArgs, p_oMenuModule) { var Dom =3D this._oDom; var oConfig =3D this.cfg; var oEl =3D this.element; var nListElements =3D this._aListElements.length; if(oConfig.getProperty("position") =3D=3D "static") { oConfig.queueProperty("iframe", false); oConfig.queueProperty("visible", true); } if(nListElements > 0) { var i =3D 0; var bFirstList =3D true; var oUL; var oGroupTitle; do { oUL =3D this._aListElements[i]; if(oUL) { if(bFirstList) { Dom.addClass(oUL, "first-of-type"); bFirstList =3D false; } if(!Dom.isAncestor(oEl, oUL)) { this.appendToBody(oUL); } oGroupTitle =3D this._aGroupTitleElements[i]; if(oGroupTitle) { if(!Dom.isAncestor(oEl, oGroupTitle)) { oUL.parentNode.insertBefore(oGroupTitle, = oUL); } Dom.addClass(oUL, "hastitle"); } } i++; } while(i < nListElements); } }; /** * "render" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onRender =3D function(p_sType, p_aArgs, p_oMenuModule) { if(this.cfg.getProperty("position") =3D=3D "dynamic") { var sWidth =3D this.element.parentNode.tagName =3D=3D "BODY" = ? this.element.offsetWidth : this._getOffsetWidth(); this.cfg.setProperty("width", (sWidth + "px")); } }; /** * "show" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onShow =3D function(p_sType, p_aArgs, p_oMenuModule) { /* Setting focus to an item in the newly visible submenu alerts = the contents of the submenu to the screen reader. */ this.setInitialFocus(); }; /** * "hide" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onBeforeHide =3D function(p_sType, p_aArgs, p_oMenuModule) { var oActiveItem =3D this.activeItem; if(oActiveItem) { oActiveItem.blur(); if(oActiveItem.cfg.getProperty("selected")) { oActiveItem.cfg.setProperty("selected", false); } var oSubmenu =3D oActiveItem.cfg.getProperty("submenu"); if(oSubmenu && oSubmenu.cfg.getProperty("visible")) { oSubmenu.hide(); } } }; /** * "configchange" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that = subscribed * to the event. */ YAHOO.widget.MenuModule.prototype._onParentMenuModuleConfigChange =3D function(p_sType, p_aArgs, p_oSubmenu) { var sPropertyName =3D p_aArgs[0][0]; var oPropertyValue =3D p_aArgs[0][1]; switch(sPropertyName) { case "iframe": case "constraintoviewport": p_oSubmenu.cfg.setProperty(sPropertyName, = oPropertyValue); break; } }; /** * "render" Custom Event handler for a MenuModule instance. Renders a * submenu in response to the firing of it's parent's "render" event. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that = subscribed * to the event. */ YAHOO.widget.MenuModule.prototype._onParentMenuModuleRender =3D function(p_sType, p_aArgs, p_oSubmenu) { /* Set the "constraintoviewport" configuration property to match the parent MenuModule */ var oParentMenu =3D p_oSubmenu.parent.parent; var oConfig =3D { constraintoviewport: oParentMenu.cfg.getProperty("constraintoviewport"), xy: [0,0] }; /* Only sync the "iframe" configuration property if the parent MenuModule instance's position is of the same value */ if( this.cfg.getProperty("position") =3D=3D oParentMenu.cfg.getProperty("position") ) { oConfig.iframe =3D oParentMenu.cfg.getProperty("iframe"); } p_oSubmenu.cfg.applyConfig(oConfig); if(this._oDom.inDocument(this.element)) { this.render(); } else { this.render(this.parent.element); } }; /** * "beforeshow" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired * the event. */ YAHOO.widget.MenuModule.prototype._onSubmenuBeforeShow =3D function(p_sType, p_aArgs, p_oSubmenu) { var oParent =3D this.parent; var aAlignment =3D = oParent.parent.cfg.getProperty("submenualignment"); this.cfg.setProperty( "context", [ oParent.element, aAlignment[0], aAlignment[1] ] ); oParent.submenuIndicator.alt =3D oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT; }; /** * "show" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired * the event. */ YAHOO.widget.MenuModule.prototype._onSubmenuShow =3D function(p_sType, p_aArgs, p_oSubmenu) { var oParent =3D this.parent; oParent.submenuIndicator.alt =3D oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT; }; /** * "hide" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired * the event. */ YAHOO.widget.MenuModule.prototype._onSubmenuHide =3D function(p_sType, p_aArgs, p_oSubmenu) { var oParent =3D this.parent; if(oParent.parent.cfg.getProperty("visible")) { oParent.cfg.setProperty("selected", false); oParent.focus(); } oParent.submenuIndicator.alt =3D oParent.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT; }; /** * "focus" YAHOO.util.CustomEvent handler for a MenuModule instance's = items. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {Array} p_aObjects Array containing the current MenuModule = instance * and the item that fired the event. */ YAHOO.widget.MenuModule.prototype._onItemFocus =3D function(p_sType, p_aArgs, p_aObjects) { var me =3D p_aObjects[0]; var oItem =3D p_aObjects[1]; me.activeItem =3D oItem; }; /** * "blur" YAHOO.util.CustomEvent handler for a MenuModule instance's = items. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {Array} p_aObjects Array containing the current MenuModule = instance * and the item that fired the event. */ YAHOO.widget.MenuModule.prototype._onItemBlur =3D function(p_sType, p_aArgs, p_aObjects) { var me =3D p_aObjects[0]; var oItem =3D p_aObjects[1]; var oSubmenu =3D oItem.cfg.getProperty("submenu"); if(!oSubmenu || (oSubmenu && = !oSubmenu.cfg.getProperty("visible"))) { me.activeItem =3D null; } }; /** * "configchange" YAHOO.util.CustomEvent handler for the MenuModule * instance's items. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {Array} p_aObjects Array containing the current MenuModule = instance * and the item that fired the event. */ YAHOO.widget.MenuModule.prototype._onItemConfigChange =3D function(p_sType, p_aArgs, p_aObjects) { var me =3D p_aObjects[0]; var sProperty =3D p_aArgs[0][0]; var oItem =3D p_aObjects[1]; switch(sProperty) { case "submenu": var oSubmenu =3D p_aArgs[0][1]; if(oSubmenu) { me._configureItemSubmenuModule(oItem); } break; case "text": case "helptext": /* A change to an item's "text" or "helptext" configuration properties requires the width of the = parent MenuModule instance to be recalculated. */ if(me.element.style.width) { var sWidth =3D me._getOffsetWidth() + "px"; me._oDom.setStyle(me.element, "width", sWidth); } break; } }; /** * The default event handler executed when the moveEvent is fired, if the * "constraintoviewport" configuration property is set to true. */ YAHOO.widget.MenuModule.prototype.enforceConstraints =3D function(type, args, obj) { var Dom =3D this._oDom; var oConfig =3D this.cfg; var pos =3D args[0]; var x =3D pos[0]; var y =3D pos[1]; var bod =3D document.getElementsByTagName('body')[0]; var htm =3D document.getElementsByTagName('html')[0]; var bodyOverflow =3D Dom.getStyle(bod, "overflow"); var htmOverflow =3D Dom.getStyle(htm, "overflow"); var offsetHeight =3D this.element.offsetHeight; var offsetWidth =3D this.element.offsetWidth; var viewPortWidth =3D Dom.getClientWidth(); var viewPortHeight =3D Dom.getClientHeight(); var scrollX =3D window.scrollX || document.body.scrollLeft; var scrollY =3D window.scrollY || document.body.scrollTop; var topConstraint =3D scrollY + 10; var leftConstraint =3D scrollX + 10; var bottomConstraint =3D scrollY + viewPortHeight - offsetHeight = - 10; var rightConstraint =3D scrollX + viewPortWidth - offsetWidth - = 10; var aContext =3D oConfig.getProperty("context"); var oContextElement =3D aContext ? aContext[0] : null; if (x < 10) { x =3D leftConstraint; } else if ((x + offsetWidth) > viewPortWidth) { if( oContextElement && ((x - oContextElement.offsetWidth) > offsetWidth) ) { x =3D (x - (oContextElement.offsetWidth + offsetWidth)); } else { x =3D rightConstraint; } } if (y < 10) { y =3D topConstraint; } else if (y > bottomConstraint) { if(oContextElement && (y > offsetHeight)) { y =3D ((y + oContextElement.offsetHeight) - = offsetHeight); } else { y =3D bottomConstraint; } } oConfig.setProperty("x", x, true); oConfig.setProperty("y", y, true); }; // Event handlers for configuration properties /** * Event handler for when the "position" configuration property of a * MenuModule changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = fired * the event. */ YAHOO.widget.MenuModule.prototype.configPosition =3D function(p_sType, p_aArgs, p_oMenuModule) { var sCSSPosition =3D p_aArgs[0] =3D=3D "static" ? "static" : = "absolute"; this._oDom.setStyle(this.element, "position", sCSSPosition); }; /** * Event handler for when the "iframe" configuration property of a * MenuModule changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = fired * the event. * @see YAHOO.widget.Overlay#configIframe */ YAHOO.widget.MenuModule.prototype.configIframe =3D function(p_sType, p_aArgs, p_oMenuModule) { if(this.cfg.getProperty("position") =3D=3D "dynamic") { YAHOO.widget.MenuModule.superclass.configIframe.call( this, p_sType, p_aArgs, p_oMenuModule ); } }; // Public methods YAHOO.widget.MenuModule.prototype.toString =3D function() { return ("Menu " + this.id); }; /** * Sets the title of a group of items. * @param {String} p_sGroupTitle The title of the group. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the title belongs. */ YAHOO.widget.MenuModule.prototype.setItemGroupTitle =3D function(p_sGroupTitle, p_nGroupIndex) { if(typeof p_sGroupTitle =3D=3D "string" && p_sGroupTitle.length = > 0) { var Dom =3D this._oDom; var nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? p_nGroupIndex = : 0; var oTitle =3D this._aGroupTitleElements[nGroupIndex]; if(oTitle) { oTitle.innerHTML =3D p_sGroupTitle; } else { oTitle =3D = document.createElement(this.GROUP_TITLE_TAG_NAME); oTitle.innerHTML =3D p_sGroupTitle; this._aGroupTitleElements[nGroupIndex] =3D oTitle; } var i =3D this._aGroupTitleElements.length - 1; var nFirstIndex; do { if(this._aGroupTitleElements[i]) { Dom.removeClass( this._aGroupTitleElements[i], "first-of-type" ); nFirstIndex =3D i; } } while(i--); if(nFirstIndex !=3D=3D null) { Dom.addClass( this._aGroupTitleElements[nFirstIndex], "first-of-type" ); } } }; /** * Appends the specified item to a MenuModule instance. * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return The item that was added to the MenuModule. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.addItem =3D function(p_oItem, = p_nGroupIndex) { if(p_oItem) { return this._addItemToGroup(p_nGroupIndex, p_oItem); } }; /** * Inserts an item into a MenuModule instance at the specified index. * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be inserted. * @param {Number} p_nItemIndex Number indicating the ordinal position * at which the item should be added. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return The item that was inserted into the MenuModule. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.insertItem =3D function(p_oItem, p_nItemIndex, p_nGroupIndex) { if(p_oItem) { return this._addItemToGroup(p_nGroupIndex, p_oItem, = p_nItemIndex); } }; /** * Removes the specified item from a MenuModule instance. * @param {YAHOO.widget.MenuModuleItem/Number} p_oObject The item or = index of * the item to be removed. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return The item that was removed from the MenuModule. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.removeItem =3D function(p_oObject, p_nGroupIndex) { if(typeof p_oObject !=3D "undefined") { var oItem; if(p_oObject instanceof YAHOO.widget.MenuModuleItem) { oItem =3D this._removeItemFromGroupByValue(p_nGroupIndex, = p_oObject); } else if(typeof p_oObject =3D=3D "number") { oItem =3D this._removeItemFromGroupByIndex(p_nGroupIndex, = p_oObject); } if(oItem) { oItem.destroy(); return oItem; } } }; /** * Returns a multi-dimensional array of all of a MenuModule's items. * @return An array of items. * @type Array */ YAHOO.widget.MenuModule.prototype.getItemGroups =3D function() { return this._aItemGroups; }; /** * Returns the item at the specified index. * @param {Number} p_nItemIndex Number indicating the ordinal position of = the * item to be retrieved. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return An item. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.getItem =3D function(p_nItemIndex, p_nGroupIndex) { if(typeof p_nItemIndex =3D=3D "number") { var aGroup =3D this._getItemGroup(p_nGroupIndex); if(aGroup) { return aGroup[p_nItemIndex]; } } }; /** * Removes the MenuModule instance's element from the DOM and sets all = child * elements to null. */ YAHOO.widget.MenuModule.prototype.destroy =3D function() { // Remove Custom Event listeners this.mouseOverEvent.unsubscribeAll(); this.mouseOutEvent.unsubscribeAll(); this.mouseDownEvent.unsubscribeAll(); this.mouseUpEvent.unsubscribeAll(); this.clickEvent.unsubscribeAll(); this.keyPressEvent.unsubscribeAll(); this.keyDownEvent.unsubscribeAll(); this.keyUpEvent.unsubscribeAll(); var nItemGroups =3D this._aItemGroups.length; var nItems; var oItemGroup; var oItem; var i; var n; // Remove all items if(nItemGroups > 0) { i =3D nItemGroups - 1; do { oItemGroup =3D this._aItemGroups[i]; if(oItemGroup) { nItems =3D oItemGroup.length; if(nItems > 0) { n =3D nItems - 1; do { oItem =3D this._aItemGroups[i][n]; if(oItem) { oItem.destroy(); } } while(n--); } } } while(i--); } // Continue with the superclass implementation of this method YAHOO.widget.MenuModule.superclass.destroy.call(this); }; /** * Sets focus to a MenuModule instance's first enabled item. */ YAHOO.widget.MenuModule.prototype.setInitialFocus =3D function() { var oItem =3D this._getFirstEnabledItem(); if(oItem) { oItem.focus(); } }; /** * Sets the "selected" configuration property of a MenuModule instance's = first * enabled item to "true." */ YAHOO.widget.MenuModule.prototype.setInitialSelection =3D function() { var oItem =3D this._getFirstEnabledItem(); if(oItem) { oItem.cfg.setProperty("selected", true); } }; /** * Sets the "selected" configuration property of a MenuModule instance's = active * item to "false," blurs the item and hide's the item's submenu. */ YAHOO.widget.MenuModule.prototype.clearActiveItem =3D function () { if(this.activeItem) { var oConfig =3D this.activeItem.cfg; oConfig.setProperty("selected", false); var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.hide(); } } }; /** * Initializes the class's configurable properties which can be changed = using * the MenuModule's Config object (cfg). */ YAHOO.widget.MenuModule.prototype.initDefaultConfig =3D function() { YAHOO.widget.MenuModule.superclass.initDefaultConfig.call(this); var oConfig =3D this.cfg; // Add configuration properties oConfig.addProperty( "position", { value: "dynamic", handler: this.configPosition, validator: this._checkPosition } ); // this.cfg.refireEvent("position"); oConfig.addProperty("submenualignment", { value: ["tl","tr"] } ); }; /** * @class The MenuModuleItem class allows you to create and modify an = item for a * MenuModule instance. * @constructor * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuModuleItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuModuleItem =3D function(p_oObject, p_oConfig) { if(p_oObject) { this.init(p_oObject, p_oConfig); } }; YAHOO.widget.MenuModuleItem.prototype =3D { // Constants /** * Constant representing the path to the image to be used for the = submenu * arrow indicator. * @final * @type String */ SUBMENU_INDICATOR_IMAGE_PATH: = "nt/ic/ut/alt1/menuarorght8_nrm_1.gif", /** * Constant representing the path to the image to be used for the = submenu * arrow indicator when a MenuModuleItem instance is selected. * @final * @type String */ SELECTED_SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_hov_1.gif", /** * Constant representing the path to the image to be used for the = submenu * arrow indicator when a MenuModuleItem instance is disabled. * @final * @type String */ DISABLED_SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_dim_1.gif", /** * Constant representing the alt text for the image to be used for = the * submenu arrow indicator. * @final * @type String */ COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT: "Collapsed. Click to = expand.", /** * Constant representing the alt text for the image to be used for = the * submenu arrow indicator when the submenu is visible. * @final * @type String */ EXPANDED_SUBMENU_INDICATOR_ALT_TEXT: "Expanded. Click to = collapse.", /** * Constant representing the alt text for the image to be used for = the * submenu arrow indicator when a MenuModuleItem instance is = disabled. * @final * @type String */ DISABLED_SUBMENU_INDICATOR_ALT_TEXT: "Disabled.", /** * Constant representing the CSS class(es) to be applied to the root * HTMLLIElement of the MenuModuleItem. * @final * @type String */ CSS_CLASS_NAME: "yuimenuitem", /** * Constant representing the type of menu to instantiate when = creating * submenu instances from parsing the child nodes (either = HTMLSelectElement * or HTMLDivElement) of the item's DOM. The default * is YAHOO.widget.MenuModule. * @final * @type YAHOO.widget.MenuModule */ SUBMENU_TYPE: null, /** * Constant representing the type of item to instantiate when * creating item instances from parsing the child nodes (either * HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the * submenu's DOM. * The default is YAHOO.widget.MenuModuleItem. * @final * @type YAHOO.widget.MenuModuleItem */ SUBMENU_ITEM_TYPE: null, /** * Constant representing the prefix path to use for non-secure images * @type string */ IMG_ROOT: "http://us.i1.yimg.com/us.yimg.com/i/", /** * Constant representing the prefix path to use for securely served = images * @type string */ IMG_ROOT_SSL: "https://a248.e.akamai.net/sec.yimg.com/i/", // Private member variables /** * Reference to the HTMLAnchorElement of the MenuModuleItem's core = internal * DOM structure. * @private * @type {HTMLAnchorElement} */ _oAnchor: null, /** * Reference to the text node of the MenuModuleItem's core internal * DOM structure. * @private * @type {Text} */ _oText: null, /** * Reference to the HTMLElement (<EM<) used to create the = optional * help text for a MenuModuleItem instance. * @private * @type {HTMLElement} */ _oHelpTextEM: null, /** * Reference to the submenu for a MenuModuleItem instance. * @private * @type {YAHOO.widget.MenuModule} */ _oSubmenu: null, /** * Reference to the Dom utility singleton. * @private * @type {YAHOO.util.Dom} */ _oDom: YAHOO.util.Dom, /** * The current state of a MenuModuleItem instance's "mouseover" event * @private * @type {Boolean} */ _bFiredMouseOverEvent: false, /** * The current state of a MenuModuleItem instance's "mouseout" event * @private * @type {Boolean} */ _bFiredMouseOutEvent: false, // Public properties /** * The class's constructor function * @type YAHOO.widget.MenuModuleItem */ constructor: YAHOO.widget.MenuModuleItem, /** * The string representing the image root * @type string */ imageRoot: null, /** * Boolean representing whether or not the current browsing context * is secure (https) * @type boolean */ isSecure: YAHOO.widget.Module.prototype.isSecure, /** * Returns the ordinal position of a MenuModuleItem instance in a = group. * @type Number */ index: null, /** * Returns the index of the group to which a MenuModuleItem instance = belongs. * @type Number */ groupIndex: null, /** * Returns the parent object for a MenuModuleItem instance. * @type {YAHOO.widget.MenuModule} */ parent: null, /** * Returns the HTMLLIElement for a MenuModuleItem instance. * @type {HTMLLIElement} */ element: null, /** * Returns the HTMLElement (either HTMLLIElement, HTMLOptGroupElement = or * HTMLOptionElement) used create the MenuModuleItem instance. * @type {HTMLLIElement/HTMLOptGroupElement/HTMLOptionElement} */ srcElement: null, /** * Specifies an arbitrary value for a MenuModuleItem instance. * @type {Object} */ value: null, /** * Reference to the HTMLImageElement used to create the submenu * indicator for a MenuModuleItem instance. * @type {HTMLImageElement} */ submenuIndicator: null, /** * String representing the browser * @type string */ browser: YAHOO.widget.Module.prototype.browser, // Events /** * Fires when a MenuModuleItem instances's HTMLLIElement is removed = from * it's parent HTMLUListElement node. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ destroyEvent: null, /** * Fires when the mouse has entered a MenuModuleItem instance. = Passes * back the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseOverEvent: null, /** * Fires when the mouse has left a MenuModuleItem instance. Passes = back * the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseOutEvent: null, /** * Fires when the user mouses down on a MenuModuleItem instance. = Passes * back the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseDownEvent: null, /** * Fires when the user releases a mouse button while the mouse is * over a MenuModuleItem instance. Passes back the DOM Event object = as * an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseUpEvent: null, /** * Fires when the user clicks the on a MenuModuleItem instance. = Passes * back the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ clickEvent: null, /** * Fires when the user presses an alphanumeric key. Passes back the * DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ keyPressEvent: null, /** * Fires when the user presses a key. Passes back the DOM Event * object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ keyDownEvent: null, /** * Fires when the user releases a key. Passes back the DOM Event * object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ keyUpEvent: null, /** * Fires when a MenuModuleItem instance receives focus. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ focusEvent: null, /** * Fires when a MenuModuleItem instance loses the input focus. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ blurEvent: null, /** * The MenuModuleItem class's initialization method. This method is * automatically called by the constructor, and sets up all DOM = references * for pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) = of the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal = containing * the configuration for a MenuModuleItem instance. See the = configuration * class documentation for more details. */ init: function(p_oObject, p_oConfig) { this.imageRoot =3D (this.isSecure) ? this.IMG_ROOT_SSL : = this.IMG_ROOT; if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.MenuModule; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.MenuModuleItem; } // Create the config object this.cfg =3D new YAHOO.util.Config(this); this.initDefaultConfig(); var oConfig =3D this.cfg; if(this._checkString(p_oObject)) { this._createRootNodeStructure(); oConfig.setProperty("text", p_oObject); } else if(this._checkDOMNode(p_oObject)) { switch(p_oObject.tagName) { case "OPTION": this._createRootNodeStructure(); oConfig.setProperty("text", p_oObject.text); this.srcElement =3D p_oObject; break; case "OPTGROUP": this._createRootNodeStructure(); oConfig.setProperty("text", p_oObject.label); this.srcElement =3D p_oObject; this._initSubTree(); break; case "LI": // Get the anchor node (if it exists) var oAnchor =3D this._getFirstElement(p_oObject, = "A"); var sURL =3D "#"; var sTarget =3D null; var sText =3D null; // Capture the "text" and/or the "URL" if(oAnchor) { sURL =3D oAnchor.getAttribute("href"); sTarget =3D oAnchor.getAttribute("target"); if(oAnchor.innerText) { sText =3D oAnchor.innerText; } else { var oRange =3D = oAnchor.ownerDocument.createRange(); oRange.selectNodeContents(oAnchor); sText =3D oRange.toString(); } } else { var oText =3D p_oObject.firstChild; sText =3D oText.nodeValue; oAnchor =3D document.createElement("a"); oAnchor.setAttribute("href", sURL); p_oObject.replaceChild(oAnchor, oText); oAnchor.appendChild(oText); } this.srcElement =3D p_oObject; this.element =3D p_oObject; this._oAnchor =3D oAnchor; // Check if emphasis has been applied to the = MenuModuleItem var oEmphasisNode =3D = this._getFirstElement(oAnchor); var bEmphasis =3D false; var bStrongEmphasis =3D false; if(oEmphasisNode) { // Set a reference to the text node this._oText =3D oEmphasisNode.firstChild; switch(oEmphasisNode.tagName) { case "EM": bEmphasis =3D true; break; case "STRONG": bStrongEmphasis =3D true; break; } } else { // Set a reference to the text node this._oText =3D oAnchor.firstChild; } /* Set these properties silently to sync up the configuration object without making changes to = the element's DOM */ oConfig.setProperty("text", sText, true); oConfig.setProperty("url", sURL, true); oConfig.setProperty("target", sTarget, true); oConfig.setProperty("emphasis", bEmphasis, true); oConfig.setProperty( "strongemphasis", bStrongEmphasis, true ); this._initSubTree(); break; } } if(this.element) { this._oDom.addClass(this.element, this.CSS_CLASS_NAME); // Create custom events var CustomEvent =3D YAHOO.util.CustomEvent; this.destroyEvent =3D new CustomEvent("destroyEvent", this); this.mouseOverEvent =3D new CustomEvent("mouseOverEvent", = this); this.mouseOutEvent =3D new CustomEvent("mouseOutEvent", = this); this.mouseDownEvent =3D new CustomEvent("mouseDownEvent", = this); this.mouseUpEvent =3D new CustomEvent("mouseUpEvent", this); this.clickEvent =3D new CustomEvent("clickEvent", this); this.keyPressEvent =3D new CustomEvent("keyPressEvent", = this); this.keyDownEvent =3D new CustomEvent("keyDownEvent", this); this.keyUpEvent =3D new CustomEvent("keyUpEvent", this); this.focusEvent =3D new CustomEvent("focusEvent", this); this.blurEvent =3D new CustomEvent("blurEvent", this); // Subscribe to custom event this.clickEvent.subscribe(this._onMenuModuleItemClick, this, = true); if(p_oConfig) { oConfig.applyConfig(p_oConfig); } oConfig.fireQueue(); } }, // Private methods /** * Returns an HTMLElement's first HTMLElement node * @private * @param {HTMLElement} p_oElement The element to be evaluated. * @param {String} p_sTagName Optional. The tagname of the element. * @return Returns an HTMLElement node. * @type Boolean */ _getFirstElement: function(p_oElement, p_sTagName) { var oElement; if(p_oElement.firstChild && p_oElement.firstChild.nodeType = =3D=3D 1) { oElement =3D p_oElement.firstChild; } else if( p_oElement.firstChild && p_oElement.firstChild.nextSibling && p_oElement.firstChild.nextSibling.nodeType =3D=3D 1 ) { oElement =3D p_oElement.firstChild.nextSibling; } if(p_sTagName) { return (oElement && oElement.tagName =3D=3D p_sTagName) ? oElement : false; } return oElement; }, /** * Determines if an object is a string * @private * @param {Object} p_oObject The object to be evaluated. * @return Returns true if the object is a string. * @type Boolean */ _checkString: function(p_oObject) { return (typeof p_oObject =3D=3D "string"); }, /** * Determines if an object is an HTMLElement. * @private * @param {Object} p_oObject The object to be evaluated. * @return Returns true if the object is an HTMLElement. * @type Boolean */ _checkDOMNode: function(p_oObject) { return (p_oObject && p_oObject.tagName); }, /** * Creates the core DOM structure for a MenuModuleItem instance. * @private */ _createRootNodeStructure: function () { this.element =3D document.createElement("li"); this._oText =3D document.createTextNode(""); this._oAnchor =3D document.createElement("a"); this._oAnchor.appendChild(this._oText); this.cfg.refireEvent("url"); this.element.appendChild(this._oAnchor); }, /** * Iterates the source element's childNodes collection and uses the * child nodes to instantiate other menus. * @private */ _initSubTree: function() { var Menu =3D this.SUBMENU_TYPE; var MenuModuleItem =3D this.SUBMENU_ITEM_TYPE; var oSrcEl =3D this.srcElement; var oConfig =3D this.cfg; if(oSrcEl.childNodes.length > 0) { var oNode =3D oSrcEl.firstChild; var aOptions =3D []; do { switch(oNode.tagName) { case "DIV": oConfig.setProperty("submenu", (new = Menu(oNode))); break; case "OPTION": aOptions[aOptions.length] =3D oNode; break; } } while((oNode =3D oNode.nextSibling)); var nOptions =3D aOptions.length; if(nOptions > 0) { oConfig.setProperty( "submenu", (new Menu(this._oDom.generateId())) ); for(var n=3D0; n 0); // Prevent the browser from following links equal to "#" if(oTarget.tagName =3D=3D "A" && bCurrentPageURL && = !bHasTarget) { Event.preventDefault(oEvent); } if(oTarget.tagName !=3D "A" && !bCurrentPageURL && = !bHasTarget) { /* Follow the URL of the item regardless of whether or not the user clicked specifically on the HTMLAnchorElement (<A<) node. */ document.location =3D sURL; } } }, // Event handlers for configuration properties /** * Event handler for when the "text" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configText: function(p_sType, p_aArgs, p_oItem) { var sText =3D p_aArgs[0]; if(this._oText) { this._oText.nodeValue =3D sText; } }, /** * Event handler for when the "helptext" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configHelpText: function(p_sType, p_aArgs, p_oItem) { var me =3D this; var Dom =3D this._oDom; var oHelpText =3D p_aArgs[0]; var oEl =3D this.element; var oConfig =3D this.cfg; var aNodes =3D [oEl, this._oAnchor]; var oImg =3D this.submenuIndicator; /** * Adds the "hashelptext" class to the necessary nodes and = refires the * "selected" and "disabled" configuration events * @ignore */ function initHelpText() { Dom.addClass(aNodes, "hashelptext"); if(oConfig.getProperty("disabled")) { oConfig.refireEvent("disabled"); } if(oConfig.getProperty("selected")) { oConfig.refireEvent("selected"); } } /** * Removes the "hashelptext" class and corresponding DOM element = (EM) * @ignore */ function removeHelpText() { Dom.removeClass(aNodes, "hashelptext"); oEl.removeChild(me._oHelpTextEM); me._oHelpTextEM =3D null; } if(this._checkDOMNode(oHelpText)) { if(this._oHelpTextEM) { this._oHelpTextEM.parentNode.replaceChild( oHelpText, this._oHelpTextEM ); } else { this._oHelpTextEM =3D oHelpText; oEl.insertBefore(this._oHelpTextEM, oImg); } initHelpText(); } else if(this._checkString(oHelpText)) { if(oHelpText.length =3D=3D=3D 0) { removeHelpText(); } else { if(!this._oHelpTextEM) { this._oHelpTextEM =3D document.createElement("em"); oEl.insertBefore(this._oHelpTextEM, oImg); } this._oHelpTextEM.innerHTML =3D oHelpText; initHelpText(); } } else if(!oHelpText && this._oHelpTextEM) { removeHelpText(); } }, /** * Event handler for when the "url" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configURL: function(p_sType, p_aArgs, p_oItem) { var sURL =3D p_aArgs[0]; if(!sURL) { sURL =3D "#"; } this._oAnchor.setAttribute("href", sURL); }, /** * Event handler for when the "target" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configTarget: function(p_sType, p_aArgs, p_oItem) { var sTarget =3D p_aArgs[0]; var oAnchor =3D this._oAnchor; if(sTarget && sTarget.length > 0) { oAnchor.setAttribute("target", sTarget); } else { oAnchor.removeAttribute("target"); } }, /** * Event handler for when the "emphasis" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configEmphasis: function(p_sType, p_aArgs, p_oItem) { var bEmphasis =3D p_aArgs[0]; var oAnchor =3D this._oAnchor; var oText =3D this._oText; var oConfig =3D this.cfg; var oEM; if(bEmphasis && oConfig.getProperty("strongemphasis")) { oConfig.setProperty("strongemphasis", false); } if(oAnchor) { if(bEmphasis) { oEM =3D document.createElement("em"); oEM.appendChild(oText); oAnchor.appendChild(oEM); } else { oEM =3D this._getFirstElement(oAnchor, "EM"); oAnchor.removeChild(oEM); oAnchor.appendChild(oText); } } }, /** * Event handler for when the "strongemphasis" configuration property = of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configStrongEmphasis: function(p_sType, p_aArgs, p_oItem) { var bStrongEmphasis =3D p_aArgs[0]; var oAnchor =3D this._oAnchor; var oText =3D this._oText; var oConfig =3D this.cfg; var oStrong; if(bStrongEmphasis && oConfig.getProperty("emphasis")) { oConfig.setProperty("emphasis", false); } if(oAnchor) { if(bStrongEmphasis) { oStrong =3D document.createElement("strong"); oStrong.appendChild(oText); oAnchor.appendChild(oStrong); } else { oStrong =3D this._getFirstElement(oAnchor, "STRONG"); oAnchor.removeChild(oStrong); oAnchor.appendChild(oText); } } }, /** * Event handler for when the "disabled" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configDisabled: function(p_sType, p_aArgs, p_oItem) { var bDisabled =3D p_aArgs[0]; var Dom =3D this._oDom; var oAnchor =3D this._oAnchor; var aNodes =3D [this.element, oAnchor]; var oEM =3D this._oHelpTextEM; var oConfig =3D this.cfg; var oImg =3D this.submenuIndicator; var sImageSrc; var sImageAlt; if(oEM) { aNodes[2] =3D oEM; } if(bDisabled) { if(oConfig.getProperty("selected")) { oConfig.setProperty("selected", false); } oAnchor.removeAttribute("href"); Dom.addClass(aNodes, "disabled"); sImageSrc =3D this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH; sImageAlt =3D this.DISABLED_SUBMENU_INDICATOR_ALT_TEXT; } else { oAnchor.setAttribute("href", oConfig.getProperty("url")); Dom.removeClass(aNodes, "disabled"); sImageSrc =3D this.SUBMENU_INDICATOR_IMAGE_PATH; sImageAlt =3D this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT; } if(oImg) { oImg.src =3D this.imageRoot + sImageSrc; oImg.alt =3D sImageAlt; } }, /** * Event handler for when the "selected" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configSelected: function(p_sType, p_aArgs, p_oItem) { if(!this.cfg.getProperty("disabled")) { var Dom =3D this._oDom; var bSelected =3D p_aArgs[0]; var oEM =3D this._oHelpTextEM; var aNodes =3D [this.element, this._oAnchor]; var oImg =3D this.submenuIndicator; var sImageSrc; if(oEM) { aNodes[aNodes.length] =3D oEM; } if(oImg) { aNodes[aNodes.length] =3D oImg; } if(bSelected) { Dom.addClass(aNodes, "selected"); sImageSrc =3D = this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH; } else { Dom.removeClass(aNodes, "selected"); sImageSrc =3D this.SUBMENU_INDICATOR_IMAGE_PATH; } if(oImg) { oImg.src =3D document.images[(this.imageRoot + = sImageSrc)].src; } } }, /** * Event handler for when the "submenu" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configSubmenu: function(p_sType, p_aArgs, p_oItem) { var Dom =3D this._oDom; var oEl =3D this.element; var oSubmenu =3D p_aArgs[0]; var oImg =3D this.submenuIndicator; var oConfig =3D this.cfg; var aNodes =3D [this.element, this._oAnchor]; if(oSubmenu) { // Set the submenu's parent to this MenuModuleItem instance oSubmenu.parent =3D this; this._oSubmenu =3D oSubmenu; if(!oImg) { var me =3D this; function preloadImage(p_sPath) { var sPath =3D me.imageRoot + p_sPath; if(!document.images[sPath]) { var oImage =3D document.createElement("img"); oImage.src =3D sPath; oImage.name =3D sPath; oImage.id =3D sPath; oImage.style.display =3D "none"; document.body.appendChild(oImage); } } preloadImage(this.SUBMENU_INDICATOR_IMAGE_PATH); = preloadImage(this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH); = preloadImage(this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH); oImg =3D document.createElement("img"); oImg.src =3D (this.imageRoot + = this.SUBMENU_INDICATOR_IMAGE_PATH); oImg.alt =3D this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT; oEl.appendChild(oImg); this.submenuIndicator =3D oImg; Dom.addClass(aNodes, "hassubmenu"); if(oConfig.getProperty("disabled")) { oConfig.refireEvent("disabled"); } if(oConfig.getProperty("selected")) { oConfig.refireEvent("selected"); } } } else { Dom.removeClass(aNodes, "hassubmenu"); if(oImg) { oEl.removeChild(oImg); } if(this._oSubmenu) { this._oSubmenu.destroy(); } } }, // Public methods /** * Initializes an item's configurable properties. */ initDefaultConfig : function() { var oConfig =3D this.cfg; var CheckBoolean =3D oConfig.checkBoolean; // Define the config properties oConfig.addProperty( "text", { value: "", handler: this.configText, validator: this._checkString, suppressEvent: true } ); oConfig.addProperty("helptext", { handler: this.configHelpText = }); oConfig.addProperty( "url", { value: "#", handler: this.configURL, suppressEvent: true } ); oConfig.addProperty( "target", { handler: this.configTarget, suppressEvent: true } ); oConfig.addProperty( "emphasis", { value: false, handler: this.configEmphasis, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty( "strongemphasis", { value: false, handler: this.configStrongEmphasis, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty( "disabled", { value: false, handler: this.configDisabled, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty( "selected", { value: false, handler: this.configSelected, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty("submenu", { handler: this.configSubmenu }); }, /** * Finds the next enabled MenuModuleItem instance in a MenuModule = instance * @return Returns a MenuModuleItem instance. * @type YAHOO.widget.MenuModuleItem */ getNextEnabledSibling: function() { if(this.parent instanceof YAHOO.widget.MenuModule) { var nGroupIndex =3D this.groupIndex; /** * Returns the next item in an array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start searching the = array * @ignore * @return Returns an item in an array * @type Object */ function getNextArrayItem(p_aArray, p_nStartIndex) { return p_aArray[p_nStartIndex] || getNextArrayItem(p_aArray, (p_nStartIndex+1)); } var aItemGroups =3D this.parent.getItemGroups(); var oNextItem; if(this.index < (aItemGroups[nGroupIndex].length - 1)) { oNextItem =3D getNextArrayItem( aItemGroups[nGroupIndex], (this.index+1) ); } else { var nNextGroupIndex; if(nGroupIndex < (aItemGroups.length - 1)) { nNextGroupIndex =3D nGroupIndex + 1; } else { nNextGroupIndex =3D 0; } var aNextGroup =3D getNextArrayItem(aItemGroups, = nNextGroupIndex); // Retrieve the first MenuModuleItem instance in the = next group oNextItem =3D getNextArrayItem(aNextGroup, 0); } return ( oNextItem.cfg.getProperty("disabled") || oNextItem.element.style.display =3D=3D "none" ) ? oNextItem.getNextEnabledSibling() : oNextItem; } }, /** * Finds the previous enabled MenuModuleItem instance in a * MenuModule instance * @return Returns a MenuModuleItem instance. * @type YAHOO.widget.MenuModuleItem */ getPreviousEnabledSibling: function() { if(this.parent instanceof YAHOO.widget.MenuModule) { var nGroupIndex =3D this.groupIndex; /** * Returns the previous item in an array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start searching the = array * @ignore * @return Returns an item in an array * @type Object */ function getPreviousArrayItem(p_aArray, p_nStartIndex) { return p_aArray[p_nStartIndex] || getPreviousArrayItem(p_aArray, (p_nStartIndex-1)); } /** * Get the index of the first item in an array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start searching the = array * @ignore * @return Returns an item in an array * @type Object */ function getFirstItemIndex(p_aArray, p_nStartIndex) { return p_aArray[p_nStartIndex] ? p_nStartIndex : getFirstItemIndex(p_aArray, (p_nStartIndex+1)); } var aItemGroups =3D this.parent.getItemGroups(); var oPreviousItem; if( this.index > getFirstItemIndex(aItemGroups[nGroupIndex], = 0) ) { oPreviousItem =3D getPreviousArrayItem( aItemGroups[nGroupIndex], (this.index-1) ); } else { var nPreviousGroupIndex; if(nGroupIndex > getFirstItemIndex(aItemGroups, 0)) { nPreviousGroupIndex =3D nGroupIndex - 1; } else { nPreviousGroupIndex =3D aItemGroups.length - 1; } var aPreviousGroup =3D getPreviousArrayItem(aItemGroups, = nPreviousGroupIndex); oPreviousItem =3D getPreviousArrayItem( aPreviousGroup, (aPreviousGroup.length - 1) ); } return ( oPreviousItem.cfg.getProperty("disabled") || oPreviousItem.element.style.display =3D=3D "none" ) ? oPreviousItem.getPreviousEnabledSibling() : oPreviousItem; } }, /** * Causes a MenuModuleItem instance to receive the focus and fires = the * focus event. */ focus: function() { var oParent =3D this.parent; var oAnchor =3D this._oAnchor; var oActiveItem =3D oParent.activeItem; if( !this.cfg.getProperty("disabled") && oParent && oParent.cfg.getProperty("visible") && this.element.style.display !=3D "none" ) { if(oActiveItem) { oActiveItem.blur(); } oAnchor.focus(); this.focusEvent.fire(); } }, /** * Causes a MenuModuleItem instance to lose focus and fires the = onblur event. */ blur: function() { var oParent =3D this.parent; if( !this.cfg.getProperty("disabled") && oParent && this._oDom.getStyle(oParent.element, "visibility") =3D=3D = "visible" ) { this._oAnchor.blur(); this.blurEvent.fire(); } }, /** * Removes a MenuModuleItem instance's HTMLLIElement from it's parent * HTMLUListElement node. */ destroy: function() { var oEl =3D this.element; if(oEl) { // Remove CustomEvent listeners this.mouseOverEvent.unsubscribeAll(); this.mouseOutEvent.unsubscribeAll(); this.mouseDownEvent.unsubscribeAll(); this.mouseUpEvent.unsubscribeAll(); this.clickEvent.unsubscribeAll(); this.keyPressEvent.unsubscribeAll(); this.keyDownEvent.unsubscribeAll(); this.keyUpEvent.unsubscribeAll(); this.focusEvent.unsubscribeAll(); this.blurEvent.unsubscribeAll(); this.cfg.configChangedEvent.unsubscribeAll(); // Remove the element from the parent node var oParentNode =3D oEl.parentNode; if(oParentNode) { oParentNode.removeChild(oEl); this.destroyEvent.fire(); } this.destroyEvent.unsubscribeAll(); } } }; /** * @class Extends YAHOO.widget.MenuModule to provide a set of default = mouse and * key event behaviors. * @constructor * @extends YAHOO.widget.MenuModule * @base YAHOO.widget.MenuModule * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a Menu instance. See * configuration class documentation for more details. */ YAHOO.widget.Menu =3D function(p_oElement, p_oConfig) { YAHOO.widget.Menu.superclass.constructor.call( this, p_oElement, p_oConfig ); }; YAHOO.extend(YAHOO.widget.Menu, YAHOO.widget.MenuModule); /** * The Menu class's initialization method. This method is automatically * called by the constructor, and sets up all DOM references for = pre-existing * markup, and creates required markup if it is not already present. * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a Menu instance. See * configuration class documentation for more details. */ YAHOO.widget.Menu.prototype.init =3D function(p_oElement, p_oConfig) { if(!this.ITEM_TYPE) { this.ITEM_TYPE =3D YAHOO.widget.MenuItem; } // Call the init of the superclass (YAHOO.widget.Menu) YAHOO.widget.Menu.superclass.init.call(this, p_oElement); this.beforeInitEvent.fire(YAHOO.widget.Menu); // Add event handlers this.showEvent.subscribe(this._onMenuShow, this, true); this.mouseOverEvent.subscribe(this._onMenuMouseOver, this, true); this.keyDownEvent.subscribe(this._onMenuKeyDown, this, true); if(p_oConfig) { this.cfg.applyConfig(p_oConfig, true); } this.initEvent.fire(YAHOO.widget.Menu); }; // Private event handlers /** * "show" Custom Event handler for a menu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.Menu} p_oMenu The menu that fired the event. */ YAHOO.widget.Menu.prototype._onMenuShow =3D function(p_sType, p_aArgs, p_oMenu) { var oParent =3D this.parent; if(oParent && oParent.parent instanceof YAHOO.widget.Menu) { var aAlignment =3D = oParent.parent.cfg.getProperty("submenualignment"); this.cfg.setProperty( "submenualignment", [ aAlignment[0], aAlignment[1] ] ); } }; /** * "mouseover" Custom Event handler for a Menu instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the = event. */ YAHOO.widget.Menu.prototype._onMenuMouseOver =3D function(p_sType, p_aArgs, p_oMenu) { /* If the menu is a submenu, then select the menu's parent MenuItem instance */ if(this.parent) { this.parent.cfg.setProperty("selected", true); } }; /** * "mouseover" Custom Event handler for a Menu instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the = event. */ YAHOO.widget.Menu.prototype._onMenuKeyDown =3D function(p_sType, p_aArgs, p_oMenu) { if(this.cfg.getProperty("position") =3D=3D "dynamic") { var oDOMEvent =3D p_aArgs[0]; var oParent =3D this.parent; if(oDOMEvent.keyCode =3D=3D 27) { // Esc key this.hide(); // Set focus to the parent MenuItem if one exists if(oParent) { oParent.focus(); if(oParent.parent instanceof YAHOO.widget.Menu) { oParent.cfg.setProperty("selected", true); } YAHOO.util.Event.preventDefault(oDOMEvent); } } } }; // Public event handlers /** * Event handler fired when the resize monitor element is resized. */ YAHOO.widget.Menu.prototype.onDomResize =3D function(e, obj) { if(!this._handleResize) { this._handleResize =3D true; return; } var me =3D this; var oConfig =3D this.cfg; if(oConfig.getProperty("position") =3D=3D "dynamic") { oConfig.setProperty("width", (this._getOffsetWidth() + "px")); if(this.parent && oConfig.getProperty("visible")) { function align() { me.align(); } window.setTimeout(align, 0); } } YAHOO.widget.Menu.superclass.onDomResize.call(this, e, obj); }; /** * @class The MenuItem class allows you to create and modify an item for = a * Menu instance. MenuItem extends YAHOO.widget.MenuModuleItem to = provide a * set of default mouse and key event behaviors. * @constructor * @extends YAHOO.widget.MenuModuleItem * @base YAHOO.widget.MenuModuleItem * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuItem =3D function(p_oObject, p_oConfig) { YAHOO.widget.MenuItem.superclass.constructor.call( this, p_oObject, p_oConfig ); }; YAHOO.extend(YAHOO.widget.MenuItem, YAHOO.widget.MenuModuleItem); /** * The MenuItem class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for * pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuItem.prototype.init =3D function(p_oObject, p_oConfig) = { if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.Menu; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.MenuItem; } /* Call the init of the superclass (YAHOO.widget.MenuModuleItem) Note: We don't pass the user config in here yet because we only want it executed once, at the lowest subclass level. */ YAHOO.widget.MenuItem.superclass.init.call(this, p_oObject); // Add event handlers to each "MenuItem" instance this.keyDownEvent.subscribe(this._onKeyDown, this, true); this.mouseOverEvent.subscribe(this._onMouseOver, this, true); this.mouseOutEvent.subscribe(this._onMouseOut, this, true); this.clickEvent.subscribe(this._onClick, this, true); var oConfig =3D this.cfg; if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } oConfig.fireQueue(); }; // Constants /** * Constant representing the path to the image to be used for the checked = state. * @final * @type String */ YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_PATH =3D "nt/ic/ut/bsc/menuchk8_nrm_1.gif"; /** * Constant representing the path to the image to be used for the = selected * checked state. * @final * @type String */ YAHOO.widget.MenuItem.prototype.SELECTED_CHECKED_IMAGE_PATH =3D "nt/ic/ut/bsc/menuchk8_hov_1.gif"; /** * Constant representing the path to the image to be used for the = disabled * checked state. * @final * @type String */ YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_PATH =3D "nt/ic/ut/bsc/menuchk8_dim_1.gif"; /** * Constant representing the alt text for the image to be used for the * checked image. * @final * @type String */ YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_ALT_TEXT =3D "Checked."; /** * Constant representing the alt text for the image to be used for the * checked image when the item is disabled. * @final * @type String */ YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_ALT_TEXT =3D "Checked. (Item disabled.)"; // Private properties /** * Reference to the HTMLImageElement used to create the checked * indicator for a MenuItem instance. * @private * @type {HTMLImageElement} */ YAHOO.widget.MenuItem.prototype._checkImage =3D null; // Private event handlers /** * "keydown" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onKeyDown =3D function(p_sType, p_aArgs, p_oMenuItem) { var Event =3D YAHOO.util.Event; var oDOMEvent =3D p_aArgs[0]; var oParent =3D this.parent; var oConfig =3D this.cfg; var oMenuItem; switch(oDOMEvent.keyCode) { case 38: // Up arrow case 40: // Down arrow if( this =3D=3D oParent.activeItem && !oConfig.getProperty("selected") ) { oConfig.setProperty("selected", true); } else { var oNextItem =3D (oDOMEvent.keyCode =3D=3D 38) ? this.getPreviousEnabledSibling() : this.getNextEnabledSibling(); if(oNextItem) { oParent.clearActiveItem(); oNextItem.cfg.setProperty("selected", true); oNextItem.focus(); } } Event.preventDefault(oDOMEvent); break; case 39: // Right arrow oParent.clearActiveItem(); oConfig.setProperty("selected", true); this.focus(); var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.show(); oSubmenu.setInitialSelection(); } else if( YAHOO.widget.MenuBarItem && oParent.parent && oParent.parent instanceof YAHOO.widget.MenuBarItem ) { oParent.hide(); // Set focus to the parent MenuItem if one exists oMenuItem =3D oParent.parent; if(oMenuItem) { oMenuItem.focus(); oMenuItem.cfg.setProperty("selected", true); } } Event.preventDefault(oDOMEvent); break; case 37: // Left arrow // Only hide if this this is a MenuItem of a submenu if(oParent.parent) { oParent.hide(); // Set focus to the parent MenuItem if one exists oMenuItem =3D oParent.parent; if(oMenuItem) { oMenuItem.focus(); oMenuItem.cfg.setProperty("selected", true); } } Event.preventDefault(oDOMEvent); break; } }; /** * "mouseover" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onMouseOver =3D function(p_sType, p_aArgs, p_oMenuItem) { var oParent =3D this.parent; var oConfig =3D this.cfg; var oActiveItem =3D oParent.activeItem; // Hide any other submenus that might be visible if(oActiveItem && oActiveItem !=3D this) { oParent.clearActiveItem(); } // Select and focus the current MenuItem instance oConfig.setProperty("selected", true); this.focus(); // Show the submenu for this instance var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.show(); } }; /** * "mouseout" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onMouseOut =3D function(p_sType, p_aArgs, p_oMenuItem) { var oConfig =3D this.cfg; var oSubmenu =3D oConfig.getProperty("submenu"); oConfig.setProperty("selected", false); if(oSubmenu) { var oDOMEvent =3D p_aArgs[0]; var oRelatedTarget =3D = YAHOO.util.Event.getRelatedTarget(oDOMEvent); if( !( oRelatedTarget =3D=3D oSubmenu.element || YAHOO.util.Dom.isAncestor(oSubmenu.element, = oRelatedTarget) ) ) { oSubmenu.hide(); } } }; /** * "click" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onClick =3D function(p_sType, p_aArgs, p_oMenuItem) { function findRoot(p_oMenu) { var oItem =3D p_oMenu.parent; // The parent MenuItem = instance if(oItem) { var oParentMenu =3D oItem.parent; if( oParentMenu && (oParentMenu instanceof YAHOO.widget.Menu) && oParentMenu.cfg.getProperty("position") =3D=3D = "dynamic" ) { return findRoot(oParentMenu); } } return p_oMenu; } var oRoot =3D findRoot(this.parent); var sURL =3D this.cfg.getProperty("url"); if( (sURL.substr((sURL.length-1),1) =3D=3D "#") && oRoot && oRoot.cfg.getProperty("position") =3D=3D "dynamic" ) { oRoot.hide(); } }; // Event handlers for configuration properties /** * Event handler for when the "checked" configuration property of * a MenuItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance * that fired the event. */ YAHOO.widget.MenuItem.prototype.configChecked =3D function(p_sType, p_aArgs, p_oItem) { var Dom =3D YAHOO.util.Dom; var bChecked =3D p_aArgs[0]; var oEl =3D this.element; var oConfig =3D this.cfg; var oImg; if(bChecked) { var me =3D this; function preloadImage(p_sPath) { var sPath =3D me.imageRoot + p_sPath; if(!document.images[sPath]) { var oImage =3D document.createElement("img"); oImage.src =3D sPath; oImage.name =3D sPath; oImage.id =3D sPath; oImage.style.display =3D "none"; document.body.appendChild(oImage); } } preloadImage(this.CHECKED_IMAGE_PATH); preloadImage(this.SELECTED_CHECKED_IMAGE_PATH); preloadImage(this.DISABLED_CHECKED_IMAGE_PATH); oImg =3D document.createElement("img"); oImg.src =3D (this.imageRoot + this.CHECKED_IMAGE_PATH); oImg.alt =3D this.CHECKED_IMAGE_ALT_TEXT; var oSubmenu =3D this.cfg.getProperty("submenu"); if(oSubmenu) { oEl.insertBefore(oImg, oSubmenu.element); } else { oEl.appendChild(oImg); } Dom.addClass([oEl, oImg], "checked"); this._checkImage =3D oImg; if(oConfig.getProperty("disabled")) { oConfig.refireEvent("disabled"); } if(oConfig.getProperty("selected")) { oConfig.refireEvent("selected"); } } else { oImg =3D this._checkImage; Dom.removeClass([oEl, oImg], "checked"); if(oImg) { oEl.removeChild(oImg); } this._checkImage =3D null; } }; /** * Event handler for when the "selected" configuration property of * a MenuItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance * that fired the event. */ YAHOO.widget.MenuItem.prototype.configSelected =3D function(p_sType, p_aArgs, p_oItem) { YAHOO.widget.MenuItem.superclass.configSelected.call( this, p_sType, p_aArgs, p_oItem ); var oConfig =3D this.cfg; if(!oConfig.getProperty("disabled") && = oConfig.getProperty("checked")) { var bSelected =3D p_aArgs[0]; var sSrc =3D this.imageRoot + (bSelected ? this.SELECTED_CHECKED_IMAGE_PATH : = this.CHECKED_IMAGE_PATH); this._checkImage.src =3D document.images[sSrc].src; } }; /** * Event handler for when the "disabled" configuration property of * a MenuItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance * that fired the event. */ YAHOO.widget.MenuItem.prototype.configDisabled =3D function(p_sType, p_aArgs, p_oItem) { YAHOO.widget.MenuItem.superclass.configDisabled.call( this, p_sType, p_aArgs, p_oItem ); if(this.cfg.getProperty("checked")) { var bDisabled =3D p_aArgs[0]; var sAlt =3D this.CHECKED_IMAGE_ALT_TEXT; var sSrc =3D this.CHECKED_IMAGE_PATH; var oImg =3D this._checkImage; if(bDisabled) { sAlt =3D this.DISABLED_CHECKED_IMAGE_ALT_TEXT; sSrc =3D this.DISABLED_CHECKED_IMAGE_PATH; } oImg.src =3D document.images[(this.imageRoot + sSrc)].src; oImg.alt =3D sAlt; } }; // Public methods /** * Initializes the class's configurable properties which can be changed = using * the MenuModule's Config object (cfg). */ YAHOO.widget.MenuItem.prototype.initDefaultConfig =3D function() { YAHOO.widget.MenuItem.superclass.initDefaultConfig.call(this); // Add configuration properties this.cfg.addProperty( "checked", { value: false, handler: this.configChecked, validator: this.cfg.checkBoolean, suppressEvent: true, supercedes:["disabled"] } ); }; /** * @class Creates a list of options which vary depending on the context = in * which the menu is invoked. * @constructor * @extends YAHOO.widget.Menu * @base YAHOO.widget.Menu * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a ContextMenu instance. See * configuration class documentation for more details. */ YAHOO.widget.ContextMenu =3D function(p_oElement, p_oConfig) { YAHOO.widget.ContextMenu.superclass.constructor.call( this, p_oElement, p_oConfig ); }; YAHOO.extend(YAHOO.widget.ContextMenu, YAHOO.widget.Menu); // Private properties /** * Array of ContextMenu instances * @private * @type {Array} */ YAHOO.widget.ContextMenu._aMenus =3D []; /** * The id(s) or element(s) that trigger the display of the ContextMenu = instance * @private * @type {String/Array/HTMLElement} */ YAHOO.widget.ContextMenu.prototype._oTrigger =3D null; // Public properties /** * Returns the HTMLElement node that was the target of the "contextmenu" * DOM event. * @type HTMLElement */ YAHOO.widget.ContextMenu.prototype.contextEventTarget =3D null; /** * The ContextMenu class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for = pre-existing * markup, and creates required markup if it is not already present. * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a ContextMenu instance. See * configuration class documentation for more details. */ YAHOO.widget.ContextMenu.prototype.init =3D function(p_oElement, = p_oConfig) { if(!this.ITEM_TYPE) { this.ITEM_TYPE =3D YAHOO.widget.ContextMenuItem; } // Call the init of the superclass (YAHOO.widget.Menu) YAHOO.widget.ContextMenu.superclass.init.call(this, p_oElement); this.beforeInitEvent.fire(YAHOO.widget.ContextMenu); if(p_oConfig) { this.cfg.applyConfig(p_oConfig, true); } this.initEvent.fire(YAHOO.widget.ContextMenu); var aMenus =3D YAHOO.widget.ContextMenu._aMenus; aMenus[aMenus.length] =3D this; }; // Private event handlers /** * "click" event handler for the document object. * @private * @param {Event} p_oEvent Event object passed back by the * event utility (YAHOO.util.Event). * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance * handling the event. */ YAHOO.widget.ContextMenu.prototype._onDocumentClick =3D function(p_oEvent, p_oMenu) { this.hide(); }; /** * "click" event handler for the HTMLElement node that triggered the = event. * Used to cancel default behaviors in Opera. * @private * @param {Event} p_oEvent Event object passed back by the * event utility (YAHOO.util.Event). * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance * handling the event. */ YAHOO.widget.ContextMenu.prototype._onTriggerClick =3D function(p_oEvent, p_oMenu) { if(p_oEvent.ctrlKey) { YAHOO.util.Event.stopEvent(p_oEvent); } }; /** * "contextmenu" event handler ("mousedown" for Opera) for the = HTMLElement * node that triggered the event. * @private * @param {Event} p_oEvent Event object passed back by the * event utility (YAHOO.util.Event). * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance * handling the event. */ YAHOO.widget.ContextMenu.prototype._onTriggerContextMenu =3D function(p_oEvent, p_oMenu) { var Event =3D YAHOO.util.Event; var oConfig =3D this.cfg; // Hide any other ContextMenu instances that might be visible var aMenus =3D YAHOO.widget.ContextMenu._aMenus; var i =3D aMenus.length - 1; do { aMenus[i].hide(); } while(i--); if(p_oEvent.type =3D=3D "mousedown" && !p_oEvent.ctrlKey) { return; } this.contextEventTarget =3D Event.getTarget(p_oEvent); // Position and display the context menu var nX =3D Event.getPageX(p_oEvent); var nY =3D Event.getPageY(p_oEvent); oConfig.applyConfig( { xy:[nX, nY], visible:true } ); oConfig.fireQueue(); /* Prevent the browser's default context menu from appearing = and stop the propagation of the "contextmenu" event so that other ContextMenu instances are no displayed. */ Event.stopEvent(p_oEvent); }; // Public methods /** * Initializes the class's configurable properties which can be changed = using * a ContextMenu instance's Config object (cfg). */ YAHOO.widget.ContextMenu.prototype.initDefaultConfig =3D function() { YAHOO.widget.ContextMenu.superclass.initDefaultConfig.call(this); // Add a configuration property this.cfg.addProperty("trigger", { handler: this.configTrigger }); }; // Event handlers for configuration properties /** * Event handler for when the "trigger" configuration property of * a MenuItem instance. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu that = instance fired * the event. */ YAHOO.widget.ContextMenu.prototype.configTrigger =3D function(p_sType, p_aArgs, p_oMenu) { var Event =3D YAHOO.util.Event; var oTrigger =3D p_aArgs[0]; if(oTrigger) { /* If there is a current "trigger" - remove the event = handlers from that element(s) before assigning new ones */ if(this._oTrigger) { Event.purgeElement(this._oTrigger); } this._oTrigger =3D oTrigger; /* Listen for the "mousedown" event in Opera b/c it does = not support the "contextmenu" event */ var bOpera =3D (this.browser =3D=3D "opera"); Event.addListener( oTrigger, (bOpera ? "mousedown" : "contextmenu"), this._onTriggerContextMenu, this, true ); /* Assign a "click" event handler to the trigger element(s) = for Opera to prevent default browser behaviors. */ if(bOpera) { Event.addListener( oTrigger, "click", this._onTriggerClick, this, true ); } // Assign a "mousedown" event handler to the document Event.addListener( document, "click", this._onDocumentClick, this, true ); } }; /** * @class Creates an item for a context menu instance. * @constructor * @extends YAHOO.widget.MenuItem * @base YAHOO.widget.MenuItem * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a ContextMenuItem instance. See the = configuration * class documentation for more details. */ YAHOO.widget.ContextMenuItem =3D function(p_oObject, p_oConfig) { YAHOO.widget.ContextMenuItem.superclass.constructor.call( this, p_oObject, p_oConfig ); }; YAHOO.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem); /** * The ContextMenuItem class's initialization method. This method is * automatically called by the constructor, and sets up all DOM = references for * pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a ContextMenuItem instance. See the = configuration * class documentation for more details. */ YAHOO.widget.ContextMenuItem.prototype.init =3D function(p_oObject, p_oConfig) { if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.ContextMenu; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.ContextMenuItem; } /* Call the init of the superclass (YAHOO.widget.MenuItem) Note: We don't pass the user config in here yet because we only want it executed once, at the lowest subclass level. */ YAHOO.widget.ContextMenuItem.superclass.init.call(this, = p_oObject); var oConfig =3D this.cfg; if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } oConfig.fireQueue(); }; /** * @class Horizontal collection of items, each of which can contain a = submenu. * Extends YAHOO.widget.MenuModule to provide a set of default mouse and * key event behaviors. * @constructor * @extends YAHOO.widget.MenuModule * @base YAHOO.widget.MenuModule * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a MenuBar instance. See * configuration class documentation for more details. */ YAHOO.widget.MenuBar =3D function(p_oElement, p_oConfig) { YAHOO.widget.MenuBar.superclass.constructor.call( this, p_oElement, p_oConfig ); }; YAHOO.extend(YAHOO.widget.MenuBar, YAHOO.widget.MenuModule); /** * The MenuBar class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for = pre-existing * markup, and creates required markup if it is not already present. * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a MenuBar instance. See * configuration class documentation for more details. */ YAHOO.widget.MenuBar.prototype.init =3D function(p_oElement, p_oConfig) = { if(!this.ITEM_TYPE) { this.ITEM_TYPE =3D YAHOO.widget.MenuBarItem; } // Call the init of the superclass (YAHOO.widget.MenuModule) YAHOO.widget.MenuBar.superclass.init.call(this, p_oElement); this.beforeInitEvent.fire(YAHOO.widget.MenuBar); var oConfig =3D this.cfg; /* Set the default value for the "position" configuration property to "static" */ if(!p_oConfig || (p_oConfig && !p_oConfig.position)) { oConfig.queueProperty("position", "static"); } /* Set the default value for the "submenualignment" configuration = property to "tl" and "bl" */ if(!p_oConfig || (p_oConfig && !p_oConfig.submenualignment)) { oConfig.queueProperty("submenualignment", ["tl","bl"]); } if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } this.initEvent.fire(YAHOO.widget.MenuBar); }; // Constants /** * Constant representing the CSS class(es) to be applied to the root * HTMLDivElement of the MenuBar instance. * @final * @type String */ YAHOO.widget.MenuBar.prototype.CSS_CLASS_NAME =3D "yuimenubar"; /** * @class The MenuBarItem class allows you to create and modify an item = for a * MenuBar instance. MenuBarItem extends YAHOO.widget.MenuModuleItem to = provide * a set of default mouse and key event behaviors. * @constructor * @extends YAHOO.widget.MenuModuleItem * @base YAHOO.widget.MenuModuleItem * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuBarItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuBarItem =3D function(p_oObject, p_oConfig) { YAHOO.widget.MenuBarItem.superclass.constructor.call( this, p_oObject, p_oConfig ); }; YAHOO.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuModuleItem); /** * The MenuBarItem class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for * pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuBarItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuBarItem.prototype.init =3D function(p_oObject, = p_oConfig) { if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.Menu; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.MenuItem; } /* Call the init of the superclass (YAHOO.widget.MenuModuleItem) Note: We don't pass the user config in here yet because we only want it executed once, at the lowest subclass level. */ YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject); // Add event handlers to each "MenuBarItem" instance this.keyDownEvent.subscribe(this._onKeyDown, this, true); var oConfig =3D this.cfg; if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } oConfig.fireQueue(); }; // Constants /** * Constant representing the CSS class(es) to be applied to the root * HTMLLIElement of the MenuBarItem. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.CSS_CLASS_NAME =3D "yuimenubaritem"; /** * Constant representing the path to the image to be used for the submenu * arrow indicator. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH =3D "nt/ic/ut/alt1/menuarodwn8_nrm_1.gif"; /** * Constant representing the path to the image to be used for the submenu * arrow indicator when a MenuBarItem instance is selected. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH = =3D "nt/ic/ut/alt1/menuarodwn8_hov_1.gif"; /** * Constant representing the path to the image to be used for the submenu * arrow indicator when a MenuBarItem instance is disabled. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH = =3D "nt/ic/ut/alt1/menuarodwn8_dim_1.gif"; // Private event handlers /** * "keydown" Custom Event handler for a MenuBarItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuBarItem} p_oMenuModule The MenuModule = instance that * fired the event. */ YAHOO.widget.MenuBarItem.prototype._onKeyDown =3D function(p_sType, p_aArgs, p_oMenuItem) { var Event =3D YAHOO.util.Event; var oDOMEvent =3D p_aArgs[0]; var oConfig =3D this.cfg; var oParent =3D this.parent; switch(oDOMEvent.keyCode) { case 37: // Left arrow case 39: // Right arrow if( this =3D=3D oParent.activeItem && !oConfig.getProperty("selected") ) { oConfig.setProperty("selected", true); } else { var oNextItem =3D (oDOMEvent.keyCode =3D=3D 37) ? this.getPreviousEnabledSibling() : this.getNextEnabledSibling(); if(oNextItem) { oParent.clearActiveItem(); oNextItem.cfg.setProperty("selected", true); oNextItem.focus(); } } Event.preventDefault(oDOMEvent); break; case 40: // Down arrow oParent.clearActiveItem(); oConfig.setProperty("selected", true); this.focus(); var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.show(); oSubmenu.setInitialSelection(); } Event.preventDefault(oDOMEvent); break; } }; ------=_NextPart_000_0000_01C99E5E.E1184B70--