CINXE.COM

(IUCr) IUCr services

<!DOCTYPE html> <!-- Template Name: Escarine-Edu Author: <a href="http://www.os-templates.com/">OS Templates</a> Author URI: http://www.os-templates.com/ Licence: Free to use under our free template licence terms Licence URI: http://www.os-templates.com/template-terms --> <!-- modified with permission by IUCr --> <html> <head> <script src="https://journals.iucr.org/javascript/analytics.js"></script> <title>(IUCr) IUCr services</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="DC.title" content="faqs"> <link href="/style/iucr/fontawesome-4.4.0.min.css?v=0.1.10" rel="stylesheet" type="text/css" media="all"> <link href="/style/iucr/college-font.css?v=0.1.4" rel="stylesheet" type="text/css" media="all"> <link href="/style/iucr/framework.css?v=0.1.4" rel="stylesheet" type="text/css" media="all"> <link href="/style/iucr/layout.css?v=0.1.22" rel="stylesheet" type="text/css" media="all"> <link href="/style/iucr/iucr.css?v=0.1.206" rel="stylesheet" type="text/css" media="all"> <link href="/style/iucr/newsletter.css?v=0.1.26" rel="stylesheet" type="text/css" media="all"> <link href="/style/iucr/slimbox2.css?v=0.0.2" rel="stylesheet" type="text/css" media="all" /> <script src="//www.iucr.org/__data/assets/js_file/0003/129414/jquery.min.js?v=0.1.1"></script> <script src="//www.iucr.org/__data/assets/js_file/0006/129417/jquery-ui.min.js?v=0.1.1"></script> <script>function onLoad(){}; /* placeholder - may be replaced by special_scripts */</script> <!-- for timelines --> <script> var Timeline_ajax_url="//www.iucr.org/__data/iucr/js/timeline_2.3.0/src/ajax/api/simile-ajax-api.js"; var Timeline_urlPrefix='//www.iucr.org/__data/iucr/js/timeline_2.3.0/src/webapp/api/'; </script> <script src="//www.iucr.org/__data/iucr/js/timeline_2.3.0/src/webapp/api/timeline-api.js" type="text/javascript"> </script> <!-- end of setup for timelines --> <link rel="stylesheet" type="text/css" href="/style/highslide.css" /> <link rel="stylesheet" type="text\css" href="/styles/css//bootstrap_4.6.2_.css" media="all"/> <script src="/javascript/highslide/highslide-full.js" type="text/javascript"></script> <script src="/javascript/bootstrap/bootstrap_4.6.2_bundle.js" type="text/javascript"></script> <script type="text/javascript">//<![CDATA[ hs.graphicsDir = '/javascript/highslide/graphics/'; hs.wrapperClassName = 'wide-border'; // close on mouse out hs.Expander.prototype.onMouseOut = function (sender) { sender.close(); }; // close if mouse is not over on expand (using the internal mouseIsOver property) hs.Expander.prototype.onAfterExpand = function (sender) { if (!sender.mouseIsOver) sender.close(); }; //]]></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body id="top" onload="onLoad();window.focus();tabberAutomatic();"> <!-- ######################################################################################## --> <!-- ##################### TOP BAR WITH SIGN-IN AND SOCIAL MEDIA ############################ --> <!-- ######################################################################################## --> <div class="wrapper row0"> <div id="topbar" class="clear"> <!-- ######################################################################################## --> <div class="fl_left"> <ul class="nospace inline pushright"> <li>&nbsp;</li> <li><a "//www.iucr.org/welcome.html"><img src=/style/iucr/IUCr-logo-White.png style="width:23px;" /></a></li> <li><a href="//journals.iucr.org/"><img src=/style/iucr/iucr_journals_white.png style="width:22px;" /></a></li> <li><i class="fa fa-user"></i> <a href="//www.iucr.org/people/login">Login</a></li> </ul> </div> <div class="fl_right"> <ul class="faico clear"> <!-- <li><a href="/cgi-bin/iucrsearch"><img src="//www.iucr.org/__data/assets/image/0017/150218/search-icon.png"></a></li> --> <li><form method="GET" action="//www.iucr.org/cgi-bin/iucrsearch" enctype="application/x-www-form-urlencoded" class="form"><input maxlength="200" value="" name="query" class="inlinesearch" type="text" size="16"><input value="Search" name="submit" style="display:none;" type="submit"><br> </form><img src="//www.iucr.org/__data/assets/image/0017/150218/search-icon.png" style="width:20px;"></li> <li><a class="faicon-facebook" href="https://www.facebook.com/iucr.org"><i class="fa fa-facebook"></i></a></li> <li><a class="faicon-twitter" href="https://twitter.com/IUCr"><i class="fa fa-twitter"></i></a></li> <li><a class="faicon-linkedin" href="https://www.linkedin.com/company/5334871?trk=tyah&trkInfo=clickedVertical%3Acompany%2CclickedEntityId%3A5334871%2Cidx%3A3-1-3%2CtarId%3A1486115202109%2Ctas%3Ainternational%20union%20of%20crystall"><i class="fa fa-linkedin"></i></a></li> <li><a class="faicon-rss" href="//www.iucr.org/news/rss-feeds"><i class="fa fa-rss"></i></a></li> </ul> </div> <!-- ######################################################################################## --> </div> </div> <!-- ####################################################################################### --> <!-- ##################################### MAIN SITE MENU ################################## --> <!-- ####################################################################################### --> <div class="wrapper row3"> <header id="header" class="hoc clear"> <!-- ######################################################################################## --> <nav id="mainav" class="fl_right"> <ul class="clear"> <li><a class="drop" href="//www.iucr.org/iucr">The IUCr</a> <ul> <li> <a class="drop" href="//www.iucr.org/iucr/governance">governance</a> <ul> <li> <a href="//www.iucr.org/iucr/governance/ga">general assembly</a> </li> <li> <a href="//www.iucr.org/iucr/governance/ec">executive committee</a> </li> <li> <a href="//www.iucr.org/iucr/governance/finance.html">finance committee</a> </li> <li> <a href="//www.iucr.org/iucr/governance/advisory-committees">advisory committees</a> </li> <li> <a href="//www.iucr.org/iucr/governance/secretariat">secretariat</a> </li> <li> <a href="//www.iucr.org/iucr/governance/statutes-and-by-laws">statutes and by-laws</a> </li> <li> <a href="//www.iucr.org/iucr/governance/mediaenquiries">Media Enquiries</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/iucr/ab.html">membership</a> <ul> <li> <a href="//www.iucr.org/iucr/ab.html/adhering-bodies">adhering bodies</a> </li> <li> <a href="//www.iucr.org/iucr/ab.html/regional-associates">regional associates</a> </li> <li> <a href="//www.iucr.org/iucr/ab.html/scientific-associates">scientific associates</a> </li> <li> <a href="//www.iucr.org/iucr/ab.html/other-bodies">other bodies</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/iucr/commissions">commissions</a> <ul> <li> <a href="//www.iucr.org/iucr/commissions/principles">principles</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/aperiodic-crystals">aperiodic crystals</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/biological-macromolecules">biological macromolecules</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/crystal-growth">crystal growth and characterization of materials</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/crystallographic-computing">crystallographic computing</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/nomenclature">crystallographic nomenclature</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/teaching">crystallographic teaching</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/art-and-cultural-heritage">crystallography in art and cultural heritage</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/crystallography-of-materials">crystallography of materials</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/diffraction-microstructure-imaging">diffraction microstructure imaging</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/electron-crystallography">electron crystallography</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/high-pressure">high pressure</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/inorganic-and-mineral-structures">inorganic and mineral structures</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/international-tables">international tables</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/journals">journals</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/magnetic-structures">magnetic structures</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/mathematical-and-theoretical-crystallography">mathematical and theoretical crystallography</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/neutron-scattering">neutron scattering</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/nmr-crystallography">nmr crystallography</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/powder-diffraction">powder diffraction</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/quantum-crystallography">quantum crystallography</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/small-angle-scattering">small-angle scattering</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/structural-chemistry">structural chemistry</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/synchrotron-radiation">synchrotron and xfel radiation</a> </li> <li> <a href="//www.iucr.org/iucr/commissions/xafs">xafs</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/iucr/principles-and-policies">policies</a> </li> <li> <a class="drop" href="//www.iucr.org/iucr/ewald-prize">ewald prize</a> </li> <li> <a class="drop" href="//www.iucr.org/iucr/bragg-prize">bragg prize</a> </li> <li> <a class="drop" href="//www.iucr.org/iucr/struchkov-prize">struchkov prize</a> </li> <li> <a class="drop" href="//www.iucr.org/iucr/cong">congress</a> <ul> <li> <a href="//www.iucr.org/iucr/cong/2029-iucr-xxviii">2029 iucr xxviiI</a> </li> <li> <a href="//www.iucr.org/iucr/cong/2026-iucr-xxvii">2026 iucr xxvii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/2023-iucr-xxvi">2023 iucr xxvi</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xxv">2021 iucr xxv</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xxiv">2017 iucr xxiv</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xxiii">2014 iucr xxiii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xxii">2011 iucr xxii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xxi">2008 iucr xxi</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xx">2005 iucr xx</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xix">2002 iucr xix</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xviii">1999 iucr xviii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xvii">1996 iucr xvii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xvi">1993 iucr xvi</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xv">1990 iucr xv</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xiv">1987 iucr xiv</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xiii">1984 iucr xiii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xii">1981 iucr xii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-xi">1978 iucr xi</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-x">1975 iucr x</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-ix">1972 iucr ix</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-viii">1969 iucr viii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-vii">1966 iucr vii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-vi">1963 iucr vi</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-v">1960 iucr v</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-iv">1957 iucr iv</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-iii">1954 iucr iii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-ii">1951 iucr ii</a> </li> <li> <a href="//www.iucr.org/iucr/cong/iucr-i">1948 iucr i</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/iucr/sponsorship">support</a> <ul> <li> <a href="//www.iucr.org/iucr/sponsorship/vp.html">visiting professorships</a> </li> <li> <a href="//www.iucr.org/iucr/sponsorship/meetings.html">meetings</a> </li> <li> <a href="//www.iucr.org/iucr/sponsorship/crystallography-in-africa">africa</a> </li> <li> <a href="//www.iucr.org/iucr/sponsorship/iucr-outreach-fund">outreach and education</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/iucr/history">history</a> <ul> <li> <a href="//www.iucr.org/iucr/history/aspects">aspects</a> </li> <li> <a href="//www.iucr.org/iucr/history/early-history">early history</a> </li> <li> <a href="//www.iucr.org/iucr/history/journals-history">journals history</a> </li> <li> <a href="//www.iucr.org/iucr/history/extension">extension</a> </li> <li> <a href="//www.iucr.org/iucr/history/previous">previous executive committees</a> </li> <li> <a href="//www.iucr.org/iucr/history/photos">photos of crystallographers</a> </li> <li> <a href="//www.iucr.org/iucr/history/xray-diffraction">50 years of x-ray diffraction</a> </li> </ul> </li> </ul> </li> <li><a class="drop" href="//www.iucr.org/news">news</a> <ul> <li> <a class="drop" href="//www.iucr.org/news/whats-new">what's new</a> <ul> <li> <a href="//www.iucr.org/news/whats-new/whats-new-by-date">what's new by date</a> </li> <li> <a href="//www.iucr.org/news/whats-new/announcements2">announcements</a> </li> <li> <a href="//www.iucr.org/news/whats-new/employment">jobs</a> </li> <li> <a href="//www.iucr.org/news/whats-new/journal-issues">journal issues</a> </li> <li> <a href="//www.iucr.org/news/whats-new/meetings">meetings</a> </li> <li> <a href="//www.iucr.org/news/whats-new/software">software</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/news/newsletter">newsletter</a> <ul> <li> <a href="//www.iucr.org/news/newsletter/index">index</a> </li> <li> <a href="//www.iucr.org/news/newsletter/archive">archive</a> </li> <li> <a href="//www.iucr.org/news/newsletter/editorial-board">editorial board</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-32">volume 32</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-31">volume 31</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-30">volume 30</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-29">volume 29</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-28">volume 28</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-27">volume 27</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-26">volume 26</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-25">volume 25</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-24">volume 24</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-23">volume 23</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-22">volume 22</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-21">volume 21</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-20">volume 20</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-19">volume 19</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-18">volume 18</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-17">volume 17</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-16">volume 16</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-15">volume 15</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-14">volume 14</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-13">volume 13</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-12">volume 12</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-11">volume 11</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-10">volume 10</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-9">volume 9</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-8">volume 8</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-7">volume 7</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-6">volume 6</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-5">volume 5</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-4">volume 4</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-3">volume 3</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-2">volume 2</a> </li> <li> <a href="//www.iucr.org/news/newsletter/volume-1">volume 1</a> </li> <li> <a href="//www.iucr.org/news/newsletter/advertise">advertise</a> </li> <li> <a href="//www.iucr.org/news/newsletter/submit">submit</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/news/announcements">announcements</a> </li> <li> <a class="drop" href="//www.iucr.org/news/jobs">jobs</a> </li> <li> <a class="drop" href="//www.iucr.org/news/meetings">meetings</a> </li> <li> <a class="drop" href="//www.iucr.org/news/meeting-reports">meeting reports</a> <ul> <li> <a href="//www.iucr.org/news/meeting-reports/21st-iucr-congress">21st iucr congress</a> </li> <li> <a href="//www.iucr.org/news/meeting-reports/iucr-newsletter">iucr newsletter</a> </li> <li> <a href="//www.iucr.org/news/meeting-reports/meeting-reports">data-related meetings</a> </li> <li> <a href="//www.iucr.org/news/meeting-reports/sponsored-meetings">sponsored meetings</a> </li> <li> <a href="//www.iucr.org/news/meeting-reports/by-country">by country</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/news/rss-feeds">rss feeds</a> </li> </ul> </li> <li><a class="drop" href="//www.iucr.org/publications">publications</a> <ul> <li> <a class="drop" href="//www.iucr.org/publications/journals">IUCr Journals</a> <ul> <li> <a href="//www.iucr.org/publications/journals/acta-a">Acta A</a> </li> <li> <a href="//www.iucr.org/publications/journals/acta-b">Acta B</a> </li> <li> <a href="//www.iucr.org/publications/journals/acta-c">Acta C</a> </li> <li> <a href="//www.iucr.org/publications/journals/acta-d">Acta D</a> </li> <li> <a href="//www.iucr.org/publications/journals/acta-e">Acta E</a> </li> <li> <a href="//www.iucr.org/publications/journals/acta-f">Acta F</a> </li> <li> <a href="//www.iucr.org/publications/journals/iucrj">IUCrJ</a> </li> <li> <a href="//www.iucr.org/publications/journals/jac">JAC</a> </li> <li> <a href="//www.iucr.org/publications/journals/jsr">JSR</a> </li> <li> <a href="//www.iucr.org/publications/journals/iucrdata">IUCrData</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/publications/international-tables-for-crystallography-online">International Tables (online)</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/international-tables-print">International Tables (print)</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/newsletter">Newsletter</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/iucr">IUCr Books</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/iucr-oup">IUCr/OUP Book Series</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/other">Other Book Series</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/teaching-pamphlets">Teaching Pamphlets</a> </li> <li> <a class="drop" href="//www.iucr.org/publications/springerbriefs-in-crystallography">SpringerBriefs in Crystallography</a> </li> </ul> </li> <li><a class="current" href="//www.iucr.org/people">people</a> <ul> <li> <a class="drop" href="//www.iucr.org/people/wdc">world directory</a> <ul> <li> <a href="//www.iucr.org/people/wdc/help">help</a> </li> <li> <a href="//www.iucr.org/people/wdc/ealert">ealerts</a> </li> <li> <a href="//www.iucr.org/people/wdc/special-offers">special offers</a> </li> <li> <a href="//www.iucr.org/people/wdc/about">about</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/people/employment">jobs</a> </li> <li> <a class="drop" href="//www.iucr.org/people/ewald-prize">ewald prize</a> </li> <li> <a class="drop" href="//www.iucr.org/people/bragg-prize">bragg prize</a> </li> <li> <a class="drop" href="//www.iucr.org/people/nobel-prize">nobel prize</a> <ul> <li> <a href="//www.iucr.org/people/nobel-prize/all">all</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/agre">agre</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/anfinsen">anfinsen</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/baker">baker</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/barkla">barkla</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/boyer">boyer</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/w.h.bragg">w.h.bragg</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/w.l.bragg">w.l.bragg</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/brockhouse">brockhouse</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/debroglie">de broglie</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/charpak">charpak</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/compton">compton</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/crick">crick</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/rfcurljr">curl</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/davisson">davisson</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/debye">debye</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/deisenhofer">deisenhofer</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/doudna">doudna</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/geim">geim</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/degennes">de gennes</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/feringa">feringa</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/hauptman">hauptman</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/hodgkin">hodgkin</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/huber2">huber</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/julius">julius</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/karle">karle</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/karplus">karplus</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/kendrew">kendrew</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/klug">klug</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/kobilka">kobilka</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/kornberg">kornberg</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/kroto">kroto</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/laue">laue</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/lefkowitz">lefkowitz</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/m.-levitt">levitt</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/lipscomb">lipscomb</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/mackinnon">mackinnon</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/michel">michel</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/novoselov">novoselov</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/patapoutian">patapoutian</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/pauling">pauling</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/perutz">perutz</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/ramakrishnan">ramakrishnan</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/roentgen">roentgen</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/j.-p.-sauvage">sauvage</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/shechtman">shechtman</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/shull">shull</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/skou">skou</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/smalley">smalley</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/steitz">steitz</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/stoddart">stoddart</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/sumner">sumner</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/thomson">thomson</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/walker">walker</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/a.-warshel">warshel</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/watson">watson</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/wilkins">wilkins</a> </li> <li> <a href="//www.iucr.org/people/nobel-prize/yonath">yonath</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/people/crystallographers">crystallographers</a> </li> <li> <a class="drop" href="//www.iucr.org/people/photos">photos</a> </li> <li> <a class="current" href="//www.iucr.org/people/associates">associates</a> <ul> <li> <a href="//www.iucr.org/people/associates/faqs">faqs</a> </li> <li> <a href="//www.iucr.org/people/associates/joining-fees">fees</a> </li> <li> <a href="//www.iucr.org/people/associates/corporate">corporate</a> </li> </ul> </li> </ul> </li> <li><a class="drop" href="//www.iucr.org/resources">resources</a> <ul> <li> <a class="drop" href="//www.iucr.org/resources/world-directory">world directory</a> </li> <li> <a class="drop" href="//www.iucr.org/resources/other-directories">other directories</a> <ul> <li> <a href="//www.iucr.org/resources/other-directories/facilities">facilities</a> </li> <li> <a href="//www.iucr.org/resources/other-directories/organizations">organizations</a> </li> <li> <a href="//www.iucr.org/resources/other-directories/software">software</a> </li> <li> <a href="//www.iucr.org/resources/other-directories/suppliers">suppliers</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/resources/data">data</a> <ul> <li> <a href="//www.iucr.org/resources/data/databases">databases</a> </li> <li> <a href="//www.iucr.org/resources/data/datasets">data sets</a> </li> <li> <a href="//www.iucr.org/resources/data/meeting-reports">data-related meetings</a> </li> <li> <a href="//www.iucr.org/resources/data/dddwg">dddwg</a> </li> <li> <a href="//www.iucr.org/resources/data/commdat">commdat</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/resources/cif">cif</a> <ul> <li> <a href="//www.iucr.org/resources/cif/spec">specification</a> </li> <li> <a href="//www.iucr.org/resources/cif/documentation">documentation</a> </li> <li> <a href="//www.iucr.org/resources/cif/software">software</a> </li> <li> <a href="//www.iucr.org/resources/cif/comcifs">comcifs</a> </li> <li> <a href="//www.iucr.org/resources/cif/ddl">ddl</a> </li> <li> <a href="//www.iucr.org/resources/cif/dictionaries">dictionaries</a> </li> <li> <a href="//www.iucr.org/resources/cif/checkcif">checkcif</a> </li> <li> <a href="//www.iucr.org/resources/cif/cif2">cif2</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/resources/lists">lists</a> <ul> <li> <a href="//www.iucr.org/resources/lists/compcomm">compcomm</a> </li> <li> <a href="//www.iucr.org/resources/lists/teaching-commission">teaching-commission</a> </li> <li> <a href="//www.iucr.org/resources/lists/epc">epc</a> </li> <li> <a href="//www.iucr.org/resources/lists/ecacomsig">ecacomsig</a> </li> <li> <a href="//www.iucr.org/resources/lists/cif-developers">cif-developers</a> </li> <li> <a href="//www.iucr.org/resources/lists/comcifs">comcifs</a> </li> <li> <a href="//www.iucr.org/resources/lists/coredmg">coredmg</a> </li> <li> <a href="//www.iucr.org/resources/lists/corecifchem">corecifchem</a> </li> <li> <a href="//www.iucr.org/resources/lists/magcif">magcif</a> </li> <li> <a href="//www.iucr.org/resources/lists/hpc">high-pressure-crystallography</a> </li> <li> <a href="//www.iucr.org/resources/lists/ddlm-group">ddlm-group</a> </li> <li> <a href="//www.iucr.org/resources/lists/cif2-encoding">cif2-encoding</a> </li> <li> <a href="//www.iucr.org/resources/lists/pddmg">pddmg</a> </li> <li> <a href="//www.iucr.org/resources/lists/imgcif-l">imgcif-l</a> </li> <li> <a href="//www.iucr.org/resources/lists/sa_scat">sa_scat</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/resources/blogs">blogs</a> <ul> <li> <a href="//www.iucr.org/resources/blogs/crystal-mathematician">Crystal Mathematician</a> </li> <li> <a href="//www.iucr.org/resources/blogs/crystallites">Crystallites: news and opinion in crystallography</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/resources/forums">forums</a> </li> <li> <a class="drop" href="//www.iucr.org/resources/commissions">commissions</a> <ul> <li> <a href="//www.iucr.org/resources/commissions/aperiodic">aperiodic crystals</a> </li> <li> <a href="//www.iucr.org/resources/commissions/biological-macromolecules">biological macromolecules</a> </li> <li> <a href="//www.iucr.org/resources/commissions/crystal-growth">crystal growth and characterization of materials</a> </li> <li> <a href="//www.iucr.org/resources/commissions/computing">crystallographic computing</a> </li> <li> <a href="//www.iucr.org/resources/commissions/crystallographic-nomenclature">crystallographic nomenclature</a> </li> <li> <a href="//www.iucr.org/resources/commissions/crystallographic-teaching">crystallographic teaching</a> </li> <li> <a href="//www.iucr.org/resources/commissions/crysac">crystallography in art and cultural heritage</a> </li> <li> <a href="//www.iucr.org/resources/commissions/crystallography-of-materials">crystallography of materials</a> </li> <li> <a href="//www.iucr.org/resources/commissions/diffraction-microstructure-imaging">diffraction microstructure imaging</a> </li> <li> <a href="//www.iucr.org/resources/commissions/electron-crystallography">electron crystallography</a> </li> <li> <a href="//www.iucr.org/resources/commissions/high-pressure">high pressure</a> </li> <li> <a href="//www.iucr.org/resources/commissions/inorganic">inorganic and mineral structures</a> </li> <li> <a href="//www.iucr.org/resources/commissions/international-tables">international tables</a> </li> <li> <a href="//www.iucr.org/resources/commissions/journals">journals</a> </li> <li> <a href="//www.iucr.org/resources/commissions/magnetic-structures">magnetic structures</a> </li> <li> <a href="//www.iucr.org/resources/commissions/math">mathematical and theoretical crystallography</a> </li> <li> <a href="//www.iucr.org/resources/commissions/neutron-scattering">neutron scattering</a> </li> <li> <a href="//www.iucr.org/resources/commissions/nmr-crystallography">NMR crystallography</a> </li> <li> <a href="//www.iucr.org/resources/commissions/powder-diffraction">powder diffraction</a> </li> <li> <a href="//www.iucr.org/resources/commissions/csmd">quantum crystallography</a> </li> <li> <a href="//www.iucr.org/resources/commissions/small-angle-scattering">small-angle scattering</a> </li> <li> <a href="//www.iucr.org/resources/commissions/structural-chemistry">structural chemistry</a> </li> <li> <a href="//www.iucr.org/resources/commissions/synchrotron-radiation">synchrotron radiation</a> </li> <li> <a href="//www.iucr.org/resources/commissions/xafs">xafs</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/resources/nexus">nexus</a> </li> <li> <a class="drop" href="//www.iucr.org/resources/symmetry-font">symmetry font</a> </li> </ul> </li> <li><a class="drop" href="//www.iucr.org/education">education</a> <ul> <li> <a class="drop" href="//www.iucr.org/education/commission">teaching commission</a> </li> <li> <a class="drop" href="//www.iucr.org/education/pamphlets">pamphlets</a> <ul> <li> <a href="//www.iucr.org/education/pamphlets/1">1</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/2">2</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/3">3</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/4">4</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/5">5</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/6">6</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/7">7</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/8">8</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/9">9</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/10">10</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/11">11</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/12">12</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/13">13</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/14">14</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/15">15</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/16">16</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/17">17</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/18">18</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/19">19</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/20">20</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/21">21</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/22">22</a> </li> <li> <a href="//www.iucr.org/education/pamphlets/23">23</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/education/teaching-resources">teaching resources</a> <ul> <li> <a href="//www.iucr.org/education/teaching-resources/crystal-growing">crystal growing</a> </li> <li> <a href="//www.iucr.org/education/teaching-resources/polyhedral-models">polyhedral models</a> </li> <li> <a href="//www.iucr.org/education/teaching-resources/bragg-lecture-2001">bragg lecture 2001</a> </li> <li> <a href="//www.iucr.org/education/teaching-resources/symmetry-font">symmetry font</a> </li> <li> <a href="//www.iucr.org/education/teaching-resources/bernal-essay">bernal essay</a> </li> <li> <a href="//www.iucr.org/education/teaching-resources/lonsdale-lecture-2011">lonsdale lecture 2011</a> </li> <li> <a href="//www.iucr.org/education/teaching-resources/erice-2011">erice 2011</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/education/online-dictionary">online dictionary</a> </li> <li> <a class="drop" href="//www.iucr.org/education/resources">web resources</a> <ul> <li> <a href="//www.iucr.org/education/resources/archived">archived</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/education/young-scientists">young scientists</a> <ul> <li> <a href="//www.iucr.org/education/young-scientists/how-to-publish">how to publish</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/education/presentations">presentations</a> <ul> <li> <a href="//www.iucr.org/education/presentations/crystallography-and-sustainability">crystallography and sustainability</a> </li> </ul> </li> </ul> </li> <li><a class="drop" href="//www.iucr.org/outreach">outreach</a> <ul> <li> <a class="drop" href="//www.iucr.org/outreach/crystallography-around-the-world">crystallography around the world</a> </li> <li> <a class="drop" href="//www.iucr.org/outreach/openlabs">openlabs</a> <ul> <li> <a href="//www.iucr.org/outreach/openlabs/calendar">calendar</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-kenya">Bruker OpenLab Kenya</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/laaamp-bruker-openlab-benin-2">LAAAMP Bruker OpenLab Benin 2</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-congo-brazzavill">Bruker OpenLab Congo-Brazzaville</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/laaamp-bruker-openlab-benin">LAAAMP Bruker OpenLab Benin</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-ghana-2">Bruker OpenLab Ghana</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/malvern-panalytical-openlab-turkey-2">Malvern Panalytical OpenLab Turkey 2</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/openlab-ivory-coast">Bruker OpenLab C脙麓te d'Ivoire</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/openlab-costa-rica">LAAMP OpenLab Costa Rica</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/iucr-iupap-ictp-openlab-senegal">IUCr-IUPAP-ICTP OpenLab Senegal</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-cameroon">Bruker OpenLab Cameroon</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/rigaku-openlab-bolivia">Rigaku OpenLab Bolivia</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-albania">Bruker OpenLab Albania</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-uruguay-2">Bruker OpenLab Uruguay 2</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/rigaku-openlab-cambodia-2">Rigaku OpenLab Cambodia 2</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-vietnam-2">Bruker OpenLab Vietnam 2</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-senegal">Bruker OpenLab Senegal</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/panalytical-openlab-mexico-2">PANalytical OpenLab Mexico 2</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/ccdc-openlab-kenya">CCDC OpenLab Kenya</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-tunisia">Bruker OpenLab Tunisia</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-algeria">Bruker OpenLab Algeria</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/panalytical-openlab-turkey">PANalytical OpenLab Turkey</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-vietnam">Bruker OpenLab Vietnam</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/agilent-openlab-hong-kong">Agilent OpenLab Hong Kong</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/panalytical-openlab-mexico">PANalytical OpenLab Mexico</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/rigaku-openlab-colombia">Rigaku OpenLab Colombia</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/grenoble-darmstadt">grenoble-darmstadt</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/agilent-openlab-turkey">Agilent OpenLab Turkey</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-indonesia">Bruker OpenLab Indonesia</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-uruguay">Bruker OpenLab Uruguay</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/rigaku-openlab-cambodia">Rigaku OpenLab Cambodia</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/panalytical-openlab-ghana">PANalytical OpenLab Ghana</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-morocco">Bruker OpenLab Morocco</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/agilent-openlab-argentina">Agilent OpenLab Argentina</a> </li> <li> <a href="//www.iucr.org/outreach/openlabs/bruker-openlab-pakistan">Bruker OpenLab Pakistan</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/outreach/crystal-growing-competition">crystal growing competition</a> <ul> <li> <a href="//www.iucr.org/outreach/crystal-growing-competition/submit-entry">submit entry</a> </li> </ul> </li> <li> <a class="drop" href="//www.iucr.org/outreach/africa">initiative in africa</a> </li> <li> <a class="drop" href="//www.iucr.org/outreach/laamp">LAAAMP</a> </li> <li> <a class="drop" href="//www.iucr.org/outreach/icsu2015">IUCr-ICSU 2015</a> </li> <li> <a class="drop" href="//www.iucr.org/outreach/fund">outreach and education fund</a> </li> <li> <a class="drop" href="//www.iucr.org/outreach/iycr">iycr2014</a> </li> </ul> </li> </ul> </nav> <!-- ######################################################################################## --> </header> </div> <!-- ######################################################################################## --> <!-- ########################### WELCOME BANNER WITH IMAGE ################################## --> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <div class="wrapper bgded overlay" style="background-image:url('/cgi-bin/getiucrphoto.php?ms=associates&amp;no=48');"> <div id="pagetitle" style="padding:20px 0px 40px 0px;" class="hoc clear"> <div id="logo" class="fl_left"> <a href="#"><img src="/style/iucr/logo-IUCr_white_transp.png" alt="[IUCr logo]" title="My IUCr" style="width:66px;margin-top: -10px;margin-right: 10px;" /></a> </div> <h2><a href="#" style="text-decoration:none;">IUCr services</a></h2> </div> </div> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <!-- ############################## LIST OF MINISITES ####################################### --> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <!-- ##################################### BREADCRUMB ####################################### --> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <!-- #################################### MINISITES MENU #################################### --> <!-- ######################################################################################## --> <!-- ######################################################################################## --> <!-- ###################################################################################### --> <!-- ##################################### MAIN BODY ###################################### --> <!-- ###################################################################################### --> <div class="wrapper row3" id="page_body"> <main class="hoc container clear"> <!-- ############################### MESSAGE OF THE DAY OR OTHER HEADLINE ################# --> <div class="motd"> </div> <!-- ########################################## MAIN PAGE CONTENT ######################### --> <div class="clear"> <!-- Left sidebar hosts a navigation menu --> <!-- iucr indexable content starts here --> <div id="_layout_34Q" class="content three_quarter first"></div> <div id="_layout_34" class="content three_quarter"></div> <div id="_layout_full" class="content"> <div class="wdctitle">World Directory of Crystallographers search</div> <p> <font face="Arial, sans-serif">If you have used this search facility as a way of finding your own entry to check it, and you would like to update or add to it, then please use the 'Login' button that appears to the right of your details to log in and do so.</font> </p> <!-- Latest compiled JavaScript --> <!-- jQuery library --> <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>--> <script src="/javascript/jquery/jquery-3.6.2.js"> <!-- Popper JS --> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script> <!-- Latest Bootrap --> <!--link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <!--<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>--> <script src="/javascript/bootstrap/bootstrap_4.6.2_bundle.js"></script> <link rel="stylesheet" type="text/css" href="/styles/css//bootstrap_4.6.2_.css" /> <script src="https://kit.fontawesome.com/6f48be5846.js" crossorigin="anonymous"></script> <!-- jQuery library --> <script type="text/javascript" src="/javascript/todo.js"></script> <script type="text/javascript" src="/javascript/tabber-minimized.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.2.0/jquery-confirm.min.js"></script> <script src ="https://code.jquery.com/jquery-1.10.2.js"></script> <script src ="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <script src="/javascript/datepick/js/jquery.plugin.js"></script> <script src="/javascript/datepick/js/jquery.datepick.js"></script> <script src="/javascript/datepick/js/jquery.datepick-en-GB.js"></script> <!--<script src="js/load-image.all.min.js"></script>--> <script src="/javascript/publorgsTA_src.js?nocache=true"></script> <script type="text/javascript"> // javascript multi dimensional arrays populated from perl var bodyPosLinksList = []; var bodiesList = []; var messageAreaID = ""; var posDescription = ""; function change_user_name(bioUserName, bio_ip_address) { window.scrollTo(0,0); Alert.render("Edit/Change username/password", "<input type='hidden' id='ipAddress' name='ipAddress' value='" + bio_ip_address + "'>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='userName'>Username&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' id='userName' class='field' autocomplete='on' maxlength='64' value='" + bioUserName + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='changepwd'>Change password?&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='checkbox' id='changepwd' class='field' onclick='display_new_password_fields()'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='oldPsswrd'>Old password*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='password' id='oldPsswrd' class='field' disabled maxlength='50' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='newPsswrd1'>New password*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='password' id='newPsswrd1' disabled maxlength='50' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='newPsswrd2'>Repeat new password*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='password' id='newPsswrd2' disabled maxlength='50' value=''>" + " </div>" + "</div>" + "<br /><p id='asterisk' style='visibility:hidden;'>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageAreaUname' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save changes and update record' onclick='save_name_pwd_changes()'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); } function display_new_password_fields() { if (document.getElementById('changepwd').checked) { document.getElementById('asterisk').style.visibility = 'visible'; document.getElementById('oldPsswrd').disabled = false; document.getElementById('newPsswrd1').disabled = false; document.getElementById('newPsswrd2').disabled = false; document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; } else { document.getElementById('asterisk').style.visibility = 'hidden'; document.getElementById('oldPsswrd').disabled = true; document.getElementById('newPsswrd1').disabled = true; document.getElementById('newPsswrd2').disabled = true; document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; } } function save_name_pwd_changes() { var origName = document.getElementById('origUserName').value; var newName = document.getElementById('userName').value; var oldPwd = document.getElementById('oldPsswrd').value; var newPwd1 = document.getElementById('newPsswrd1').value; var newPwd2 = document.getElementById('newPsswrd2').value; var ipAddress = document.getElementById('ipAddress').value; var iucrID = document.getElementById('iucrID').value; var personID = document.getElementById('personID').value; if (origName == newName && !document.getElementById('changepwd').checked) { document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; document.getElementById('messageAreaUname').innerHTML = '<strong>You have not made any changes to any field. If you wish to close the dialog box click the cancel button.</strong>'; document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; return true; } if (origName != newName && !document.getElementById('changepwd').checked) { var passedData = iucrID + "~" + personID + "~" + origName + "~" + newName + "~" + "" + "~" + "" + "~" + ipAddress; sndReq("editUNamePsswrd", passedData); //Alert.ok(); //window.location=window.location; } if (oldPwd == '' && document.getElementById('changepwd').checked) { document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; document.getElementById('messageAreaUname').innerHTML = '<strong>You have ticked the change password tick box, however, you have not entered any values into the old password field. If you wish to change your password please enter your existing password in the old password field or untick the change password tick box if you wish to continue and change your user name. Otherwise click cancel to close the dialog box.</strong>'; document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; return true; } if (oldPwd != '' && document.getElementById('changepwd').checked) { document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; if (newPwd1 == '' || newPwd2 == '') { document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; document.getElementById('messageAreaUname').innerHTML = '<strong>You must enter a value in both the new password and repeat new password fields. Please re-enter your new password in both fields and try again or click cancel to close the dialog box.</strong>'; document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; document.getElementById('newPsswrd1').focus(); return true; } else { var newPwds = newPwd1.localeCompare(newPwd2); if (newPwds != 0) { document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; document.getElementById('messageAreaUname').innerHTML = '<strong>You must enter the same value in both the new password and repeat new password fields. Please re-enter your same value in both fields and try again or click cancel to close the dialog box.</strong>'; document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; document.getElementById('newPsswrd1').focus(); return true; } else { var passedData = iucrID + "~" + personID + "~" + origName + "~" + newName + "~" + oldPwd + "~" + newPwd1 + "~" + ipAddress; sndReq("editUNamePsswrd", passedData); //Alert.ok(); //location.reload(true); } } //} } } function photo_upload() { var photopath = document.getElementById('photo').value; var sessionid = document.getElementById('session_id').value; var photoDetails = ''; if (photopath != '') { photoDetails = document.getElementById("avatar").innerHTML; } else { photoDetails = ""; } Alert.render("Upload photo", " <form id='upload_photo_frm' method='post' action='upload_photo' enctype='multipart/form-data'>" + " <input type='hidden' id='login_id' name='login_id' value='" + sessionid + "'>" + " <input type='hidden' id='submitting' name='submitting' value=''>" + " <input type='hidden' id='uploadphoto' name='uploadphoto' value='Upload'>" + " <div class='row'>" + " <div class='col-40'>" + " <label for='photo-image'>Portrait image&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + photoDetails + " <input type='file' id='photo' name='photo' accept='.gif'>" + " </div>" + " </div>" + " <br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , " <div id='messageArea' class='messageArea'></div>" + " <div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save changes and update record' onclick='update_photo()'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + " </div>" + " </form>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); } function update_photo() { document.getElementById("upload_photo_frm").submit(); } function display_format_changes() { Alert.render("Format changes help", " <div class='row'>" + " <div style='font-weight: normal;'>" + " <p>" + " <p>The following briefly describes changes that have been made to the edit details process.</p>" + " <p>Each section/item is now editable and has an edit details icon <span><i class='glyphicon glyphicon-edit'></i></span> on the right side of the section/item. Clicking this button will display a dialog box with the relevant details listed, these details can be overwirtten or changed by clicking on the <kbd>save changes</kbd> button on the dialog box, to update the section/item.</p>" + " <p>You can now also add additional items to a section by clicking on the <kbd>Add new</kbd> button. This will display a dialog box where you can enter the details of the new item.</p>" + " </p>" + " </div>" + " </div>", " <div id='messageArea' class='messageArea'></div>" + " <div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Close the help screen' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Close</button>" + " </div>"); } function edit_bio_data(bioOrcid, bioTitle, bioForename, bioInit, bioFmlyName, bioOrigSurname, bioDynasty, bioYOB, bioPrimURL, bioSecURL, bioOcc, bioTypeOfOrg, bioDegree, bioAwardingInst, bioDegYr, bioDegSub, bioGender) { window.scrollTo(0,0); var blurFunction = "getInitials(this.value)"; if (bioOrcid !== null && bioOrcid !== '' && bioOrcid !== " ") { bioOrcid.replace(/\s+/g, ''); } else { bioOrcid = ''; } Alert.render('Edit biographical data', "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-orcid' title='Link your IUCr record to an existing ORCID'>Link to existing ORCID&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <span>" + " <input type='text' class='field' id='bio-orcid' autocomplete='on' maxlength='80' style='max-width:50%; float:left;' value=''>" + " <img src='/logos/orcid-id.gif' alt='orcid logo' style='float:left; padding-left:5px;'>" + " </span>" + " </div>" + "</div>" + "<hr>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-title' title='Honorific, such as Dr, Professor or Ms. Select the most appropriate title from the drop-down list, or leave blank. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Title&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select class='field' id='bio-title' name='bio-title' style='max-width:30%'>" + " <option selected='selected' value=''>Please select ...</option>" + " <option value='Dr'>Dr</option>" + " <option value='Professor'>Professor</option>" + " <option value='Professor Dr'>Professor Dr</option>" + " <option value='Miss'>Miss</option>" + " <option value='Mr'>Mr</option>" + " <option value='Mrs'>Mrs</option>" + " <option value='Ms'>Ms</option>" + " </select>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-forename' " + " title='Your given name or names within your family (e.g. Robert Louis or Chun-Jung). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>First name(s)&nbsp&nbsp" + " </label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-forename' autocomplete='on' maxlength='80' style='max-width:80%' onblur='getInitials(this.value)' value='" + bioForename + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-initials' " + " title='The initial letters of your first name or names (e.g. R. L. or C.-J.). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>First name initial(s)&nbsp&nbsp" + " </label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-initials' autocomplete='on' maxlength='20' style='max-width:20%' value='" + bioInit + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-surname' title='Your family name (e.g. Stevenson or Chen). This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Surname*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-surname' autocomplete='on' maxlength='255' style='max-width:80%' value='" + bioFmlyName + "'>" + " </div>" + "</div>"+ "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-orig-surname' title='Your maiden or unmarried name, if your name has changed on marriage, or your previous name if your name has changed for some other reason. This is useful, for example if you have published research work under an earlier name. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Original surname (if different)&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-orig-surname' autocomplete='on' maxlength='255' style='max-width:80%' value='" + bioOrigSurname + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-gender' title='Your preferred gender.'>Preferred gender&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select class='field' id='bio-gender' autocomplete='on' style='max-width:40%'>" + " <option value=''>please select ...</option>" + " <option value='Male'>Male</option>" + " <option value='Female'>Female</option>" + " <option value='Nonbinary'>Nonbinary</option>" + " <option value='Unknown'>prefer not to specify</option>" + " </select>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-dynasty' title='E.g. Jr or III. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Dynasty&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-dynasty' autocomplete='on' maxlength='40' style='max-width:70%' value='" + bioDynasty + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-yob' title='The four-digit year in which you were born (e.g. 1953). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Year of birth&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-yob' autocomplete='on' style='max-width:20%' value='" + bioYOB + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-prim-url' title='This is the URL of your main home page, if you have one. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Primary URL&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='url' class='field' id='bio-prim-url' autocomplete='on' maxlength='255' style='max-width:80%' value='" + bioPrimURL + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-sec-url' title='This is the URL of your main home page, if you have one. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Secondary URL&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='url' class='field' id='bio-sec-url' autocomplete='on' maxlength='255' style='max-width:80%' value='" + bioSecURL + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-occupation' title='Your main occupation, position or job title (e.g. Professor, Lecturer, Student). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Occupation*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-occupation' autocomplete='on' maxlength='150' style='max-width:80%' value='" + bioOcc + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-type-org' title='The type of organisation in which you work, if any (e.g. government laboratory, university or college, research institution). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Type of organisation&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-type-org' autocomplete='on' maxlength='80' style='max-width:80%' value='" + bioTypeOfOrg + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-degree' title='Your highest degree (e.g. DSc). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Highest degree&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-degree' autocomplete='on' maxlength='80' style='max-width:20%' value='" + bioDegree + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-awarding-inst' title='The institution which awarded your highest degree. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Insitute awarding the degree&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-awarding-inst' autocomplete='on' maxlength='100' style='max-width:80%' value='" + bioAwardingInst + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-degree-year' title='The year in which your highest degree was awarded. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Degree year&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-degree-year' autocomplete='on' maxlength='4' style='max-width:15%' value='" + bioDegYr + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='bio-degree-subject' title='The subject area of your highest degree. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Degree subject&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='bio-degree-subject' autocomplete='on' maxlength='80' style='max-width:80%' value='" + bioDegSub + "'>" + " </div>" + "</div>" + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save changes and update record' onclick='save_bio_changes()'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); document.getElementById('bio-title').value = bioTitle; document.getElementById('bio-gender').value = bioGender; document.getElementById('bio-orcid').innerText = ""; document.getElementById('bio-orcid').value = bioOrcid; if (bioInit == '' || bioInit == null || bioInit == 'undefined') { var input = document.getElementById("bio-forename").value; var names = input.split(' '); var initials = names[0].substring(0, 1).toUpperCase(); if (names.length > 1) { initials += ". " + names[names.length - 1].substring(0, 1).toUpperCase() + "."; } document.getElementById("bio-initials").value = initials; } } function getInitials(input) { var names = input.split(' '); var initials = names[0].substring(0, 1).toUpperCase(); if (names.length > 1) { initials += ". " + names[names.length - 1].substring(0, 1).toUpperCase() + "."; } document.getElementById("bio-initials").value = initials; } function save_bio_changes() { var bioSurname = document.getElementById('bio-surname').value; var bioOccupation = document.getElementById('bio-occupation').value; var error = 'n'; var bioErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; // bio-orcid is not a mandatory field however, I want to validate the input to ensure it is in the right format var bioOrcid = document.getElementById('bio-orcid').value; var orcid_pattern = /[0-9]{4}-[0-9]{4}-[0-9]{4}-[a-zA-Z0-9]{4}/; var match = bioOrcid.match(orcid_pattern); document.getElementById('bio-orcid').value = bioOrcid.replace(/\s/g, '') if (match && match.length > 0) { document.getElementById('bio-orcid').className = ''; document.getElementById('bio-orcid').setAttribute('title', ''); } else if (match === null) { document.getElementById('bio-orcid').className = ''; document.getElementById('bio-orcid').setAttribute('title', ''); } else { document.getElementById('bio-orcid').className = 'errorFld'; document.getElementById('bio-orcid').setAttribute('title', 'An ORCID id has the format 0000-0000-0000-0000. Please enter a valid ORCID or make sure the field has no data in it.'); error = 'y'; } // validate the mandatory fields if (bioSurname == '') { document.getElementById('bio-surname').className = 'errorFld'; document.getElementById('bio-surname').setAttribute('title', 'Your family name (e.g. Stevenson or Chen). This is a mandatory field and must have a value.') error = 'y'; } else { document.getElementById('bio-surname').className = ''; document.getElementById('bio-surname').setAttribute('title', '') } if (bioOccupation == '') { document.getElementById('bio-occupation').className = 'errorFld'; document.getElementById('bio-occupation').setAttribute('title', 'Your current occupation. This is a mandatory field and must have a value.') error = 'y'; } else { document.getElementById('bio-occupation').className = ''; document.getElementById('bio-occupation').setAttribute('title', '') } if (error == 'y') { document.getElementById('messageArea').innerHTML = bioErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { var bioOrcid = document.getElementById('bio-orcid').value; var bioTitleSelect = document.getElementById('bio-title'); var bioTitle = ""; if (bioTitleSelect.selectedIndex >= 0) { bioTitle = bioTitleSelect.options[bioTitleSelect.selectedIndex].text; } var iucrID = document.getElementById('iucrID').value; var personID = document.getElementById('personID').value; var bioForename = escapeHtml(document.getElementById('bio-forename').value); var bioInitials = escapeHtml(document.getElementById('bio-initials').value); var bioSurname = escapeHtml(document.getElementById('bio-surname').value); var bioOrigSnme = escapeHtml(document.getElementById('bio-orig-surname').value); var bioDynasty = escapeHtml(document.getElementById('bio-dynasty').value); var bioYOB = document.getElementById('bio-yob').value; var bioPrimURL = document.getElementById('bio-prim-url').value; var bioSecURL = document.getElementById('bio-sec-url').value; var bioOcc = escapeHtml(document.getElementById('bio-occupation').value); var bioOrg = escapeHtml(document.getElementById('bio-type-org').value); var bioDegree = document.getElementById('bio-degree').value; var bioDegInst = escapeHtml(document.getElementById('bio-awarding-inst').value); var bioDegYr = document.getElementById('bio-degree-year').value; var bioDegSubj = escapeHtml(document.getElementById('bio-degree-subject').value); var bioGender = document.getElementById('bio-gender').value; var passedData = iucrID + "~" + personID + "~" + bioTitle + "~" + bioForename + "~" + bioInitials + "~" + bioSurname + "~" + bioOrigSnme + "~" + bioDynasty + "~" + bioYOB + "~" + bioPrimURL + "~" + bioSecURL + "~" + bioOcc + "~" + bioOrg + "~" + bioDegree + "~" + bioDegInst + "~" + bioDegYr + "~" + bioDegSubj + "~" + bioOrcid + "~" + bioGender ; sndReq("editBioData", passedData); Alert.ok(); location.reload(true); } } function edit_add_data(addrid, adiv, main, inst, street, city, county, pcode, iso, country, comment, maillabel) { //alert ("address id: '" + addrid + "'\ndiv: '" + adiv + "'\nmain: '" + main + "'\ninst: '" + inst + "'\nstreet: '" + street + "'\ncity: '" + city + "'\ncounty: '" + county + "'\npcode: '" + pcode + "'\niso: '" + iso + "'\ncountry: '" + country + "'\ncomment: '" + comment + "'\nmaillabel: '" + maillabel + "'\n"); var checkMain = ""; var delBtn = ""; var personId = document.getElementById('personID').value; var countriesSelect = document.getElementById('countriesDropDown').innerHTML; window.scrollTo(0,0); if (main == 'y') { checkMain = "<input type='checkbox' class='field' id='add-main' checked disabled title='To delete a main address, either add a new address as main, or edit an existing address and set it as the main address.'/>"; } else { checkMain = "<input type='checkbox' class='field' id='add-main' title='Setting this address as your main address will cause the current main address to be set as a secondary address.'/>"; delBtn = "<button class='btn btn-default btn-xs' title='Delete address' onclick='delete_address();'><span class='glyphicon glyphicon-trash' style='padding-left;' area-hidden='true'></span> Delete address</button>"; } // the following code allows text recognition in the organsization field, however, it is not working in the alert due to the // nested quotes "'" etc. I have tried escaping the quotes with " however, that didn't work. I have used the template character // `text`, however, that did not work either. Also tried creating a hidden text field with the code and reading that in, didn't work, // unsure what to do so code included here for future discussion. //data-publorgs='{"onitemselected":"changedCallback","localizeCountrySelect":"true"}' Alert.render("Edit address details", "<input type='hidden' id='add-id' value='" + addrid + "'>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-div' title='Your department or division within your organization. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Department&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-div' autocomplete='on' maxlength='125' style='max-width:80%' value='" + adiv + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-inst' title='The name of your institution or organization. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Organisation&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-inst1' name='organization1' autocomplete='on' maxlength='125' style='max-width:80%; left:0px;' value='" + inst + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-street' title='The street component of your address, including details of the district within a town or city. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Street/PO box*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-street' maxlength='125' style='max-width:70%' value='" + street + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-city' title='Your city or town. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>City/town*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-city' name='city1' maxlength='80' style='max-width:40%' value='" + city + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-county' title='Your state, province, county or region. Please use any standard abbreviated form for postal delivery (e.g. TX, Leics., NSW). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>State/province/county&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-county' name='county1' maxlength='175' style='max-width:50%' value='" + county + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-pcode' title='The postcode or zip code of your address. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Post/zip code*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-pcode' maxlength='45' style='max-width:25%' value='" + pcode + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='countriesSelect' title='Your country. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Country*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select class='field' id='countriesSelect' name='countries1' style='max-width:50%'>" + countriesSelect + "</select>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-main' title='If you have more than one address, click on this button to identify which address is your main address.'>Main address&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + checkMain + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-comment' title='It may be useful to add a note to your address if you have more than one, describing what address it is (e.g. home address). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Comment&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea class='field' id='add-comment' placeholder='add comments here'>" + comment + "</textarea>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-mail-label' title='If the above components of your address have to be written in a certain order when mail is addressed to you, and this order is nonstandard or includes components for which there are not fields above, then you may add a mailing label form of your address here.'>Mailing label&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea class='field' id='add-mail-label' placeholder='add comments here'>" + maillabel + "</textarea>" + " </div>" + "</div><br/>" + "<p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + delBtn + " <button class='btn btn-default btn-xs' title='Save changes and update record' onclick='edit_add_changes()'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); setSelectedIndex(document.getElementById('countriesSelect'), iso); publorgsTA.create_ta_widget(document.getElementById('add-inst1'), {onitemselected: "changedCallback"}); } function delete_address() { var addid = document.getElementById('add-id').value; var perid = document.getElementById('personID').value; var passedData = perid + "," + addid; sndReq("deleteAddress", passedData); Alert.ok(); location.reload(true); } function add_new_address() { window.scrollTo(0,0); var personId = document.getElementById('personID').value; var countriesSelect = document.getElementById('countriesDropDown').innerHTML; // the following code allows text recognition in the organsization field, however, it is not working in the alert due to the // nested quotes "'" etc. I have tried escaping the quotes with " however, that didn't work. I have used the template character // `text`, however, that did not work either. Also tried creating a hidden text field with the code and reading that in, didn't work, // unsure what to do so code included here for future discussion. //data-publorgs='{"onitemselected":"changedCallback","localizeCountrySelect":"true"}' Alert.render("Add new address details", "<input type='hidden' id='add-main' value='n'>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-div' title='Your department or division within your organization. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Department&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-div' maxlength='125' style='max-width:80%' placeholder='enter department' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-inst' title='The name of your institution or organization. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Organisation&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-inst2' name='organization2' maxlength='125' style='max-width:80%; left:0px;' placeholder='enter organisation' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-street' title='The street component of your address, including details of the district within a town or city. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Street/PO box*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-street' maxlength='125' style='max-width:70%' placeholder='enter street/PO box' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-city' title='Your city or town. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>City/town*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-city2' name='city2' maxlength='80' style='max-width:40%' placeholder='enter city/town' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-county' title='Your state, province, county or region. Please use any standard abbreviated form for postal delivery (e.g. TX, Leics., NSW). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>State/province/county&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-county2' name='county2' maxlength='175' style='max-width:50%' placeholder='enter state/province/county' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-pcode' title='The postcode or zip code of your address. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Post/zip code*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add-pcode' maxlength='45' style='max-width:25%' placeholder='enter post code' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='countries2' title='Your country. This is a required field. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Country*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select class='field' id='countries2' name='country2' style='max-width:50%'>" + countriesSelect + "</select>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-main-checkbox' title='If you have more than one address, click on this button to identify which address is your main address.'>Main address&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='checkbox' class='field' id='add-main-checkbox' title='Setting this address as your main address will cause the current main address to be set as a secondary address.'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-comment' title='It may be useful to add a note to your address if you have more than one, describing what address it is (e.g. home address). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Comment&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea class='field' id='add-comment' placeholder='add comments here'></textarea>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='add-mail-label' title='If the above components of your address have to be written in a certain order when mail is addressed to you, and this order is nonstandard or includes components for which there are not fields above, then you may add a mailing label form of your address here.'>Mailing label&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea class='field' id='add-mail-label' placeholder='add comments here'></textarea>" + " </div>" + "</div><br/>" + "<p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save new address' onclick='save_new_add()'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save address</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); document.getElementById('add-div').focus(); publorgsTA.create_ta_widget(document.getElementById('add-inst2'), {onitemselected: "changedCallback"}); publorgsTA.localizeCountrySelect(document.querySelector('select[name="country2"]')); } function edit_add_changes() { var error = ''; var addrid = document.getElementById('add-id').value; var addISOSel = document.getElementById('countriesSelect'); var addISO = addISOSel.options[addISOSel.selectedIndex].value; var personId = document.getElementById('personID').value; var adiv = escapeHtml(document.getElementById('add-div').value); var inst = escapeHtml(document.getElementById('add-inst1').value); var str = escapeHtml(document.getElementById('add-street').value); var pcode = document.getElementById('add-pcode').value; var main = 'n'; var comment = escapeHtml(document.getElementById('add-comment').value); var maillabel = escapeHtml(document.getElementById('add-mail-label').value); var county = document.getElementById('add-county').value; var city = document.getElementById('add-city').value; var mainAddId = document.getElementById('main-add-id').value; var addErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; if (document.getElementById('add-main').checked == true) { main = 'y'; } if (str == '') { document.getElementById('add-street').className = 'errorFld'; document.getElementById('add-street').setAttribute('title', 'Street/PO box is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('add-street').className = ''; document.getElementById('add-street').setAttribute('title', ''); } if (city == '') { document.getElementById('add-city').className = 'errorFld'; document.getElementById('add-city').setAttribute('title', 'City/town is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('add-city').className = ''; document.getElementById('add-city').setAttribute('title', ''); } if (pcode == '') { document.getElementById('add-pcode').className = 'errorFld'; document.getElementById('add-pcode').setAttribute('title', 'Post/zip code is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('add-pcode').className = ''; document.getElementById('add-pcode').setAttribute('title', ''); } if (addISO == '00') { document.getElementById('countriesSelect').className = 'errorFld'; document.getElementById('countriesSelect').setAttribute('title', 'Country is a mandatory field and must contain the country the address is relevant to.'); error = 'y'; } else { document.getElementById('countriesSelect').className = ''; document.getElementById('countriesSelect').setAttribute('title', ''); } if (error == 'y') { document.getElementById('messageArea').innerHTML = addErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { var passedData = personId + "~" + addISO + "~" + adiv + "~" + inst + "~" + str + "~" + pcode + "~" + main + "~" + comment + "~" + maillabel + "~" + county + "~" + city + "~" + mainAddId + "~" + addrid ; sndReq("editAddress", passedData); Alert.ok(); location.reload(true); } } function save_new_add() { var error = ''; main var addISOSel = document.getElementById('countries2'); var addISO = addISOSel.options[addISOSel.selectedIndex].value; var personId = document.getElementById('personID').value; var adiv = document.getElementById('add-div').value; var inst = document.getElementById('add-inst2').value; var str = document.getElementById('add-street').value; var pcode = document.getElementById('add-pcode').value; var main = 'n'; var comment = document.getElementById('add-comment').value; var maillabel = document.getElementById('add-mail-label').value; var county = document.getElementById('add-county2').value; var city = document.getElementById('add-city2').value; var mainAddId = ''; var addErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; if (document.getElementById('add-main-checkbox').checked == true) { main = 'y'; mainAddId = document.getElementById('main-add-id').value; } if (str == '') { document.getElementById('add-street').className = 'errorFld'; document.getElementById('add-street').setAttribute('title', 'Street/PO box is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('add-street').className = ''; document.getElementById('add-street').setAttribute('title', ''); } if (city == '') { document.getElementById('add-city2').className = 'errorFld'; document.getElementById('add-city2').setAttribute('title', 'City/town is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('add-city2').className = ''; document.getElementById('add-city2').setAttribute('title', ''); } if (pcode == '') { document.getElementById('add-pcode').className = 'errorFld'; document.getElementById('add-pcode').setAttribute('title', 'Post/zip code is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('add-pcode').className = ''; document.getElementById('add-pcode').setAttribute('title', ''); } if (addISO == '00') { document.getElementById('countries2').className = 'errorFld'; document.getElementById('countries2').setAttribute('title', 'Country is a mandatory field and must contain the country the address is relevant to.'); error = 'y'; } else { document.getElementById('countries2').className = ''; document.getElementById('countries2').setAttribute('title', ''); } if (error == 'y') { document.getElementById('messageArea').innerHTML = addErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { var passedData = personId + "~" + addISO + "~" + adiv + "~" + inst + "~" + str + "~" + pcode + "~" + main + "~" + comment + "~" + maillabel + "~" + county + "~" + city + "~" + mainAddId ; sndReq("addAddress", passedData); Alert.ok(); location.reload(true); } } function edit_comm_data(type, number, main, comment, dod) { window.scrollTo(0,0); var checkMain = ""; var delBtn = ""; var personId = document.getElementById('personID').value; var typeHeading1 = ""; var typeHeading2 = ""; if (main == 'y' && type == 'phone' || type == 'mobile' || type == 'fax') { checkMain = "<input type='checkbox' class='set-width field' id='comm-main' title='To remove a main contact number either add a new number as the main contact number, or edit an existing other number and set it as the main contact number.' disabled checked />"; //if (dod == "") //{ delBtn = "<button class='btn btn-default btn-xs' title='Delete record' onclick='delete_comm_rcrd();'><span class='glyphicon glyphicon-trash' style='padding-left;' area-hidden='true'></span> Delete</button>"; //} } else { checkMain = "<input type='checkbox' class='set-width field' id='comm-main' title='Setting this contact number as your main contact number will cause the current main contact number to be set as a secondary contact number.'/>"; delBtn = "<button class='btn btn-default btn-xs' title='Delete record' onclick='delete_comm_rcrd();'><span class='glyphicon glyphicon-trash' style='padding-left;' area-hidden='true'></span> Delete</button>"; } switch (type) { case 'phone': typeHeading1 = 'Telephone' typeHeading2 = 'telephone' break; case 'fax': typeHeading1 = 'Fax' typeHeading2 = 'fax' break; } Alert.render("Edit communication details", "<input type='hidden' id='comm-type' value='" + type + "'>" + "<input type='hidden' id='orig-comm-number' value='" + number + "'>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='comm-num' title='Telephone numbers should include country and area codes; extension numbers may be added with a preceding x (e.g. 44(1244)342878x215, 1(716)852608). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>" + typeHeading1 + " number*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <label id='intlDial' value= ''></label><input type='tel' class='field' id='comm-num' name='comm-num' style='max-width:100%' required value='" + number + "'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='comm-main' title='If you have more than one telephone number, click on this button to identify which one is your main number. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Main " + typeHeading2 + " number&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + checkMain + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='comm-comment' title='You may add a note to each telephone number (e.g. Home number, Landline, Mobile). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Comment&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea id='comm-comment' class='field' placeholder='add comments here'>" + comment + "</textarea>" + " </div>" + "</div>" + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + delBtn + " <button class='btn btn-default btn-xs' title='Save changes and update record' onclick='edit_comm_changes();'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); } function edit_comm_changes() { var error = ''; var mainComNbr = document.getElementById('main-comm-number').value; var type = document.getElementById('comm-type').value; var personId = document.getElementById('personID').value; var number = document.getElementById('comm-num').value; var origNum = document.getElementById('orig-comm-number').value; var main = 'n'; var comment = escapeHtml(document.getElementById('comm-comment').value); var commErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; if (document.getElementById('comm-main').checked == true) { main = 'y'; } if (number == '') { document.getElementById('comm-num').className = 'errorFld'; document.getElementById('comm-num').setAttribute('title', 'The contact telephone/fax number is a mandatory field and must have a value.'); error = 'y'; } else { document.getElementById('comm-num').className = ''; document.getElementById('comm-num').setAttribute('title', ''); } if (error == 'y') { document.getElementById('messageArea').innerHTML = commErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { var passedData = personId + "~" + type + "~" + origNum + "~" + number + "~" + main + "~" + comment + "~" + mainComNbr ; sndReq("editComm", passedData); Alert.ok(); location.reload(true); } } function delete_comm_rcrd() { var contactNum = document.getElementById('comm-num').value; var perid = document.getElementById('personID').value; var contactType = document.getElementById('comm-type').value; contactNum = contactNum.replace(' ext. ', 'x'); //alert (contactNum); var passedData = contactNum + "," + perid + "," + contactType; sndReq("deleteContactNum", passedData); Alert.ok(); location.reload(true); } function add_new_comm_item() { window.scrollTo(0,0); var personId = document.getElementById('personID').value; Alert.render("Add communication details", "<input type='hidden' id='main-comm-number' value='n'>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='comm-type-select' title='Select the type of number you are about to enter.'>Device type*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select id='comm-type-select' class='field' style='max-width:30%'>" + " <option value='phone'>Phone</option>" + " <option value='mobile'>Mobile</option>" + " <option value='fax'>Fax</option>" + " </select>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='comm-num' title='Telephone numbers should include country and area codes; extension numbers may be added with a preceding x (e.g. 44(1244)342878x215, 1(716)852608). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Contact number*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='tel' id='comm-num' class='field' style='max-width:100%' value=''>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='main-comm-type-checkbox' title='If you have more than one telephone number, click on this button to identify which one is your main number. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Main contact number&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='checkbox' id='main-comm-type-checkbox' class='field' title='Setting this contact number as your main contact number will cause the current main contact number to be set as a secondary contact number.'>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-40'>" + " <label for='comm-comment' title='You may add a note to each telephone number (e.g. Home number). (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Comment&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea id='comm-comment' class='field' placeholder='add comments here'></textarea>" + " </div>" + "</div>" + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>", "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Add the new contact number' onclick='save_new_comm_item();'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); var input = document.querySelector("#comm-num"); } function save_new_comm_item() { var error = ''; var commtype = document.getElementById('comm-type-select').value; var commNumber = document.getElementById('comm-num').value; var personId = document.getElementById('personID').value; var commMain = "n"; var mainCommNumber = document.getElementById('main-comm-number').value; if(document.getElementById('main-comm-type-checkbox').checked == true){commMain = 'y'}; var commComment = document.getElementById('comm-comment').value; var addErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. <br />Please fix any errors and resubmit.</strong>'; if (commNumber == '') { document.getElementById('comm-num').className = 'errorFld'; document.getElementById('comm-num').setAttribute('title', 'Telephone/Mobile or Fax number is a mandatory field and must have a value.'); document.getElementById('messageArea').innerHTML = addErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; error = 'y'; } else { document.getElementById('comm-num').className = ''; document.getElementById('comm-num').setAttribute('title', ''); document.getElementById('messageArea').innerHTML = ''; document.getElementById('messageArea').className = ''; error = 'n'; } if (error == 'n') { var passedData = personId + "~" + mainCommNumber + "~" + commtype + "~" + commNumber + "~" + commMain + "~" + commComment ; sndReq("addCommunicationNumber", passedData); Alert.ok(); location.reload(true); } } function edit_role_data(historyId, roleId, roleDesc, catId, bodyId, bodyDesc, posId, posDesc, startDate, endDate, historyNotes, staffMember) { posDescription = posDesc; window.scrollTo(0,0); // set up the select box items for the body description drop down box and select the active entry var roleDropDown = document.getElementById('activeRoleDropDown').innerHTML; var bodyDropDown = document.getElementById('bodiesDropDownDiv').innerHTML; bodyDropDown = bodyDropDown.replace("bodySelectDD", "bodySelect"); var positionsBox = ""; positionsBox = "<div class='row' id='positionBox'>" + " <div class='col-40'>" + " <label for='positionSelect' title='Role within a body of the IUCr. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Position description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><select id='positionSelect' class='field' style='max-width:80%' placeholder='please select ...'><option value='0'>please select ... </option></select></div>" + "</div>"; // build the roles select box var roleSelectDiv = ""; if (staffMember != 'y') { roleSelectDiv = "<div class='row' hidden>" + " <div class='col-40'>" + " <label for='activeRoles' title='Use this field for roles you have in other professional and crystallography-related organizations, such as memberships of national crystallographic committees and societies, editorial positions on scholarly journals etc. (If you have a role within an IUCr body which is not included here, please mail wdc@iucr.org.) (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Role description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><select id='activeRoles' class='field' style='max-width:80%'><option value='0'>please select ...</option>" + roleDropDown + " </select></div>" + "</div>"; } else { roleSelectDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='activeRoles' title='Use this field for roles you have in other professional and crystallography-related organizations, such as memberships of national crystallographic committees and societies, editorial positions on scholarly journals etc. (If you have a role within an IUCr body which is not included here, please mail wdc@iucr.org.) (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Role description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><select id='activeRoles' class='field' style='max-width:80%'><option value='0'>please select ...</option>" + roleDropDown + " </select></div>" + "</div>"; } // build the body select box var bodySelectDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='bodySelect' title='Use this field for the position you have in other professional and cystallography-related organizations. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Body description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60' style='max-width:80%'>" + bodyDropDown + " </div>" + "</div>"; // build the position select box var posSelectDiv = positionsBox; if (startDate === '01-Jan-1900') { startDate = ""; } // build the start date input var startDateDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='edit_role_start_date' title='Enter/select the date you started the role within the IUCr or other professional and cystallography-related organizations. (Public information if you choose inclusion in the World Directory of Crystallographers.)' style='max-width:90px'>Start date&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='edit_role_start_date' placeholder='add start date' style='max-width:90px' value='" + startDate + "'>" + " </div>" + "</div>"; if (endDate === '01-Jan-1900') { endDate = ""; } // build the end date input var endDateDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='edit_role_end_date' title='Enter/select the end date your role within the IUCr or other professional and cystallography-related organizations ended. (Public information if you choose inclusion in the World Directory of Crystallographers.)' style='max-width:90px'>End date&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='edit_role_end_date' placeholder='add end date' style='max-width:90px' value='" + endDate + "'>" + " </div>" + "</div>"; // build the history notes var historyNotesDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='history-notes' title='You may add a note to provide additional informaton on the role/body you are a member of. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Notes&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea id='history-notes' class='field' placeholder='add comments here'> " + historyNotes + "</textarea>" + " </div>" + "</div>"; var delBtn = ""; var personId = document.getElementById('personID').value; var sveOnClick = "onclick=" + '"' + "save_role_changes('editRole', '" + historyId + "', '" + roleId + "', '" + roleDesc + "', '" + catId + "', '" + bodyId + "', '" + bodyDesc + "', '" + posId + "', '" + posDesc + "', '" + startDate + "', '" + endDate + "', '" + historyNotes + "')" + '"'; Alert.render("Edit role details", "<input type='hidden' id='historyId' value='" + historyId + "'>" + roleSelectDiv + bodySelectDiv + posSelectDiv + startDateDiv + endDateDiv + historyNotesDiv + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + delBtn + " <button class='btn btn-default btn-xs' title='Save changes and update record' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); if (bodyDesc != '' && bodyDesc != ' please select ... ') { sndReq('get_positions', bodyDesc); document.getElementById('positionSelect').disabled = false; document.getElementById('positionSelect').value = posDesc; } else { document.getElementById('positionSelect').disabled = true; } if (roleDesc == 'IUCr Associate') { document.getElementById('edit_role_start_date').disabled = true; document.getElementById('edit_role_end_date').disabled = true; } roleId == '' ? document.getElementById('activeRoles').value = '0' : document.getElementById('activeRoles').value = roleId; bodyDesc == '' ? document.getElementById('bodySelect').value = ' please select ... ' : document.getElementById('bodySelect').value = bodyDesc; posDesc == '' ? document.getElementById('positionSelect').value = ' please select ... ' : document.getElementById('positionSelect').value = posDesc; document.getElementById('positionSelect').value = posDesc; $(function() { $('#edit_role_start_date').datepick({dateFormat: 'dd-M-yyyy'}); }); $(function() { $('#edit_role_end_date').datepick({dateFormat: 'dd-M-yyyy'}); }); } function add_role_data() { window.scrollTo(0,0); // set up the select box items for the body description drop down box and select the active entry var addRoleDropDown = document.getElementById('activeRoleDropDown').innerHTML; var addBodyDropDown = document.getElementById('bodiesDropDownDiv').innerHTML; addBodyDropDown = addBodyDropDown.replace("bodySelectDD", "addBodySelect"); var addRoleDesc = ''; var addBodyDesc = ''; var addPosDesc = ''; var addStartDate = ''; var addEndDate = ''; var addHistoryNotes = ''; var addPositionsBox = ""; addPositionsBox = "<div class='row' id='positionBox'>" + " <div class='col-40'>" + " <label for='positionSelect' title='Role within a body of the IUCr. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Position description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><select id='positionSelect' class='field' style='max-width:50%' placeholder=' please select ...'><option value='0'> please select ... </option></select></div>" + "</div>"; // build the roles select box only if the user is an iucr staff member var isStaffMember = document.getElementById('staffMember').value; var addRoleSelectDiv = ""; if (isStaffMember != 'y') { addRoleSelectDiv = "<div class='row' hidden>" + " <div class='col-40'>" + " <label for='addActiveRoles' title='Use this field for roles you have in other professional and crystallography-related organizations, such as memberships of national crystallographic committees and societies, editorial positions on scholarly journals etc. (If you have a role within an IUCr body which is not included here, please mail wdc@iucr.org.) (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Role description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><select id='addActiveRoles' class='field' style='max-width:80%'><option value='0'>please select ...</option>" + addRoleDropDown + " </select></div>" + "</div>"; } else { addRoleSelectDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='addActiveRoles' title='Use this field for roles you have in other professional and crystallography-related organizations, such as memberships of national crystallographic committees and societies, editorial positions on scholarly journals etc. (If you have a role within an IUCr body which is not included here, please mail wdc@iucr.org.) (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Role description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><select id='addActiveRoles' class='field' style='max-width:80%'><option value='0'>please select ...</option>" + addRoleDropDown + " </select></div>" + "</div>"; } // build the body select box var addBodySelectDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='bodySelect' title='Use this field for the position you have in other professional and cystallography-related organizations. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Body description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + addBodyDropDown + " </div>" + "</div>"; // build the position select box var addPosSelectDiv = addPositionsBox; // build the start date input var addStartDateDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='add_start_date' title='Enter/select the date you started the role within the IUCr or other professional and cystallography-related organizations. (Public information if you choose inclusion in the World Directory of Crystallographers.)' style='max-width:90px'>Start date&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add_start_date' style='max-width:90px' placeholder='add start date' style='max-width:90px' value=''>" + " </div>" + "</div>"; // build the end date input var addEndDateDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='add_end_date' title='Enter/select the end date your role within the IUCr or other professional and cystallography-related organizations ended. (Public information if you choose inclusion in the World Directory of Crystallographers.)' style='max-width:90px'>End date&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='text' class='field' id='add_end_date' style='max-width:90px' placeholder='add end date' style='max-width:90px' value=''>" + " </div>" + "</div>"; // build the history notes var addHistoryNotesDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='add-history-notes' title='You may add a note to provide additional informaton on the role/body you are a member of. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Notes&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <textarea id='add-history-notes' class='field' placeholder='add comments here'></textarea>" + " </div>" + "</div>"; var addPersonId = document.getElementById('personID').value; var sveOnClick = "onclick='create_role();'"; Alert.render("Add role details", "<input type='hidden' id='historyId' value=''>" + addRoleSelectDiv + addBodySelectDiv + addPosSelectDiv + addStartDateDiv + addEndDateDiv + addHistoryNotesDiv + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save new role record' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); //document.getElementById('editDialogbox').style.width = ''; //document.getElementById("editDialogbox").scrollIntoView(); if (addBodyDesc != '' && addBodyDesc != ' please select ... ') { sndReq('get_positions', addBodyDesc); document.getElementById('positionSelect').disabled = false; } else { document.getElementById('positionSelect').disabled = true; } if (addRoleDesc == 'IUCr Associate') { document.getElementById('start-date').disabled = true; document.getElementById('end-date').disabled = true; } addStartDate = document.getElementById('add_start_date').value; addEndDate = document.getElementById('add_end_date').value; addHistoryNotes = document.getElementById('add-history-notes').value; $(function() { $('#add_start_date').datepick({dateFormat: 'dd-M-yyyy'}); }); $(function() { $('#add_end_date').datepick({dateFormat: 'dd-M-yyyy'}); }); } function save_role_changes(type, historyId, roleId, roleDesc, catId, bodyId, bodyDesc, posId, posDesc, startDate, endDate, historyNotes) { var error = 'n'; var role = ''; var body = '' var position = '' var personId = document.getElementById('personID').value; var historyNotes = escapeHtml(document.getElementById('history-notes').value); var historyId = document.getElementById('historyId').value; var roleErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; // handle the start date var docStartDate = document.getElementById('edit_role_start_date').value; dd = docStartDate.substr(0, 2); mm = docStartDate.substr(3, 3); ccyy = docStartDate.substr(7, 4); var startDate = ccyy + "-" + mm + "-" + dd; // handle the end date var docEndDate = document.getElementById('edit_role_end_date').value; //alert("before doc end date: '" + docEndDate + "'"); if (docEndDate === '01-Jan-1900' || docEndDate == null || docEndDate == "") { docEndDate = '01-Jan-1900'; } //alert("after doc end date: '" + docEndDate + "'"); dd = docEndDate.substr(0, 2); mm = docEndDate.substr(3, 3); ccyy = docEndDate.substr(7, 4); var endDate = ccyy + "-" + mm + "-" + dd; //alert (endDate); var calc_start_date = new Date(startDate); var calc_end_date = new Date(endDate); if (document.getElementById('activeRoles').value == ' please select ... ' || document.getElementById('activeRoles').value == '' || document.getElementById('activeRoles').value == '0') { roleId = ''; roleDesc = ''; } else { roleId = document.getElementById('activeRoles').value; var sel = document.getElementById('activeRoles'); roleDesc = sel.options[sel.selectedIndex].text; } if (document.getElementById('bodySelect').value == ' please select ... ' || document.getElementById('bodySelect').value == '') { body = ''; } else { body = document.getElementById('bodySelect').value; } if (document.getElementById('positionSelect').value == ' please select ... ' || document.getElementById('positionSelect').value == '') { position = ''; } else { position = document.getElementById('positionSelect').value; } if ((roleId == '' || roleId == 0) && (body == '' || body == ' please select ... ') && (position == '' || position == ' please select ... ')) { document.getElementById('activeRoles').className = 'errorFld'; document.getElementById('activeRoles').setAttribute('title', 'If you have an active IUCr role you need to select the role from the drop down box.'); document.getElementById('bodySelect').className = 'errorFld'; document.getElementById('bodySelect').setAttribute('title', 'If you are a member of one of the bodies presented in the drop down box, please select the body.'); document.getElementById('positionSelect').className = 'errorFld'; document.getElementById('positionSelect').setAttribute('title', 'If have selected a body you are a member of, please select the position you hold within that body from the drop down box.'); commErrMsg = '<strong>One or more of the drop down boxes must have a selection.</strong>'; error = 'y'; } else { document.getElementById('activeRoles').className = ''; document.getElementById('activeRoles').setAttribute('title', ''); document.getElementById('bodySelect').className = ''; document.getElementById('bodySelect').setAttribute('title', ''); document.getElementById('positionSelect').className = ''; document.getElementById('positionSelect').setAttribute('title', ''); } if (startDate == '') { document.getElementById('edit_role_start_date').className = 'errorFld'; document.getElementById('edit_role_start_date').setAttribute('title', 'Select a start date using the displayed drop down calendar.'); error = 'y'; } else { document.getElementById('edit_role_start_date').className = ''; document.getElementById('edit_role_start_date').setAttribute('title', ''); } //if (endDate != '' || endDate != '01-Jan-1900') //{ // if (calc_end_date <= calc_start_date ) // { // document.getElementById('edit_role_end_date').className = 'errorFld'; // document.getElementById('edit_role_end_date').setAttribute('title', 'The selected end date must be greater than the start date.'); // error = 'y' // } // else // { // document.getElementById('edit_role_end_date').className = ''; // document.getElementById('edit_role_end_date').setAttribute('title', ''); // } //} if (error == 'y') { document.getElementById('messageArea').innerHTML = roleErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { document.getElementById('messageArea').innerHTML = ''; document.getElementById('messageArea').className = ''; var passedData = personId + "~" + roleId + "~" + roleDesc + "~" + bodyId + "~" + body + "~" + posId + "~" + position + "~" + startDate + "~" + endDate + "~" + historyNotes + "~" + historyId ; sndReq(type, passedData); Alert.ok(); location.reload(true); } } function create_role() { //alert("CREATING ROLE"); var error = 'n'; var roleId = document.getElementById('addActiveRoles').value; var roleDesc = ""; var activeRolesValue = document.getElementById('addActiveRoles').value; if (document.getElementById('addActiveRoles').value == ' please select ... ' || document.getElementById('addActiveRoles').value == '' || document.getElementById('addActiveRoles').value == '0') { roleId = ''; roleDesc = ''; } else { roleId = document.getElementById('addActiveRoles').value; var sel = document.getElementById('addActiveRoles'); roleDesc = sel.options[sel.selectedIndex].text; } //alert("AFTER CHECKING addActiveRoles"); var body = document.getElementById('addBodySelect').value; var position = document.getElementById('positionSelect').value; var personId = document.getElementById('personID').value; var dd = ""; var mm = ""; var ccyy = ""; // handle the start date var docStartDate = document.getElementById('add_start_date').value; dd = docStartDate.substr(0, 2); mm = docStartDate.substr(3, 3); ccyy = docStartDate.substr(7, 4); var startDate = ccyy + "-" + mm + "-" + dd; // handle the end date var docEndDate = document.getElementById('add_end_date').value; dd = docEndDate.substr(0, 2); mm = docEndDate.substr(3, 3); ccyy = docEndDate.substr(7, 4); var endDate = ccyy + "-" + mm + "-" + dd; var historyNotes = document.getElementById('add-history-notes').value; var roleErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; var addYear = ''; var addMonth = ''; var addDay = ''; if ((roleId == '0' || roleId == '') && (body == '' || body == ' please select ... ') && (position == '' || position == ' please select ... ' || position == '0')) { document.getElementById('addActiveRoles').className = 'errorFld'; document.getElementById('addActiveRoles').setAttribute('title', 'If you have an active IUCr role you need to select the role from the drop down box.'); document.getElementById('addBodies').className = 'errorFld'; document.getElementById('addBodies').setAttribute('title', 'If you are a member of one of the bodies presented in the drop down box, please select the body.'); document.getElementById('positionSelect').className = 'errorFld'; document.getElementById('positionSelect').setAttribute('title', 'If have selected a body you are a member of, please select the position you hold within that body from the drop down box.'); roleErrMsg = '<strong>One or more of the drop down boxes must have a selection.</strong>'; error = 'y'; } else { document.getElementById('addActiveRoles').className = ''; document.getElementById('addActiveRoles').setAttribute('title', ''); document.getElementById('addBodySelect').className = ''; document.getElementById('addBodySelect').setAttribute('title', ''); document.getElementById('positionSelect').className = ''; document.getElementById('positionSelect').setAttribute('title', ''); } if (startDate == '' || startDate == 'Invalid Date' || startDate == '--') { document.getElementById('add_start_date').className = 'errorFld'; document.getElementById('add_start_date').setAttribute('title', 'Select a start date using the displayed drop down calendar.'); error = 'y'; } else { document.getElementById('add_start_date').className = ''; document.getElementById('add_start_date').setAttribute('title', ''); } if (endDate != '' || endDate != '01-Jan-1900' || endDate != 'Invalid Date') { //if (endDate <= startDate ) //{ // document.getElementById('add_end_date').className = 'errorFld'; // document.getElementById('add_end_date').setAttribute('title', 'The selected end date must be greater than the start date.'); // error = 'y' //} //else //{ document.getElementById('add_end_date').className = ''; document.getElementById('add_end_date').setAttribute('title', ''); //} } else { endDate = '01-Jan-1900'; } if (error == 'y') { document.getElementById('messageArea').innerHTML = roleErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { document.getElementById('messageArea').innerHTML = ''; document.getElementById('messageArea').className = ''; var passedData = personId + "~" + roleDesc + "~" + body + "~" + position + "~" + startDate + "~" + endDate + "~" + historyNotes ; sndReq('addRole', passedData); Alert.ok(); location.reload(true); } } function add_other_role_data() { window.scrollTo(0,0); var addOtherRoleBody = ""; var addOtherRolePosition = ""; var addOtherRoleBegYear = ""; var addOtherRoleEndYear = ""; addOtherRolePosition = "<div class='row' id='otherRolePositionBox'>" + " <div class='col-40'>" + " <label for='otherRolePositionText' title=''>Position description&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='text' class='field' id='otherRolePositionText' placeholder='non-IUCr position'></div>" + "</div>"; addOtherRoleBody = "<div class='row' id='otherRoleBodyBox'>" + " <div class='col-40'>" + " <label for='otherRoleBodyText' title='non IUCr body'>Body&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='text' class='field' id='otherRoleBodyText' placeholder='non-IUCr organisation'></div>" + "</div>"; addOtherRoleBegYear = "<div class='row' id='otherRoleBegYearBox'>" + " <div class='col-40'>" + " <label for='otherRoleBegYearText' title='beginning year'>Beginning year&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='text' class='field' style='width:60px;' id='otherRoleBegYearText'></div>" + "</div>"; addOtherRoleEndYear = "<div class='row' id='otherRoleEndYearBox'>" + " <div class='col-40'>" + " <label for='otherRoleBegYearText' title='beginning year'>End year&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='text' class='field' style='width:60px;'id='otherRoleEndYearText'></div>" + "</div>"; var addPersonId = document.getElementById('personID').value; var sveOnClick = "onclick='create_other_role();'"; Alert.render("Add other role details", addOtherRolePosition + addOtherRoleBody + addOtherRoleBegYear + addOtherRoleEndYear + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save new role record' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); //document.getElementById('editDialogbox').style.width = ''; //document.getElementById("editDialogbox").scrollIntoView(); } function create_other_role() { var error = 'n'; var otherRoleDesc = ""; var body = document.getElementById('otherRoleBodyText').value; var position = document.getElementById('otherRolePositionText').value; var personId = document.getElementById('personID').value; var startYear = document.getElementById('otherRoleBegYearText').value; var endYear = document.getElementById('otherRoleEndYearText').value; var otherRoleErrMsg = '<strong>The fields highlighed are in error. Hover each item for additonal help text. Please fix any errors and resubmit.</strong>'; if (body == '' && position == '' && startYear == '' && endYear == '') { document.getElementById('otherRoleBodyText').className = 'errorFld'; document.getElementById('otherRoleBodyText').setAttribute('title', 'If you have an active non IUCr body you want to tell us about, please enter the body in this box.'); document.getElementById('otherRolePositionText').className = 'errorFld'; document.getElementById('otherRolePositionText').setAttribute('title', 'If you have a position in a non IUCr role body you want to tell us about, please enter that position in this box.'); document.getElementById('otherRoleBegYearText').className = 'errorFld'; document.getElementById('otherRoleBegYearText').setAttribute('title', 'Please let us know the beginning and end year you held your position in the non IUCr body.'); document.getElementById('otherRoleEndYearText').className = 'errorFld'; document.getElementById('otherRoleEndYearText').setAttribute('title', 'Please let us know the beginning and end year you held your position in the non IUCr body.'); otherRoleErrMsg = '<strong>One or more of the input boxes must have input. If you do not want to add a role you have in a non IUCr body, please click on the cancel button.</strong>'; error = 'y'; } else { document.getElementById('otherRoleBodyText').className = ''; document.getElementById('otherRoleBodyText').setAttribute('title', ''); document.getElementById('otherRolePositionText').className = ''; document.getElementById('otherRolePositionText').setAttribute('title', ''); document.getElementById('otherRoleBegYearText').className = ''; document.getElementById('otherRoleBegYearText').setAttribute('title', ''); document.getElementById('otherRoleEndYearText').className = ''; document.getElementById('otherRoleEndYearText').setAttribute('title', ''); } if (error == 'y') { document.getElementById('messageArea').innerHTML = otherRoleErrMsg; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { document.getElementById('messageArea').innerHTML = ''; document.getElementById('messageArea').className = ''; if (position) { otherRoleDesc = position; } if (body) { if (position) { otherRoleDesc = otherRoleDesc + ', ' + body; } else { otherRoleDesc = body ; } } if (startYear) { otherRoleDesc = otherRoleDesc + ' (' + startYear; } if (endYear) { if (startYear) { otherRoleDesc = otherRoleDesc + '-' + endYear + ')'; } else { otherRoleDesc = otherRoleDesc + ' (' + endYear + ')'; } } else { if (startYear) { otherRoleDesc = otherRoleDesc + ')'; } } var passedData = personId + "~" + otherRoleDesc ; sndReq('addOtherRole', passedData); Alert.ok(); location.reload(true); } } function delete_other_role_data(otherRole) { var personID = document.getElementById('personID').value; window.scrollTo(0,0); var passedData = personID + "~" + "'" + otherRole + "'"; sndReq('deleteOtherRoleData', passedData); location.reload(true); } function edit_sci_int_data() { window.scrollTo(0,0); var passedData = document.getElementById('personID').value; sndReq('getSciInt', passedData); } function update_sci_ints() { var passedData = ""; var element = document.getElementsByName("sci_ints_checkboxes"); var personId = document.getElementById('personID').value; var checkedCheckBoxes = 0; var sci_ints_array = []; passedData = personId for (var i=0; i < element.length; i++) { if(element[i].checked) { checkedCheckBoxes = checkedCheckBoxes + 1; sci_ints_array.push(element[i].id); } } if (checkedCheckBoxes > 5) { alert ("You have selected more than five areas of general Scientific interest. Please select no more than five.") } else { arrayLen = sci_ints_array.length; for (i=0; i<arrayLen; i++) { passedData += "~" + sci_ints_array[i]; } sndReq('updateSciInt', passedData); Alert.ok(); location.reload(true); } } function edit_det_sci_int_data() { window.scrollTo(0,0); var passedData = document.getElementById('personID').value; sndReq('getDetSciInt', passedData); } function update_det_sci_ints() { var passedData = ""; var personId = document.getElementById('personID').value; var textArea = document.getElementById('det_sci_int').value; var stringArray = textArea.split(String.fromCharCode(10)); passedData = personId + "~"; var arrayLen = stringArray.length - 1; for (i=0; i<arrayLen; i++) { if (stringArray[i] != '') { if (arrayLen == 1) { passedData += escapeHtml(stringArray[i]); } else { passedData += escapeHtml(stringArray[i]) + ","; } } } sndReq('updateDetSciInt', passedData); Alert.ok(); location.reload(true); } function edit_gen_int_data() { window.scrollTo(0,0); var passedData = document.getElementById('personID').value; sndReq('getGenInt', passedData); } function update_gen_ints() { var passedData = ""; var personId = document.getElementById('personID').value; var textArea = document.getElementById('gen_int').value; var stringArray = textArea.split(String.fromCharCode(10)); passedData = personId + "~"; var arrayLen = stringArray.length - 1; for (i=0; i<arrayLen; i++) { if (stringArray[i] != '') { passedData += escapeHtml(stringArray[i]); } } sndReq('updateGenInt', passedData); Alert.ok(); location.reload(true); } function edit_privacy_data(iucrflag, distflag, wdcflag) { var contactahref = "<a href='javascript:makeHelpWindow(&quot;person_db.person.distri&quot;)''>here</a>"; var distributeahref = "<a href='javascript:makeHelpWindow(&quot;person_db.person.distri&quot;)''>here</a>"; var wdcahref = "<a href='javascript:makeHelpWindow(&quot;wdc&quot;)''>World Directory of Crystallographers</a>"; // build the iucr contact checkbox input var iucrContact = "<div class='row'>" + " <div class='col-md-1'><input type='checkbox' style='float:left;' id='iucr-contact'></div>" + " <div class='col-sm-11'>" + " <label for='iucr-contact' style='font-weight:normal;'>" + " I would be happy to receive occasional news, information and offers from the IUCr. For an explanation of the IUCr's policy with regard to this, please click " + contactahref + " </label>" + " </div>" + "</div>"; // build the permission to distribute details checkbox input var distribute = "<div class='row'>" + " <div class='col-md-1'><input type='checkbox' style='float:left;' id='perm-dist' value=''></div>" + " <div class='col-sm-11'>" + " <label for='perm-dist' style='font-weight:normal;'>" + " Tick this box if you agree to have your details passed on to providers of commercial products and services to crystallographers. For an explanation of the IUCr's policy with regard to this, please click " + distributeahref + " </label>" + " </div>" + "</div>"; // build the permission to include details in wdc checkbox input var wdcinc = "<div class='row'>" + " <div class='col-md-1'><input type='checkbox' style='float:left;' id='perm-wdc' value=''></div>" + " <div class='col-sm-11'>" + " <label for='perm-wdc' style='font-weight:normal;'>" + wdcahref + " Please include my details in the " + " </label>" + " </div>" + "</div>"; var sveOnClick = "onclick='change_privacy();'"; Alert.render("Change privacy settings", iucrContact + "<hr style='border-color:#800012'>" + distribute + "<hr style='border-color:#800012'>" + wdcinc , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save privacy setting changes' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); if (iucrflag == 'y' || iucrflag == 'Y') { document.getElementById('iucr-contact').checked = true; } else { document.getElementById('iucr-contact').checked = false; } if (distflag == 'y' || distflag == 'Y') { document.getElementById('perm-dist').checked = true; } else { document.getElementById('perm-dist').checked = false; } if (wdcflag == 'y' || wdcflag == 'Y') { document.getElementById('perm-wdc').checked = true; } else { document.getElementById('perm-wdc').checked = false; } document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); } function change_privacy() { var passedData = ""; var personId = document.getElementById('personID').value; var iucrflag = (document.getElementById('iucr-contact').checked) ? 'y' : 'n'; var distflag = (document.getElementById('perm-dist').checked) ? 'y' : 'n'; var wdcflag = (document.getElementById('perm-wdc').checked) ? 'y' : 'n'; var displayRcrd = document.getElementById('displayRcrd').value; passedData = personId + "~" + iucrflag + "~" + distflag + "~" + wdcflag + "~" + displayRcrd; sndReq('changePriv', passedData); Alert.ok(); location.reload(true); } function edit_email_data(email_id, iucrid, main, address, public, preference, comment, a, b, c, d, e, f, j, m, s, q, n, x, mainEmailId, dod) { // build the roles select box var emailAddressDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='emailAddress' title='Please provide the most general form of your e-mail address, rather than one that includes the name of the specific computer at which you work, and which may therefore become invalid if this changes.'>E-mail address*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='text' class='field' id='emailAddress' style='max-width:90%' value='" + address + "'>" + "</div>" + "</div>"; var mainEmailAddressDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='mainEmailAddress' title='If you have more than one e-mail address, click this button to specify which is your main address. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Main e-mail address&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='checkbox' id='mainEmailAddress' value='" + main + "'>" + " <input type='hidden' id='mainEmailAddressHidden' value='" + main + "'>" + " </div>" + "</div>"; var publicDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='publicEmailAddress' title='Only your main e-mail address is made public by default as part of an entry in the World Directory of Crystallographers. If you have another address that you would like to use for receiving e-mail alerts, but that you would not like to be made public for use by other scientists in trying to contact you, then you may choose to make it private. (In that case, any comment or other information associated with that address will also be private.)'>Public e-mail address&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='checkbox' id='publicEmailAddress' value=''>" + "</div>" + "</div>"; var formatDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='emailFormatSel' title='You may specify a preferred format (plain text or HTML) for receiving e-mails. This will be used, for instance, for any e-mail alerts sent to thataddress.' style='width:100%;'>E-mail format&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select class='field' id='emailFormatSel' style='max-width:90%'>" + " <option value='t'>Plain text</option>" + " <option value='h'>HTML</option>" + " <option value='b'>Both plain text and HTML</option>" + " </select>" + " </div>" + "</div>"; var commentDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='emailComment' title='You may add a note to each e-mail address (e.g. Home address).'>Comment&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='textArea' class='field' id='emailComment' value=''></div>" + "</div>"; var alertsDiv = "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='newsletter' value='n'>" + " </div>" + " <div class='col-sm-11' style='display:block;'>" + " <label for='newsletter' style='color: black; font-size:12px;'>IUCr Newsletter</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaA' value='a'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaA' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section A: Foundations and Advances</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaB' value='b'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaB' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section B: Structural Science, Crystal Engineering and Materials</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaC' value='c'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaC' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section C: Structural Chemistry</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaD' value='d'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaD' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section D: Structural Biology</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaE' value='e'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaE' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section E: Crystallographic Communications</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaF' value='f'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaF' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section F: Structural Biology Communications</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='jac' value='j'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='jac' style='color: black; font-size:12px; font-weight:normal;'>Journal of Applied Crystallography</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='iucrj' value='m'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='iucrj' style='color: black; font-size:12px;'>IUCrJ</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='jsr' value='s'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='jsr' style='color: black; font-size:12px; font-weight:normal;'>Journal of Synchrotron Radiation</label>" + " </div>" + "</div>" + "<div class='row'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='iucrdata' value='x'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='iucrdata' style='color: black; font-size:12px; font-weight:normal;'>IUCrData</label>" + " </div>" + "</div>" ; var addDelBtn = "<button class='btn btn-default btn-xs' id='deleteEmail' style='visibility:hidden' title='Delete email record' onclick='delete_email_data();'><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Delete record</button>"; var sveOnClick = "onclick='update_email_data();'"; Alert.render("Edit e-mail details", "<input type='hidden' id='emailId' value='" + email_id + "'>" + "<input type='hidden' id='iucrId' value='" + iucrid + "'>" + "<input type='hidden' id='mainEmailId' value ='" + mainEmailId + "'>" + emailAddressDiv + mainEmailAddressDiv + publicDiv + formatDiv + commentDiv + "<hr><label style='color: black; font-size:12px;'>Personal settings for publication alerts</label>" + alertsDiv + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + addDelBtn + " <button class='btn btn-default btn-xs' title='Save changes to email details' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); // set the modal box width based on the screen document.getElementById('editDialogbox').style.width = '40%'; document.getElementById("editDialogbox").scrollIntoView(); // set the main email address chekbox if (main == 'y') { document.getElementById('mainEmailAddress').checked = true; document.getElementById('mainEmailAddress').disabled = true; if(dod !== '') { document.getElementById('deleteEmail').style.visibility = ""; } else { document.getElementById('deleteEmail').style.visibility = "hidden"; } document.getElementById('mainEmailAddress').title = "To remove a main e-mail address either add a new e-mail address as a main e-mail address, or edit an existing e-mail address and set it as the main e-mail address."; } else { document.getElementById('mainEmailAddress').checked = false; document.getElementById('mainEmailAddress').disabled = false; document.getElementById('deleteEmail').style.visibility = ""; document.getElementById('mainEmailAddress').title = "Setting this e-mail address as your main e-mail address will cause the current main e-mail address to be set as a secondary e-mail address."; } // set the public checkbox if (public == 'y') { document.getElementById('publicEmailAddress').checked = true; } else { document.getElementById('publicEmailAddress').checked = false; } // set the selected value of the emailFormatSel box document.getElementById('emailFormatSel').value = preference; // populate the comment box document.getElementById('emailComment').value = comment; // populate the main hidden field with the onscreen main flag value document.getElementById('mainEmailAddressHidden').value = document.getElementById('mainEmailAddress').checked == true ? 'y' : 'n'; // set the alerts check boxes (a == 'undefined'|| a == '') ? document.getElementById('actaA').checked = false : document.getElementById('actaA').checked = true; (b == 'undefined'|| b == '') ? document.getElementById('actaB').checked = false : document.getElementById('actaB').checked = true; (c == 'undefined'|| c == '') ? document.getElementById('actaC').checked = false : document.getElementById('actaC').checked = true; (d == 'undefined'|| d == '') ? document.getElementById('actaD').checked = false : document.getElementById('actaD').checked = true; (e == 'undefined'|| e == '') ? document.getElementById('actaE').checked = false : document.getElementById('actaE').checked = true; (f == 'undefined'|| f == '') ? document.getElementById('actaF').checked = false : document.getElementById('actaF').checked = true; (j == 'undefined'|| j == '') ? document.getElementById('jac').checked = false : document.getElementById('jac').checked = true; (m == 'undefined'|| m == '') ? document.getElementById('iucrj').checked = false : document.getElementById('iucrj').checked = true; (s == 'undefined'|| s == '') ? document.getElementById('jsr').checked = false : document.getElementById('jsr').checked = true; (x == 'undefined'|| x == '') ? document.getElementById('iucrdata').checked = false : document.getElementById('iucrdata').checked = true; (n == 'undefined'|| n == '') ? document.getElementById('newsletter').checked = false : document.getElementById('newsletter').checked = true; } function update_email_data() { var email_address = document.getElementById('emailAddress').value; var main_flag = document.getElementById('mainEmailAddress').checked == true ? 'y' : 'n'; var public_flag = document.getElementById('publicEmailAddress').checked == true ? 'y' : 'n'; var email_format = document.getElementById('emailFormatSel').value; var email_comment = escapeHtml(document.getElementById('emailComment').value); var newsletter_flag = document.getElementById('newsletter').checked == true ? 'n' : ''; var actaA_flag = document.getElementById('actaA').checked == true ? 'a' : ''; var actaB_flag = document.getElementById('actaB').checked == true ? 'b' : ''; var actaC_flag = document.getElementById('actaC').checked == true ? 'c' : ''; var actaD_flag = document.getElementById('actaD').checked == true ? 'd' : ''; var actaE_flag = document.getElementById('actaE').checked == true ? 'e' : ''; var actaF_flag = document.getElementById('actaF').checked == true ? 'f' : ''; var jac_flag = document.getElementById('jac').checked == true ? 'j' : ''; var iucrj_flag = document.getElementById('iucrj').checked == true ? 'm' : ''; var jsr_flag = document.getElementById('jsr').checked == true ? 's' : ''; var iucrdata_flag = document.getElementById('iucrdata').checked == true ? 'x' : ''; var person_id = document.getElementById('personID').value; var email_id = document.getElementById('emailId').value; var iucr_id = document.getElementById('iucrId').value; var main_email_id = document.getElementById('mainEmailId').value; var passedData = person_id + "~" + email_address + "~" + main_flag + "~" + public_flag + "~" + email_format + "~" + email_comment + "~" + newsletter_flag + "~" + actaA_flag + "~" + actaB_flag + "~" + actaC_flag + "~" + actaD_flag + "~" + actaE_flag + "~" + actaF_flag + "~" + jac_flag + "~" + iucrj_flag + "~" + jsr_flag + "~" + iucrdata_flag + "~" + email_id + "~" + iucr_id + "~" + main_email_id + "~" ; // alert (passedData); if (email_address == '') { document.getElementById('emailAddress').className = 'errorFld'; document.getElementById('emailAddress').setAttribute('title', 'The e-mail address is a required field and must be completed.'); error = 'y' document.getElementById('messageArea').innerHTML = "The e-mail address is a required field and must be completed. If you wish to remove this email record, please, click on the <kbd>Delete</kbd> button."; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { document.getElementById('emailAddress').className = ''; document.getElementById('emailAddress').setAttribute('title', ''); sndReq('updateEmail', passedData); //Alert.ok(); window.location.reload(true); } window.location.reload(true); } function delete_email_data() { var email_id = document.getElementById('emailId').value; var iucr_id = document.getElementById('iucrId').value; var passedData = email_id + "," + iucr_id; sndReq("deleteEmail", passedData); //Alert.ok(); location.reload(true); } function add_new_email_item(iucrid, mainEmailId) { // build the roles select box var emailAddressDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='emailAddress' title='Please provide the most general form of your e-mail address, rather than one that includes the name of the specific computer at which you work, and which may therefore become invalid if this changes.'>E-mail address*&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='text' class='field' id='emailAddress' style='max-width:90%' value=''>" + "</div>" + "</div>"; var mainEmailAddressDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='mainEmailAddress' title='If you have more than one e-mail address, click this button to specify which is your main address. (Public information if you choose inclusion in the World Directory of Crystallographers.)'>Main e-mail address&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <input type='checkbox' id='mainEmailAddress' value=''>" + " </div>" + "</div>"; var publicDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='publicEmailAddress' title='Only your main e-mail address is made public by default as part of an entry in the World Directory of Crystallographers. If you have another address that you would like to use for receiving e-mail alerts, but that you would not like to be made public for use by other scientists in trying to contact you, then you may choose to make it private. (In that case, any comment or other information associated with that address will also be private.)'>Public e-mail address&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='checkbox' id='publicEmailAddress' value=''>" + "</div>" + "</div>"; var formatDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='emailFormatSel' title='You may specify a preferred format (plain text or HTML) for receiving e-mails. This will be used, for instance, for any e-mail alerts sent to thataddress.'>E-mail format&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'>" + " <select id='emailFormatSel' class='field' style='max-width:90%'>" + " <option value='t'>Plain text</option>" + " <option value='h'>HTML</option>" + " <option value='b'>Both plain text and HTML</option>" + " </select>" + " </div>" + "</div>"; var commentDiv = "<div class='row'>" + " <div class='col-40'>" + " <label for='emailComment' title='You may add a note to each e-mail address (e.g. Home address).'>Comment&nbsp&nbsp</label>" + " </div>" + " <div class='col-60'><input type='textArea' class='field' id='emailComment' value=''></div>" + "</div>"; var alertsDiv = "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='newsletter' value='n'>" + " </div>" + " <div class='col-sm-11' style='display:block;'>" + " <label for='newsletter' style='color: black; font-size:12px;'>IUCr Newsletter</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaA' value='a'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaA' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section A: Foundations and Advances</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaB' value='b'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaB' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section B: Structural Science, Crystal Engineering and Materials</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaC' value='c'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaC' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section C: Structural Chemistry</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaD' value='d'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaD' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section D: Structural Biology</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaE' value='e'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaE' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section E: Crystallographic Communications</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='actaF' value='f'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='actaF' style='color: black; font-size:12px; font-weight:normal;'>Acta Crystallographica Section F: Structural Biology Communications</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='jac' value='j'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='jac' style='color: black; font-size:12px; font-weight:normal;'>Journal of Applied Crystallography</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='iucrj' value='m'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='iucrj' style='color: black; font-size:12px;'>IUCrJ</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='jsr' value='s'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='jsr' style='color: black; font-size:12px; font-weight:normal;'>Journal of Synchrotron Radiation</label>" + " </div>" + "</div>" + "<div class='row' style='margin-left:15px'>" + " <div class='col-sm-1'>" + " <input type='checkbox' id='iucrdata' value='x'>" + " </div>" + " <div class='col-sm-11'>" + " <label for='iucrdata' style='color: black; font-size:12px; font-weight:normal;'>IUCrData</label>" + " </div>" + "</div>" ; var sveOnClick = "onclick='add_email_data();'"; Alert.render("Add an e-mail address", "<input type='hidden' id='iucrId' value='" + iucrid + "'>" + "<input type='hidden' id='mainEmailId' value ='" + mainEmailId + "'>" + emailAddressDiv + mainEmailAddressDiv + publicDiv + formatDiv + commentDiv + "<hr><label style='color: black; font-size:12px;'>Personal settings for publication alerts</label>" + alertsDiv + "<br /><p>Fields marked with an * (asterisk) are mandatory fields and must be completed.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Save changes to email details' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); // set the modal box width based on the screen //document.getElementById('editDialogbox').style.width ='30%'; document.getElementById("editDialogbox").scrollIntoView(); } function add_email_data() { var email_address = document.getElementById('emailAddress').value; var main_flag = document.getElementById('mainEmailAddress').checked == true ? 'y' : 'n'; var public_flag = document.getElementById('publicEmailAddress').checked == true ? 'y' : 'n'; var email_format = document.getElementById('emailFormatSel').value; var email_comment = document.getElementById('emailComment').value; var newsletter_flag = document.getElementById('newsletter').checked == true ? 'n' : ''; var actaA_flag = document.getElementById('actaA').checked == true ? 'a' : ''; var actaB_flag = document.getElementById('actaB').checked == true ? 'b' : ''; var actaC_flag = document.getElementById('actaC').checked == true ? 'c' : ''; var actaD_flag = document.getElementById('actaD').checked == true ? 'd' : ''; var actaE_flag = document.getElementById('actaE').checked == true ? 'e' : ''; var actaF_flag = document.getElementById('actaF').checked == true ? 'f' : ''; var jac_flag = document.getElementById('jac').checked == true ? 'j' : ''; var iucrj_flag = document.getElementById('iucrj').checked == true ? 'm' : ''; var jsr_flag = document.getElementById('jsr').checked == true ? 's' : ''; var iucrdata_flag = document.getElementById('iucrdata').checked == true ? 'x' : ''; var person_id = document.getElementById('personID').value; var email_id = ""; var iucr_id = document.getElementById('iucrId').value; var main_email_id = document.getElementById('mainEmailId').value; var passedData = person_id + "~" + email_address + "~" + main_flag + "~" + public_flag + "~" + email_format + "~" + email_comment + "~" + newsletter_flag + "~" + actaA_flag + "~" + actaB_flag + "~" + actaC_flag + "~" + actaD_flag + "~" + actaE_flag + "~" + actaF_flag + "~" + jac_flag + "~" + iucrj_flag + "~" + jsr_flag + "~" + iucrdata_flag + "~" + email_id + "~" + iucr_id + "~" + main_email_id + "~" ; if (email_address == '') { document.getElementById('emailAddress').className = 'errorFld'; document.getElementById('emailAddress').setAttribute('title', 'The e-mail address is a required field and must be completed.'); error = 'y' document.getElementById('messageArea').innerHTML = "The e-mail address is a required field and must be completed. If you wish to remove this email record, please, click on the <kbd>Delete</kbd> button."; document.getElementById('messageArea').className = 'messageAreaDisplay'; return true; } else { document.getElementById('emailAddress').className = ''; document.getElementById('emailAddress').setAttribute('title', ''); sndReq('addEmail', passedData); //Alert.ok(); location.reload(true); } } // this function provides the modal style dialog overlay for messages function CustomAlert() { this.render = function(editDialogTitle, editDialog, editDialogFooter) { var winW = window.innerWidth; var winH = window.innerHeight; var editDialogoverlay = document.getElementById('editDialogoverlay'); var editDialogbox = document.getElementById('editDialogbox'); editDialogoverlay.style.display = "block"; editDialogoverlay.style.height = winH+"px"; //dialogbox.style.left = (winW/2) - (600 * .5)+"px"; editDialogbox.style.top = "100px"; editDialogbox.style.display = "block"; editDialogTitle += "<label class='close' onclick='Alert.ok()' style='float: right; cursor: pointer;'><b>&times;</b></label>"; document.getElementById('editDialogboxhead').innerHTML = editDialogTitle; document.getElementById('editDialogboxbody').innerHTML = editDialog; document.getElementById('editDialogboxfoot').innerHTML = editDialogFooter; } this.ok = function() { document.getElementById('editDialogbox').style.display = "none"; document.getElementById('editDialogoverlay').style.display = "none"; } } // the variable containing the HTML for the modal style dialog overlay var Alert = new CustomAlert(); function createRequestObject() { var ro; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer") { ro = new ActiveXObject("Microsoft.XMLHTTP"); } else { ro = new XMLHttpRequest(); } return ro; } var xhttp = createRequestObject(); var passedtype = ""; function sndReq(type, passedData) { //alert("sending request: TYPE: " + type + " PASSED DATA: " + passedData); passedtype = type; pleaseWait(); xhttp.open('get', '//scripts.iucr.org/cgi-bin/pers_details_process.pl?type='+ type + '&data=' + encodeURIComponent(passedData), true); xhttp.onreadystatechange = handleResponse; xhttp.send(); } function handleResponse() { var xhttpResponse; if(xhttp.readyState == 4 && xhttp.status == 200) { if (passedtype == 'get_positions' || passedtype == 'get_positions1') { closePleaseWait(); var returnedOptions; xhttpResponse = xhttp.responseText; returnedOptions = xhttpResponse.substring(351); returnedOptions = returnedOptions.slice(0,-27); document.getElementById('positionBox').outerHTML = returnedOptions; document.getElementById('positionSelect').disabled = false; if (posDescription) { document.getElementById('positionSelect').value = posDescription; } } else if (passedtype == 'getSciInt') { closePleaseWait(); Alert.ok(); var sveOnClick = "onclick='update_sci_ints();'"; var returnedOptions; xhttpResponse = xhttp.responseText; returnedOptions = xhttpResponse.substring(351); returnedOptions = returnedOptions.slice(0,-16); Alert.render("Scientific Interests", "<p><b>Principal area(s) of scientific interest</b></p>" + "<p>Please select <b>no more than five</b> areas of general scientific interest.</p></br>" + returnedOptions , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Edit scientific interests' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width ='90%'; document.getElementById("editDialogbox").scrollIntoView(); } else if (passedtype == 'getDetSciInt') { closePleaseWait(); Alert.ok(); var sveOnClick = "onclick='update_det_sci_ints();'"; var returnedOptions; var ahref = "<a href='javascript:makeHelpWindow(&quot;ints_sci&quot;)''>here</a>"; xhttpResponse = xhttp.responseText; returnedOptions = xhttpResponse.substring(351); returnedOptions = returnedOptions.slice(0,-16); Alert.render("Detailed Scientific Interests", "<p>Click " + ahref + " for advice on completing this section.</p>" + returnedOptions + "<p>Please press enter at the end of each entry to give a new line.</p>" , "<div id='MessageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Edit scientific interests' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); } else if (passedtype == 'getGenInt') { closePleaseWait(); Alert.ok(); var sveOnClick = "onclick='update_gen_ints();'"; var returnedOptions; var ahref = "<a href='javascript:makeHelpWindow(&quot;ints_gen&quot;)''>here</a>"; xhttpResponse = xhttp.responseText; returnedOptions = xhttpResponse.substring(351); returnedOptions = returnedOptions.slice(0,-16); Alert.render("General Interests", "<p>Click " + ahref + " for advice on completing this section.</p>" + returnedOptions + "<p>Please press enter at the end of each entry to give a new line.</p>" , "<div id='messageArea' class='messageArea'></div>" + "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='Edit general interests' " + sveOnClick + "><span class='glyphicon glyphicon-save' style='padding-left;' area-hidden='true'></span> Save changes</button>" + " <button class='btn btn-default btn-xs' title='Abandon the update' onclick='Alert.ok();'><span class='glyphicon glyphicon-refresh' style='padding-left;' area-hidden='true'></span> Cancel</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); } else if (passedtype == 'editUNamePsswrd') { var response = xhttp.responseText; var respText = response.substring(351); respText = respText.slice(0,-22); //alert ("response: " + respText); if (respText == 'Username/Password updated' || respText == 'Username updated') { document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; document.getElementById('messageAreaUname').innerHTML = '<strong>The old password field you keyed was not your current password. Please rekey your current password and try again.</strong>'; document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; closePleaseWait(); Alert.ok(); Alert.render("Change response", "<table style='width:100%; overflow: auto; border-collapse: separate; border-spacing: 5px;'>" + " <tr>" + " <td><label>" + respText + "</label></td>" + " </tr>" + "</table>", "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='ok button' onclick='Alert.ok();'><span class='glyphicon glyphicon-ok' style='padding-left;' area-hidden='true'></span> OK</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); location.reload(true); } if (respText == 'oldPasswordWrong') { closePleaseWait(); document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; document.getElementById('messageAreaUname').innerHTML = '<strong>The old password field you keyed was not your current password. Please rekey your current password and try again.</strong>'; document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; } else { var iucrid = document.getElementById('iucrID').value; var session_id = document.getElementById('session_id').value; document.getElementById('messageAreaUname').innerHTML = ''; document.getElementById('messageAreaUname').className = ''; closePleaseWait(); Alert.ok(); //document.getElementById('messageAreaUname').innerHTML = '<strong>There were issues updating your username/password. Please contact <a class="links" href="mailto:support@iucr.org?subject=' + iucrid + ' unable to update password&body=Response text from server was ' + respText + ' from script pers_details_process.pl. The session id was: ' + session_id + '." style="color:white;"> support@iucr.org</a>.</strong>'; //document.getElementById('messageAreaUname').className = 'messageAreaDisplay'; } } else { closePleaseWait(); Alert.ok(); var response = xhttp.responseText; var respText = response.substring(351); respText = respText.slice(0,-22); if (respText == "") { respText = "Update successful"; } Alert.render("Change response", "<table style='width:100%; overflow: auto; border-collapse: separate; border-spacing: 5px;'>" + " <tr>" + " <td><label>" + respText + "</label></td>" + " </tr>" + "</table>", "<div id='footerButtons'>" + " <button class='btn btn-default btn-xs' title='ok button' onclick='Alert.ok();'><span class='glyphicon glyphicon-ok' style='padding-left;' area-hidden='true'></span> OK</button>" + "</div>"); document.getElementById('editDialogbox').style.width =''; document.getElementById("editDialogbox").scrollIntoView(); location.reload(true); } } } function setSelectedIndex(s, v) { for ( var i = 0; i < s.options.length; i++ ) { if ( s.options[i].value == v ) { s.options[i].selected = true; return; } } } var entityMap = { //'&': ' and ', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;', '/': '-', '`': '&#39;', '=': '&#x3D;', "脗麓": '&#39;', '(': '&#40;', ')': '&#41;', '#': '&num;', '脙聠': 'AE', '脦聠': 'A', '脙聛': 'A', '脛聜': 'A', '脙聜': 'A', '脙聙': 'A', '脛聙': 'A', '脛聞': 'A', '脙聟': 'A', '脙聝': 'A', '脙聞': 'A', '脦卢': 'a', '脙隆': 'a', '脛聝': 'a', '脟聧': 'a', '脙垄': 'a', '脙娄': 'ae', '脙聽': 'a', '脛聟': 'a', '脙楼': 'a', '脙拢': 'a', '脙陇': 'a', '脛聠': 'C', '脛聦': 'C', '脙聡': 'C', '脛聢': 'C', '脛聤': 'C', '脛聡': 'c', '脛聧': 'c', '脙搂': 'c', '脛聣': 'c', '脛聥': 'c', '脛聨': 'D', '脛聬': 'D', '脛聫': 'd', '脛聭': 'd', '脙聣': 'E', '脛職': 'E', '脙聤': 'E', '脨颅': 'E', '脛聳': 'E', '脙聢': 'E', '脛聮': 'E', '脛聵': 'E', '脙聥': 'E', '脙漏': 'e', '脛聸': 'e', '脙陋': 'e', '脛聴': 'e', '脙篓': 'e', '脛聯': 'e', '脛聶': 'e', '脙芦': 'e', '脛聻': 'G', '脛垄': 'G', '脛聹': 'G', '脛聽': 'G', '脟碌': 'g', '脛聼': 'g', '脟搂': 'g', '脛聺': 'g', '脛隆': 'g', '脛陇': 'H', '脛娄': 'H', '脛楼': 'h', '脛搂': 'h', '脙聧': 'I', '脙聨': 'I', '脛掳': 'I', '脙聦': 'I', '脛陋': 'I', '脛庐': 'I', '脛篓': 'I', '脙聫': 'I', '脙颅': 'i', '脙庐': 'i', '脙卢': 'i', '脛芦': 'i', '脛卤': 'i', '脛炉': 'i', '脛漏': 'i', '脙炉': 'i', '脛麓': 'J', '脛碌': 'j', '脛露': 'K', '脛路': 'k', '脛鹿': 'L', '脛陆': 'L', '脛禄': 'L', '脛驴': 'L', '脜聛': 'L', '脛潞': 'l', '脛戮': 'l', '脛录': 'l', '脜聙': 'l', '脜聜': 'l', '脜聝': 'N', '脜聡': 'N', '脜聟': 'N', '脙聭': 'N', '脜聞': 'n', '脜聣': 'n', '脜聢': 'n', '脜聠': 'n', '脙卤': 'n', '脙赂': 'o', '脜聮': 'OE', '脙聯': 'O', '脙聰': 'O', '脜聬': 'O', '脙聮': 'O', '脜聦': 'O', '脙聵': 'O', '脙聲': 'O', '脙聳': 'O', '脙鲁': 'o', '脙麓': 'o', '脜聭': 'o', '脜聯': 'oe', '脙虏': 'o', '脜聧': 'o', '脙碌': 'o', '脙赂': 'o', '脙露': 'o', '脜聰': 'R', '脜聵': 'R', '脜聳': 'R', '脜聲': 'r', '脜聶': 'r', '脜聴': 'r', '脜職': 'S', '脜聽': 'S', '脜聻': 'S', '脜聹': 'S', '脜聸': 's', '脜隆': 's', '脜聼': 's', '脜聺': 's', '脜陇': 'T', '脜垄': 'T', '脜娄': 'T', '脜楼': 't', '脜拢': 't', '脙職': 'U', '脜卢': 'U', '脙聸': 'U', '脜掳': 'U', '脙聶': 'U', '脜陋': 'U', '脜虏': 'U', '脜庐': 'U', '脜篓': 'U', '脙聹': 'u', '脙潞': 'u', '脜颅': 'u', '脙禄': 'u', '脜卤': 'u', '脙鹿': 'u', '脜芦': 'u', '脜鲁': 'u', '脜炉': 'u', '脜漏': 'u', '脙录': 'u', '脜麓': 'W', '脜碌': 'w', '脙聺': 'Y', '脜露': 'Y', '脜赂': 'Y', '脙陆': 'y', '脜路': 'y', '脙驴': 'y', '脜鹿': 'Z', '脜陆': '&Zcaron;', '脜禄': 'Z', '脙聼': 'ss', '脜潞': 'z', '脜戮': 'z', '脜录': 'z', '脦卤': '&alpha;', '脦虏': '&beta;', '脦麓': '&delta;', '脦碌': '&epsilon;', '脦鲁': '&gamma;', '脦露': '&zeta;', '脦路': '&eta;', '脦赂': '&theta;', '脦鹿': '&iota;', '脦潞': '&kappa;', '脦禄': '&lambda;', '脦录': '&mu;', '脦陆': '&nu;', '脦戮': '&xi;', '脦驴': '&omicron;', '脧聙': '&pi;', '脧聛': '&rho;', '脧聜': '&sigmaf;', '脧聝': '&sigma;', '脧聞': '&tau;' }; function escapeHtml (string) { return String(string).replace(/[&<>"'`/=脗麓#脙芦脙赂脙隆脜隆脙聳脙聹脙陇脙露脙录脙聠脦聠脙聛脛聜脙聜脙聙脛聙脛聞脙聟脙聝脙聞脦卢脛聝脟聧脙垄脙娄脦卤脙聽脛聟脙楼脙拢脛聠脛聦脙聡脛聢脛聤脛聡脛聧脙搂脛聣脛聥脛聨脛聬脛聫脛聭脙聣脛職脙聤脨颅脛聳脙聢脛聮脛聵脙聥脙漏脛聸脙陋脛聴脙篓脛聯脛聶脛聻脛垄脛聹脛聽脟碌脛聼脟搂脛聺脛隆脛陇脛娄脛楼脛搂脙聧脙聨脛掳脙聦脛陋脛庐脛篓脙聫脙颅脙庐脙卢脛芦脛卤脛炉脛漏脙炉脛麓脛碌脛露脛路脛鹿脛陆脛禄脛驴脜聛脛潞脛戮脛录脜聙脜聜脜聝脜聡脜聟脙聭脜聞脜聣脜聢脜聠脙卤脜聮脙聯脙聰脜聬脙聮脜聦脙聵脙聲脙鲁脙麓脜聭脜聯脙虏脜聧脙碌脙赂脜聰脜聵脜聳脜聲脜聶脜聴脜職脜聽脜聻脜聹脜聸脜聼脜聺脜陇脜垄脜娄脜楼脜拢脙職脜卢脙聸脜掳脙聶脜陋脜虏脜庐脜篓脙潞脜颅脙禄脜卤脙鹿脜芦脜鲁脜炉脜漏脜麓脜碌脙聺脜露脜赂脙陆脜路脙驴脜鹿脜陆脜禄脙聼脜潞脜戮脜录脦卤脦虏脦麓脦碌脦鲁脦露脦路脦赂脦鹿脦潞脦禄脦录脦陆脦戮脦驴脧聙脧聛脧聜脧聝脧聞]/g, function (s) { return entityMap[s]; }); } function pleaseWait() { var divVar = "<div id='pleaseWaitDiv' class='loader'>" " <div class='loadingContent'><p>Please wait - requested operation in progress ...</p></div>" " <div class='loading'></div>" "</div>"; document.getElementById('editDialogwait').innerHTML = divVar; } function closePleaseWait() { if (document.getElementById("pleaseWaitDiv")) { var element = document.getElementById("pleaseWaitDiv"); element.parentNode.removeChild(element); } } /* The following function handles the 'onitemselected' event. The event 'target' will be the input element. The input element will have additional properties storing the city, state and country of the selected organization. These can then be added to the other input elements... */ /* publorgsTA.getGrid(document.querySelector('select[id="add-inst"]').value, document.querySelector('select[id="countriesSelect"]').value, function(gid){ if (gid=='') { alert('Not recognized'); } else { alert(gid); } } ); */ function changedCallback(e) { e=e||window.event; var inp=e.target||e.srcElement; /* the original input element */ console.log(inp); /* in this example the inputs name is used to link it to the assocated inputs thus enabling this function to respond to multiple addresses on a page... */ var n=inp.name.replace(/organization/, ""); if (inp.countrycode) { document.querySelector('select[name="countries'+n+'"]').value=inp.countrycode; } /* see if it has extra properties: */ if (inp.city) { document.querySelector('input[name="city'+n+'"]').value=inp.city; } if (inp.state) { document.querySelector('input[name="county'+n+'"]').value=inp.state; } /* inp.gridid is also set but it is recommended to get the gridid once the user has finished editing the address (e.g. as part of client-side validation on form submit...) - see e.g. publorgsTA.getGrid(...) below. */ } </script> <link rel="stylesheet" type="text/css" href="/style/status_normalview.css" media="all" /> <link rel="stylesheet" type="text/css" href="/styles/css/thickbox.css" media="all" /> <link rel="stylesheet" type="text/css" href="/style/status_new.css" media="all" /> <link rel="stylesheet" type="text/css" href="/style/assoc1.css" media="all" /> <link rel="stylesheet" type="text/css" href="/style/highslide.css" media="all" /> <link rel="stylesheet" type="text/css" href="/styles/css/todo_style.css" media="all" /> <!--<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" media="all" />--> <link rel="stylesheet" type="text/css" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" /> <link rel="stylesheet" type="text/css" href="/style/iucr/ourstyle.css" media="all" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.2.0/jquery-confirm.min.css"> <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel = "stylesheet"> <link href="/javascript/datepick/css/redmond.datepick.css" rel="stylesheet"> <style> .form-control:focus { border-color: #930014; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset, 0px 0px 8px rgba(255, 0, 0, 0.5); } .field { border-color: grey; border-radius: 5px; border-style: solid; border-width: 1px; padding-left: 6px; } .field:focus { border-color: #930014; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset, 0px 0px 8px rgba(255, 0, 0, 0.5); } .glyphicon-edit { color: #2D7D14; opacity: 0.8; } .fa-trash-alt { color: #777777; opacity: 0.8; } kbd { background-color: #B5B5B5; } a:link { color: #800012; text-decoration: none; } .btn-default { text-transform: none; background: #800012; border-color: #686868; border-radius: 20px; } .btn-default:hover, .btn-primary:focus { text-transform: none; background: #FFF; border-color: #686868; background-color: #FFF; color: #686868; border-radius: 20px; } .btn-default { text-transform: none; background: #FFF; border-color: #686868; color: #686868; border-radius: 6px; font-size: 12px; } .btn-default:hover, .btn-info:focus { background: #FFF; background-color: #FFF; color: #686868; border-color: #686868; border-radius: 6px; } .icon { background-color: #000000; } .errorFld { border-style: solid; border-width: medium; border-color: red; padding: 2px; } .messageArea { visibility:hidden; } .messageAreaDisplay { visibility:visible; width:100%; float:left; color:#930014; text-align:left; margin-bottom:25px; } .ui-state-active { border:1px solid #1b3a67; color: #1b3a67; } .datepick-month-year { font-size: 11px; max-width: 80px; display: inline; } .datepickerdropdown table { border-collapse:collapse; margin:auto; } .datepickerdropdown input { font-family:arial; border:1px solid #888; border-radius:3px; margin:1px; padding:2px 5px; text-align:center; } .datepickerdropdown table input[type=button] { width:2em; } .datepickerdropdown input[type=button] { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e7e7e7+0,e7e7e7+49,afafaf+100 */ background: #e7e7e7; /* Old browsers */ background: -moz-linear-gradient(top, #e7e7e7 0%, #e7e7e7 49%, #afafaf 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #e7e7e7 0%,#e7e7e7 49%,#afafaf 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #e7e7e7 0%,#e7e7e7 49%,#afafaf 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e7e7e7', endColorstr='#afafaf',GradientType=0 ); /* IE6-9 */ font-size: 12px; } .datepickerdropdown input[type=button]:hover { background: #EFEFEF; } .datepickerdropdown input[type=button]:active { background: #EFEFEF; padding:2px 4px 2px 6px; } .datepickerdropdown input.selected { background:#EFEFEF; color: #000000; } .datepickerdropdown input[type=text] { background:#fff; color:#000; } .datepickerdropdown input.today { border:1px solid #930014; color: #930014; } .datepickerdropdown input.othermonth { color:#aaa; border:1px solid #bbb; } .datepickershow img { border:0; } .monthDsp { width:80px; font-size:9px; } .daysRow { font-family:sans-serif; font-size:11px; } .glyphicon { color: #686868; opacity: 0.8; } .close { color: #000000; float: right; font-size: 20px; font-weight: bold; top: 50%; z-index: 99; } .close:hover, .close:focus { color: #000000; text-decoration: none; cursor: pointer; z-index: 99; } .col-40 { float: left; text-align:right; width: 40%; margin-top: 6px; font-size: 12px; } .col-60 { float: left; width: 60%; margin-top: 6px; } .top-left { position: relative; float: left; border-radius: 6px; } .top-right { position: relative; float:right; border-radius: 6px; } .glyphicon-log-out { top: 50%; } #topBtnGroup > .btn { width: 100%; color: #686868; } #editDialogoverlay { display: none; opacity: 0.5; position: fixed; top: 0px; left: 0px; background: #FFF; height: 100%; min-width: 100%; z-index: 98; } #editDialogbox > div > #editDialogboxhead { /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#dddddd+0,dfe5d7+60,fcfff4+100 */ background: #dddddd; height: 40px; padding: 10px; font-size: 14; color:#000000; font-weight: bold; } #editDialogbox > div { background:#f7f7f7; margin:2px; word-wrap: break-word; } input:focus { outline: none; } #editDialogbox { display: none; position: absolute; background: #f7f7f7; -webkit-box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); -moz-box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); max-width: 100%; border-radius:0px; left:50%; -webkit-transform: translate(-50%, -15%); transform: translate(-50%, -15%); z-index: 99; overflow: auto; font-size: 14px; } #editDialogbox > div > #editDialogboxfoot { /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fcfff4+0,dfe5d7+40,b3bead+100 */ background: #dddddd; padding:10px; text-align:right; color:#000000; } #editDialogbox > div > #editDialogboxbody { background: #f7f7f7; /* Old browsers */ padding:20px; max-width: 100%; color:#837777; left: 20px; } #editDialogbox > div > #editDialogboxbody > div > .row > .col-60, input[type=text], input[type=URL], select, textarea { width: 100%; resize: vertical; background-color: #fff; outline: none; color:#837777; left: 20px; } #editDialogbox > div > #editDialogboxbody > label { padding: 12px 12px 12px 0; display: inline-block; color:#fff; } .welcome-text { font-size: 20px; color: #800012; } .glyphicon-duplicate:hover { color: #000000; } @media screen and (max-width: 814px) { .top-left, .top-right { width: 100%; align: left; border-radius: 0px; clear: both; } .top-left-menu-btns, .top-right-menu-btns { margin-bottom: 10px; } .close { color: #837777; float: right; font-size: 5vw; font-weight: bold; top: 50%; } .col-40, .col-60 , .col-md-4 { width: 100%; margin-top: 0; text-align: left; } #editDialogbox { display: none; position: absolute; -webkit-box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); -moz-box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); width: 50%; border-radius:0px; top: 10%; left: 50%; z-index: 99; -webkit-transform: translate(-50%, -10%); transform: translate(-50%, -10%); } } @media screen and (max-width: 600px) { .close { color: #837777; float: right; font-size: 5vw; font-weight: bold; top: 50%; } .col-40, .col-60 , .col-md-4 { width: 100%; margin-top: 0; text-align: left; } .welcome-text { font-size: 14px; } #editDialogbox { display: none; position: absolute; -webkit-box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); -moz-box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); box-shadow: 0px 0px 10px 2px rgba(119,119,119,1); width: 90%; border-radius:0px; top: 10%; left: 50%; z-index: 99; -webkit-transform: translate(-50%, -10%); transform: translate(-50%, -10%); document.getElementById('dialogbox').style.width ='30%' } } .tdContents { text-align:right; font-style:italic; font-size:small; padding-right: 12px; } .loader { position: fixed; z-index: 10; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; text-align: center; margin: auto; opacity: 0.80; background-color: #ffffff; } .loadingContent { position: relative; top: 0px; margin: auto; height: 20%; color: #000000; font-size: 150%; z-index: 12; font-family: arial; font-weight: bold; } .loading { border-radius: 50%; border-top: 10px solid #3C3C3C; border-right: 10px solid transparent; margin: auto; width: 80px; height: 80px; z-index: 11; -webkit-animation-name: spin; -webkit-animation-duration: 2000ms; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: linear; -moz-animation-name: spin; -moz-animation-duration: 2000ms; -moz-animation-iteration-count: infinite; -moz-animation-timing-function: linear; -ms-animation-name: spin; -ms-animation-duration: 2000ms; -ms-animation-iteration-count: infinite; -ms-animation-timing-function: linear; animation-name: spin; animation-duration: 2000ms; animation-iteration-count: infinite; animation-timing-function: linear; } @-webkit-keyframes spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } </style> <div class="dialogoverlay container" id="editDialogoverlay"></div> <div id="editDialogbox"> <div> <div id="editDialogboxhead" style='width:100%; margin:auto;'></div> <div id="editDialogboxbody"></div> <div id="editDialogboxfoot"></div> <div id="editDialogwait"></div> </div> </div><div id="activeRoleDropDownDiv" style="display:none"> <select id="activeRoleDropDown" onchange="grabSelectedActiveRole"> <option value='5'>IUCr Journals Co-editor</option><option value='3'>IUCr Journals Editor-in-chief</option><option value='4'>IUCr Journals Main Editor</option><option value='7'>IUCr staff</option><option value='1'>WDC Administrator</option><option value='2'>WDC Editor</option> </select> </div><div id="bodiesDropDownDiv" style="display:none"> <select id="bodySelectDD" class="field" onchange="sndReq('get_positions',this.value);"> <option value='0'>please select ...</option> <option value='Acta Crystallographica Section A'>Acta Crystallographica Section A</option><option value='Acta Crystallographica Section B'>Acta Crystallographica Section B</option><option value='Acta Crystallographica Section C'>Acta Crystallographica Section C</option><option value='Acta Crystallographica Section D'>Acta Crystallographica Section D</option><option value='Acta Crystallographica Section E'>Acta Crystallographica Section E</option><option value='Acta Crystallographica Section F'>Acta Crystallographica Section F</option><option value='American Crystallographic Association'>American Crystallographic Association</option><option value='Asian Crystallographic Association'>Asian Crystallographic Association</option><option value='CODATA'>CODATA</option><option value='COSPAR'>COSPAR</option><option value='Commission on Aperiodic Crystals'>Commission on Aperiodic Crystals</option><option value='Commission on Biological Macromolecules'>Commission on Biological Macromolecules</option><option value='Commission on Crystal Growth and Characterisation of Materials'>Commission on Crystal Growth and Characterisation of Materials</option><option value='Commission on Crystallographic Computing'>Commission on Crystallographic Computing</option><option value='Commission on Crystallographic Nomenclature'>Commission on Crystallographic Nomenclature</option><option value='Commission on Crystallographic Teaching'>Commission on Crystallographic Teaching</option><option value='Commission on Crystallography in Art and Cultural Heritage'>Commission on Crystallography in Art and Cultural Heritage</option><option value='Commission on Crystallography of Materials'>Commission on Crystallography of Materials</option><option value='Commission on Diffraction Microstructure Imaging'>Commission on Diffraction Microstructure Imaging</option><option value='Commission on Electron Crystallography'>Commission on Electron Crystallography</option><option value='Commission on High Pressure'>Commission on High Pressure</option><option value='Commission on Inorganic and Mineral Structures'>Commission on Inorganic and Mineral Structures</option><option value='Commission on International Tables'>Commission on International Tables</option><option value='Commission on Journals'>Commission on Journals</option><option value='Commission on Magnetic Structures'>Commission on Magnetic Structures</option><option value='Commission on Mathematical and Theoretical Crystallography'>Commission on Mathematical and Theoretical Crystallography</option><option value='Commission on NMR Crystallography and Related Methods'>Commission on NMR Crystallography and Related Methods</option><option value='Commission on Neutron Scattering'>Commission on Neutron Scattering</option><option value='Commission on Powder Diffraction'>Commission on Powder Diffraction</option><option value='Commission on Quantum Crystallography'>Commission on Quantum Crystallography</option><option value='Commission on Small-Angle Scattering'>Commission on Small-Angle Scattering</option><option value='Commission on Structural Chemistry'>Commission on Structural Chemistry</option><option value='Commission on Synchrotron and XFEL Radiation'>Commission on Synchrotron and XFEL Radiation</option><option value='Commission on XAFS'>Commission on XAFS</option><option value='Committee for the Maintenance of the CIF Standard (COMCIFS)'>Committee for the Maintenance of the CIF Standard (COMCIFS)</option><option value='Committee on Crystallographic Databases'>Committee on Crystallographic Databases</option><option value='Committee on Data'>Committee on Data</option><option value='Crystallography News Online'>Crystallography News Online</option><option value='European Crystallographic Association'>European Crystallographic Association</option><option value='Executive Committee'>Executive Committee</option><option value='Finance Committee'>Finance Committee</option><option value='Gender Equity and Diversity Committee'>Gender Equity and Diversity Committee</option><option value='ICSTI'>ICSTI</option><option value='ICSU'>ICSU</option><option value='ICTNS'>ICTNS</option><option value='ISO'>ISO</option><option value='IUCr'>IUCr</option><option value='IUCr Journals'>IUCr Journals</option><option value='IUCr Newsletter'>IUCr Newsletter</option><option value='IUCr Office'>IUCr Office</option><option value='IUCr/Oxford University Press (OUP) Book Series Selection Committee'>IUCr/Oxford University Press (OUP) Book Series Selection Committee</option><option value='IUCrData'>IUCrData</option><option value='IUCrJ'>IUCrJ</option><option value='IUPAC Interdivisional Committee on Nomenclature and Symbols'>IUPAC Interdivisional Committee on Nomenclature and Symbols</option><option value='International Program Committee of IUCr 2017 Congress'>International Program Committee of IUCr 2017 Congress</option><option value='International Tables for Crystallography'>International Tables for Crystallography</option><option value='International Tables for Crystallography Vol. A'>International Tables for Crystallography Vol. A</option><option value='International Tables for Crystallography Vol. A1'>International Tables for Crystallography Vol. A1</option><option value='International Tables for Crystallography Vol. B'>International Tables for Crystallography Vol. B</option><option value='International Tables for Crystallography Vol. C'>International Tables for Crystallography Vol. C</option><option value='International Tables for Crystallography Vol. D'>International Tables for Crystallography Vol. D</option><option value='International Tables for Crystallography Vol. E'>International Tables for Crystallography Vol. E</option><option value='International Tables for Crystallography Vol. F'>International Tables for Crystallography Vol. F</option><option value='International Tables for Crystallography Vol. G'>International Tables for Crystallography Vol. G</option><option value='International Tables for Crystallography Vol. H'>International Tables for Crystallography Vol. H</option><option value='International Tables for Crystallography Vol. I'>International Tables for Crystallography Vol. I</option><option value='Joint Society Bioinformatics Task Force'>Joint Society Bioinformatics Task Force</option><option value='Journal of Applied Crystallography'>Journal of Applied Crystallography</option><option value='Journal of Synchrotron Radiation'>Journal of Synchrotron Radiation</option><option value='Journals Management Board'>Journals Management Board</option><option value='Latin American Crystallographic Association'>Latin American Crystallographic Association</option><option value='Online Dictionary'>Online Dictionary</option><option value='Organizing Committee of IUCr 2002 Congress'>Organizing Committee of IUCr 2002 Congress</option><option value='Organizing Committee of IUCr 2005 Congress'>Organizing Committee of IUCr 2005 Congress</option><option value='Organizing Committee of IUCr 2008 Congress'>Organizing Committee of IUCr 2008 Congress</option><option value='Organizing Committee of IUCr 2011 Congress'>Organizing Committee of IUCr 2011 Congress</option><option value='Organizing Committee of IUCr 2014 Congress'>Organizing Committee of IUCr 2014 Congress</option><option value='Organizing Committee of IUCr 2017 Congress'>Organizing Committee of IUCr 2017 Congress</option><option value='Organizing Committee of IUCr 2021 Congress'>Organizing Committee of IUCr 2021 Congress</option><option value='Organizing Committee of IUCr 2023 Congress'>Organizing Committee of IUCr 2023 Congress</option><option value='Promotion Committee'>Promotion Committee</option><option value='Publications and Services'>Publications and Services</option><option value='Sub-Committee on the Union Calendar'>Sub-Committee on the Union Calendar</option><option value='World Directory of Crystallographers'>World Directory of Crystallographers</option><option value='mmCIF Working Group'>mmCIF Working Group</option><option value='pdCIF Dictionary Management Group'>pdCIF Dictionary Management Group</option><option value='wwPDB'>wwPDB</option> </select> </div><input type='hidden' id='session_id' value=''/><div id='display_details_div'><div id='display_bio_div' class='table-responsive-sm'> <input type='hidden' id='personID' value='7893'/> <input type='hidden' id='iucrID' value='7893'/> <input type='hidden' id='origUserName' value=''/> <input type='hidden' id='nearc' style='display:none;' value='WILKINSON'/> <input type='hidden' id='displayRcrd' value='y'/> <input type='hidden' id='photo' style='display:none;' value='7893WILKINSON.gif '/> <table class='biolist' style='margin-top:20px;'><tr style='background-color: white;'> <td style='max-width:40px; padding:6px;'><img class='img-responsive' id='avatar'><a class="highslide" href="//scripts.iucr.org/cgi-bin/sendimage?&amp;amp;image=7893WILKINSON.gif&amp;large=large" onclick="return hs.expand(this)"><img align="left" alt="Professor Angus P. Wilkinson" src="//scripts.iucr.org/cgi-bin/sendimage?&amp;amp;image=7893WILKINSON.gif" width="64" /></a></label></td> <td id='topNameDetails' style='vertical-align: middle;'> <span class="align-items-center" style="margin-left:12px;"> <big> <b>Wilkinson, </b> </big> Professor Angus P. (1966) (USA) <a href="mailto:angus.wilkinson@chemistry.gatech.edu">angus.wilkinson@chemistry.gatech.edu</a> (IUCr ID: 7893) </span> </td> <td style='vertical-align: middle;'> <span> </span> </td> <td style='vertical-align: middle;'> <span style='position:relative; top:9px;'> <a class="btn btn-outline-secondary btn-xs" href="https://www.iucr.org/people/login" title="login" style="position:relative; top:-12px; border-width:1px; border-color:#8c8c8c;">login</a> </span> </td> </tr></table><div class='table-responsive-sm'><table class='biolist'> <tr style='background-color: #EFEFEF'> <td style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>Biographical information</td> <td style='background-color: #EFEFEF; float:right'></td> </tr> <tr><td width='30%' class='tdContents'>Current position:</td> <td>Professor</td></tr><tr><td width='30%' class='tdContents'>Institution type:</td> <td>university</td></tr><tr><td width='30%' class='tdContents'>Highest degree:</td> <td>DPhil awarded by Oxford U., UK (1992) in Chemistry </td></tr><tr><td width='30%' class='tdContents'>URL(s):</td><td><a class='links' target='_blank' href='//www.chemistry.gatech.edu/faculty/wilkinson/wilkinson.html'>www.chemistry.gatech.edu/faculty/wilkinson/wilkinson.html</a></td></tr></table></div><div id='display_address_div'><select id='countriesDropDown' style='display:none'> <option value='00'>Please select ...</option> <option value='AD'>Andorra</option> <option value='AE'>United Arab Emirates</option> <option value='AF'>Afghanistan</option> <option value='AG'>Antigua and Barbuda</option> <option value='AI'>Anguilla</option> <option value='AL'>Albania</option> <option value='AM'>Armenia</option> <option value='AN'>Netherlands Antilles</option> <option value='AO'>Angola</option> <option value='AQ'>Antarctica</option> <option value='AR'>Argentina</option> <option value='AS'>American samoa</option> <option value='AT'>Austria</option> <option value='AU'>Australia</option> <option value='AW'>Aruba</option> <option value='AZ'>Azerbaijan</option> <option value='BA'>Bosnia and Herzegowina</option> <option value='BB'>Barbados</option> <option value='BD'>Bangladesh</option> <option value='BE'>Belgium</option> <option value='BF'>Burkina Faso</option> <option value='BG'>Bulgaria</option> <option value='BH'>Bahrain</option> <option value='BI'>Burundi</option> <option value='BJ'>Benin</option> <option value='BM'>Bermuda</option> <option value='BN'>Brunei Darussalam</option> <option value='BO'>Bolivia</option> <option value='BR'>Brazil</option> <option value='BS'>Bahamas</option> <option value='BT'>Bhutan</option> <option value='BV'>Bouvet Island</option> <option value='BW'>Botswana</option> <option value='BY'>Belarus</option> <option value='BZ'>Belize</option> <option value='CA'>Canada</option> <option value='CC'>Cocos (Keeling) Islands</option> <option value='CD'>Congo, the Democratic Republic of the</option> <option value='CF'>Central African Republic</option> <option value='CG'>Congo</option> <option value='CH'>Switzerland</option> <option value='CI'>Cote d'Ivoire</option> <option value='CK'>Cook Islands</option> <option value='CL'>Chile</option> <option value='CM'>Cameroon</option> <option value='CN'>China</option> <option value='CO'>Colombia</option> <option value='CR'>Costa Rica</option> <option value='CU'>Cuba</option> <option value='CV'>Cape Verde</option> <option value='CX'>Christmas Island</option> <option value='CY'>Cyprus</option> <option value='CZ'>Czechia</option> <option value='DE'>Germany</option> <option value='DJ'>Djibouti</option> <option value='DK'>Denmark</option> <option value='DM'>Dominica</option> <option value='DO'>Dominican Republic</option> <option value='DZ'>Algeria</option> <option value='EC'>Ecuador</option> <option value='EE'>Estonia</option> <option value='EG'>Egypt</option> <option value='EH'>Western Sahara</option> <option value='ER'>Eritrea</option> <option value='ES'>Spain</option> <option value='ET'>Ethiopia</option> <option value='FI'>Finland</option> <option value='FJ'>Fiji</option> <option value='FK'>Falkland Islands</option> <option value='FM'>Micronesia, Federated States of</option> <option value='FO'>Faroe Islands</option> <option value='FR'>France</option> <option value='FX'>France, Metropolitan</option> <option value='GA'>Gabon</option> <option value='GB'>United Kingdom</option> <option value='GD'>Grenada</option> <option value='GE'>Georgia</option> <option value='GF'>French Guiana</option> <option value='GH'>Ghana</option> <option value='GI'>Gibraltar</option> <option value='GL'>Greenland</option> <option value='GM'>Gambia</option> <option value='GN'>Guinea</option> <option value='GP'>Guadeloupe</option> <option value='GQ'>Equatorial Guinea</option> <option value='GR'>Greece</option> <option value='GS'>South Georgia and South Sandwich Islands</option> <option value='GT'>Guatemala</option> <option value='GU'>Guam</option> <option value='GW'>Guinea-Bissau</option> <option value='GY'>Guyana</option> <option value='HK'>Hong Kong</option> <option value='HM'>Heard and McDonald Islands</option> <option value='HN'>Honduras</option> <option value='HR'>Croatia</option> <option value='HT'>Haiti</option> <option value='HU'>Hungary</option> <option value='ID'>Indonesia</option> <option value='IE'>Ireland</option> <option value='IL'>Israel</option> <option value='IN'>India</option> <option value='IO'>British Indian Ocean Territory</option> <option value='IQ'>Iraq</option> <option value='IR'>Iran</option> <option value='IS'>Iceland</option> <option value='IT'>Italy</option> <option value='JM'>Jamaica</option> <option value='JO'>Jordan</option> <option value='JP'>Japan</option> <option value='KE'>Kenya</option> <option value='KG'>Kyrgyzstan</option> <option value='KH'>Cambodia</option> <option value='KI'>Kiribati</option> <option value='KM'>Comoros</option> <option value='KN'>Saint Kitts and Nevis</option> <option value='KP'>Korea, Democratic People's Republic of</option> <option value='KR'>Korea, Republic of</option> <option value='KW'>Kuwait</option> <option value='KY'>Cayman Islands</option> <option value='KZ'>Kazakhstan</option> <option value='LA'>Lao People's Democratic Republic</option> <option value='LB'>Lebanon</option> <option value='LC'>Saint Lucia</option> <option value='LI'>Liechtenstein</option> <option value='LK'>Sri Lanka</option> <option value='LR'>Liberia</option> <option value='LS'>Lesotho</option> <option value='LT'>Lithuania</option> <option value='LU'>Luxembourg</option> <option value='LV'>Latvia</option> <option value='LY'>Libya</option> <option value='MA'>Morocco</option> <option value='MC'>Monaco</option> <option value='MD'>Moldova, Republic of</option> <option value='MG'>Madagascar</option> <option value='MH'>Marshall Islands</option> <option value='MK'>Macedonia, Former Yugoslav Republic of</option> <option value='ML'>Mali</option> <option value='MM'>Myanmar</option> <option value='MN'>Mongolia</option> <option value='MO'>Macau</option> <option value='MP'>Northern Mariana Islands</option> <option value='MQ'>Martinique</option> <option value='MR'>Mauritania</option> <option value='MS'>Montserrat</option> <option value='MT'>Malta</option> <option value='MU'>Mauritius</option> <option value='MV'>Maldives</option> <option value='MW'>Malawi</option> <option value='MX'>Mexico</option> <option value='MY'>Malaysia</option> <option value='MZ'>Mozambique</option> <option value='NA'>Namibia</option> <option value='NC'>New Caledonia</option> <option value='NE'>Niger</option> <option value='NF'>Norfolk Island</option> <option value='NG'>Nigeria</option> <option value='NI'>Nicaragua</option> <option value='NL'>Netherlands</option> <option value='NO'>Norway</option> <option value='NP'>Nepal</option> <option value='NR'>Nauru</option> <option value='NU'>Niue</option> <option value='NZ'>New Zealand</option> <option value='OM'>Oman</option> <option value='PA'>Panama</option> <option value='PE'>Peru</option> <option value='PF'>French Polynesia</option> <option value='PG'>Papua New Guinea</option> <option value='PH'>Philippines</option> <option value='PK'>Pakistan</option> <option value='PL'>Poland</option> <option value='PM'>St Pierre and Miquelon</option> <option value='PN'>Pitcairn</option> <option value='PR'>Puerto Rico</option> <option value='PT'>Portugal</option> <option value='PW'>Palau</option> <option value='PY'>Paraguay</option> <option value='QA'>Qatar</option> <option value='RE'>Reunion</option> <option value='RO'>Romania</option> <option value='RU'>Russian Federation</option> <option value='RW'>Rwanda</option> <option value='SA'>Saudi Arabia</option> <option value='SB'>Solomon Islands</option> <option value='SC'>Seychelles</option> <option value='SD'>Sudan</option> <option value='SE'>Sweden</option> <option value='SG'>Singapore</option> <option value='SH'>St Helena</option> <option value='SI'>Slovenia</option> <option value='SJ'>Svalbard and Jan Mayen Islands</option> <option value='SK'>Slovakia (Slovak Republic)</option> <option value='SL'>Sierra Leone</option> <option value='SM'>San Marino</option> <option value='SN'>Senegal</option> <option value='SO'>Somalia</option> <option value='SR'>Suriname</option> <option value='ST'>Sao Tome and Principe</option> <option value='SV'>El Salvador</option> <option value='SY'>Syrian Arab Republic</option> <option value='SZ'>Eswatini</option> <option value='TC'>Turks and Caicos Islands</option> <option value='TD'>Chad</option> <option value='TF'>French Southern Territories</option> <option value='TG'>Togo</option> <option value='TH'>Thailand</option> <option value='TJ'>Tajikistan</option> <option value='TK'>Tokelau</option> <option value='TM'>Turkmenistan</option> <option value='TN'>Tunisia</option> <option value='TO'>Tonga</option> <option value='TP'>East Timor</option> <option value='TR'>Turkey</option> <option value='TT'>Trinidad and Tobago</option> <option value='TV'>Tuvalu</option> <option value='TW'>Taiwan</option> <option value='TZ'>Tanzania, United Republic of</option> <option value='UA'>Ukraine</option> <option value='UG'>Uganda</option> <option value='UM'>United States Minor Outlying Islands</option> <option value='US'>USA</option> <option value='UY'>Uruguay</option> <option value='UZ'>Uzbekistan</option> <option value='VA'>Vatican City</option> <option value='VC'>Saint Vincent and the Grenadines</option> <option value='VE'>Venezuela</option> <option value='VG'>Virgin Islands (British)</option> <option value='VI'>Virgin Islands (US)</option> <option value='VN'>Vietnam</option> <option value='VU'>Vanuatu</option> <option value='WF'>Wallis and Futuna Islands</option> <option value='WS'>Samoa</option> <option value='YE'>Yemen</option> <option value='YT'>Mayotte</option> <option value='YU'>Yugoslavia</option> <option value='ZA'>South Africa</option> <option value='ZM'>Zambia</option> <option value='ZW'>Zimbabwe</option> <option value='PS'>Palestinian Territories</option> <option value='CS'>Serbia and Montenegro</option> <option value='RS'>Serbia</option> <option value='ME'>Montenegro</option> <option value='SS'>South Sudan</option> <option value='XK'>Kosovo</option> </select><table class='biolist table-sm'> <tr style='background-color: #EFEFEF'> <td style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>Address(es)</td> <td style='background-color: #EFEFEF; float:right'></td> </tr> <tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px;">Address(es):</td> <td> <input type='hidden' id='add-id-1' value='15606'/> <input type='hidden' id='add-main-1' value='y'/> <input type='hidden' id='add-comment-1' value=''/> <input type='hidden' id='add-mailing-label-1' value=''/> <b>School of Chemistry and Biochemistry, Georgia Institute of Technology, 901 Atlantic Dr, Atlanta, GA, 30332-0400, USA</b><input type='hidden' id='main-add-id' value='15606'/> </td></tr></table></div><div id='display_email_div'><table class='biolist table-sm'> <tr style='background-color: #EFEFEF'> <td style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>Email</td> <td></td> <td style='background-color: #EFEFEF; float:right'></td> </tr> <tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px;">E-mail address(es):</td> <td><b><a href="mailto:angus.wilkinson@chemistry.gatech.edu">angus.wilkinson@chemistry.gatech.edu</a></b></td> <td style='background-color: #EFEFEF; float:right'></td> </tr> <tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px;"></td> <td><a href="mailto:"></a></td> <td style='background-color: #EFEFEF; float:right'></td> </tr> </table></div><div id='display_tel_div'><table class='biolist table-sm'> <tr style='background-color: #EFEFEF'> <td colspan=2 style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>Contact number(s)</td> </tr> </table></table></div><div id='display_role_div'><table class='biolist table-sm'> <tr style='background-color: #EFEFEF'> <td style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>IUCr role(s)</td> <td style='background-color: #EFEFEF; float:right'></td> </tr> <tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px; color:white;"></td> <td> Chair, Commission on Powder Diffraction (2023-)</td></tr><tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px; color:white;"></td> <td> Member, Commission on Powder Diffraction (2017-2023)</td></tr></table></div><div id='display_other_role_div'><table class='biolist table-sm'> <tr style='background-color: #EFEFEF'> <td style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>Other role(s)</td> <td style='background-color: #EFEFEF; float:right'></td> </tr> </table></div><div id='display_scientific_interests_div'><table class='biolist table-sm'> <tr style='background-color: #EFEFEF'> <td style='background-color: #EFEFEF; font-weight:bold; padding-left: 6px; text-align: left;'>Scientific interests</td> <td style='background-color: #EFEFEF;'></td> <td style='background-color: #EFEFEF; float:right'></td> </tr> <tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px;">Scientific research interests:</td> <td> <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=anomalous dispersion&Action=search'>anomalous dispersion</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=disorder&Action=search'>disorder</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=high pressure&Action=search'>high pressure</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=materials science&Action=search'>materials science</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=powder diffraction&Action=search'>powder diffraction</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=synchrotron radiation&Action=search'>synchrotron radiation</a> </td> <td style='background-color: #EFEFEF; float:right'></td></tr><tr> <td width='30%' style="text-align:right; font-style:italic; font-size:small; padding-right: 12px;">Detailed scientific research interests:</td> <td> <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=Cement based materials&Action=search'>Cement based materials</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=High energy x-ray diffraction&Action=search'>High energy x-ray diffraction</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=Negative thermal expansion&Action=search'>Negative thermal expansion</a>, <a class='links' href='//scripts.iucr.org/cgi-bin/chub_search?&interest=Semiconducting clathrates&Action=search'>Semiconducting clathrates</a> </td> <td style='background-color: #EFEFEF; float:right'></td></tr></table></div></div><tr><td align="right" colspan="5" valign="bottom"><table><tr><td><form method="post" action="vcard" enctype="multipart/form-data"><input type="hidden" name="vcard_code" value="zkDO3gFWeGzcZSRAjLm01bbx" /><input type="submit" name="Action" value="vCard 2.1" style="margin-top:6px; margin-bottom:6px; margin-left:6px;" /></form></td><td style="margin-top:6px; margin-bottom:6px;"><form method="post" action="vcard" enctype="multipart/form-data"><input type="hidden" name="vcard_code" value="zkDO3gFWeGzcZSRAjLm01bbx" /><input type="submit" name="Action" value="vCard 3.0" style="margin-top:6px; margin-bottom:6px;" /></form></td></tr></table></td></tr><div class="table-responsive-sm"><table class="biolist table-sm"><tr><td><tr><td align="right" colspan="5" valign="bottom">Search for papers by Wilkinson, A.P. in <a class="links" href="//scripts.iucr.org/cgi-bin/citedin?search_on=name&amp;author_name=Wilkinson,%20A.P." target="top" >Crystallography Journals Online</a> | <a class="links" href="//scripts.iucr.org/cgi-bin/resolve_search?Action=View&query=Wilkinson, A.P.&source=google_scholar&authorsearch=yes" target="top">Google Scholar</a> | <a class="links" href="//scripts.iucr.org/cgi-bin/resolve_search?Action=View&query=Wilkinson, A.P.&source=pubmed&authorsearch=yes" target="top">Pubmed</a></td></tr></td></tr></table></div></div> <!-- Right sidebar can host a calendar navigator, navigation menu and adverts --> <div class="sidebar one_quarter" style="float:right;"></div> <div class="sidebar one_quarter" style="float:right;"></div> </div> </main> </div> <!-- ################################### END OF MAIN BODY ################################## --> <!-- ####################################################################################### --> <!-- ############################# ITEMS OF INTEREST (ON HOME PAGE) ######################## --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ############################### LIST OF SPONSORS ###################################### --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ############################### SECONDARY BANNER ###################################### --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ######################## NEWSLETTER ITEMS (ON HOME PAGE) ############################## --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ####################################################################################### --> <!-- ################################# SITE MAP/INDEX ###################################### --> <!-- ####################################################################################### --> <div class="wrapper row1"> <div id="quicklinks" class="hoc clear"> <!-- ####################################################################################### --> <div class="accordion"> <!-- ####################################################################################### --> <a href="javascript:void(0);" class="accordiontoggle heading">Quick links</a> <!-- ####################################################################################### --> <div class="linkblock group"> <div class="one_quarter first"> <!-- ################################################################################################ --> <ul> <li><a href="//www.iucr.org/news/notices/announcements">Announcements</a></li> <li><a href="//www.iucr.org/people/associates">Associates Programme</a></li> <li><a href="//www.iucr.org/resources/blogs">Blogs</a></li> <li><a href="//www.iucr.org/people/bragg-prize">Bragg Prize</a></li> <li><a href="//www.iucr.org/calendar/calendar-of-events">Calendar of Events</a></li> <li><a href="//www.iucr.org/resources/commissions">Commissions</a></li> <li><a href="//www.iucr.org/iucr/governance/advisory-committees/committee-on-data">Committee on Data</a></li> <li><a href="//www.iucr.org/iucr/cong">Congress and General Assembly</a></li> <li><a href="//www.iucr.org/outreach/crystal-growing-competition">Crystal growing competition</a></li> <li><a href="//www.iucr.org/resources/cif">Crystallographic Information Framework (CIF)</a></li> <li><a href="//www.iucr.org/world">Crystallography around the world</a></li> <li><a href="//www.iucr.org/resources/forums">Discussion forums</a></li> </ul> <!-- ################################################################################################ --> </div> <div class="one_quarter"> <!-- ################################################################################################ --> <ul> <li><a href="//www.iucr.org/resources/lists">Discussion lists</a></li> <li><a href="//www.iucr.org/people/ewald-prize">Ewald Prize</a></li> <li><a href="//www.iucr.org/iucr/governance/ec">Executive Committee</a></li> <li><a href="//www.iucr.org/iucr/governance/finance.html">Finance Committee</a></li> <!-- <li><a href="./?a=143598">Gender Equity and Diversity Committee</a></li> --> <li><a href="//www.iucr.org/iucr/governance/advisory-committees/gedc">Gender Equity and Diversity Committee</a></li> <li><a href="//www.iucr.org/iucr/history">History of the Union</a></li> <li><a href="//www.iucr.org/books2008/international-tables"><it>International Tables for Crystallography</it></a></li> <li><a href="https://iycr2014.org/about"><it>International Year of Crystallography</it></a></li> <li><a href="//www.iucr.org/news/notices/employment">Jobs</a></li> <li><a href="//www.iucr.org/retired/journals">Journals</a></li> <li><a href="//www.iucr.org/resources/nexus">Lachlan Cranswick Crystallographic NeXus</a></li> </ul> <!-- ################################################################################################ --> </div> <div class="one_quarter"> <!-- ################################################################################################ --> <ul> <li><a href="//www.iucr.org/outreach/laamp">Lightsources for Africa, the Americas, Asia and Middle East Project (LAAAMP)</a></li> <li><a href="//www.iucr.org/iucr/ab.html">Membership</a></li> <li><a href="//www.iucr.org/iucr/sponsorship/meetings.html">Meetings support</a></li> <li><a href="//www.iucr.org/news/newsletter">Newsletter</a></li> <li><a href="//www.iucr.org/people/nobel-prize">Nobel Prizes</a></li> <li><a href="//www.iucr.org/people/crystallographers">Obituaries</a></li> <li><a href="//www.iucr.org/outreach/openlabs">OpenLabs</a></li> <li><a href="//www.iucr.org/iucr/governance/advisory-committees/book-series">OUP Book Series</a></li> <li><a href="//www.iucr.org/iucr/sponsorship/iucr-outreach-fund">Outreach and Education Fund</a></li> <li><a href="//www.iucr.org/people/photos">Photo galleries</a></li> <li><a href="//www.iucr.org/publications">Publications</a></li> <li><a href="//www.iucr.org/news/rss-feeds">RSS feeds</a></li> </ul> <!-- ################################################################################################ --> </div> <div class="one_quarter"> <!-- ################################################################################################ --> <ul> <li><a href="//www.iucr.org/iucr/2abbeysq.html">Secretariat</a></li> <li><a href="//www.iucr.org/resources/other-directories/software">Software list</a></li> <li><a href="//www.iucr.org/iucr/governance/statutes-and-by-laws">Statutes and By-Laws</a></li> <li><a href="//www.iucr.org/iucr/sponsorship/meetings.html">Support of Meetings</a></li> <li><a href="//www.iucr.org/resources/symmetry-font">Symmetry font</a></li> <li><a href="//www.iucr.org/education/pamphlets">Teaching Pamphlets</a></li> <li><a href="//www.iucr.org/iucr/sponsorship/vp.html">Visiting Professorship scheme</a></li> <li><a href="//www.iucr.org/people/wdc"><it>World Directory of Crystallographers</it></a></li> </ul> <!-- ################################################################################################ --> </div> </div> <!-- ####################################################################################### --> <!-- ####################################################################################### --> </div> <!-- ######################################################################################### --> </div> </div> <!-- ####################################################################################### --> <!-- ############################# STANDARD FOOTER ######################################### --> <!-- ####################################################################################### --> <div class="wrapper row4"> <footer id="footer" class="hoc clear"> <div class="group"> <div class="one_third first"> <h6 class="title">International Union of Crystallography</h6> <p class="btmspace-30">Scientific Union Member of the International Science Council (admitted 1947). Member of CODATA, the ISC Committee on Data. Partner with UNESCO, the United Nations Educational, Scientific and Cultural Organization in the International Year of Crystallography 2014.</p> <ul class="nospace inline pushright"> <li><a href="//www.iucr.org/home/contact-us">Contact</a></li> <li><a href="/cgi-bin/iucrsearch">Search</a></li> <li><a href="//journals.iucr.org/services/privacy.html">Privacy</a></li> </ul> </div> <div class="one_third"> <h6 class="title">International Science Council Scientific Freedom Policy</h6> <article> <!-- <h2 class="nospace font-x1"><a href="#">ICSU Scientific Freedom Policy Statement</a></h2> <time class="font-xs" datetime="2045-04-06">Friday, 6<sup>th</sup> April 2045</time> --> <p>The IUCr observes the basic policy of non-discrimination and affirms the right and freedom of scientists to associate in international scientific activity without regard to such factors as ethnic origin, religion, citizenship, language, political stance, gender, sex or age, in accordance with the Statutes of the International Council for Science.</p> <p><a href="//www.iucr.org/iucr/governance/advisory-committees/gedc">IUCr policy on Gender Equity and Diversity</a></p> </article> </div> <div class="one_third"> <h6 class="title">Useful links</h6> <ul class="nospace linklist"> <li><a href="//www.iucr.org/iucr/sponsorship/iucr-outreach-fund">Donate to the Outreach and Education Fund</a></li> <li><a href="//www.iucr.org/people/associates">Join the Associates Programme</a></li> <li><a href="//www.iucr.org/iucr/sponsorship/meetings.html">Request support for meeting</a></li> <li><a href="//www.iucr.org/iucr/sponsorship/vp.html">Apply for Visiting Professorship</a></li> <li><a href="//www.iucr.org/calendar/etc/add-meeting">Post details of a meeting</a></li> </ul> </div> </div> <!-- ####################################################################################### --> </footer> </div> <!-- ######################################################################################## --> <!-- ############################# COPYRIGHT/CREDITS ######################################## --> <!-- ######################################################################################## --> <div class="wrapper row5"> <div id="copyright" class="hoc clear"> <!-- ######################################################################################## --> <p class="fl_left">Copyright &copy; - All Rights Reserved - <a href="#">International Union of Crystallography</a></p> <!-- <p>Template by <a target="_blank" href="http://www.os-templates.com/" title="Free Website Templates">OS Templates</a></p> --> <!-- ######################################################################################## --> </div> </div> <!-- ######################################################################################## --> <!-- ################################## POST-CONTENT SCRIPTS etc. ########################### --> <!-- ######################################################################################## --> <a id="backtotop" href="#top"><i class="fa fa-chevron-up"></i></a> <!-- JAVASCRIPTS --> <script src="/javascript/iucr/jquery.backtotop.js?v=0.1.1"></script> <script src="/javascript/iucr/jquery.mobilemenu.js?v=0.1.4"></script> <!-- IE9 Placeholder Support --> <script src="/javascript/iucr/jquery.placeholder.min.js?v=0.1.1"></script> <!-- / IE9 Placeholder Support --> <script type="text/javascript" src="/javascript/iucr/tabber.js?v=0.1.1"></script> <script type="text/javascript" src="/javascript/iucr/iucr.js?v=0.1.67"></script> <script type="text/javascript" src="/javascript/iucr/slimbox2.js?v=0.0.2"></script> </body> </html></html>

Pages: 1 2 3 4 5 6 7 8 9 10