From: "Saved by Windows Internet Explorer 7" Subject: Some progress in UK psychiatry -- Moncrieff et al. 337 (232): a1780 -- BMJ Date: Fri, 26 Sep 2008 14:46:20 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C91FE6.A367AE70" X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/cgi/content/full/337/sep23_2/a1780 Some progress in UK psychiatry -- Moncrieff et al. = 337 (232): a1780 -- BMJ

You are seeing this message because your web browser does not support = basic=20 web standards. Find out = more=20 about why this message is appearing and what you can do to make your = experience=20 on this site better.

=0A= =0A=

DUNCAN BRIAN = DOUBLE=20 | View/Change=20 User Information | Email=20 alerts | Sign=20 Out | Click here if you are not DUNCAN BRIAN DOUBLE =

Home > Comment > BMJ=20 2008;337:a1780, doi: 10.1136/bmj.a1780 (Published 23 September = 2008)


Published 23 September 2008,=20 doi:10.1136/bmj.a1780
Cite this as: BMJ = 2008;337:a1780

Letters

Pharma and medical education

Some progress in UK psychiatry

Moynihan describes the defeated efforts of a group of = psychiatrists=20 to free the annual Congress of the Royal Australia and New = Zealand=20 College of Psychiatrists from drug company sponsorship.1= =20 These psychiatrists can take heart from the fact that the=20 British Royal College of Psychiatrists conducted its 2008 = annual=20 meeting without reliance on any industrial sponsorship. The=20 success of the conference shows that a rigorous and = stimulating=20 academic meeting can be held without funding from the drug=20 industry, albeit in less plush surroundings than usual. =

The Critical Psychiatry Network has been encouraging the college = to take action for several years, and we applaud the decision = to run the annual meeting without sponsorship. The recent = college=20 policy on relations with the pharmaceutical industry also = takes=20 some important steps, such as prohibiting company sponsorship = of speakers or attendees at college run meetings, and the = commitment=20 not to use commercial sponsorship for public education = campaigns.2= =20 However, the policy misses some important opportunities. =

It fails to recommend the freeing of continuing medical = education=20 from direct drug company influence by the use of blind = trusts,=20 and it does not follow the example of the Academy of American = Medical Schools and recommend a comprehensive ban on the = provision=20 of gifts and free food.3= =20

We were also disappointed that the college decided not to follow = our suggestion to compile a public register of interests of=20 their members, so that everyone could become aware of the = scale=20 of commercial income received by individual psychiatrists, = including=20 leading academic and opinion leaders. Competing interest = disclosures=20 in journals and meetings do not require that the amount of = income=20 is declared, but this is often what is truly shocking. By = abrogating=20 responsibility for this policy to local institutions, the = college=20 failed to provide the leadership role that it is so well = placed=20 to assume.

Cite this as: BMJ 2008;337:a1780

Joanna Moncrieff, senior=20 lecturer1, Philip Thomas,=20 professor of philosophy, diversity, and mental=20 health2, Rhodri Huws, = consultant=20 in community psychiatry3

1 University College London, London WC1E 6BT, 2 = International School for Communities, Rights, and Inclusion, University = of=20 Central Lancashire, Preston PR1 2HE, 3 St George=92s = Community Health=20 Centre, Sheffield S3 7ND

j.moncrieff{at}ucl.ac.uk


Competing interests: The authors are all = members of=20 the Critical Psychiatry Network.

References

  1. Moynihan R. Is the relationship between = pharma and=20 medical education on the rocks? BMJ 2008;337:a925. (14 = August.)[Free Full Text]=20
  2. Royal College of Psychiatrists. Good = psychiatric=20 practice. Relations with pharmaceutical and commercial organisations. = London:=20 RCPsych,=20 2008.=20
  3. Association of American Medical Colleges. = Industry=20 funding of medical education. Washington, DC: AAMC, 2008.=20
3D"
=20 CiteULike   =20 Complore   =20 Connotea   =20 Del.icio.us    Digg    Reddit   =20 Technorati    What's this? =

Relevant Articles

Setting limits to infinite error=20
Tony Delamothe
BMJ 2008 337: a1823. [Extrac= t]=20 [Full=20 Text]

Is the relationship between pharma and medical education = on the=20 rocks?=20
Ray Moynihan
BMJ 2008 337: a925. [Extract= ]=20 [Full = Text]=20

This Article
Services
  • Email=20 this article to a friend=20
  • Find=20 similar articles in BMJ
  • Find=20 similar articles in PubMed
  • Add=20 article to my folders=20
  • Downlo= ad=20 to citation manager=20
  • Request=20 Permissions
Google Scholar
  • Articles by Moncrieff, J.=20
  • Articles by Huws, R.
PubMed
  • PubMed=20 Citation=20
  • Articles by Moncrieff, J.=20
  • Articles by Huws, R.
Related Content
  • Relevant=20 Articles
Bookmark with
  •                     
    What's this? =

What's new
Latest blogs
  • Joe=20 Collier: Conflict and uncertainty=20
  • Trish=20 Groves: India=20
  • Aliya=20 Razaaq: Dementia=20
  • Julian=20 Sheather: Art, science, nature=20
  • Tauseef=20 Mehrali: GP registrar

Services
Tools
Online poll
Find out=20 more
See=20 previous polls
Resources

Rapid responses for this article

There are no rapid responses = for this=20 article.

Most read

Print issues


Student = BMJ

Sepsis

The latest guidelines will affect how we practise medicine

http://student.bmj.com/


Contact us - = Privacy policy - Web site terms & conditions - = Site map

HighWire Press - Feedback - Help - =A9 2008 BMJ Publishing Group Ltd. =

------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/site/logo.bmj.gif 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 ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/spacer.gif R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAOw== ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/citeulike.gif R0lGODlhEAAQAJEAACeBzf///////wAAACH5BAEAAAIALAAAAAAQABAAQAIlRI6ZYOzvApOw0qvO 3BXemX1N94gkR50jlqGq+4qh/K41OyNAAQA7 ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/complore.gif R0lGODdhEAAQAIQAAAQCBIS6DJTSBMTahPzOBKQWHOBGMOTuxNQWHNSGFOSqBPffR6zaLNxqZPz+ /PTKzOSSlOyuHPTiaKzSTNQmLAS2rPz+/ATO/ATC/AwqtATS/NTa7MTy5ATapBwSvAS67CwAAAAA EAAQAAAFaCAgjmQpOmiqPiqgqoeBIKzjvs6yyEiD3qnDgkCcQX4qBkNAJBQKNeBBQGUQEk+fLUgV BBSJGW2bYgS+iquR7DicA1aCYg1cdpsIKHnaFVgVDVEofF0KCgctZW8CiC9ADgORjY44lSghADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/connotea.gif R0lGODlhEAAQAPcAAJSltZytvZy1vaW1xq29xrXGzr3GzsYYMcYhOcbO1s7W3tZKWtZSY9Zjc9be 59bn795zhN7n5+eMnOecpefv7++lre+tte+9ve/39/fO1vfe3vf39/f////n5//v7/////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////ywAAAAAEAAQAAAIpAA/CBxo AACACAMTCsSA4QMAAQYRKhQYIYABAhwiGJwokILBhgIfcNgAUiAHCig1aPAgMAGABBw+cCAAIOaH AwwOHPBQIMDBDzQLDDxgAQKCDhE4GPQ4wObNCx46DHRg0KACmU8rNJD6waUAjy8f3Jyw4IAGgR8F FviZAYIEmwNKUjCQYINTBwYcOE3ocSBTjhQPFhxgYK/CqgI4GFaokcCGiQEBADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/delicious.gif R0lGODlhEAASAPcAAAAAAP///93d3QAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAASAAAIRwADCBxI sKDBgwgJDljIcCHChg0fQnR4cCJFgxYHSJy4EWLHhgBCigwpoKTJkiNHnjyZUuRKky1JvhQQE8BM mjFv1tSZc2ZAADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/digg.gif R0lGODlhEAASAPcAAJmZmaioqJHj9czMzM/Pz9DQ0NLS0tXV1dbW1tfX19jY2Nvb297e3uLi4uXl 5enp6e3t7e7u7vDw8PLy8vX19fb29vj4+Pn5+fv7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAIALAAAAAAQABIA AAicAAUIHEiwoMGDCBMqXGgwgEOHAAgCmDgwQIaLGSIKBHDxgkaLFCA40MgxwwUJDQA4zCCSgcoA HE82SAAAg0UHDBAAUDAxA8oEBAB4nEiUJ8eZBAYAqMCgqYKnPAUQnbgSwgMHDVxqlFoxw9WsC7Zy FXgTbNSNFAVYzBpAwQGSGCNaZLAgwAEDJC1MiCA3wwIFAQwUIDlV6lSiAgICADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/reddit.gif R0lGODlhEgASAPcAACkpKTExMTk5OUJCQkpKSlJSUlpaWmNjY2tra3Nzc3t7e4SEhIyMjJSUlJyc nKWlpa2trbW1tb29vcbGxs7OztbW1t7e3ufn5+/v7/f39/8YAP8hAP9jKf+EUv+EWv+MWv+MY/+t jP+9pf/Ovf/Wxv/n3v////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////ywAAAAAEgASAAAI2gBNCBw4 8MKCBxYgGFCAgaBDEwwSOEggAIMCCA8HZkhwQWCCBgcmZBRYIcFADA9EOswgocECAwUWNKDg8IKC BAoQJIBA4cKFCRMTLDjQIMOCiQYsjJQw4AGDBwoWmDQhAkQJgSM8jDBx4YBMCQCUmuCwIYTADho+ CHwgQOmBgVWvmhgBYquJCQw80hw5sIEDgRMMdMzQYILPCA9ICh7owIDICVKFKn1QYO9ACgcMpKRA YUIDAgrEOjxQ4MECBjIfBMj7kHKDhzklPDzIWuMCCLUFGsXt0CLkgQEBADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/socbookmark/technorati.gif R0lGODlhDgARALMAAIG8PInASN/uztDmtufy2sDdnff786nRecjiqbDVhaHNbZnJYe/35////wAA AAAAACH5BAEAAA0ALAAAAAAOABEAAARPsMlxAgDhDCnNuiCoGI13KYggIMq1GMWFcBxyFVZC0wl2 CTuOILQJNgaXA4YQJFgOTkyBIWHglseQNlBsaEEJqoQgVamCggTJyG6733B2BAA7 ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/shared/toc/free.gif R0lGODlhIAAHAIABANYTNP///yH5BAEAAAEALAAAAAAgAAcAQAIjjI+pqwDpTAzzVPjQ3Nl2Boah Q0pkd2YpVq1mW2IypZ5vVQAAOw== ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/site/icon.rss.gif R0lGODlhLAAQALMAAPzm0/KXRO+RQumBPOyLQOuHPvScReFxN+N0OfeiR/qsU/moSe++meR3Ou69 mP///yH5BAAAAAAALAAAAAAsABAAAAT/8LlJq704XykKEUJgGEmynEqqrmzrKgxRGAzjjOWpL83u /8BdgEBQPI4PhsJX6pWe0Kg0OhTAAMikLjHqjUaAMEBhUIjJ5jD5CwrhHFgtNxDo0ekPACMfCO8B fXp8dyABDnlKC3EMBgEgPW0CSQJ7kgwCcJaYAJEfBodIS3EGAkQ9RERJaQRYjEStBqioIgkwoQlH MQUFPbu7ea27cEnCwb4FATkLZkcJoAUDAz3R0UkDewMADtcP2dvY1MgmfkaTRwYN6TzpDRINhw1q WPFj8+wDBgugAAl/rO7q2LVz8K4bszENDioQiG/ZEQCf8hTYwwABgh4WM2rcyHHjgAAoL244SjHA CoEDBxokQMmypcuXLgc4WDKnFDRpFwXq3MmT5yEHNYIKHUq0qFGiDyIAADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/home/icons/bmjh_current_cover.jpg /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCADiAK8DASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDzfx/4 QtvBHwg8D+MYNF8N6hDrOmRNcfabBjIkrKGBzv8AmJzycDpXsnhX9nKy8QeCtJ1+3/4RSC6v7KO6 WJ9EYorMobaf3vTJxmuL/aGBP7I3wtPH/Hhbcf8AbEV9VfCDUNPt/hH4UM99axBNIty2+ZRt/djr zximM+ZvBg8A6T8UP+Fb/F34S+FNP1KR1jtdQ0+2ZbeZmwE4LH72Rz68V6D8b/2f/CkPhu61zwd4 f8M6ZNpttJNNb3Fmzx3CqM/e3jafwNeb/EmKX40ftQaW3ge2lvtL0h4VutSiQ+RhJAzNvPGQQVHq RX098erxLH4L+MJvMKsukzxq3fcUIH86Qj5N/ZIh+HvjjxhqHhjxh4F8NTXEsBl09orVkyY/9YvL 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 o1vULR9rtBdX8ssbMCcEqzEZHaiigD//2Q== ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/columns/icons/listen-blog-generic.jpg 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 RSzRVEUksgAWSGRZUOiNVFgyLsb9N74//9k= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://group.bmj.com/bmjpg/images/icon-search.gif R0lGODlhFAASAOYAAP////7///7+//79/P38+/38+v37+vTu5/Xs4+Pu+uLu+eLt+fPq4eHt+d7s +t/s+fHo3t7r+d3q+dnq/Njq/Nrp+Nno+Nfn99bn+Nbn99Pm+NPl99Hl99Lk987k+9Dj9tDi9c7i 9s3i+czi+M3h9czh9svh9s3g9crg9cnf9cne88jf9cje9cfe9cjd88Ld+sbd9cXd9cPc9Mjb8cTc 9MHb+MLb9MHa9MDa9L7Z873Y873X87vX87nW9rvW87/U7L3V8LjU87XT9OjLq7fQ7brP6LXP7LLO 7q/O8LDK6K7J6OTBnd21iZ2735y635m539WuhpKy28aogc6kdsqke8yidYer15Gox4eo0oWm0oCm 08Kcb5mhrseZZsWXZHyh0LqUZJWXoLyNVbuHUK97QKVxMZ1nIpdfGAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAQUAP8ALAAAAAAUABIAAAeQgACCg4SFhoeIiQATLz1CQicBioIeHg6XFUBEAooUIwkZIaISRj+K NREZJSUsrSBPikINqy0tNjYYVopIDysrMjI5ORpaikcXJbc6OjYqWIozRBYsyzYdTWEIiklJJBsb Lk5XUGMMikVRWl9ZXFVDU2QQk4MEVF5LXWXzgwVbYkxn9g0yAMaMFIGEDiBcuC8QADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.bmj.com/icons/search.gif R0lGODlhFAASAOYAAP////7///7+//79/P38+/38+v37+vTu5/Xs4+Pu+uLu+eLt+fPq4eHt+d7s +t/s+fHo3t7r+d3q+dnq/Njq/Nrp+Nno+Nfn99bn+Nbn99Pm+NPl99Hl99Lk987k+9Dj9tDi9c7i 9s3i+czi+M3h9czh9svh9s3g9crg9cnf9cne88jf9cje9cfe9cjd88Ld+sbd9cXd9cPc9Mjb8cTc 9MHb+MLb9MHa9MDa9L7Z873Y873X87vX87nW9rvW87/U7L3V8LjU87XT9OjLq7fQ7brP6LXP7LLO 7q/O8LDK6K7J6OTBnd21iZ2735y635m539WuhpKy28aogc6kdsqke8yidYer15Gox4eo0oWm0oCm 08Kcb5mhrseZZsWXZHyh0LqUZJWXoLyNVbuHUK97QKVxMZ1nIpdfGAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAQUAP8ALAAAAAAUABIAAAeQgACCg4SFhoeIiQATLz1CQicBioIeHg6XFUBEAooUIwkZIaISRj+K NREZJSUsrSBPikINqy0tNjYYVopIDysrMjI5ORpaikcXJbc6OjYqWIozRBYsyzYdTWEIiklJJBsb Lk5XUGMMikVRWl9ZXFVDU2QQk4MEVF5LXWXzgwVbYkxn9g0yAMaMFIGEDiBcuC8QADs= ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/basic.css BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; FONT: 62.5% arial,sans-serif; COLOR: #333; PADDING-TOP: 0px } A { =09 } IMG { BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium = none; BORDER-BOTTOM: medium none } A IMG { BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium = none; BORDER-BOTTOM: medium none } H1 { MARGIN-TOP: 10px; MARGIN-BOTTOM: 2px; FONT: bold 2.1em arial, = sans-serif; COLOR: #3a6d8e } H2 { MARGIN-TOP: 10px; MARGIN-BOTTOM: 2px; FONT: bold 1.8em arial, = sans-serif; COLOR: #009af6 } H3 { MARGIN-TOP: 10px; MARGIN-BOTTOM: 2px; FONT: bold 1.6em arial, = sans-serif; COLOR: #666 } H4 { MARGIN-TOP: 10px; MARGIN-BOTTOM: 2px; FONT: bold 1.2em arial, = sans-serif; COLOR: #333 } H5 { MARGIN-TOP: 10px; MARGIN-BOTTOM: 2px; FONT: bold 1.2em arial, = sans-serif; COLOR: #666 } P { MARGIN-TOP: 2px; MARGIN-BOTTOM: 10px; FONT: 1.2em/1.4em arial, = sans-serif } IMG.audio { PADDING-RIGHT: 10px } UL { LIST-STYLE-TYPE: disc } UL LI { FONT: 1.2em/1.6em Arial, Sans Serif; LIST-STYLE-TYPE: disc } LI UL LI { FONT: 1em/1.6em Arial, Sans Serif; LIST-STYLE-TYPE: circle } LI UL LI LI { FONT: 1em/1.6em Arial, Sans Serif; LIST-STYLE-TYPE: square } OL { =09 } OL LI { FONT: 1.2em Arial, Sans Serif } LI OL LI { FONT: 1em Arial, Sans Serif } UL UL { =09 } OL OL { =09 } UL OL { =09 } OL UL { =09 } DL { =09 } DL DT { =09 } DL DD { MARGIN: 0px 0px 1em } BLOCKQUOTE { MARGIN: 1em 0px 1em 20px } IMG.audio { BORDER-RIGHT: medium none; PADDING-RIGHT: 10px; BORDER-TOP: medium = none; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0pt; = BORDER-LEFT: medium none; LINE-HEIGHT: 3em! important; PADDING-TOP: 0px; = BORDER-BOTTOM: medium none } P.audio { LINE-HEIGHT: 3em! important } LI.audio { PADDING-RIGHT: 0px; LIST-STYLE: none none outside; PADDING-LEFT: 37px; = BACKGROUND: url(http://www.bmj.com/home/icons/listen-icon2.jpg) = no-repeat 0pt 0em; PADDING-BOTTOM: 0px; MARGIN: 0pt; LINE-HEIGHT: 3em! = important; PADDING-TOP: 0px } LI.read { PADDING-RIGHT: 0px; LIST-STYLE: none none outside; PADDING-LEFT: 37px; = BACKGROUND: url(http://www.bmj.com/home/icons/read-icon.jpg) no-repeat = 0pt 0em; PADDING-BOTTOM: 0px; MARGIN: 0pt; LINE-HEIGHT: 3em! important; = PADDING-TOP: 0px } H2.audio { PADDING-RIGHT: 0px; LIST-STYLE: none none outside; PADDING-LEFT: 37px; = BACKGROUND: url(http://www.bmj.com/home/icons/audio-icon.jpg) no-repeat = 0pt 0em; PADDING-BOTTOM: 0px; MARGIN: 0pt; PADDING-TOP: 0px } PRE { =09 } CODE { =09 } TT { =09 } * HTML CODE { =09 } * HTML PRE { =09 } * HTML TT { =09 } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } FIELDSET { =09 } LEGEND { =09 } INPUT { VERTICAL-ALIGN: middle } SELECT { VERTICAL-ALIGN: middle } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/common.css A { COLOR: #006990; TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } FIELDSET { BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em; = BORDER-LEFT: medium none; PADDING-TOP: 0px; BORDER-BOTTOM: medium none } LEGEND { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 0.5em; PADDING-TOP: 0px } HR { DISPLAY: none } LI LI { =09 } SUP { LINE-HEIGHT: 0 } .LayoutTable { CLEAR: both; BORDER-RIGHT: medium none; BORDER-TOP: medium none; = BORDER-LEFT: medium none; WIDTH: 100%; BORDER-BOTTOM: medium none; = BORDER-COLLAPSE: collapse; border-spacing: 0 } .LayoutTable TD { VERTICAL-ALIGN: top } .FormTable { CLEAR: both; BORDER-RIGHT: medium none; BORDER-TOP: medium none; = FONT-SIZE: 100%; BORDER-LEFT: medium none; WIDTH: 100%; BORDER-BOTTOM: = medium none; BORDER-COLLAPSE: collapse; border-spacing: 0 } .FormTable TD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px } .FormTable TH { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px } .FormTable TH { PADDING-RIGHT: 0.5em; FONT-WEIGHT: normal; TEXT-ALIGN: right } .FormTable TH LABEL { FONT-WEIGHT: bold } .FormTable TH .Label { FONT-WEIGHT: bold } .FormTable TD .Label { FONT-WEIGHT: bold } .FormTable THEAD TH { BORDER-BOTTOM: #081e3f 1px solid; TEXT-ALIGN: left } .DataTable { CLEAR: both; BORDER-RIGHT: medium none; BORDER-TOP: medium none; = BORDER-LEFT: medium none; WIDTH: 100%; BORDER-BOTTOM: medium none; = BORDER-COLLAPSE: collapse; border-spacing: 0 } .DataTable TH { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .DataTable TD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .DataTable TR.Even TD { =09 } .DataTable TR.Even TH { =09 } .DataTable TR.Odd TD { =09 } .DataTable TR.Odd TH { =09 } .FormAction { PADDING-TOP: 4px; TEXT-ALIGN: right } .FormAction INPUT.Button { =09 } .TextInput { =09 } .ShowTitle { =09 } .Secure { =09 } .Inputs { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 1em; PADDING-TOP: 0px } .Inputs LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .HorizList { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .HorizList LI { PADDING-RIGHT: 1em; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .StandardBullet { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 0.5em; PADDING-TOP: 0px } .StandardBullet LI { PADDING-RIGHT: 0px; PADDING-LEFT: 12px; FONT-SIZE: 1em! important; = BACKGROUND: url(http://www.bmj.com/icons/site/bullet-services.jpg) = no-repeat 0pt 0.65em; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: = 0px; LIST-STYLE-TYPE: none } .NoBullet { PADDING-RIGHT: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: = 0px 0px 0.5em; PADDING-TOP: 0px } .NoBullet LI { MARGIN-BOTTOM: 0.5em; LIST-STYLE-TYPE: none } .ImageList { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .ImageList LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 0.5em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } * HTML .ImageList LI { MARGIN-BOTTOM: 6px; WIDTH: 100% } .Item { =09 } .Content { =09 } .Icon { VERTICAL-ALIGN: middle } .Button { VERTICAL-ALIGN: middle } .Pic { DISPLAY: block } .Promo { DISPLAY: block } .LinkAction { WHITE-SPACE: nowrap } A.LinkMore { WHITE-SPACE: nowrap } .ClearFix { CLEAR: both; HEIGHT: 0px } .BoxFix { =09 } .Invisible { DISPLAY: none } LABEL.Invisible { DISPLAY: block; LEFT: -10000px; POSITION: absolute; TOP: -10000px } .HelpText { =09 } .Even { =09 } .Odd { =09 } .LegacyContent { =09 } #LegacyContent { =09 } .DEBUG { BACKGROUND: #f90 } P.byline { COLOR: #666 } DIV.button2 A#showanswer { BACKGROUND: url(/icons/site/icon-show.gif) white repeat-y right center } .button2 A:link { COLOR: #37aeee; TEXT-DECORATION: none } .button2 A:visited { COLOR: #37aeee; TEXT-DECORATION: none } .button2 A:hover { COLOR: #ff00ff; TEXT-DECORATION: none } .button2 A:active { COLOR: #37aeee; TEXT-DECORATION: none } DIV.button2 A { BORDER-RIGHT: #006990 1px solid; PADDING-RIGHT: 17px; BORDER-TOP: = #006990 1px solid; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: bold; = FONT-SIZE: 11px; FLOAT: left; PADDING-BOTTOM: 1px; BORDER-LEFT: #006990 = 1px solid; CURSOR: pointer; MARGIN-RIGHT: 5px; PADDING-TOP: 0px; = BORDER-BOTTOM: #006990 1px solid; TEXT-DECORATION: none } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/layout.css #PageWrapper { MARGIN: 5px auto; WIDTH: 982px } #LayoutWrapper { =09 } #HeaderWrapper { BORDER-RIGHT: #b8b6b6 1px solid; BORDER-TOP: #b8b6b6 1px solid; = BORDER-LEFT: #b8b6b6 1px solid; BORDER-BOTTOM: #b8b6b6 0px solid } #BodyWrapper { BORDER-RIGHT: #b8b6b6 1px solid; BORDER-TOP: #b8b6b6 0px solid; = BORDER-LEFT: #b8b6b6 1px solid; WIDTH: 982px; BORDER-BOTTOM: #b8b6b6 1px = solid } #FooterWrapper { =09 } * HTML BODY { TEXT-ALIGN: center } * HTML #PageWrapper { TEXT-ALIGN: left } * HTML #HeaderWrapper { ZOOM: 1 } * HTML #BodyWrapper { ZOOM: 1 } #bmj-logo { FLOAT: left; MARGIN: 19px 0px 0px 23px } #SearchWrapper { CLEAR: right; COLOR: #404040; MARGIN-RIGHT: 175px; TEXT-ALIGN: right } #SearchWrapper A { COLOR: #404040 } #Authorization { CLEAR: left; FONT-WEIGHT: bold; MIN-HEIGHT: 1em; PADDING-BOTTOM: 7px; = MARGIN: 0px 170px 0px 0px; COLOR: #404040; TEXT-ALIGN: right } #Authorization A { FONT-WEIGHT: normal; COLOR: #404040; WHITE-SPACE: nowrap } * HTML #Authorization { HEIGHT: 1em } #site_search { =09 } #site_search FIELDSET { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: = 0px; PADDING-TOP: 7px } #site_search LABEL { PADDING-RIGHT: 8px } #site_search .TextInput { FONT-SIZE: 100%; WIDTH: 120px } #site_search A { TEXT-DECORATION: underline } #site_search .FormAction { DISPLAY: inline } .home-name { FONT-WEIGHT: bold } #MainNavWrap { BACKGROUND: url(/icons/site/bg.main-nav-wrap.gif) #e0f1fa repeat-x 0px = 0px; FLOAT: left; WIDTH: 100% } #MainNav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 650px; PADDING-TOP: 0px; HEIGHT: 25px } #MainNav LI { FLOAT: left; LIST-STYLE-TYPE: none; POSITION: relative } #MainNav A { DISPLAY: block; BACKGROUND: url(/icons/site/main-nav.matrix.gif) = no-repeat 0px 0px; HEIGHT: 25px } #MainNav A SPAN { LEFT: -9999px; POSITION: absolute; TOP: -9999px } #main-nav_research A { BACKGROUND-POSITION: 0px 0px; WIDTH: 113px } .Active#main-nav_research A { BACKGROUND-POSITION: 0px -27px } .Hover#main-nav_research A { BACKGROUND-POSITION: 0px -27px } #main-nav_research A:hover { BACKGROUND-POSITION: 0px -27px } #main-nav_education A { BACKGROUND-POSITION: -113px 0px; WIDTH: 79px } .Active#main-nav_education A { BACKGROUND-POSITION: -113px -27px } .Hover#main-nav_education A { BACKGROUND-POSITION: -113px -27px } #main-nav_education A:hover { BACKGROUND-POSITION: -113px -27px } #main-nav_news A { BACKGROUND-POSITION: -193px 0px; WIDTH: 63px } .Active#main-nav_news A { BACKGROUND-POSITION: -193px -27px } .Hover#main-nav_news A { BACKGROUND-POSITION: -193px -27px } #main-nav_news A:hover { BACKGROUND-POSITION: -193px -27px } #main-nav_comment A { BACKGROUND-POSITION: -257px 0px; WIDTH: 85px } .Active#main-nav_comment A { BACKGROUND-POSITION: -257px -27px } .Hover#main-nav_comment A { BACKGROUND-POSITION: -257px -27px } #main-nav_comment A:hover { BACKGROUND-POSITION: -257px -27px } #main-nav_topics A { BACKGROUND-POSITION: -343px 0px; WIDTH: 70px } .Active#main-nav_topics A { BACKGROUND-POSITION: -343px -27px } .Hover#main-nav_topics A { BACKGROUND-POSITION: -343px -27px } #main-nav_topics A:hover { BACKGROUND-POSITION: -343px -27px } #main-nav_print-issues A { BACKGROUND-POSITION: -415px 0px; WIDTH: 73px } .Active#main-nav_print-issues A { BACKGROUND-POSITION: -415px -27px } .Hover#main-nav_print-issues A { BACKGROUND-POSITION: -415px -27px } #main-nav_print-issues A:hover { BACKGROUND-POSITION: -415px -27px } #main-nav_interactive A { BACKGROUND-POSITION: -470px 0px; WIDTH: 105px } .Active#main-nav_interactive A { BACKGROUND-POSITION: -470px -27px } .Hover#main-nav_interactive A { BACKGROUND-POSITION: -470px -27px } #main-nav_interactive A:hover { BACKGROUND-POSITION: -470px -27px } #MainNav UL { BORDER-RIGHT: #e0f1fa 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #e0f1fa 11px solid; PADDING-LEFT: 0px; Z-INDEX: 2; BACKGROUND: #fff; = LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: 0px; BORDER-LEFT: #e0f1fa 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #e0f1fa 1px solid; POSITION: = absolute; TOP: 25px } #MainNav UL LI { DISPLAY: inline; FLOAT: none; MARGIN: 0px } #MainNav UL A { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent = scroll repeat 0% 0%; PADDING-BOTTOM: 0.1em; MARGIN: 0px 12px; WIDTH: = auto; PADDING-TOP: 0.1em; BORDER-BOTTOM: #ccc 1px dotted; HEIGHT: auto } * HTML #MainNav UL A { WIDTH: 100%; TEXT-INDENT: 1px; BORDER-BOTTOM: #eee 1px solid } #MainNav LI UL { DISPLAY: none } #MainNav LI.Hover UL { DISPLAY: block } #main-nav_education UL { WIDTH: 160px } * HTML #main-nav_education UL { WIDTH: 162px } #main-nav_comment UL { WIDTH: 160px } * HTML #main-nav_comment UL { WIDTH: 162px } #main-nav_topics UL { WIDTH: 160px } * HTML #main-nav_topics UL { WIDTH: 162px } #main-nav_print-issues UL { WIDTH: 160px } * HTML #main-nav_print-issues UL { WIDTH: 162px } #main-nav_interactive UL { WIDTH: 193px } * HTML #main-nav_interactive UL { WIDTH: 197px } #resource_form { BACKGROUND: #006990; FLOAT: left; WIDTH: 323px; PADDING-TOP: 3px } #resource_form FIELDSET { MARGIN: 0px } #resource_form LEGEND { DISPLAY: none } #resource_form LABEL { PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 15px; FONT-WEIGHT: = bold; FLOAT: left; PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 1px } #resource_form SELECT { FONT-SIZE: 100%; WIDTH: 9em } #resource_form .FormAction { DISPLAY: inline } #AboutBMJ { FLOAT: left } #AboutBMJ A { DISPLAY: block; BACKGROUND: url(/icons/site/bg.about-BMJ.gif) = no-repeat; WIDTH: 105px; HEIGHT: 25px } #AboutBMJ A:hover { BACKGROUND-POSITION: 0px -27px } #AboutBMJ A SPAN { DISPLAY: none } #ResourceNav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(/icons/site/resourcenav.matrix.gif) no-repeat; FLOAT: right; = PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 548px; PADDING-TOP: 0px; = HEIGHT: 33px } #ResourceNav LI { BACKGROUND: url(/icons/site/bg.resourcenav.gif) repeat-x left bottom; = FLOAT: left; BORDER-LEFT: #b8b6b6 1px solid; LIST-STYLE-TYPE: none; = HEIGHT: 33px } #ResourceNav LI.Active { BACKGROUND: none transparent scroll repeat 0% 0% } #ResourceNav LI.Active#res-nav_bmj { BORDER-LEFT: #fff 1px solid } #ResourceNav DIV { DISPLAY: block; HEIGHT: 30px } #ResourceNav A { DISPLAY: block; HEIGHT: 30px } #ResourceNav SPAN { LEFT: -9999px; POSITION: absolute; TOP: -9999px } #ResourceNav A:hover { BACKGROUND-IMAGE: url(/icons/site/resourcenav.matrix.gif); = BACKGROUND-REPEAT: no-repeat } #res-nav_bmj { WIDTH: 43px } * HTML #res-nav_bmj { WIDTH: 44px } #res-nav_bmj A:hover { BACKGROUND-POSITION: -1px -32px } #res-nav_bmj-journals { WIDTH: 97px } * HTML #res-nav_bmj-journals { WIDTH: 98px } #res-nav_bmj-journals A:hover { BACKGROUND-POSITION: -45px -32px } #res-nav_bmj-careers { WIDTH: 94px } * HTML #res-nav_bmj-careers { WIDTH: 95px } #res-nav_bmj-careers A:hover { BACKGROUND-POSITION: -143px -32px } #res-nav_bmj-learning { WIDTH: 97px } * HTML #res-nav_bmj-learning { WIDTH: 98px } #res-nav_bmj-learning A:hover { BACKGROUND-POSITION: -238px -32px } #res-nav_bmj-knowledge { WIDTH: 110px } * HTML #res-nav_bmj-knowledge { WIDTH: 111px } #res-nav_bmj-knowledge A:hover { BACKGROUND-POSITION: -336px -32px } #res-nav_bmj-group { WIDTH: 101px } * HTML #res-nav_bmj-group { WIDTH: 102px } #res-nav_bmj-group A:hover { BACKGROUND-POSITION: -447px -32px } #BodyWrapper { BACKGROUND: url(/icons/site/bg.page.gif) repeat-y 0px 0px } #BodyWrapper A { =09 } #MainColumn { BORDER-TOP: #ccc 1px solid; FLOAT: left; WIDTH: 615px; PADDING-TOP: = 14px } #SideColumn { FLOAT: left; WIDTH: 194px } #PromoColumn { BORDER-TOP: #ccc 1px solid; FLOAT: left; WIDTH: 171px } * HTML #MainColumn { =09 } * HTML #SideColumn { =09 } * HTML #PromoColumn { =09 } #CategoryHeader { BACKGROUND: #fff; FLOAT: left; PADDING-BOTTOM: 3px; WIDTH: 978px } #CategoryHeader H1 { FONT-WEIGHT: normal; FLOAT: left; MARGIN: 15px 0px 0px 20px; COLOR: = #3e647e; FONT-FAMILY: georgia, times, serif } * HTML #CategoryHeader H1 { DISPLAY: inline } #CategoryHeader #PageTools { PADDING-RIGHT: 364px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 2em; LIST-STYLE-TYPE: none; TEXT-ALIGN: right } #CategoryHeader #PageTools LI { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 8px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } #CategoryHeader #PageTools LI SPAN { LEFT: -9999px; POSITION: absolute; TOP: -9999px } #CategoryHeader .Disclaimer { FLOAT: right; MARGIN: 6px 0px 0px; WIDTH: 225px; LINE-HEIGHT: 1.2 } #Breadcrumb { CLEAR: left; PADDING-RIGHT: 14px; PADDING-LEFT: 14px; FONT-SIZE: 1.1em; = BACKGROUND: #e0f1fa; PADDING-BOTTOM: 0.3em; MARGIN: 0px; PADDING-TOP: = 0.3em; BORDER-BOTTOM: #b3d5e4 1px solid } #SideColumn .Item { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 1px solid } #SideColumn .ItemPrint { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 1px solid } #SideColumn .Item H2 { FONT-SIZE: 1.2em; COLOR: #333333; TEXT-ALIGN: left } #polldaddy-head { BORDER-RIGHT: #cbb676 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #cbb676 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #cbb676 0% 50%; PADDING-BOTTOM: 5px; = BORDER-LEFT: #cbb676 1px solid; COLOR: #000000; PADDING-TOP: 5px; = BORDER-BOTTOM: #cbb676 1px solid; TEXT-ALIGN: left } #polldaddy-bottom { BORDER-RIGHT: #cbb676 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: = 10px; FONT-SIZE: 1.2em; BACKGROUND: #f9f7ec; PADDING-BOTTOM: 5px; = BORDER-LEFT: #cbb676 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cbb676 = 1px solid; TEXT-ALIGN: left } #SideColumn .ItemPrint H2 { FONT-SIZE: 1.2em; COLOR: #333333 } #print-issue { BORDER-RIGHT: medium none; PADDING-RIGHT: 8px! important; BORDER-TOP: = medium none; PADDING-LEFT: 8px! important; PADDING-BOTTOM: 15px! = important; BORDER-LEFT: medium none; PADDING-TOP: 0px! important; = BORDER-BOTTOM: medium none } #print-issue H2 { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 5px; MARGIN: 0px; BORDER-LEFT: = #ccc 1px solid; COLOR: #069; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 0px = solid } #research-archive { PADDING-RIGHT: 0px! important; BORDER-TOP: medium none; PADDING-LEFT: = 0px! important; PADDING-BOTTOM: 0px! important; PADDING-TOP: 0px! = important } #research-archive H2 { PADDING-RIGHT: 7px; MARGIN-TOP: 0px; PADDING-LEFT: 7px; FONT-SIZE: = 1.2em! important; BACKGROUND: #069; PADDING-BOTTOM: 5px; COLOR: #fff! = important; PADDING-TOP: 5px } #research-archive FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #research_archive_form .FormTable TD { PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; = PADDING-BOTTOM: 6px! important; PADDING-TOP: 6px! important } #research_archive_form TH .Label { FONT-WEIGHT: normal! important } #research_archive_form LABEL { FONT-WEIGHT: normal! important } #research_archive_form #search_text { WIDTH: 90px } #research_archive_form SELECT { FONT-SIZE: 92% } #research_archive_form .FormAction { DISPLAY: inline } #era-ad-links { BORDER-RIGHT: #444 1px solid; PADDING-RIGHT: 0px! important; = BORDER-TOP: #444 1px solid; PADDING-LEFT: 0px! important; BACKGROUND: = #f4f4f4; PADDING-BOTTOM: 0px! important; MARGIN: 0px 6px 10px; = BORDER-LEFT: #444 1px solid; PADDING-TOP: 0px! important; BORDER-BOTTOM: = #444 1px solid } #era-ad-links H2 { BACKGROUND: #900; PADDING-BOTTOM: 1px; COLOR: #fff } #era-ad-links UL { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 6px; = PADDING-TOP: 0px } #era-ad-links UL LI A { COLOR: #333 } #featured-interactive UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #featured-interactive LI { PADDING-RIGHT: 0px; PADDING-LEFT: 60px; MIN-HEIGHT: 51px; = PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px; = LIST-STYLE-TYPE: none; POSITION: relative } #featured-interactive LI IMG.Pic { LEFT: 0px; POSITION: absolute; TOP: 0.3em } * HTML #featured-interactive LI { HEIGHT: 51px } #rapid-responses DT { PADDING-LEFT: 23px } #rapid-responses DD { PADDING-LEFT: 23px } #rapid-responses DT { BACKGROUND: url(/icons/site/icon.text-bubble.gif) no-repeat 0px 0.3em } #rapid-responses UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #rapid-responses UL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 23px; BACKGROUND: = url(/icons/site/icon.text-bubble.gif) no-repeat 0px 0.3em; = PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0.5em; PADDING-TOP: 0px } #rapid-responses .LinkMore { MARGIN: 0px 10px 0.5em 0px; TEXT-ALIGN: right } * HTML #rapid-responses { ZOOM: 1 } #SideColumn #side-column-promos { PADDING-RIGHT: 5px; PADDING-LEFT: 5px } * HTML #SideColumn #side-column-promos { FONT-SIZE: 0px } .column2_box { =09 } #Col2Box1Ad { TEXT-ALIGN: center } #PromoColumn .Item { PADDING-RIGHT: 12px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 12px; = PADDING-BOTTOM: 12px; MARGIN: 0px 0px 12px 1px; PADDING-TOP: 12px } #PromoColumn .Item H2 { FONT-SIZE: 1.1em; COLOR: #333333 } #PromoColumn .item H2.large { FONT-SIZE: 1.4em; COLOR: #333333 } #PromoColumn .First { BORDER-TOP: medium none; BORDER-BOTTOM: #ccc 1px solid } #PromoColumn .LinkMore { MARGIN: 0px; TEXT-ALIGN: right } #PromoColumn #email-alerts { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; = PADDING-BOTTOM: 12px; MARGIN: 0px 0px 0px 3px; PADDING-TOP: 0px; = BORDER-BOTTOM: #ccc 1px solid } #PromoColumn #email-alerts H2 { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: #fafafa; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px } #PromoColumn #email-alerts P { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #PromoColumn #bmj-knowledge { PADDING-RIGHT: 0px; PADDING-LEFT: 0px } #PromoColumn #bmj-knowledge H2 { PADDING-LEFT: 12px } #PromoColumn #bmj-group { PADDING-RIGHT: 0px; PADDING-LEFT: 0px } #PromoColumn #bmj-group H2 { PADDING-LEFT: 12px } #PromoColumn #product-student { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 5px; MARGIN-LEFT: 3px; PADDING-TOP: 5px; TEXT-ALIGN: = left } H2#student-title { PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; BACKGROUND-IMAGE: = url(/columns/icons/student-logo-sml.jpg); PADDING-BOTTOM: 0pt; MARGIN: = 0px; OVERFLOW: hidden; PADDING-TOP: 25px; BACKGROUND-REPEAT: no-repeat; = HEIGHT: 25px } #PromoColumn #product-student P { FONT-SIZE: 1.1em } .student { FONT-SIZE: 1.1em! important } #PromoColumn #product-info { BORDER-TOP: #ccc 1px solid; MARGIN-LEFT: 3px; BORDER-BOTTOM: #ccc 1px = solid } #FooterWrapper { PADDING-TOP: 0.75em } #FooterWrapper P { MARGIN: 0px; COLOR: #555; TEXT-ALIGN: center } #FooterWrapper A { COLOR: #555 } .AdWrapper { TEXT-ALIGN: center } #PromoColumn .AdWrapper { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 0px solid } #AdLeaderboard { MARGIN: 10px 0px } #AdSkyscraper { =09 } #product-info { =09 } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/header.footer.style2.css DIV.clear { CLEAR: both; HEIGHT: 1px } A { outline: none } IMG A { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: = 0px; TEXT-DECORATION: none } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .hide { DISPLAY: none } DIV.spacer { CLEAR: both; HEIGHT: 10px } #wrapper { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = auto; WIDTH: 982px; PADDING-TOP: 0px; FONT-FAMILY: arial; TEXT-ALIGN: = left } H1 { FONT: bold 21px arial,sans-serif } .bold { FONT-WEIGHT: bold } P.error { COLOR: #d6006e } UL.error { PADDING-LEFT: 0px; FONT-WEIGHT: bold; LIST-STYLE-POSITION: inside; = FONT-SIZE: 12px; MARGIN-LEFT: 0px; COLOR: #d6006e } .error UL LI { PADDING-LEFT: 15px; FONT-WEIGHT: normal; LIST-STYLE-POSITION: inside; = COLOR: #d6006e; LINE-HEIGHT: 1.6em; LIST-STYLE-TYPE: disc } FORM.registerform FIELDSET { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 10px; MARGIN-BOTTOM: 15px; PADDING-BOTTOM: 10px; = BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px = solid } FORM.registerform LEGEND { FONT: bold 16px arial,sans-serif; COLOR: #333 } FORM.registerform H2 { PADDING-RIGHT: 0px; MARGIN-TOP: 20px; PADDING-LEFT: 0px; FONT-SIZE: = 18px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px } FORM.registerform P { PADDING-RIGHT: 0px; MARGIN-TOP: 20px; PADDING-LEFT: 0px; FONT-SIZE: = 12px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px } FORM.registerform UL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 2px; PADDING-TOP: 2px; BORDER-BOTTOM: medium none } FORM.registerform OL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 2px; MARGIN: 5px 0px; PADDING-TOP: 2px; BORDER-BOTTOM: #efefef 1px solid } FORM.registerform OL LI OL { MARGIN-LEFT: 50px } FORM.registerform OL LI OL LI { BORDER-BOTTOM: medium none } FORM.registerform OL LI UL LI { BORDER-BOTTOM: medium none } FORM.registerform H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } FORM.registerform UL.title LI { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px 10px 0px 0px; PADDING-TOP: 0px } FORM.registerform LABEL { DISPLAY: inline-block; VERTICAL-ALIGN: top; LINE-HEIGHT: 1.8em } FORM.registerform LABEL.email { WIDTH: 120px } FORM.registerform LABEL.country { WIDTH: 120px } FORM.registerform LABEL.title { WIDTH: 120px } FORM.registerform LABEL.first-name { WIDTH: 120px } FORM.registerform LABEL.last-name { WIDTH: 120px } FORM.registerform LABEL.membership { WIDTH: 250px } FORM.registerform UL.specialty { FLOAT: left; WIDTH: 33% } FORM.registerform SPAN.warn { FONT-WEIGHT: bold; MARGIN-LEFT: 55px } #global-search { MARGIN-TOP: 3px; DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; = WIDTH: 255px } #global-search LABEL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #global-search FIELDSET { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 3px; BACKGROUND: #f6f6f6; PADDING-BOTTOM: 0px; = MARGIN: 0px; BORDER-LEFT: #ccc 1px solid; WIDTH: 250px; PADDING-TOP: = 0px; BORDER-BOTTOM: #ccc 1px solid } #global-search INPUT { COLOR: #555 } #global-search INPUT.text { BORDER-RIGHT: 0px; PADDING-RIGHT: 3px; BORDER-TOP: 0px; PADDING-LEFT: = 3px; FONT-SIZE: 11px; BACKGROUND: #f6f6f6; FLOAT: left; PADDING-BOTTOM: = 3px; BORDER-LEFT: 0px; WIDTH: 213px; COLOR: #555; PADDING-TOP: 3px; = BORDER-BOTTOM: 0px } #global-search INPUT.button { PADDING-RIGHT: 1px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 1px; PADDING-TOP: 1px } .hidden { BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; = DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: none transparent scroll = repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: -1px 0px 0px -1px; OVERFLOW: = hidden; BORDER-LEFT: medium none; WIDTH: 1px; PADDING-TOP: 0px; = BORDER-BOTTOM: medium none; HEIGHT: 1px } #global-nav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #ececec; = PADDING-BOTTOM: 30px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc = 1px solid } #global-nav DIV.ad-leaderboard { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(/icons/site/bg-horizontal-dotted.gif) repeat-x left bottom; = PADDING-BOTTOM: 3px; PADDING-TOP: 3px; TEXT-ALIGN: center } #global-nav #resource-nav { PADDING-RIGHT: 0px; MARGIN-TOP: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(/icons/site/global-nav-matrix.gif) no-repeat; FLOAT: right; = PADDING-BOTTOM: 0px; WIDTH: 510px; PADDING-TOP: 0px; POSITION: relative; = HEIGHT: 26px } #global-nav #resource-nav LI { FLOAT: left; LIST-STYLE-TYPE: none; HEIGHT: 26px } #global-nav #resource-nav DIV { DISPLAY: block; HEIGHT: 26px } #resource-nav A { DISPLAY: block; HEIGHT: 26px } #global-nav #resource-nav SPAN { LEFT: -9999px; POSITION: absolute; TOP: -9999px } #global-nav #resource-nav A:hover { BACKGROUND-IMAGE: url(/icons/site/global-nav-matrix.gif); = BACKGROUND-REPEAT: no-repeat } #global-nav #resource-nav #bmj A { BACKGROUND-POSITION: 0px 0px; WIDTH: 49px } #global-nav #resource-nav #bmj A:hover { BACKGROUND-POSITION: 0px -26px } #global-nav #resource-nav LI.active#bmj { BACKGROUND-POSITION: 0px -26px; BACKGROUND-IMAGE: = url(/icons/site/global-nav-matrix.gif); BACKGROUND-REPEAT: no-repeat } #global-nav #resource-nav #bmj-journals A { BACKGROUND-POSITION: -49px 0px; WIDTH: 88px } #global-nav #resource-nav #bmj-journals A:hover { BACKGROUND-POSITION: -49px -26px } #global-nav #resource-nav LI.active#bmj-journals { BACKGROUND-POSITION: -49px -26px; BACKGROUND-IMAGE: = url(/icons/site/global-nav-matrix.gif); BACKGROUND-REPEAT: no-repeat } #global-nav #resource-nav #bmj-careers A { BACKGROUND-POSITION: -137px 0px; WIDTH: 84px } #global-nav #resource-nav #bmj-careers A:hover { BACKGROUND-POSITION: -137px -26px } #global-nav #resource-nav LI.active#bmj-careers { BACKGROUND-POSITION: -137px -26px; BACKGROUND-IMAGE: = url(/icons/site/global-nav-matrix.gif); BACKGROUND-REPEAT: no-repeat } #global-nav #resource-nav #bmj-learning A { BACKGROUND-POSITION: -221px 0px; WIDTH: 92px } #global-nav #resource-nav #bmj-learning A:hover { BACKGROUND-POSITION: -221px -26px } #global-nav #resource-nav LI.active#bmj-learning { BACKGROUND-POSITION: -221px -26px; BACKGROUND-IMAGE: = url(/icons/site/global-nav-matrix.gif); BACKGROUND-REPEAT: no-repeat } #global-nav #resource-nav #bmj-knowledge A { BACKGROUND-POSITION: -313px 0px; WIDTH: 104px } #global-nav #resource-nav #bmj-knowledge A:hover { BACKGROUND-POSITION: -313px -26px } #global-nav #resource-nav LI.active#bmj-knowledge { BACKGROUND-POSITION: -313px -26px; BACKGROUND-IMAGE: = url(/icons/site/global-nav-matrix.gif); BACKGROUND-REPEAT: no-repeat } #global-nav #resource-nav #bmj-group A { BACKGROUND-POSITION: -417px 0px; WIDTH: 93px } #global-nav #resource-nav #bmj-group A:hover { BACKGROUND-POSITION: -417px -26px } #global-nav #resource-nav LI.active#bmj-group { BACKGROUND-POSITION: -417px -26px; BACKGROUND-IMAGE: = url(/icons/site/global-nav-matrix.gif); BACKGROUND-REPEAT: no-repeat } #global-nav A { outline-color: invert; outline-style: none; outline-width: medium } #clearleft { CLEAR: left } #main-search { MARGIN-TOP: 10px; DISPLAY: inline; FLOAT: right; WIDTH: 255px; = MARGIN-RIGHT: 5px } #main-search LABEL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #main-search FIELDSET { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: = #ccc 1px solid; WIDTH: 250px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px = solid } #main-search INPUT { COLOR: #555 } #main-search INPUT.text { BORDER-RIGHT: 0px; PADDING-RIGHT: 3px; BORDER-TOP: 0px; PADDING-LEFT: = 3px; FLOAT: left; PADDING-BOTTOM: 3px; FONT: 13px arial,sans-serif; = BORDER-LEFT: 0px; WIDTH: 213px; COLOR: #555; PADDING-TOP: 3px; = BORDER-BOTTOM: 0px } #main-search INPUT.button { PADDING-RIGHT: 3px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 3px; PADDING-TOP: 3px } #Authorization { CLEAR: left; FONT-WEIGHT: bold; MIN-HEIGHT: 1em; PADDING-BOTTOM: 7px; = MARGIN: 0px 10px 0px 0px; COLOR: #404040; TEXT-ALIGN: right } HR { DISPLAY: none } #main-search P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 1em; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; TEXT-ALIGN: right } #logo { DISPLAY: inline; FLOAT: left; OVERFLOW: visible; WIDTH: 340px } P.status { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 0px; MARGIN: 5px 0px 0px; FONT: 11px/1.4em arial, sans-serif; WIDTH: = 440px; PADDING-TOP: 0px; TEXT-ALIGN: right } P.status A:link { COLOR: #006990; BORDER-BOTTOM: #999 1px dotted; TEXT-DECORATION: none } P.status A:visited { COLOR: #006990; BORDER-BOTTOM: #999 1px dotted; TEXT-DECORATION: none } P.status A:active { COLOR: #006990; BORDER-BOTTOM: #999 1px dotted; TEXT-DECORATION: none } P.status A:hover { COLOR: #ff00ff; BORDER-BOTTOM: #666 1px dotted; TEXT-DECORATION: none } #header { BORDER-RIGHT: #b8b6b6 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #b8b6b6 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; = BORDER-LEFT: #b8b6b6 1px solid; WIDTH: 982px; PADDING-TOP: 8px; = BORDER-BOTTOM: #b8b6b6 0px solid; TEXT-ALIGN: left } #header IMG { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: = 0px; TEXT-DECORATION: none } #footer { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; MARGIN: 0px = auto; WIDTH: 808px; PADDING-TOP: 20px; TEXT-ALIGN: center } #footer P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; FONT: 11px/1.6em arial, sans serif; PADDING-TOP: 0px } #footer DIV.legal { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px; TEXT-ALIGN: right } #footer DIV.legal UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #footer DIV.legal LI { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; FONT: 11px/1.6em Arial, Sans Serif; PADDING-TOP: 0px; = LIST-STYLE-TYPE: none } #footer DIV.copyright { CLEAR: both; MARGIN-BOTTOM: 30px; TEXT-ALIGN: right } #footer A:link { COLOR: #006990; BORDER-BOTTOM: #ccc 1px dotted; TEXT-DECORATION: none } #footer A:visited { COLOR: #006990; BORDER-BOTTOM: #ccc 1px dotted; TEXT-DECORATION: none } #footer A:active { COLOR: #006990; BORDER-BOTTOM: #ccc 1px dotted; TEXT-DECORATION: none } #footer A:hover { COLOR: #ff00ff; BORDER-BOTTOM: #999 1px dotted; TEXT-DECORATION: none } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/services.css BODY { FONT-SIZE: 62.5%; FONT-FAMILY: arial, verdana, sans-serif } #whatsnew-box-head1 { BORDER-RIGHT: #006990 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #006990 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #006990; PADDING-BOTTOM: 5px; BORDER-LEFT: = #006990 1px solid; COLOR: #fff; PADDING-TOP: 5px; BORDER-BOTTOM: #006990 = 1px solid } #whatsnew-box { BORDER-RIGHT: #006990 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #006990 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; = BACKGROUND: #ffffff; PADDING-BOTTOM: 5px; BORDER-LEFT: #006990 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #006990 1px solid } #whatsnew-box A:link { COLOR: #000; TEXT-DECORATION: none } #whatsnew-box A:visited { COLOR: #000; TEXT-DECORATION: none } #whatsnew-box A:hover { TEXT-DECORATION: underline } #whatsnew-box UL { MARGIN-LEFT: 0px } #blogs-box-head1 { BORDER-RIGHT: #006990 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #006990 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #006990; PADDING-BOTTOM: 5px; BORDER-LEFT: = #006990 1px solid; COLOR: #fff; PADDING-TOP: 5px; BORDER-BOTTOM: #006990 = 1px solid } #blogs-box { BORDER-RIGHT: #006990 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #006990 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; = BACKGROUND: #ffffff; PADDING-BOTTOM: 5px; BORDER-LEFT: #006990 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #006990 1px solid } #blogs-box A:link { COLOR: #000; TEXT-DECORATION: none } #blogs-box A:visited { COLOR: #000; TEXT-DECORATION: none } #blogs-box A:hover { TEXT-DECORATION: underline } #blogs-box UL { MARGIN-LEFT: 0px } #blogs-box IMG { MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px } #resources-box-head1 { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #b3d5e4; PADDING-BOTTOM: 5px; BORDER-LEFT: = #b3d5e4 1px solid; COLOR: #000; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 = 1px solid } #resources-box { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; = BACKGROUND: #e0f1fa; PADDING-BOTTOM: 5px; BORDER-LEFT: #b3d5e4 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 1px solid } #resources-box A:link { COLOR: #000; TEXT-DECORATION: none } #resources-box A:visited { COLOR: #000; TEXT-DECORATION: none } #resources-box A:hover { TEXT-DECORATION: underline } #resources-box UL { MARGIN-LEFT: 0px } #tools-box-head1 { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #b3d5e4; PADDING-BOTTOM: 5px; BORDER-LEFT: = #b3d5e4 1px solid; COLOR: #000; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 = 1px solid } #tools-box { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; = BACKGROUND: #e0f1fa; PADDING-BOTTOM: 5px; BORDER-LEFT: #b3d5e4 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 1px solid } #tools-box A:link { COLOR: #000; TEXT-DECORATION: none } #tools-box A:visited { COLOR: #000; TEXT-DECORATION: none } #tools-box A:hover { TEXT-DECORATION: underline } #tools-box UL { MARGIN-LEFT: 0px } #services-box-head1 { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #b3d5e4; PADDING-BOTTOM: 5px; BORDER-LEFT: = #b3d5e4 1px solid; COLOR: #000; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 = 1px solid } #services-box { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; = BACKGROUND: #e0f1fa; PADDING-BOTTOM: 5px; BORDER-LEFT: #b3d5e4 1px = solid; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 1px solid } #services-box A:link { COLOR: #000; TEXT-DECORATION: none } #services-box A:visited { COLOR: #000; TEXT-DECORATION: none } #services-box A:hover { TEXT-DECORATION: underline } #services-box UL { MARGIN-LEFT: 0px } #printissue-box-head1 { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 1.2em; BACKGROUND: #b3d5e4; PADDING-BOTTOM: 5px; BORDER-LEFT: = #b3d5e4 1px solid; COLOR: #000; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 = 1px solid } #printissue-box { BORDER-RIGHT: #b3d5e4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #b3d5e4 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; = BACKGROUND: #e0f1fa; PADDING-BOTTOM: 5px; MARGIN-LEFT: 0px; BORDER-LEFT: = #b3d5e4 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #b3d5e4 1px solid; = TEXT-ALIGN: left } #printissue-box A:link { COLOR: #000; TEXT-DECORATION: none } #printissue-box A:visited { COLOR: #000; TEXT-DECORATION: none } #printissue-box A:hover { TEXT-DECORATION: underline } #printissue-box UL { MARGIN-TOP: 0px; MARGIN-LEFT: 0px } #printissue-box IMG { MARGIN-TOP: 5px; FLOAT: right; MARGIN-LEFT: 15px } .PrintIssueBullet LI { PADDING-RIGHT: 0px; PADDING-LEFT: 12px; FONT-SIZE: 1em! important; = BACKGROUND: url(http://www.bmj.com/icons/site/bullet-services.jpg) = no-repeat 0pt 0.65em; PADDING-BOTTOM: 0px; MARGIN-LEFT: 0px; = PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .rss-item { FONT-SIZE: 1.2em } DIV.button_services A { BORDER-RIGHT: #006990 1px solid; PADDING-RIGHT: 17px; BORDER-TOP: = #006990 1px solid; DISPLAY: block; PADDING-LEFT: 4px; FONT-SIZE: 11px; = PADDING-BOTTOM: 1px; BORDER-LEFT: #006990 1px solid; WIDTH: 100px; = CURSOR: pointer; COLOR: #006990; MARGIN-RIGHT: 5px; PADDING-TOP: 0px; = BORDER-BOTTOM: #006990 1px solid; TEXT-DECORATION: none } DIV.button_services A.email { BACKGROUND: url(http://www.bmj.com/icons/site/icon-email.gif) white = repeat-y right center } DIV.button_services A.print { BACKGROUND: url(http://www.bmj.com/icons/site/icon-print.gif) white = repeat-y right center } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/section.article.css .ArticlePage { =09 } #Article { FONT-SIZE: 12px; FLOAT: right; WIDTH: 428px; MARGIN-RIGHT: 15px } #Article H1 { FONT-SIZE: 200%; COLOR: #3a6d8e } #Article H1 SMALL { DISPLAY: block; FONT-SIZE: 62.5%; MARGIN-BOTTOM: 0.5em; COLOR: #37aeee } #Article H2 { MARGIN: 1.5em 0px 0.5em; COLOR: #37aeee } #Article IMG.Photo { MARGIN-BOTTOM: 1.5em } #Article .Credits { FONT-SIZE: 92% } * HTML #Article { DISPLAY: inline } #ArticleNav { FLOAT: left; MARGIN-LEFT: 14px; WIDTH: 141px } #ArticleNav H5 { MARGIN-BOTTOM: 0.25em } #ArticleNav UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #ArticleNav LI { PADDING-RIGHT: 1px; BORDER-TOP: #ccc 1px dotted; PADDING-LEFT: 1px; = PADDING-BOTTOM: 1px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: = none } * HTML #ArticleNav { DISPLAY: inline } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/print.css * { BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #000! = important } BODY { FONT-SIZE: 62.5% } P { FONT-SIZE: 1.2em } #AdLeaderboard { DISPLAY: none } #ResourceNav { DISPLAY: none } #SearchWrapper { DISPLAY: none } #Authorization { DISPLAY: none } #MainNavWrap { DISPLAY: none } #PageTools { DISPLAY: none } #SideColumn { DISPLAY: none } #PromoColumn { DISPLAY: none } HTML #ArticleNav { DISPLAY: none } HTML #ContentNav { DISPLAY: none } #PageWrapper { WIDTH: auto } #MainColumn { WIDTH: auto } .HomePage #MainColumn .Item { WIDTH: auto } #Article { WIDTH: auto } #Content { WIDTH: auto } #HeaderWrapper { FLOAT: none } #bmj-logo { FLOAT: none } .HomePage #MainColumn .Item { FLOAT: none } #BodyWrapper { FLOAT: none } #MainColumn { FLOAT: none } #Article { FLOAT: none } #Content { FLOAT: none } #FooterWrapper { CLEAR: both } #MainColumn { CLEAR: both } #BodyWrapper { CLEAR: both } #MainColumn .Item { CLEAR: both } #HeaderWrapper { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: = 0px } #BodyWrapper { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: = 0px } #bmj-logo { MARGIN-TOP: 0px } #CategoryHeader { WIDTH: 100% } #FooterWrapper { CLEAR: both; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 2em; WIDTH: 100% } .HomePage #MainColumn .Exception UL { PADDING-LEFT: 15px } .HomePage #MainColumn .Exception UL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px; LIST-STYLE-TYPE: square } DIV { WIDTH: auto! important } P { WIDTH: auto! important } UL { WIDTH: auto! important } DL { WIDTH: auto! important } OL { WIDTH: auto! important } .nosidebar#MainColumn { WIDTH: auto } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/highwire.css .cover_image { BORDER-RIGHT: #b8b6b6 1px solid; BORDER-TOP: #b8b6b6 1px solid; = BORDER-LEFT: #b8b6b6 1px solid; BORDER-BOTTOM: #b8b6b6 1px solid } .Spacer { CLEAR: both; HEIGHT: 10px } .nocontentbox#Article { FLOAT: left; MARGIN-LEFT: 15px } .nosidebar { BACKGROUND: none transparent scroll repeat 0% 0% } .nosidebar#MainColumn { WIDTH: 950px } #HighwireCollections H1 { MARGIN: 10px 0px; COLOR: #3a6d8e; LINE-HEIGHT: 120% } #HighwireCollections H2 { MARGIN: 10px 0px 3px; COLOR: #37aeee } #HighwireCollections DIV.shaded { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: = 125%; BACKGROUND: #e1e1e1; PADDING-BOTTOM: 6px; MARGIN: 5px 0px; WIDTH: = 90%; LINE-HEIGHT: 125%; PADDING-TOP: 6px } #HighwireCollections P.collections_nav { MARGIN-BOTTOM: 3px; TEXT-ALIGN: center } #HighwireCollections P.error { MARGIN-BOTTOM: 15px } #HighwireGCA H1 { MARGIN: 10px 0px; COLOR: #3a6d8e; LINE-HEIGHT: 120% } .gcaAbstractCount { BORDER-TOP: #e1e1e1 1px solid; FONT-WEIGHT: bold; LINE-HEIGHT: 120% } .gcaAbstractCount IMG { PADDING-LEFT: 5px; VERTICAL-ALIGN: middle } .gcaAbstractCount A { COLOR: #000 } .gca_nav IMG { PADDING-RIGHT: 5px; VERTICAL-ALIGN: middle } #LegacyContent { LINE-HEIGHT: 1.4em } #HighwireGCA { LINE-HEIGHT: 1.4em } #LegacyContent P { FONT-SIZE: 12px; MARGIN-BOTTOM: 10px } #HighwireGCA P { FONT-SIZE: 12px; MARGIN-BOTTOM: 10px } #LegacyContent TD { FONT-SIZE: 75%; LINE-HEIGHT: 150% } #LegacyContent H2 { MARGIN: 10px 0px; COLOR: #37aeee } #HighwireGCA H2 { MARGIN: 10px 0px; COLOR: #37aeee } #LegacyContent H3 { MARGIN: 10px 0px; COLOR: #3a6d8e; LINE-HEIGHT: 120% } #HighwireGCA H3 { MARGIN: 10px 0px; COLOR: #3a6d8e; LINE-HEIGHT: 120% } #LegacyContent H2.sertitle { FONT-WEIGHT: normal; COLOR: #000; FONT-STYLE: italic } #HighwireGCA H2.sertitle { FONT-WEIGHT: normal; COLOR: #000; FONT-STYLE: italic } #LegacyContent H2.suppl_sertitle { FONT-WEIGHT: normal; PADDING-BOTTOM: 25px; MARGIN: 0px 0px 25px; COLOR: = #000; BORDER-BOTTOM: #b8b6b6 1px solid; FONT-STYLE: italic } #HighwireGCA H2.suppl_sertitle { FONT-WEIGHT: normal; PADDING-BOTTOM: 25px; MARGIN: 0px 0px 25px; COLOR: = #000; BORDER-BOTTOM: #b8b6b6 1px solid; FONT-STYLE: italic } #HighwireGCA H3 { FONT-SIZE: 150% } #LegacyContent H4 { MARGIN: 10px 0px; COLOR: #37aeee } #LegacyContent #article_remark { FONT-STYLE: italic } #LegacyContent .Credits { FONT-SIZE: 100% } .ArticleNavSidebarHack#ArticleNav { WIDTH: 200px; TEXT-ALIGN: left } .content-nw#www-bmj-com { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } .extra { COLOR: #f0f; FONT-STYLE: italic } .alignleft { CLEAR: left; PADDING-RIGHT: 4px; FLOAT: left } .alignright { CLEAR: right; PADDING-LEFT: 4px; align: right } DIV.inlinefigure { DISPLAY: inline; MAX-WIDTH: 210px } TABLE.inlinefigure TD { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px; BACKGROUND-COLOR: #eee; TEXT-ALIGN: center } TABLE.inlinefigure TD.caption { TEXT-ALIGN: left } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/css/ie_hacks.css .TocHack#MainColumn { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; WIDTH: 575px; PADDING-TOP: 0px } DIV.inlinefigure { WIDTH: 215px } TABLE.inlinefigure TD { =09 } TABLE A:link { WORD-BREAK: break-all } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/misc/css/add_on.css .rss-box-papers .StandardBullet LI { PADDING-LEFT: 45px; BACKGROUND: = url(http://www.bmjpublishinggroup.com/newbmj/bmj_html_update_r5/img/chat_= camera_large2.jpg) no-repeat 0px 5px; MARGIN: 0px; LIST-STYLE-TYPE: none } .rss-box-blogs .StandardBullet LI { PADDING-LEFT: 30px; BACKGROUND: = url(http://www.bmjpublishinggroup.com/newbmj/bmj_html_update_r5/img/rapid= _response_button_large2.jpg) no-repeat 0px 5px; MARGIN: 0px; = LIST-STYLE-TYPE: none } .rss-box-twib .StandardBullet LI { PADDING-LEFT: 30px; BACKGROUND: = url(http://www.bmjpublishinggroup.com/newbmj/bmj_html_update_r5/img/chat_= camera_large2.jpg) no-repeat 0px 5px; MARGIN: 0px; LIST-STYLE-TYPE: none } .rss-box-of .StandardBullet LI { PADDING-LEFT: 30px; BACKGROUND: = url(http://www.bmjpublishinggroup.com/newbmj/bmj_html_update_r5/img/dice.= jpg) no-repeat 0px 5px; MARGIN: 0px; LIST-STYLE-TYPE: none } .rss-box-mstone .StandardBullet LI { PADDING-LEFT: 30px; BACKGROUND: = url(http://www.bmjpublishinggroup.com/newbmj/bmj_html_update_r5/img/miles= tones2.jpg) no-repeat 0px 5px; MARGIN: 0px; LIST-STYLE-TYPE: none } #print-cover H2 { PADDING-LEFT: 19px; TEXT-ALIGN: left } #print-cover H2 A { COLOR: black } #LegacyContent { OVERFLOW: visible; WORD-WRAP: break-word } #LegacyContent UL LI { PADDING-RIGHT: 0pt; PADDING-LEFT: 12px; FONT-SIZE: 12px! important; = BACKGROUND: url(http://www.bmj.com/icons/site/bullet-services.jpg) = no-repeat 0pt 0.65em; PADDING-BOTTOM: 0pt; MARGIN: 0pt; OVERFLOW: auto; = PADDING-TOP: 0pt; LIST-STYLE-TYPE: none } #LegacyContent OL LI { PADDING-RIGHT: 0px; PADDING-LEFT: 12px; LIST-STYLE-POSITION: inside; = FONT-SIZE: 12px! important; PADDING-BOTTOM: 5px; MARGIN-LEFT: -40px; = OVERFLOW: auto; LINE-HEIGHT: normal; PADDING-TOP: 0px } .nocontentbox #LegacyContent { BORDER-RIGHT: #e1e1e1 1px solid; TABLE-LAYOUT: fixed; BORDER-TOP: = #e1e1e1 1px solid; BORDER-LEFT: #e1e1e1 1px solid; WIDTH: 585px; = BORDER-BOTTOM: #e1e1e1 1px solid } .nocontentbox #LegacyContent TABLE { TABLE-LAYOUT: fixed; WIDTH: 585px } #NonArticle H1 { =09 } #NonArticle H2 { COLOR: #006990 } #NonArticle H3 { COLOR: #006990 } #NonArticle H4 { =09 } #NonArticle H5 { =09 } #NonArticle H6 { =09 } #NonArticle { =09 } .HomePage #MainColumn .NoPhotoItem H2 { COLOR: #37aeee } .HomePage #MainColumn .NoPhotoItem H3 { MARGIN-BOTTOM: 0.1em; COLOR: #3a6d8e } .HomePage #MainColumn .NoPhotoItem P.Links { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px } .HomePage #MainColumn .NoPhotoItem P.LinkMore { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; MARGIN-BOTTOM: = 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 1em; PADDING-TOP: 0px; = WHITE-SPACE: nowrap } #wysiwyg { PADDING-RIGHT: 20px; BORDER-TOP: medium none; PADDING-LEFT: 20px; = PADDING-TOP: 0px } UNKNOWN { PADDING-LEFT: 19px; TEXT-ALIGN: left } #print-cover H2 A { COLOR: black } #print-cover P { PADDING-LEFT: 21px; FONT-WEIGHT: normal; FONT-SIZE: 1.1em; TEXT-ALIGN: = left } #update .feed1 { FONT-SIZE: 12px; PADDING-BOTTOM: 5px } #update H2 { PADDING-BOTTOM: 8px } #update .date { COLOR: #666666 } #update .sect1 { TEXT-TRANSFORM: capitalize } #update { PADDING-LEFT: 20px! important; PADDING-BOTTOM: 20px! important } ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/js/prototype.js /* Prototype JavaScript framework, version 1.5.0_rc2=0A= * (c) 2005, 2006 Sam Stephenson =0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://prototype.conio.net/=0A= *=0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Prototype =3D {=0A= Version: '1.5.0_rc2',=0A= BrowserFeatures: {=0A= XPath: !!document.evaluate=0A= },=0A= =0A= ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)',=0A= emptyFunction: function() {},=0A= K: function(x) { return x }=0A= }=0A= =0A= var Class =3D {=0A= create: function() {=0A= return function() {=0A= this.initialize.apply(this, arguments);=0A= }=0A= }=0A= }=0A= =0A= var Abstract =3D new Object();=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source) {=0A= destination[property] =3D source[property];=0A= }=0A= return destination;=0A= }=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (object =3D=3D=3D undefined) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : object.toString();=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({}, object);=0A= }=0A= });=0A= =0A= Function.prototype.bind =3D function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= }=0A= =0A= Function.prototype.bindAsEventListener =3D function(object) {=0A= var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A= return function(event) {=0A= return __method.apply(object, [( event || = window.event)].concat(args).concat($A(arguments)));=0A= }=0A= }=0A= =0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= var digits =3D this.toString(16);=0A= if (this < 16) return '0' + digits;=0A= return digits;=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator) {=0A= $R(0, this, true).each(iterator);=0A= return this;=0A= }=0A= });=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) {}=0A= }=0A= =0A= return returnValue;=0A= }=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create();=0A= PeriodicalExecuter.prototype =3D {=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.callback(this);=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= }=0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D (replacement(match) || '').toString();=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D count =3D=3D=3D undefined ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return this;=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : this;=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= },=0A= =0A= escapeHTML: function() {=0A= var div =3D document.createElement('div');=0A= var text =3D document.createTextNode(this);=0A= div.appendChild(text);=0A= return div.innerHTML;=0A= },=0A= =0A= unescapeHTML: function() {=0A= var div =3D document.createElement('div');=0A= div.innerHTML =3D this.stripTags();=0A= return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A= $A(div.childNodes).inject('',function(memo,node){ return = memo+node.nodeValue }) :=0A= div.childNodes[0].nodeValue) : '';=0A= },=0A= =0A= toQueryParams: function(separator) {=0A= var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A= if (!match) return {};=0A= =0A= return match[1].split(separator || '&').inject({}, function(hash, = pair) {=0A= if ((pair =3D pair.split('=3D'))[0]) {=0A= var name =3D decodeURIComponent(pair[0]);=0A= var value =3D pair[1] ? decodeURIComponent(pair[1]) : undefined;=0A= =0A= if (hash[name] !=3D=3D undefined) {=0A= if (hash[name].constructor !=3D Array)=0A= hash[name] =3D [hash[name]];=0A= if (value) hash[name].push(value);=0A= }=0A= else hash[name] =3D value;=0A= }=0A= return hash;=0A= });=0A= },=0A= =0A= toArray: function() {=0A= return this.split('');=0A= },=0A= =0A= camelize: function() {=0A= var oStringList =3D this.split('-');=0A= if (oStringList.length =3D=3D 1) return oStringList[0];=0A= =0A= var camelizedString =3D this.indexOf('-') =3D=3D 0=0A= ? oStringList[0].charAt(0).toUpperCase() + = oStringList[0].substring(1)=0A= : oStringList[0];=0A= =0A= for (var i =3D 1, length =3D oStringList.length; i < length; i++) {=0A= var s =3D oStringList[i];=0A= camelizedString +=3D s.charAt(0).toUpperCase() + s.substring(1);=0A= }=0A= =0A= return camelizedString;=0A= },=0A= =0A= underscore: function() {=0A= return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'-').toLowerCase();=0A= },=0A= =0A= dasherize: function() {=0A= return this.gsub(/_/,'-');=0A= },=0A= =0A= inspect: function(useDoubleQuotes) {=0A= var escapedString =3D this.replace(/\\/g, '\\\\');=0A= if (useDoubleQuotes)=0A= return '"' + escapedString.replace(/"/g, '\\"') + '"';=0A= else=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= }=0A= });=0A= =0A= String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A= if (typeof replacement =3D=3D 'function') return replacement;=0A= var template =3D new Template(replacement);=0A= return function(match) { return template.evaluate(match) };=0A= }=0A= =0A= String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A= =0A= var Template =3D Class.create();=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= Template.prototype =3D {=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= return this.template.gsub(this.pattern, function(match) {=0A= var before =3D match[1];=0A= if (before =3D=3D '\\') return match[2];=0A= return before + (object[match[3]] || '').toString();=0A= });=0A= }=0A= }=0A= =0A= var $break =3D new Object();=0A= var $continue =3D new Object();=0A= =0A= var Enumerable =3D {=0A= each: function(iterator) {=0A= var index =3D 0;=0A= try {=0A= this._each(function(value) {=0A= try {=0A= iterator(value, index++);=0A= } catch (e) {=0A= if (e !=3D $continue) throw e;=0A= }=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator) {=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator || Prototype.K);=0A= },=0A= =0A= all: function(iterator) {=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!(iterator || Prototype.K)(value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator) {=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!(iterator || Prototype.K)(value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator) {=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator(value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(pattern, iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= var stringValue =3D value.toString();=0A= if (stringValue.match(pattern))=0A= results.push((iterator || Prototype.K)(value, index));=0A= })=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D fillWith || null;=0A= var results =3D this.eachSlice(number);=0A= if (results.length > 0) (number - = results.last().length).times(function() {=0A= results.last().push(fillWith)=0A= });=0A= return results;=0A= },=0A= =0A= inject: function(memo, iterator) {=0A= this.each(function(value, index) {=0A= memo =3D iterator(memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.collect(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator) {=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D (iterator || Prototype.K)(value, index);=0A= if (result =3D=3D undefined || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator) {=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D (iterator || Prototype.K)(value, index);=0A= if (result =3D=3D undefined || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator) {=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= ((iterator || Prototype.K)(value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator) {=0A= return this.collect(function(value, index) {=0A= return {value: value, criteria: iterator(value, index)};=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.collect(Prototype.K);=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (typeof args.last() =3D=3D 'function')=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= }=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray=0A= });=0A= var $A =3D Array.from =3D function(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) {=0A= return iterable.toArray();=0A= } else {=0A= var results =3D [];=0A= for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A= results.push(iterable[i]);=0A= return results;=0A= }=0A= }=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse)=0A= Array.prototype._reverse =3D Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D undefined || value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(value && value.constructor =3D=3D Array ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= indexOf: function(object) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= if (this[i] =3D=3D object) return i;=0A= return -1;=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function() {=0A= return this.inject([], function(array, value) {=0A= return array.include(value) ? array : array.concat([value]);=0A= });=0A= },=0A= =0A= clone: function() {=0A= return [].concat(this);=0A= },=0A= =0A= inspect: function() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= }=0A= });=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= if(window.opera){=0A= Array.prototype.concat =3D function(){=0A= var array =3D [];=0A= for(var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if(arguments[i].constructor =3D=3D Array) {=0A= for(var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= }=0A= }=0A= var Hash =3D {=0A= _each: function(iterator) {=0A= for (var key in this) {=0A= var value =3D this[key];=0A= if (typeof value =3D=3D 'function') continue;=0A= =0A= var pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= merge: function(hash) {=0A= return $H(hash).inject(this, function(mergedHash, pair) {=0A= mergedHash[pair.key] =3D pair.value;=0A= return mergedHash;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.map(function(pair) {=0A= if (!pair.key) return null;=0A= =0A= if (pair.value && pair.value.constructor =3D=3D Array) {=0A= pair.value =3D pair.value.compact();=0A= =0A= if (pair.value.length < 2) {=0A= pair.value =3D pair.value.reduce();=0A= } else {=0A= var key =3D encodeURIComponent(pair.key);=0A= return pair.value.map(function(value) {=0A= return key + '=3D' + encodeURIComponent(value);=0A= }).join('&');=0A= }=0A= }=0A= =0A= if (pair.value =3D=3D undefined) pair[1] =3D '';=0A= return pair.map(encodeURIComponent).join('=3D');=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= }=0A= =0A= function $H(object) {=0A= var hash =3D Object.extend({}, object || {});=0A= Object.extend(hash, Enumerable);=0A= Object.extend(hash, Hash);=0A= return hash;=0A= }=0A= ObjectRange =3D Class.create();=0A= Object.extend(ObjectRange.prototype, Enumerable);=0A= Object.extend(ObjectRange.prototype, {=0A= initialize: function(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= },=0A= =0A= _each: function(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= },=0A= =0A= include: function(value) {=0A= if (value < this.start)=0A= return false;=0A= if (this.exclusive)=0A= return value < this.end;=0A= return value <=3D this.end;=0A= }=0A= });=0A= =0A= var $R =3D function(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= }=0A= =0A= var Ajax =3D {=0A= getTransport: function() {=0A= return Try.these(=0A= function() {return new XMLHttpRequest()},=0A= function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A= function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A= ) || false;=0A= },=0A= =0A= activeRequestCount: 0=0A= }=0A= =0A= Ajax.Responders =3D {=0A= responders: [],=0A= =0A= _each: function(iterator) {=0A= this.responders._each(iterator);=0A= },=0A= =0A= register: function(responder) {=0A= if (!this.include(responder))=0A= this.responders.push(responder);=0A= },=0A= =0A= unregister: function(responder) {=0A= this.responders =3D this.responders.without(responder);=0A= },=0A= =0A= dispatch: function(callback, request, transport, json) {=0A= this.each(function(responder) {=0A= if (typeof responder[callback] =3D=3D 'function') {=0A= try {=0A= responder[callback].apply(responder, [request, transport, = json]);=0A= } catch (e) {}=0A= }=0A= });=0A= }=0A= };=0A= =0A= Object.extend(Ajax.Responders, Enumerable);=0A= =0A= Ajax.Responders.register({=0A= onCreate: function() {=0A= Ajax.activeRequestCount++;=0A= },=0A= onComplete: function() {=0A= Ajax.activeRequestCount--;=0A= }=0A= });=0A= =0A= Ajax.Base =3D function() {};=0A= Ajax.Base.prototype =3D {=0A= setOptions: function(options) {=0A= this.options =3D {=0A= method: 'post',=0A= asynchronous: true,=0A= contentType: 'application/x-www-form-urlencoded',=0A= encoding: 'UTF-8',=0A= parameters: ''=0A= }=0A= Object.extend(this.options, options || {});=0A= =0A= this.options.method =3D this.options.method.toLowerCase();=0A= this.options.parameters =3D $H(typeof this.options.parameters =3D=3D = 'string' ?=0A= this.options.parameters.toQueryParams() : this.options.parameters);=0A= }=0A= }=0A= =0A= Ajax.Request =3D Class.create();=0A= Ajax.Request.Events =3D=0A= ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A= =0A= Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), {=0A= _complete: false,=0A= =0A= initialize: function(url, options) {=0A= this.transport =3D Ajax.getTransport();=0A= this.setOptions(options);=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= var params =3D this.options.parameters;=0A= if (params.any()) params['_'] =3D '';=0A= =0A= if (!['get', 'post'].include(this.options.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.options.method;=0A= this.options.method =3D 'post';=0A= }=0A= =0A= this.url =3D url;=0A= =0A= // when GET, append parameters to URL=0A= if (this.options.method =3D=3D 'get' && params.any())=0A= this.url +=3D (this.url.indexOf('?') >=3D 0 ? '&' : '?') +=0A= params.toQueryString();=0A= =0A= try {=0A= Ajax.Responders.dispatch('onCreate', this, this.transport);=0A= =0A= this.transport.open(this.options.method.toUpperCase(), this.url,=0A= this.options.asynchronous, this.options.username,=0A= this.options.password);=0A= =0A= if (this.options.asynchronous)=0A= setTimeout(function() { this.respondToReadyState(1) = }.bind(this), 10);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= var body =3D this.options.method =3D=3D 'post' ?=0A= (this.options.postBody || params.toQueryString()) : null;=0A= =0A= this.transport.send(body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.options.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (typeof extras.push =3D=3D 'function')=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value });=0A= }=0A= =0A= for (var name in headers)=0A= this.transport.setRequestHeader(name, headers[name]);=0A= },=0A= =0A= success: function() {=0A= return !this.transport.status=0A= || (this.transport.status >=3D 200 && this.transport.status < = 300);=0A= },=0A= =0A= respondToReadyState: function(readyState) {=0A= var state =3D Ajax.Request.Events[readyState];=0A= var transport =3D this.transport, json =3D this.evalJSON();=0A= =0A= if (state =3D=3D 'Complete') {=0A= try {=0A= this._complete =3D true;=0A= (this.options['on' + this.transport.status]=0A= || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A= || Prototype.emptyFunction)(transport, json);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(transport, = json);=0A= Ajax.Responders.dispatch('on' + state, this, transport, json);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= if ((this.getHeader('Content-type') || '').strip().=0A= match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))=0A= this.evalResponse();=0A= =0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name);=0A= } catch (e) { return null }=0A= },=0A= =0A= evalJSON: function() {=0A= try {=0A= var json =3D this.getHeader('X-JSON');=0A= return json ? eval('(' + json + ')') : null;=0A= } catch (e) { return null }=0A= },=0A= =0A= evalResponse: function() {=0A= try {=0A= return eval(this.transport.responseText);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= dispatchException: function(exception) {=0A= (this.options.onException || Prototype.emptyFunction)(this, = exception);=0A= Ajax.Responders.dispatch('onException', this, exception);=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create();=0A= =0A= Object.extend(Object.extend(Ajax.Updater.prototype, = Ajax.Request.prototype), {=0A= initialize: function(container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= }=0A= =0A= this.transport =3D Ajax.getTransport();=0A= this.setOptions(options);=0A= =0A= var onComplete =3D this.options.onComplete || = Prototype.emptyFunction;=0A= this.options.onComplete =3D (function(transport, param) {=0A= this.updateContent();=0A= onComplete(transport, param);=0A= }).bind(this);=0A= =0A= this.request(url);=0A= },=0A= =0A= updateContent: function() {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'];=0A= var response =3D this.transport.responseText;=0A= =0A= if (!this.options.evalScripts) response =3D response.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (this.options.insertion)=0A= new this.options.insertion(receiver, response);=0A= else=0A= receiver.update(response);=0A= }=0A= =0A= if (this.success()) {=0A= if (this.onComplete)=0A= setTimeout(this.onComplete.bind(this), 10);=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create();=0A= Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), {=0A= initialize: function(container, url, options) {=0A= this.setOptions(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D {};=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(request) {=0A= if (this.options.decay) {=0A= this.decay =3D (request.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D request.responseText;=0A= }=0A= this.timer =3D setTimeout(this.onTimerEvent.bind(this),=0A= this.decay * this.frequency * 1000);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (typeof element =3D=3D 'string')=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(query.snapshotItem(i));=0A= return results;=0A= }=0A= }=0A= =0A= document.getElementsByClassName =3D function(className, parentElement) {=0A= if (Prototype.BrowserFeatures.XPath) {=0A= var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + = " ')]";=0A= return document._getElementsByXPath(q, parentElement);=0A= } else {=0A= var children =3D ($(parentElement) || = document.body).getElementsByTagName('*');=0A= var elements =3D [], child;=0A= for (var i =3D 0, length =3D children.length; i < length; i++) {=0A= child =3D children[i];=0A= if (Element.hasClassName(child, className))=0A= elements.push(Element.extend(child));=0A= }=0A= return elements;=0A= }=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Element)=0A= var Element =3D new Object();=0A= =0A= Element.extend =3D function(element) {=0A= if (!element) return;=0A= if (_nativeExtensions || element.nodeType =3D=3D 3) return element;=0A= =0A= if (!element._extended && element.tagName && element !=3D window) {=0A= var methods =3D Object.clone(Element.Methods), cache =3D = Element.extend.cache;=0A= =0A= if (element.tagName =3D=3D 'FORM')=0A= Object.extend(methods, Form.Methods);=0A= if (['INPUT', 'TEXTAREA', 'SELECT'].include(element.tagName))=0A= Object.extend(methods, Form.Element.Methods);=0A= =0A= Object.extend(methods, Element.Methods.Simulated);=0A= =0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (typeof value =3D=3D 'function' && !(property in element))=0A= element[property] =3D cache.findOrStore(value);=0A= }=0A= }=0A= =0A= element._extended =3D true;=0A= return element;=0A= }=0A= =0A= Element.extend.cache =3D {=0A= findOrStore: function(value) {=0A= return this[value] =3D this[value] || function() {=0A= return value.apply(null, [this].concat($A(arguments)));=0A= }=0A= }=0A= }=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= $(element).style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= $(element).style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, html) {=0A= html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A= $(element).innerHTML =3D html.stripScripts();=0A= setTimeout(function() {html.evalScripts()}, 10);=0A= return element;=0A= },=0A= =0A= replace: function(element, html) {=0A= element =3D $(element);=0A= if (element.outerHTML) {=0A= element.outerHTML =3D html.stripScripts();=0A= } else {=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNodeContents(element);=0A= element.parentNode.replaceChild(=0A= range.createContextualFragment(html.stripScripts()), element);=0A= }=0A= setTimeout(function() {html.evalScripts()}, 10);=0A= return element;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= element =3D $(element);=0A= return $A(element.getElementsByTagName('*'));=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= element =3D $(element);=0A= if (typeof selector =3D=3D 'string')=0A= selector =3D new Selector(selector);=0A= return selector.match(element);=0A= },=0A= =0A= up: function(element, expression, index) {=0A= return Selector.findElement($(element).ancestors(), expression, = index);=0A= },=0A= =0A= down: function(element, expression, index) {=0A= return Selector.findElement($(element).descendants(), expression, = index);=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= return Selector.findElement($(element).previousSiblings(), = expression, index);=0A= },=0A= =0A= next: function(element, expression, index) {=0A= return Selector.findElement($(element).nextSiblings(), expression, = index);=0A= },=0A= =0A= getElementsBySelector: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= getElementsByClassName: function(element, className) {=0A= element =3D $(element);=0A= return document.getElementsByClassName(className, element);=0A= },=0A= =0A= readAttribute: function(element, name) {=0A= return $(element).getAttribute(name);=0A= },=0A= =0A= getHeight: function(element) {=0A= element =3D $(element);=0A= return element.offsetHeight;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= if (elementClassName.length =3D=3D 0) return false;=0A= if (elementClassName =3D=3D className ||=0A= elementClassName.match(new RegExp("(^|\\s)" + className + = "(\\s|$)")))=0A= return true;=0A= return false;=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= Element.classNames(element).add(className);=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= Element.classNames(element).remove(className);=0A= return element;=0A= },=0A= =0A= observe: function() {=0A= Event.observe.apply(Event, arguments);=0A= return $A(arguments).first();=0A= },=0A= =0A= stopObserving: function() {=0A= Event.stopObserving.apply(Event, arguments);=0A= return $A(arguments).first();=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.match(/^\s*$/);=0A= },=0A= =0A= childOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var x =3D element.x ? element.x : element.offsetLeft,=0A= y =3D element.y ? element.y : element.offsetTop;=0A= window.scrollTo(x, y);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= var inline =3D (style =3D=3D 'float' ?=0A= (typeof element.style.styleFloat !=3D 'undefined' ? 'styleFloat' : = 'cssFloat') : style);=0A= var value =3D element.style[inline.camelize()];=0A= if (!value) {=0A= if (document.defaultView && document.defaultView.getComputedStyle) = {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css.getPropertyValue(style) : null;=0A= } else if (element.currentStyle) {=0A= value =3D element.currentStyle[inline.camelize()];=0A= }=0A= }=0A= =0A= if((value =3D=3D 'auto') && ['width','height'].include(style) && = (element.getStyle('display') !=3D 'none'))=0A= value =3D = element['offset'+style.charAt(0).toUpperCase()+style.substring(1)] + = 'px';=0A= =0A= if (window.opera && ['left', 'top', 'right', = 'bottom'].include(style))=0A= if (Element.getStyle(element, 'position') =3D=3D 'static') value = =3D 'auto';=0A= =0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= setStyle: function(element, style) {=0A= element =3D $(element);=0A= for (var name in style)=0A= element.style[ (name =3D=3D 'float' ?=0A= ((typeof element.style.styleFloat !=3D 'undefined') ? = 'styleFloat' : 'cssFloat') : name).camelize()=0A= ] =3D style[name];=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= if (Element.getStyle(element, 'display') !=3D 'none')=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D '';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D 'none';=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (window.opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D element.style.overflow || 'auto';=0A= if ((Element.getStyle(element, 'overflow') || 'visible') !=3D = 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= }=0A= }=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= return $(element).getAttributeNode(attribute).specified;=0A= }=0A= }=0A= =0A= // IE is missing .innerHTML support for TABLE-related elements=0A= if(document.all){=0A= Element.Methods.update =3D function(element, html) {=0A= element =3D $(element);=0A= html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A= var tagName =3D element.tagName.toUpperCase();=0A= if (['THEAD','TBODY','TR','TD'].include(tagName)) {=0A= var div =3D document.createElement('div');=0A= switch (tagName) {=0A= case 'THEAD':=0A= case 'TBODY':=0A= div.innerHTML =3D '' + html.stripScripts() + = '
';=0A= depth =3D 2;=0A= break;=0A= case 'TR':=0A= div.innerHTML =3D '' + html.stripScripts() = + '
';=0A= depth =3D 3;=0A= break;=0A= case 'TD':=0A= div.innerHTML =3D '
' + = html.stripScripts() + '
';=0A= depth =3D 4;=0A= }=0A= $A(element.childNodes).each(function(node){=0A= element.removeChild(node)=0A= });=0A= depth.times(function(){ div =3D div.firstChild });=0A= =0A= $A(div.childNodes).each(=0A= function(node){ element.appendChild(node) });=0A= } else {=0A= element.innerHTML =3D html.stripScripts();=0A= }=0A= setTimeout(function() {html.evalScripts()}, 10);=0A= return element;=0A= }=0A= }=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= var _nativeExtensions =3D false;=0A= =0A= if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= ['', 'Form', 'Input', 'TextArea', 'Select'].each(function(tag) {=0A= var className =3D 'HTML' + tag + 'Element';=0A= if(window[className]) return;=0A= var klass =3D window[className] =3D {};=0A= klass.prototype =3D document.createElement(tag ? tag.toLowerCase() : = 'div').__proto__;=0A= });=0A= =0A= Element.addMethods =3D function(methods) {=0A= Object.extend(Element.Methods, methods || {});=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= var cache =3D Element.extend.cache;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D cache.findOrStore(value);=0A= }=0A= }=0A= =0A= if (typeof HTMLElement !=3D 'undefined') {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= copy(Form.Methods, HTMLFormElement.prototype);=0A= [HTMLInputElement, HTMLTextAreaElement, = HTMLSelectElement].each(function(klass) {=0A= copy(Form.Element.Methods, klass.prototype);=0A= });=0A= _nativeExtensions =3D true;=0A= }=0A= }=0A= =0A= var Toggle =3D new Object();=0A= Toggle.display =3D Element.toggle;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.Insertion =3D function(adjacency) {=0A= this.adjacency =3D adjacency;=0A= }=0A= =0A= Abstract.Insertion.prototype =3D {=0A= initialize: function(element, content) {=0A= this.element =3D $(element);=0A= this.content =3D content.stripScripts();=0A= =0A= if (this.adjacency && this.element.insertAdjacentHTML) {=0A= try {=0A= this.element.insertAdjacentHTML(this.adjacency, this.content);=0A= } catch (e) {=0A= var tagName =3D this.element.tagName.toUpperCase();=0A= if (['TBODY', 'TR'].include(tagName)) {=0A= this.insertContent(this.contentFromAnonymousTable());=0A= } else {=0A= throw e;=0A= }=0A= }=0A= } else {=0A= this.range =3D this.element.ownerDocument.createRange();=0A= if (this.initializeRange) this.initializeRange();=0A= = this.insertContent([this.range.createContextualFragment(this.content)]);=0A= }=0A= =0A= setTimeout(function() {content.evalScripts()}, 10);=0A= },=0A= =0A= contentFromAnonymousTable: function() {=0A= var div =3D document.createElement('div');=0A= div.innerHTML =3D '' + this.content + = '
';=0A= return $A(div.childNodes[0].childNodes[0].childNodes);=0A= }=0A= }=0A= =0A= var Insertion =3D new Object();=0A= =0A= Insertion.Before =3D Class.create();=0A= Insertion.Before.prototype =3D Object.extend(new = Abstract.Insertion('beforeBegin'), {=0A= initializeRange: function() {=0A= this.range.setStartBefore(this.element);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.each((function(fragment) {=0A= this.element.parentNode.insertBefore(fragment, this.element);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= Insertion.Top =3D Class.create();=0A= Insertion.Top.prototype =3D Object.extend(new = Abstract.Insertion('afterBegin'), {=0A= initializeRange: function() {=0A= this.range.selectNodeContents(this.element);=0A= this.range.collapse(true);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.reverse(false).each((function(fragment) {=0A= this.element.insertBefore(fragment, this.element.firstChild);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= Insertion.Bottom =3D Class.create();=0A= Insertion.Bottom.prototype =3D Object.extend(new = Abstract.Insertion('beforeEnd'), {=0A= initializeRange: function() {=0A= this.range.selectNodeContents(this.element);=0A= this.range.collapse(this.element);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.each((function(fragment) {=0A= this.element.appendChild(fragment);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= Insertion.After =3D Class.create();=0A= Insertion.After.prototype =3D Object.extend(new = Abstract.Insertion('afterEnd'), {=0A= initializeRange: function() {=0A= this.range.setStartAfter(this.element);=0A= },=0A= =0A= insertContent: function(fragments) {=0A= fragments.each((function(fragment) {=0A= this.element.parentNode.insertBefore(fragment,=0A= this.element.nextSibling);=0A= }).bind(this));=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Element.ClassNames =3D Class.create();=0A= Element.ClassNames.prototype =3D {=0A= initialize: function(element) {=0A= this.element =3D $(element);=0A= },=0A= =0A= _each: function(iterator) {=0A= this.element.className.split(/\s+/).select(function(name) {=0A= return name.length > 0;=0A= })._each(iterator);=0A= },=0A= =0A= set: function(className) {=0A= this.element.className =3D className;=0A= },=0A= =0A= add: function(classNameToAdd) {=0A= if (this.include(classNameToAdd)) return;=0A= this.set($A(this).concat(classNameToAdd).join(' '));=0A= },=0A= =0A= remove: function(classNameToRemove) {=0A= if (!this.include(classNameToRemove)) return;=0A= this.set($A(this).without(classNameToRemove).join(' '));=0A= },=0A= =0A= toString: function() {=0A= return $A(this).join(' ');=0A= }=0A= }=0A= =0A= Object.extend(Element.ClassNames.prototype, Enumerable);=0A= var Selector =3D Class.create();=0A= Selector.prototype =3D {=0A= initialize: function(expression) {=0A= this.params =3D {classNames: []};=0A= this.expression =3D expression.toString().strip();=0A= this.parseExpression();=0A= this.compileMatcher();=0A= },=0A= =0A= parseExpression: function() {=0A= function abort(message) { throw 'Parse error in selector: ' + = message; }=0A= =0A= if (this.expression =3D=3D '') abort('empty expression');=0A= =0A= var params =3D this.params, expr =3D this.expression, match, = modifier, clause, rest;=0A= while (match =3D = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=3D)(?:"([^"]*)"|([^\]\s]*))= )?\]$/i)) {=0A= params.attributes =3D params.attributes || [];=0A= params.attributes.push({name: match[2], operator: match[3], value: = match[4] || match[5] || ''});=0A= expr =3D match[1];=0A= }=0A= =0A= if (expr =3D=3D '*') return this.params.wildcard =3D true;=0A= =0A= while (match =3D expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {=0A= modifier =3D match[1], clause =3D match[2], rest =3D match[3];=0A= switch (modifier) {=0A= case '#': params.id =3D clause; break;=0A= case '.': params.classNames.push(clause); break;=0A= case '':=0A= case undefined: params.tagName =3D clause.toUpperCase(); break;=0A= default: abort(expr.inspect());=0A= }=0A= expr =3D rest;=0A= }=0A= =0A= if (expr.length > 0) abort(expr.inspect());=0A= },=0A= =0A= buildMatchExpression: function() {=0A= var params =3D this.params, conditions =3D [], clause;=0A= =0A= if (params.wildcard)=0A= conditions.push('true');=0A= if (clause =3D params.id)=0A= conditions.push('element.id =3D=3D ' + clause.inspect());=0A= if (clause =3D params.tagName)=0A= conditions.push('element.tagName.toUpperCase() =3D=3D ' + = clause.inspect());=0A= if ((clause =3D params.classNames).length > 0)=0A= for (var i =3D 0, length =3D clause.length; i < length; i++)=0A= conditions.push('Element.hasClassName(element, ' + = clause[i].inspect() + ')');=0A= if (clause =3D params.attributes) {=0A= clause.each(function(attribute) {=0A= var value =3D 'element.getAttribute(' + attribute.name.inspect() = + ')';=0A= var splitValueBy =3D function(delimiter) {=0A= return value + ' && ' + value + '.split(' + = delimiter.inspect() + ')';=0A= }=0A= =0A= switch (attribute.operator) {=0A= case '=3D': conditions.push(value + ' =3D=3D ' + = attribute.value.inspect()); break;=0A= case '~=3D': conditions.push(splitValueBy(' ') + = '.include(' + attribute.value.inspect() + ')'); break;=0A= case '|=3D': conditions.push(=0A= splitValueBy('-') + '.first().toUpperCase() = =3D=3D ' + attribute.value.toUpperCase().inspect()=0A= ); break;=0A= case '!=3D': conditions.push(value + ' !=3D ' + = attribute.value.inspect()); break;=0A= case '':=0A= case undefined: conditions.push(value + ' !=3D null'); break;=0A= default: throw 'Unknown operator ' + attribute.operator = + ' in selector';=0A= }=0A= });=0A= }=0A= =0A= return conditions.join(' && ');=0A= },=0A= =0A= compileMatcher: function() {=0A= this.match =3D new Function('element', 'if (!element.tagName) return = false; \=0A= return ' + this.buildMatchExpression());=0A= },=0A= =0A= findElements: function(scope) {=0A= var element;=0A= =0A= if (element =3D $(this.params.id))=0A= if (this.match(element))=0A= if (!scope || Element.childOf(element, scope))=0A= return [element];=0A= =0A= scope =3D (scope || = document).getElementsByTagName(this.params.tagName || '*');=0A= =0A= var results =3D [];=0A= for (var i =3D 0, length =3D scope.length; i < length; i++)=0A= if (this.match(element =3D scope[i]))=0A= results.push(Element.extend(element));=0A= =0A= return results;=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= }=0A= }=0A= =0A= Object.extend(Selector, {=0A= matchElements: function(elements, expression) {=0A= var selector =3D new Selector(expression);=0A= return = elements.select(selector.match.bind(selector)).collect(Element.extend);=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (typeof expression =3D=3D 'number') index =3D expression, = expression =3D false;=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= return expressions.map(function(expression) {=0A= return expression.strip().split(/\s+/).inject([null], = function(results, expr) {=0A= var selector =3D new Selector(expr);=0A= return results.inject([], function(elements, result) {=0A= return elements.concat(selector.findElements(result || = element));=0A= });=0A= });=0A= }).flatten();=0A= }=0A= });=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements) {=0A= return elements.inject([], function(queryComponents, element) {=0A= var queryComponent =3D Form.Element.serialize(element);=0A= if (queryComponent) queryComponents.push(queryComponent);=0A= return queryComponents;=0A= }).join('&');=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form) {=0A= return Form.serializeElements($(form).getElements());=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name)=0A= return inputs;=0A= =0A= var matchingInputs =3D new Array();=0A= for (var i =3D 0, length =3D inputs.length; i < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) ||=0A= (name && input.name !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= form.getElements().each(function(element) {=0A= element.blur();=0A= element.disabled =3D 'true';=0A= });=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= form.getElements().each(function(element) {=0A= element.disabled =3D '';=0A= });=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= return $(form).getElements().find(function(element) {=0A= return element.type !=3D 'hidden' && !element.disabled &&=0A= ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase());=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= form.findFirstElement().activate();=0A= return form;=0A= }=0A= }=0A= =0A= Object.extend(Form, Form.Methods);=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element =3D {=0A= focus: function(element) {=0A= $(element).focus();=0A= return element;=0A= },=0A= =0A= select: function(element) {=0A= $(element).select();=0A= return element;=0A= }=0A= }=0A= =0A= Form.Element.Methods =3D {=0A= serialize: function(element) {=0A= element =3D $(element);=0A= if (element.disabled) return '';=0A= var method =3D element.tagName.toLowerCase();=0A= var parameter =3D Form.Element.Serializers[method](element);=0A= =0A= if (parameter) {=0A= var key =3D encodeURIComponent(parameter[0]);=0A= if (key.length =3D=3D 0) return;=0A= =0A= if (parameter[1].constructor !=3D Array)=0A= parameter[1] =3D [parameter[1]];=0A= =0A= return parameter[1].map(function(value) {=0A= return key + '=3D' + encodeURIComponent(value);=0A= }).join('&');=0A= }=0A= },=0A= =0A= getValue: function(element) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= var parameter =3D Form.Element.Serializers[method](element);=0A= =0A= if (parameter)=0A= return parameter[1];=0A= },=0A= =0A= clear: function(element) {=0A= $(element).value =3D '';=0A= return element;=0A= },=0A= =0A= present: function(element) {=0A= return $(element).value !=3D '';=0A= },=0A= =0A= activate: function(element) {=0A= element =3D $(element);=0A= element.focus();=0A= if (element.select && ( element.tagName.toLowerCase() !=3D 'input' ||=0A= !['button', 'reset', 'submit'].include(element.type) ) )=0A= element.select();=0A= return element;=0A= },=0A= =0A= disable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.blur();=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= }=0A= =0A= Object.extend(Form.Element, Form.Element.Methods);=0A= var Field =3D Form.Element;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element);=0A= default:=0A= return Form.Element.Serializers.textarea(element);=0A= }=0A= return false;=0A= },=0A= =0A= inputSelector: function(element) {=0A= if (element.checked)=0A= return [element.name, element.value];=0A= },=0A= =0A= textarea: function(element) {=0A= return [element.name, element.value];=0A= },=0A= =0A= select: function(element) {=0A= return Form.Element.Serializers[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= },=0A= =0A= selectOne: function(element) {=0A= var value =3D '', opt, index =3D element.selectedIndex;=0A= if (index >=3D 0) {=0A= opt =3D Element.extend(element.options[index]);=0A= // Uses the new potential extension if hasAttribute isn't native.=0A= value =3D opt.hasAttribute('value') ? opt.value : opt.text;=0A= }=0A= return [element.name, value];=0A= },=0A= =0A= selectMany: function(element) {=0A= var value =3D [];=0A= for (var i =3D 0, length =3D element.length; i < length; i++) {=0A= var opt =3D Element.extend(element.options[i]);=0A= if (opt.selected)=0A= // Uses the new potential extension if hasAttribute isn't native.=0A= value.push(opt.hasAttribute('value') ? opt.value : opt.text);=0A= }=0A= return [element.name, value];=0A= }=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var $F =3D Form.Element.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D function() {}=0A= Abstract.TimedObserver.prototype =3D {=0A= initialize: function(element, frequency, callback) {=0A= this.frequency =3D frequency;=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A= },=0A= =0A= onTimerEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= }=0A= =0A= Form.Element.Observer =3D Class.create();=0A= Form.Element.Observer.prototype =3D Object.extend(new = Abstract.TimedObserver(), {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create();=0A= Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D function() {}=0A= Abstract.EventObserver.prototype =3D {=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= = Form.getElements(this.element).each(this.registerCallback.bind(this));=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= }=0A= =0A= Form.Element.EventObserver =3D Class.create();=0A= Form.Element.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create();=0A= Form.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) {=0A= var Event =3D new Object();=0A= }=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= =0A= element: function(event) {=0A= return event.target || event.srcElement;=0A= },=0A= =0A= isLeftClick: function(event) {=0A= return (((event.which) && (event.which =3D=3D 1)) ||=0A= ((event.button) && (event.button =3D=3D 1)));=0A= },=0A= =0A= pointerX: function(event) {=0A= return event.pageX || (event.clientX +=0A= (document.documentElement.scrollLeft || document.body.scrollLeft));=0A= },=0A= =0A= pointerY: function(event) {=0A= return event.pageY || (event.clientY +=0A= (document.documentElement.scrollTop || document.body.scrollTop));=0A= },=0A= =0A= stop: function(event) {=0A= if (event.preventDefault) {=0A= event.preventDefault();=0A= event.stopPropagation();=0A= } else {=0A= event.returnValue =3D false;=0A= event.cancelBubble =3D true;=0A= }=0A= },=0A= =0A= // find the first node with the given tagName, starting from the=0A= // node the event was triggered on; traverses the DOM upwards=0A= findElement: function(event, tagName) {=0A= var element =3D Event.element(event);=0A= while (element.parentNode && (!element.tagName ||=0A= (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))=0A= element =3D element.parentNode;=0A= return element;=0A= },=0A= =0A= observers: false,=0A= =0A= _observeAndCache: function(element, name, observer, useCapture) {=0A= if (!this.observers) this.observers =3D [];=0A= if (element.addEventListener) {=0A= this.observers.push([element, name, observer, useCapture]);=0A= element.addEventListener(name, observer, useCapture);=0A= } else if (element.attachEvent) {=0A= this.observers.push([element, name, observer, useCapture]);=0A= element.attachEvent('on' + name, observer);=0A= }=0A= },=0A= =0A= unloadCache: function() {=0A= if (!Event.observers) return;=0A= for (var i =3D 0, length =3D Event.observers.length; i < length; = i++) {=0A= Event.stopObserving.apply(this, Event.observers[i]);=0A= Event.observers[i][0] =3D null;=0A= }=0A= Event.observers =3D false;=0A= },=0A= =0A= observe: function(element, name, observer, useCapture) {=0A= element =3D $(element);=0A= useCapture =3D useCapture || false;=0A= =0A= if (name =3D=3D 'keypress' &&=0A= (navigator.appVersion.match(/Konqueror|Safari|KHTML/)=0A= || element.attachEvent))=0A= name =3D 'keydown';=0A= =0A= Event._observeAndCache(element, name, observer, useCapture);=0A= },=0A= =0A= stopObserving: function(element, name, observer, useCapture) {=0A= element =3D $(element);=0A= useCapture =3D useCapture || false;=0A= =0A= if (name =3D=3D 'keypress' &&=0A= (navigator.appVersion.match(/Konqueror|Safari|KHTML/)=0A= || element.detachEvent))=0A= name =3D 'keydown';=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, observer, useCapture);=0A= } else if (element.detachEvent) {=0A= try {=0A= element.detachEvent('on' + name, observer);=0A= } catch (e) {}=0A= }=0A= }=0A= });=0A= =0A= /* prevent memory leaks in IE */=0A= if (navigator.appVersion.match(/\bMSIE\b/))=0A= Event.observe(window, 'unload', Event.unloadCache, false);=0A= var Position =3D {=0A= // set to true if needed, warning: firefox performance problems=0A= // NOT neeeded for page scrolling, only if draggable contained in=0A= // scrollable elements=0A= includeScrollOffsets: false,=0A= =0A= // must be called before calling withinIncludingScrolloffset, every = time the=0A= // page is scrolled=0A= prepare: function() {=0A= this.deltaX =3D window.pageXOffset=0A= || document.documentElement.scrollLeft=0A= || document.body.scrollLeft=0A= || 0;=0A= this.deltaY =3D window.pageYOffset=0A= || document.documentElement.scrollTop=0A= || document.body.scrollTop=0A= || 0;=0A= },=0A= =0A= realOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return [valueL, valueT];=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return [valueL, valueT];=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if(element.tagName=3D=3D'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A= }=0A= } while (element);=0A= return [valueL, valueT];=0A= },=0A= =0A= offsetParent: function(element) {=0A= if (element.offsetParent) return element.offsetParent;=0A= if (element =3D=3D document.body) return element;=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return element;=0A= =0A= return document.body;=0A= },=0A= =0A= // caches x/y coordinate pair to use with overlap=0A= within: function(element, x, y) {=0A= if (this.includeScrollOffsets)=0A= return this.withinIncludingScrolloffsets(element, x, y);=0A= this.xcomp =3D x;=0A= this.ycomp =3D y;=0A= this.offset =3D this.cumulativeOffset(element);=0A= =0A= return (y >=3D this.offset[1] &&=0A= y < this.offset[1] + element.offsetHeight &&=0A= x >=3D this.offset[0] &&=0A= x < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= withinIncludingScrolloffsets: function(element, x, y) {=0A= var offsetcache =3D this.realOffset(element);=0A= =0A= this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A= this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A= this.offset =3D this.cumulativeOffset(element);=0A= =0A= return (this.ycomp >=3D this.offset[1] &&=0A= this.ycomp < this.offset[1] + element.offsetHeight &&=0A= this.xcomp >=3D this.offset[0] &&=0A= this.xcomp < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= // within must be called directly before=0A= overlap: function(mode, element) {=0A= if (!mode) return 0;=0A= if (mode =3D=3D 'vertical')=0A= return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A= element.offsetHeight;=0A= if (mode =3D=3D 'horizontal')=0A= return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A= element.offsetWidth;=0A= },=0A= =0A= page: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent=3D=3Ddocument.body)=0A= if (Element.getStyle(element,'position')=3D=3D'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!window.opera || element.tagName=3D=3D'BODY') {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return [valueL, valueT];=0A= },=0A= =0A= clone: function(source, target) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || {})=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D Position.page(source);=0A= =0A= // find coordinate system to use=0A= target =3D $(target);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(target,'position') =3D=3D 'absolute') {=0A= parent =3D Position.offsetParent(target);=0A= delta =3D Position.page(parent);=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if(options.setLeft) target.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if(options.setTop) target.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if(options.setWidth) target.style.width =3D source.offsetWidth + = 'px';=0A= if(options.setHeight) target.style.height =3D source.offsetHeight + = 'px';=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.style.position =3D=3D 'absolute') return;=0A= Position.prepare();=0A= =0A= var offsets =3D Position.positionedOffset(element);=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';;=0A= element.style.left =3D left + 'px';;=0A= element.style.width =3D width + 'px';;=0A= element.style.height =3D height + 'px';;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.style.position =3D=3D 'relative') return;=0A= Position.prepare();=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= }=0A= }=0A= =0A= // Safari returns margins on body which is incorrect if the child is = absolutely=0A= // positioned. For performance reasons, redefine = Position.cumulativeOffset for=0A= // KHTML/WebKit only.=0A= if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {=0A= Position.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return [valueL, valueT];=0A= }=0A= }=0A= =0A= Element.addMethods(); ------=_NextPart_000_0000_01C91FE6.A367AE70 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.bmj.com/js/utils.js =0A= Object.extend(Event, {=0A= _domReady : function() {=0A= if (arguments.callee.done) return;=0A= arguments.callee.done =3D true;=0A= if (this._timer) clearInterval(this._timer);=0A= this._readyCallbacks.each(function(f) { f() });=0A= this._readyCallbacks =3D null;=0A= },=0A= =0A= onDOMReady : function(f) {=0A= if (!this._readyCallbacks) {=0A= var domReady =3D this._domReady.bind(this);=0A= =0A= if (document.addEventListener) = document.addEventListener("DOMContentLoaded", domReady, false);=0A= =0A= /*@cc_on @*/=0A= /*@if (@_win32)=0A= document.write("