Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
<<importTiddlers>>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<!--{{{-->
<div class='header' role='banner' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
>During the period from 1970 to 1980 many new facts about hearing came to light. To mention a few: in 1971 it became known that mechanical tuning of the basilar membrane is sharp and nonlinear, in 1974 inner hair cell potentials were shown to have sharp tuning, from 1978 on otoacoustic emissions became known as a (possibly essential) by-product of cochlear action (also demonstrating nonlinearity), and in view of the sharp tuning it became increasingly difficult to explain cochlear mechanics by a simple model. In 1980 the concept of an "active" cochlea was launched which gave birth to several theoretical developments. Furthermore, interesting aspects of spontaneous otoacoustic emissions became known. In short, the time was ripe for an international gathering of scientists to discuss the new findings and the new theories. In 1983 a symposium entitled //Mechanics of Hearing// was organized by E. de Boer and M. Viergever; it took place in the picturesque city of Delft in The Netherlands. The symposium encompassed sections dealing with the above-mentioned topics, and a few more that can be considered as forerunners of topics that later scientists concentrated on such as 'phase transitions and critical phenomena' and 'the Van der Pol oscillator as an element in cochlear mechanics'. The aim of the symposium was described as: "The emphasis is on those aspects of the external ear, the middle ear, and the cochlea which, to the best of our knowledge, can be treated by a mechanistic analysis". It should be noted that this symposium had a motto, taken from Shakespeare's //The Tempest//:
>>PROSPERO: - Dost thou hear?
>>MIRANDA: - Your tale, Sir, would cure deafness.
>The motto was meant to remind readers that a good deal of our efforts in understanding hearing are directed toward helping people with hearing loss.
>
>The success of the first symposium spawned a [[series of symposia|Previous Workshops]] with the same fundamental aims. It is stressed that there is no learned society, no international scientific committee, no institute or funding body that has continually supported this series of symposia. In all cases individual support has been sought (and found) from societies, associations, and industries. Although the titles of the symposia do not mention it, work of the sort reported in the proceedings constitutes the indispensable basis for the study, prevention, and cure of hearing defects, and all efforts to improve the life of people who are hard-of-hearing.
[<img[ |http://www.mechanicsofhearing.org/moh2014/images/space88x11.gif]][<img[ |http://www.mechanicsofhearing.org/moh2014/images/space88x11.gif]] -- Egbert de Boer
Follow the internal links to navigate this TiddlyWiki interface, most of which starts out hidden. Each item (or tiddler) opens and closes separately.
!!Tips for browsing:
* [[Bold links|A Little History]] reveal other tiddlers; [[plain links|http://www.whatsmyip.org/random_websites/random/]] whisk you away on the web.
* The Search bar at the lower left side probes all tiddlers, whether open or closed.
* The entire site is [[just one file|http://mechanicsofhearing.org/index.html]] (images excepted). Thus, using your browser's "Back" button will //not// return you to previously viewed tiddlers; //use the internal links instead.//
* Tiddlers can be closed using the @@bgcolor(#ddd):close@@ and @@bgcolor(#ddd):close others@@ buttons located atop every tiddler or the Close All bar. /%[[plain links|http://www.randomwebsite.com/cgi-bin/../cgi-bin/random.pl]%/
Abstract submission is currently open. The deadline for submission is March 1, 2014. All submissions are final. Instructions are given in the [[Abstract Submission Form|http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2430682730]]. 
*As in previous years, submitted abstracts will be used to plan the program and will not be published or distributed. 
*Accepted oral and poster presentations will have to submit a manuscript which will be distributed to all workshop attendees about a month prior to the beginning of the workshop. Details of manuscript submission will be distributed by the end of February, 2014. To get an idea of manuscript submission please refer to the instructions provided for the previous workshop in this series by clicking  [[here|http://mechanicsofhearing.org/moh2011/index.html#%5B%5BManuscript%20Preparation%20and%20Submission%5D%5D]].
<html>
<a href="http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2430682730" target="_blank"><h1>Abstract Submission Form</h1></a>
</html>
Workshop participants must first [[register|Registration]] before receiving instructions for hotel booking. 

The Workshop will take place at  [[Cape Sounio Resort|http://www.capesounio.com/business-meetings.html]] in Attica, Greece. Participants will book and pay for their own accommodations using a special hotel web site portal accessible with a unique booking code provided in the registration confirmation email.
*We have arranged significant discounts for Workshop attendees: The room rate, including all taxes, will be only 150 &euro;/night for double or single occupancy during the meeting. The room occupancy is up to 3 adults; the third adult will sleep in a sofa bed and is a 10% surcharge. Children up to 14 years old stay for free, subject to room capacity. 
*For this initial period of registration, only one room is allowed per participant. Additional bookings will be cancelled. Larger families and those wishing to book additional rooms are requested to contact the conference organizers at moh2014@mechanicsofhearing.org. Please do not contact the hotel directly. 
*For those who wish to extend their stay either before or after the Workshop, the hotel will offer each room for 190 &euro;/night including breakfast. 
*We were able to negotiate these rates by guaranteeing payment for a certain number of rooms for the duration of the meeting, and we therefore ask all participants to book their rooms in the Cape Sounio Resort and not elsewhere. In case of overflow we have secured additional rooms in a nearby hotel, a short bus-ride away.
*Because the student registration fee is heavily subsidized, we hope that students and postdocs will share rooms. 
*Those seeking roommates should complete the appropriate section of the [[Workshop Registration Form|Registration]].

Hotel description, room amenities, payment and cancellation instructions are listed in detail at the hotel portal. Briefly:
*Hotel rooms have a master bedroom with ensuite dining area. The indoor living space is  30m^^2^^ . The rooms have floor-to-ceiling windows opening out to a patio.
*When booking your room make sure to include all guest names and to select your bed preference (1 king size bed or 2 twin size beds).
*The payment policy is as follows (based on Eastern European Summer Time):
**For reservations prior to June 1, 2014, two deposits are required prior to check out. For each deposit the hotel will automatically charge the credit card submitted at the time of the booking:
***1st deposit due on April 1st, 2014 for 50% of the total amount.
***2nd deposit due on June 1st, 2014 for 30% of the total amount.
**For reservations after June 1st, 2014 80% of the total amount will be charged on the credit card.
**Balance payment upon check out. 
*The cancellation policy is as follows:
**For cancellations received up to March 31, 2014, there will be no cancellation fees.
**For cancellations received between April 1, 2014 to May 31, 2014, the first deposit, i.e. 50% of the total amount will be charged as cancellation fees.
**For cancellations received between June 1, 2014 to June 23, 2014, and in case of non show, the first and second deposit, i.e. 80% of the total amount will be charged as cancellation fees.

<<closeAll>>
Background: #fff
Foreground: #000
PrimaryPale: #eee
PrimaryLight: #18f
PrimaryMid: #888
PrimaryDark: #222
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #b43
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
CASColorA: #fff
CASColorB: #fff
CASLightGray: #eee
CASMidGray: #888
CASDarkGray: #555
CASDarkerGray: #333

For more information, please contact the Workshop co-chairs:
|bgcolor(#eee):By email|<<email moh2014 at mechanicsofhearing dot org "?subject=MOH 2014">>||
|bgcolor(#eee):By mail|David P. Corey, Ph.D.<br>Harvard Medical School<br>Department of Neurobiology<br>220 Longwood Avenue<br>Boston, MA 02115 |K. Domenica Karavitaki, Ph.D.<br>Harvard Medical School<br>Department of Neurobiology<br>220 Longwood Avenue<br>Boston, MA 02115|
|bgcolor(#eee):By phone|+01-617-432-2506 (voice)<br>+01-617-432-2508 (fax) |+01-617-432-2479 (voice)<br>+01-617-432-2508 (fax) |

@@margin-left:.5em;<<slider chkContents SideBarTabs "contents �" "Show list of tiddlers">>@@
!!Copyright
A [[Transfer of Copyright Agreement|http://www.mechanicsofhearing.org/moh2014/aip/copyright_transfer.pdf]] must be signed before the manuscript can be published. Signed forms should be uploaded in the appropriate section of the [[File Submission Form|http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2477238cfc]].
!!Permissions
To use previously published material from a book or journal, the author must obtain permission from the owner of the rights to the material (the original publisher and/or author). It is important to write for permission as early as possible, and all signed [[Permission Forms|http://www.mechanicsofhearing.org/moh2014/aip/permission_letter.pdf]] (indicating that permission has been granted) must be uploaded along with the manuscript, and all credit lines required by the copyright holder must have been included in the paper. Papers that are missing the necessary permissions or credit lines will be removed from the Proceedings.

The AIP guidelines for when permission is/is not required can be found [[here|http://www.mechanicsofhearing.org/moh2014/aip/permission_guidelines.pdf]].
{{{
// Specify your account number here!
_uacct = "UA-3390286-3";

// CustomTracker as a namespace for tracking related functions
var CustomTracker = {
// store a reference to the original displayTiddler function
displayTiddler: story.displayTiddler
};

CustomTracker.track = function() {
if (readOnly) {
urchinTracker.apply(this, arguments);
}
};

CustomTracker.trackAndDisplayTiddler = function(srcElement, titles) {
// log with the tracker
CustomTracker.track('/' + titles);
// call the original displayTiddler function
CustomTracker.displayTiddler.apply(this,arguments);
};

// replace the default displayTiddler function with a tracking version
story.displayTiddler = CustomTracker.trackAndDisplayTiddler;

// Call once for the initial page load
CustomTracker.track();
}}}
[[FrontPage]]
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
version.extensions.email = {major: 0, minor: 1, revision: 2, date: new Date("Oct 15, 2005")};
config.macros.email = {}
config.macros.email.handler = function(place,macroName,params)
{
var temp = params.join(" ");
data = temp.split("?");
var recipient = data[0];
recipient = recipient.replace(" at ","@").replace(" dot ",".","g");
recipient = recipient.replace(/\s/g,"");
var optional = data[1] ? "?" + data[1] : "";
var theLink = createExternalLink(place,"ma"+"il"+"to:"+recipient+optional);
theLink.appendChild(document.createTextNode(recipient))
}
// // Excludes any tiddlers from timeline that have been tagged with ''excludeTimeline''
/*{{{*/
config.macros.timeline.handler = function(place,macroName,params)
{
	var field = params[0] ? params[0] : "modified";
	var tiddlers = store.reverseLookup("tags","excludeTimeline",false,field);
	var lastDay = "";
	var last = params[1] ? tiddlers.length-Math.min(tiddlers.length,parseInt(params[1])) : 0;
	for(var t=tiddlers.length-1; t>=last; t--)
		{
		var tiddler = tiddlers[t];
		var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);
		if(theDay != lastDay)
			{
			var theDateList = document.createElement("ul");
			place.appendChild(theDateList);
			createTiddlyElement(theDateList,"li",null,"listTitle",tiddler[field].formatString(this.dateFormat));
			lastDay = theDay;
			}
		var theDateListItem = createTiddlyElement(theDateList,"li",null,"listLink");
		theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));
		}
}
/*}}}*/
In addition to the instructions below please also refer to the [[Graphics Guidelines for Authors|http://www.mechanicsofhearing.org/moh2014/aip/README_graphics.pdf]]. Figures should be of high quality, with a consistent and uniform appearance throughout the manuscript (e.g., font sizes and line widths). The paper will be reduced 15% in the printing process. Please ensure that all figure elements are large enough to withstand this reduction.  ''Hint:'' Construct the figures using the font size and style guidelines given below, save as encapsulated postscript (eps) files, and then import without rescaling into the camera-ready document. Note that the figure files must also be submitted along with the manuscript (see Submission tab).
!!Electronic format
*Figure files must be submitted in either encapsulated ~PostScript (eps) or tagged image file format (tif)
*Corollary: Application files such as Corel Draw, MS Word, or ~PowerPoint are not acceptable
*Corollary: AIP cannot accept JPEG or GIF files (these are meant to be viewed on the screen only and the print quality will be poor)
*Please use the first-author's surname as the basis of all file names (e.g., ~BekesyMoH2014Fig1.eps)
!!Arrangement of figures and tables
*Insert figures and tables in the text close to where they are first mentioned in the text, preferably at the top or bottom of the page (figures and tables may not follow the References section)
*Never place borders around a figure or table
*When possible, combine related figures into multiple panels (subfigures) to make optimal use of available space
*Figures can span the entire width of the printed page (6.5in or 16.5cm)
*The ~LaTeX command \wrappedfigure can be used to wrap text around a figure (e.g., when the figure width is less than about 1/2 the width of the printed page)
!!Lettering
*10 pt Arial for axis and other textual labels (except for panel labels&mdash;see below)
*9 pt Arial for numerical tick mark labels
*7 pt Arial for subscripts and superscripts
*Avoid boldface or italic type styles
*All fonts must be outlined and/or embedded
!!Multipanel figures
*Label panels using upper-case letters, i.e. A, B, C, etc using 10 pt Arial (no italic or boldface lettering)
*Position labels unobtrusively inside the panels
!!Line art
*Line thickness: 0.75 pt (or about 0.25 mm)
*Avoid grayscale coding of lines and bars because their reproduction is poor
*Please use black & white with different types of dashed lines (or symbols) for clarity
*Color coding of lines in graphs cannot be accepted without an additional fee (see below)
!!Color
Authors are welcome to use color figures within their article. For online publication, there are no costs added for
color figures. However, for printed proceedings, there is an additional cost. The cost will be calculated once the total
number of pages (colour and non-colour) are known. Individual authors will be responsible for this additional cost.
Please consult directly with your conference organizer at moh2014@mechanicsofhearing.org. We advise that many
color figures can be printed in black-and-white with no loss of information; however, some figures do lose
information when reproduced in black-and-white. Check your figure legends carefully and, if your figures are to be
printed in black-and-white, remove from your text/descriptions any references to color.
The following requirements for color figures are adapted from AIP's instructions for authors.
*Create color files at 300 dpi TIFF or EPS format.
*Color space: RGB (red, green, blue) or CMYK (cyan, magenta, yellow, black).
*Vector EPS/PDF: If they include text, all fonts must be embedded
!!Image resolution
*600 dpi for line art
*300 dpi for halftones (grayscale)
*600 dpi for combinations of line art and halftones
Use the first author's surname as the basis for all manuscript file names (e.g., ~BekesyMoH2014.tex). Include the figure number in the name of all graphics files. Each figure must be in its own file (e.g., ~BekesyMoH2014Fig1.eps, ~BekesyMoH2014Fig2.eps, etc). Although [[we urge everyone to use LaTeX|Why Use LaTeX?]], if you really must use MS Word for some reason, please note that only PC Word files can be accepted&mdash;apologies to Mac users, but Mac and PC Word files are not especially compatible. 
!!Required files
*~LaTeX manuscript or ~PC-compatible Word file with graphics embedded (e.g., ~BekesyMoH2014.tex)
*A pdf of the manuscript (e.g., ~BekesyMoH2014.pdf). The page size of the pdf must be US Letter.
*All graphics files in eps or tif format with fonts embedded or outlined (e.g., ~BekesyMoH2014Fig1.eps, ~BekesyMoH2014Fig2.eps)
*The bibliography (.bbl) file [~BiBTeX users only]
*Letter accepting page charges (TBD) for color figures [color figures only]

In addition, you must return a signed [[copyright transfer|Copyright and Permissions]] and, if applicable, obtain [[permission|Copyright and Permissions]] for the use of previously published material. 
!!Sending your files
Use the [[File Submission Form|http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2477238cfc]] to submit all required files. You may use the form to submit files for up to three manuscripts. To enter the File Submission Form you must be a registered participant. 
[img[http://mechanicsofhearing.org/moh2014/images/MOH2014_Welcome.jpg]] 


!How to Navigate This Site:
Follow the internal links to navigate this TiddlyWiki interface, most of which starts out hidden. Each item (or tiddler) opens and closes separately.
!!Tips for browsing:
* [[Bold links|A Little History]] reveal other tiddlers; [[plain links|http://www.whatsmyip.org/random_websites/random/]] whisk you away on the web.
* The Search bar at the lower left side probes all tiddlers, whether open or closed.
* The entire site is [[just one file|http://mechanicsofhearing.org/index.html]] (images excepted). Thus, using your browser's "Back" button will //not// return you to previously viewed tiddlers; //use the internal links instead.//
* Tiddlers can be closed using the @@bgcolor(#ddd):close@@ and @@bgcolor(#ddd):close others@@ buttons located atop every tiddler or the Close All bar. /%[[plain links|http://www.randomwebsite.com/cgi-bin/../cgi-bin/random.pl]%/
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>

The 12th Mechanics of Hearing Workshop will take place from June 23&ndash;29, 2014 at [[Cape Sounio Hotel|http://www.capesounio.com/business-meetings.html]] in Attica, Greece. Please save the date and advertise to all interested.

[img[http://www.mechanicsofhearing.org/moh2014/images/HotelView.jpg][http://www.capesounio.com/business-meetings.html]]

The goal of the Workshop is to integrate the mechanics of hearing from the level of single proteins to the traveling wave with the aims of both understanding hearing and helping people with hearing loss. Selected oral and poster presentations will cover topics on:
*Molecular mechanics and how these act in the overall context of the intact cochlea, and how mutations that affect mechanics may cause hearing loss.
*Hair bundle mechanics, mechanotransduction and active force generation by hair cells in both mammalian and non-mammalian systems.
*Cochlear mechanics and its modulation by efferent feedback.
*Wave propagation and amplification in the inner ear.
*Evoked and spontaneous generation of sound by the ear.
The Workshop will continue its [[30 year tradition|Previous Workshops]] of bringing together leading researchers from around the world who use biological and theoretical techniques to study the peripheral auditory system. To further exemplify the interdisciplinary nature of this research we will bring people from outside the field whose work may be applicable to the mechanics of hearing. These invited talks will focus on new technologies, other mechanical senses, and translational application.

The Workshop will also offer a unique opportunity for graduate and post-doctoral students to discuss their work, develop new ideas, and talk with established investigators. A formal pairing of students and postdocs with established investigators will be established during lunches and/or dinners, to provide a structured way of creating introductions and mentoring new talent in the field.

The Workshop venue is the Cape Sounio Hotel, at the southernmost tip of mainland Greece, a 30-40 minute drive from the Athens International Airport and about one hour from the historical city of Athens. Overlooking the imposing Temple of Poseidon, Cape Sounio is an ideal size to host all participants and their families and promote close scientific interactions. 

We look forward to seeing you in Greece.
For the [[organizing committee|Organizing Committee]],

David P. Corey and K. Domenica Karavitaki, co-chairs
moh2014@mechanicsofhearing.org


P.S. More information about navigating this website can be found [[here|About This Site]].
/%Please download and post a meeting [[flyer|Flyers]].%/
/***
|''Name:''|LegacyStrikeThroughPlugin|
|''Description:''|Support for  legacy (pre 2.1) strike through formatting|
|''Version:''|1.0.1|
|''Date:''|Jul 21, 2006|
|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|
|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|
|''License:''|[[BSD open source license]]|
|''CoreVersion:''|2.1.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|

***/

//{{{

// Ensure that the LegacyStrikeThrough Plugin is only installed once.
if(!version.extensions.LegacyStrikeThroughPlugin)
	{
	version.extensions.LegacyStrikeThroughPlugin = true;

config.formatters.push(
{
	name: "legacyStrikeByChar",
	match: "==",
	termRegExp: /(==)/mg,
	element: "strike",
	handler: config.formatterHelpers.createElementAndWikify
});

} // end of "install only once"
//}}}
[[Home|FrontPage]]
---------
[[Invitation|Invitation to the Workshop]]
---------
[[Venue/Travel|Venue/Travel]]
---------
[[Calendar|Workshop Deadlines]]
---------
[[Program|Workshop Program]]
---------
[[Registration]]
---------
[[Abstract Submission]]
---------
[[Manuscripts|Manuscript Preparation and Submission]]
---------
[[Accommodations]]
---------
[[News]]
---------
[[Digital Library|MoH Digital Library]]
---------
[[About This Site]]
---------
[[Contact|Contact Information]]
---------
[[Sponsors|Sponsors]]
---------
[[Search|Search This Site]]
---------
[[Close  All|Close All Tiddlers]]
/%---------
[[Proceedings|Proceedings]]
---------
[[Venue/Travel|Venue and Travel Information]]
---------
[[Program|Program]]
---------
[[Talks/Posters|Instructions for Talks and Posters]]
---------
[[News]]
---------
[[Manuscripts|Manuscript Preparation and Submission]]
---------
[[Forum|Discussion Site]]
---------
[[Sponsors|Sponsors]]
---------
[[About this site|About This Site]]%/

[img[ |http://mechanicsofhearing.org/moh2014/images/cochleaR.jpg][http://mechanicsofhearing.org/mohdl.html]]
Preliminary manuscripts should be submitted by April 27, 2014. Because of the large number of submissions that must be checked, organized, and distributed, any presentation whose preliminary manuscript is received after April 27 2014 cannot be included in the final program
Manuscripts must be submitted electronically in either [[LaTeX|Submitting in LaTeX]] or ~PC-compatible [[Microsoft Word|Submitting in MS Word]] format using the templates provided (a [[sample paper|http://www.mechanicsofhearing.org/moh2014/aip/MoH2014_SamplePaper.pdf]] illustrates the basic layout). As suggested by smileys in the [[linked tiddlers|Submitting in LaTeX]], the use of [[LaTeX is strongly preferred|Why Use LaTeX?]].  
!!Templates
*Manuscripts must be prepared with the [[templates provided here|http://www.mechanicsofhearing.org/moh2014/aip/MoH2014_TemplatesAndForms.zip]]. The zip file contains the required templates, transfer of copyright forms, and other helpful information
*Once the files are extracted, the simplest way to proceed is to insert/overwrite your own text into the template and save the manuscript with a new file name
*Please use the first-author's surname as the basis of all file names (e.g., ~BekesyMoH2014.tex, ~BekesyMoH2014Fig1.eps)
!!Language
*English
!!Page limitations
*Five pages. 
**The trim size of the published book will be 8.5x11 inches, contrary to the smaller trim size of previous books in this series. As a result the page limit of the manuscripts is reduced from 6 to 5 pages.  
**No 1-page papers please. 1-page, abstract-only contributions are not acceptable and will be excluded from the proceedings. 
**Typical section headings for comprehensive and innovative, original presentations: Abstract (about 150 words), Introduction, Methods, Results, Discussion, Acknowledgments, References
**Typical section headings for more preliminary work, or work with a more tenuous link to the main theme of the Workshop: Abstract (about 50 words), Summary, Acknowledgments, References
!!Equations[>img[Leonhard Euler, 1737|http://latex.codecogs.com/gif.latex?\zeta(s)=\sum_{n=1}^\infty {1\over n^s} = \prod_{p\;{\rm prime}} {1\over 1-p^{-s}}\;.\qquad\qquad\qquad(1)}]] 
*Set mathematical symbols in italic type
*Number equations with Arabic numerals in parentheses (1), (2), etc
*Place equation numbers flush with the right margin
*Punctuate equations appropriately (they are grammatical units)
!!References
*Number and list the references alphabetically (not in the order of citation)
*Cite using numbers placed in square brackets (e.g., "Is there a cochlear amplifier [6&ndash;8,11]?" or "Yes, but its gain is &ndash;6 dB [2].")
*Adopt the almost but not quite punctuation-free bibliography style illustrated below (similar to that used by J Assoc Res Otolaryngol and ~PLoS Bio)
&emsp;&emsp;[1] von B&eacute;k&eacute;sy G (1960) Experiments in Hearing. New York: ~McGraw-Hill
&emsp;&emsp;[2] Golka RK (1994) Laboratory-produced ball lightning. J Geophys Res 99:10679&ndash;10681
&emsp;&emsp;[3] Kemp DT, Brown AM (1983) An integrated view of cochlear mechanical nonlinearities observable from the ear canal. In: de Boer E, Viergever MA (eds)  Mechanics of Hearing, The Hague: Martinus Nijhoff. pp. 75&ndash;82
&emsp;&emsp;[4] Rhode WS, Robles L (1974) Evidence from M&ouml;ssbauer experiments  for nonlinear vibrations in the cochlea. J Acoust Soc Am 55:588&ndash;596
*~LaTeX/~BiBTeX users can use moh2014.bst to produce the required format automatically
As with [[previous Workshops |Previous Workshops]] in this series, the oral and poster presentations and discussions will appear as published manuscripts. Publication of the Workshop proceedings is scheduled for early 2015 by the [[American Institute of Physics|http://aip.org]] and will occur simultaneously both on-paper and on-line. The online manuscripts will be made freely available throughout the world (open access), and their contents will be indexed in leading scientific and engineering databases, including [[Inspec|http://www.inspec.org]] and [[Scitation|http://www.scitation.org]].

A complete set of preliminary manuscripts will be distributed to attendees at least one month prior to the Workshop.   All papers will be peer-reviewed by Workshop attendees (details to follow) and the Editors reserve the right to reject any papers that fail to meet the requirements of the review process or that do not follow the formatting and submission instructions listed below. [[Final manuscripts are due on August 1|Workshop Deadlines]]; the only changes permitted after this date are those deemed necessary by the Editors.
!Instructions for Preparing Manuscripts
<<tabs txtFavourite
"Deadlines" "Deadlines" [[Manuscript Deadlines]]
"Templates" "Templates" [[Manuscript Templates]]
"Formatting" "Formatting" [[Manuscript Formatting]]
"Figures/Tables" "Figures and Tables" [[Figure Preparation]]
"Submission" "Submission" [[File Submission]]
"Copyright/Permissions" "Copyright and Permissions" [[Copyright and Permissions]]
"Why Use LaTeX" "Why LaTeX?" [[Why Use LaTeX?]]
"Peer Review" "Peer Review" [[Peer Review]]
>>
All manuscripts must be prepared with the templates provided. A zip file containing the necessary templates, transfer of copyright forms, and other helpful information can be [[downloaded here|http://www.mechanicsofhearing.org/moh2014/aip/MoH2014_TemplatesAndForms.zip]]. Once the files are extracted, the simplest way to proceed is to insert/overwrite your own text into the template and save the manuscript with a new file name. 
Type the text for 'Manuscript preparation and Submission'
Templates for manuscript submission are in preparation. Expected availability on 3/27/2014. 
Type the text for 'Manuscript preparation and submission'
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
[img[MoHDL|http://www.mechanicsofhearing.org/moh2014/images/MoHDL.png][http://www.mechanicsofhearing.org/mohdl.html]]
The ~MoH Digital Library maintains a collection of hard-to-find items relevant to auditory mechanics and is currently accessible to the hearing-science community for scholarly and educational purposes. The library can be accessed via this [[link|http://www.mechanicsofhearing.org/mohdl.html]] or by clicking on the logo above.
* T minus <<reminder year:2014 month:6 day:23 title:"[[MoH2014|FrontPage]] begins">>
* The [[MoH Digital Library]] is now online //(posted 14 March 2012)//
* Abstract deadline [[extended|Workshop Deadlines]]  //(posted 13 January 2014)//
*Abstract submission begins//(posted 25 January 2014)//
*Abstract notifications sent//(posted 26 March 2014)//
*Student travel reimbursements sent//(posted 26 March 2014)//
*Manuscript deadline [[extended|Workshop Deadlines]]  //(posted 27 March 2014)//
*Student travel awards past the March 1st [[deadline|Workshop Deadlines]] will be considered if funds are available//(posted 27 March 2014)//
These options for customizing the interface are saved in your browser.

<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

----
Also see AdvancedOptions
/%Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave%/
:Richard Chadwick, NIDCD, USA
:Steve Elliott, Institute of Sound and Vibration Research, UK
:Robert Fettiplace, University of Wisconsin, USA
:Anders Fridberger, Karolinska Institute, Sweden
:Karl Grosh, University of Michigan, USA
:Daphne Manoussaki, Technical University of Crete, Greece
:Pascal Martin, Institut Curie, France
:David Mountain, Boston University, USA
:Manuela Nowotny, Goethe University Frankfurt, Germany
:Elizabeth Olson, Columbia University, USA
:Christopher Shera, Harvard Medical School, USA
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::CASColorA]] [[ColorPalette::CASColorB]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
Preliminary manuscripts will become available to registered participants about a month before the Workshop begins. To ensure that all of the papers presented at the Workshop are of high quality and are treated fairly in terms of publication rights, etc, we will follow ~MoH2011 and propose a simple system of online peer review: All participants are invited to assess every paper they read and to post laudatory comments; constructive suggestions for improvement; corrections regarding spelling, grammar, or formatting; and/or questions to the authors. Authors are encouraged to respond to questions and consider the corrections, comments & suggestions when revising their manuscripts for final submission. A subset of the comments and responses, will be published in the Proceedings as an Appendix to the paper.

More information on this topic will follow.

<<plugins>>
|bgcolor(#eee): ''Date'' |bgcolor(#eee): ''Location'' |bgcolor(#eee): ''Proceedings'' |bgcolor(#eee): ''Editors'' |bgcolor(#eee): ''Publisher'' |bgcolor(#eee): ''Website'' |
| 16&ndash;22 Jul 2011 | Williamstown, Massachusetts, United States | [[What Fire is in Mine Ears: Progress in Auditory Biomechanics|MoH Digital Library]] | CA Shera, ES Olson | American Institute of Physics | [[MoH2011|http://mechanicsofhearing.org/moh2011/index.html]] |
| 27&ndash;31 Jul 2008 | Keele University, United Kingdom | [[Concepts and Challenges in the Biophysics of Hearing|MoH Digital Library]] | NP Cooper, DT Kemp | World Scientific | [[MoH2008|http://mechanicsofhearing.com]] |
| 23&ndash;28 Jul 2005 | Portland, Oregon, United States | [[Auditory Mechanisms: Processes and Models|MoH Digital Library]] | AL Nuttall, T Ren, K Grosh, R Walker, P Gillespie, E de Boer | World Scientific | [[MoH2005|http://www.ohsu.edu/HearingMechanics/]] |
| 27 Jul&ndash;1 Aug 2002 | Titisee, Germany | [[Biophysics of the Cochlea: Molecules to Models|MoH Digital Library]] | AW Gummer | World Scientific | [[MoH2002|http://www.uni-tuebingen.de/cochlea/titisee/Frameset-Start.htm]] |
| 25&ndash;30 Jul 1999 | Sendai, Japan | [[Recent Developments in Auditory Mechanics|MoH Digital Library]] | H Wada, T Takasaka, K Ikeda, K Ohyama, T Koike | World Scientific | |
| 24&ndash;28 June 1996 | University of California, Berkeley, United States | [[Diversity in Auditory Mechanics|MoH Digital Library]] | ER Lewis, GR Long, RF Lyon, PM Narins, CR Steele, E ~Hecht-Poinar | World Scientific | |
| 28 Jun&ndash;3 Jul 1993 | Paterswolde, The Netherlands | [[Biophysics of Hair-Cell Sensory Systems|MoH Digital Library]] | H Duifhuis, JW Horst, P van Dijk, S van Netten | World Scientific | |
| 25&ndash;29 Jun 1990 | University of Wisconsin, Madison, United States | [[The Mechanics and Biophysics of Hearing|MoH Digital Library]] | P Dallos, CD Geisler, JW Matthews, MA Ruggero, CR Steele | ~Springer-Verlag | |
| 3&ndash;8 Jul 1988 | Keele University, United Kingdom | [[Cochlear Mechanisms: Structure, Function, and Models|MoH Digital Library]] | JP Wilson, DT Kemp | Plenum Press | |
| 13&ndash;16 Aug 1985 | Boston University, United States | [[Peripheral Auditory Mechanisms|MoH Digital Library]] | JB Allen, JL Hall, A Hubbard, ST Neely, A Tubis | ~Springer-Verlag | |
| 13&ndash;15 Jul 1983 | Delft University of Technology, The Netherlands | [[Mechanics of Hearing|MoH Digital Library]] | E de Boer, MA Viergever | Delft University Press | |

Title in ''bold'' are currently available in the [[MoH Digital Library]].
Registration for the Workshop is currently open. Registration will close when the workshop reaches capacity. All attendees are required to complete a [[Workshop Registration Form|http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2285336ac9]]. 
*The workshop fee for attending participants is $700. The fee will increase to $850 after April 1, 2014.  Workshop fee includes: registration (meeting preprints, scientific talks and posters, all workshop activities, hard-bound copy of the published proceedings, wireless internet), opening and closing reception, two excursions, all meals (three meals a day), coffee breaks and refreshments. Travel and accommodation are not included.
*Thanks to Workshop sponsors we are able to offer a 50% discounted fee for all registered students and postdocs. The fee will increase to $500 after April 1, 2014. We will also offer a limited number of travel awards to students and postdocs. Currently we can offer $400 to subsidize travel costs (more if additional donor money becomes available). Women and minorities are especially encouraged to apply. Instructions on how to apply are given in the Workshop Registration Form. Application deadline is [[March 1st|Workshop Deadlines]], additional applications will be considered if funds are available.   
*Registered participants that will be bringing accompanying persons are required to submit a Non Attendee registration form for each one (including children). Instructions for the Non Attendee registration are provided after you complete your Workshop Registration Form. Space is limited so it will be on a first-come first-served basis. Non Attendee registration will close on May 15, 2014. We offer three plans for adult (>12 years old) accompanying persons:
**Social fee, $350: Includes all conference breakfasts, opening reception, two excursions with dinner, and the closing reception
**Social fee and dinners, $450: Includes above plus all conference dinners
**All Inclusive, $600: Includes above plus all conference lunches
:We also offer a $250 all-inclusive package for children (3&ndash;12 years old). Children under 3 are no charge but you will still need to fill out a Non Attendee registration form for them.
<html>
<a href="http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2285336ac9" target="_blank"><h1>Workshop Registration Form</h1></a>
</html>
Note: You may access your existing registration by visiting the [[Workshop Registration Form|http://www.events.harvard.edu/profile/form/index.cfm?PKformID=0x2285336ac9]] and entering your last name and email as provided in your original registration.
/***
|''Name:''|ReminderPlugin|
|''Version:''|2.3.10 (Jun 28, 2007)|
|''Source:''|http://remindermacros.tiddlyspot.com|
|''Author:''|Jeremy Sheeley(pop1280 [at] excite [dot] com)<br>Maintainer: simon.baird@gmail.com|
|''Licence:''|[[BSD open source license]]|
|''Macros:''|reminder, showreminders, displayTiddlersWithReminders, newReminder|
|''TiddlyWiki:''|2.0+|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|

!Description
This plugin provides macros for tagging a date with a reminder.  Use the {{{reminder}}} macro to do this.  The {{{showReminders}}} and {{{displayTiddlersWithReminder}}} macros automatically search through all available tiddlers looking for upcoming reminders.

!Installation
* Create a new tiddler in your tiddlywiki titled ReminderPlugin and give it the {{{systemConfig}}} tag.  The tag is important because it tells TW that this is executable code.
* Double click this tiddler, and copy all the text from the tiddler's body.
* Paste the text into the body of the new tiddler in your TW.
* Save and reload your TW.
* You can copy some examples into your TW as well.  See [[Simple examples]], [[Holidays]], [[showReminders]] and [[Personal Reminders]]

!Syntax:
|>|See [[ReminderSyntax]] and [[showRemindersSyntax]]|

!Revision history
* v2.3.10 (Jun 28, 2007)
** Removed window.story = window backwards compatibility hacks since they were breaking TW 2.2
* v2.3.9 (Apr 26, 2007)
** allow bracketed list format in tags param lets you use tags with spaces
* v2.3.8 (Mar 9, 2006)
**Bug fix: A global variable had snuck in, which was killing FF 1.5.0.1
**Feature: You can now use TIDDLER and TIDDLERNAME in a regular reminder format
* v2.3.6 (Mar 1, 2006)
**Bug fix: Reminders for today weren't being matched sometimes.
**Feature:  Solidified integration with DatePlugin and CalendarPlugin
**Feature:  Recurring reminders will now return multiple hits in showReminders and the calendar.
**Feature:  Added TIDDLERNAME to the replacements for showReminders format, for plugins that need the title without brackets.
* v2.3.5 (Feb 8, 2006)
**Bug fix: Sped up reminders lots.  Added a caching mechanism for reminders that have already been matched.
* v2.3.4 (Feb 7, 2006)
**Bug fix: Cleaned up code to hopefully prevent the Firefox 1.5.0.1 crash that was causing lots of plugins 
to crash Firefox.  Thanks to http://www.jslint.com
* v2.3.3 (Feb 2, 2006)
**Feature: newReminder now has drop down lists instead of text boxes.
**Bug fix:  A trailing space in a title would trigger an infinite loop.
**Bug fix:  using tag:"birthday !reminder" would filter differently than tag:"!reminder birthday"
* v2.3.2 (Jan 21, 2006)
**Feature: newReminder macro, which will let you easily add a reminder to a tiddler. Thanks to Eric Shulman (http://www.elsdesign.com) for the code to do this.
** Bug fix: offsetday was not working sometimes
** Bug fix: when upgrading to 2.0, I included a bit to exclude tiddlers tagged with excludeSearch.  I've reverted back to searching through all tiddlers
* v2.3.1 (Jan 7, 2006)
**Feature: 2.0 compatibility
**Feature AlanH sent some code to make sure that showReminders prints a message if no reminders are found.
* v2.3.0 (Jan 3, 2006)
** Bug Fix:  Using "Last Sunday (-0)" as a offsetdayofweek wasn't working.
** Bug Fix:  Daylight Savings time broke offset based reminders (for example year:2005 month:8 day:23 recurdays:7 would match Monday instead of Tuesday during DST.

!Code
***/
//{{{

//============================================================================
//============================================================================
//           ReminderPlugin
//============================================================================
//============================================================================

version.extensions.ReminderPlugin = {major: 2, minor: 3, revision: 8, date: new Date(2006,3,9), source: "http://remindermacros.tiddlyspot.com/"};

//============================================================================
// Configuration
// Modify this section to change the defaults for 
// leadtime and display strings
//============================================================================

config.macros.reminders = {};
config.macros["reminder"] = {};
config.macros["newReminder"] = {};
config.macros["showReminders"] = {};
config.macros["displayTiddlersWithReminders"] = {};

config.macros.reminders["defaultLeadTime"] = [-1000,6000];
config.macros.reminders["defaultReminderMessage"] = "DIFF: TITLE on DATE ANNIVERSARY";
config.macros.reminders["defaultShowReminderMessage"] = "DIFF: TITLE on DATE ANNIVERSARY -- TIDDLER";
config.macros.reminders["defaultAnniversaryMessage"] = "(DIFF)";
config.macros.reminders["untitledReminder"] = "Untitled Reminder";
config.macros.reminders["noReminderFound"] = "Couldn't find a match for TITLE in the next LEADTIMEUPPER days."
config.macros.reminders["todayString"] = "Today";
config.macros.reminders["tomorrowString"] = "Tomorrow";
config.macros.reminders["ndaysString"] = "DIFF days";
config.macros.reminders["emtpyShowRemindersString"] = "There are no upcoming events";


//============================================================================
//  Code
// You should not need to edit anything 
// below this.  Make sure to edit this tiddler and copy 
// the code from the text box, to make sure that 
// tiddler rendering doesn't interfere with the copy 
// and paste.
//============================================================================

//this object will hold the cache of reminders, so that we don't
//recompute the same reminder over again.
var reminderCache = {};

config.macros.showReminders.handler = function showReminders(place,macroName,params)
{
   var now = new Date().getMidnight();
   var paramHash = {};
   var leadtime = [0,14];
   paramHash = getParamsForReminder(params);
   var bProvidedDate = (paramHash["year"] != null) || 
			(paramHash["month"] != null) || 
			(paramHash["day"] != null) || 
			(paramHash["dayofweek"] != null);
   if (paramHash["leadtime"] != null)
   {
      leadtime = paramHash["leadtime"];
      if (bProvidedDate)
      {
         //If they've entered a day, we need to make 
         //sure to find it.  We'll reset the 
         //leadtime a few lines down.
         paramHash["leadtime"] = [-10000, 10000];
      }
   }
   var matchedDate = now;
   if (bProvidedDate)
   {
      var leadTimeLowerBound = new Date().getMidnight().addDays(paramHash["leadtime"][0]);
      var leadTimeUpperBound = new Date().getMidnight().addDays(paramHash["leadtime"][1]);
      matchedDate = findDateForReminder(paramHash, new Date().getMidnight(), leadTimeLowerBound, leadTimeUpperBound); 
   }

   var arr = findTiddlersWithReminders(matchedDate, leadtime, paramHash["tag"], paramHash["limit"]);
   var elem = createTiddlyElement(place,"span",null,null, null);
   var mess = "";
   if (arr.length == 0)
   {
      mess += config.macros.reminders.emtpyShowRemindersString; 
   }
   for (var j = 0; j < arr.length; j++)
   {
      if (paramHash["format"] != null)
      {
         arr[j]["params"]["format"] = paramHash["format"];
      }
      else
      {
         arr[j]["params"]["format"] = config.macros.reminders["defaultShowReminderMessage"];
      }
      mess += getReminderMessageForDisplay(arr[j]["diff"], arr[j]["params"], arr[j]["matchedDate"], arr[j]["tiddler"]);
      mess += "\n";
   }
   wikify(mess, elem, null, null);
};


config.macros.displayTiddlersWithReminders.handler = function displayTiddlersWithReminders(place,macroName,params)
{
   var now = new Date().getMidnight();
   var paramHash = {};
   var leadtime = [0,14];
   paramHash = getParamsForReminder(params);
   var bProvidedDate = (paramHash["year"] != null) || 
			(paramHash["month"] != null) || 
			(paramHash["day"] != null) || 
			(paramHash["dayofweek"] != null);
   if (paramHash["leadtime"] != null)
   {
      leadtime = paramHash["leadtime"];
      if (bProvidedDate)
      {
         //If they've entered a day, we need to make 
         //sure to find it.  We'll reset the leadtime 
         //a few lines down.
         paramHash["leadtime"] = [-10000,10000];
      }
   }
   var matchedDate = now;
   if (bProvidedDate)
   {
      var leadTimeLowerBound = new Date().getMidnight().addDays(paramHash["leadtime"][0]);
      var leadTimeUpperBound = new Date().getMidnight().addDays(paramHash["leadtime"][1]);
      matchedDate = findDateForReminder(paramHash, new Date().getMidnight(), leadTimeLowerBound, leadTimeUpperBound); 
   }
   var arr = findTiddlersWithReminders(matchedDate, leadtime, paramHash["tag"], paramHash["limit"]);
   for (var j = 0; j < arr.length; j++)
   {
      displayTiddler(null, arr[j]["tiddler"], 0, null, false, false, false);
   }
};

config.macros.reminder.handler = function reminder(place,macroName,params)
{
   var dateHash = getParamsForReminder(params);
   if (dateHash["hidden"] != null)
   {
      return;
   }
   var leadTime = dateHash["leadtime"];
   if (leadTime == null)
   {
      leadTime = config.macros.reminders["defaultLeadTime"]; 
   }
   var leadTimeLowerBound = new Date().getMidnight().addDays(leadTime[0]);
   var leadTimeUpperBound = new Date().getMidnight().addDays(leadTime[1]);
   var matchedDate = findDateForReminder(dateHash, new Date().getMidnight(), leadTimeLowerBound, leadTimeUpperBound);
   if (!store.getTiddler) 
   {
      store.getTiddler=function(title) {return this.tiddlers[title];};
   }
   var title = window.story.findContainingTiddler(place).id.substr(7);
   if (matchedDate != null)
   {
      var diff = matchedDate.getDifferenceInDays(new Date().getMidnight());
      var elem = createTiddlyElement(place,"span",null,null, null);
      var mess = getReminderMessageForDisplay(diff, dateHash, matchedDate, title);
      wikify(mess, elem, null, null);
   }
   else
   {
      createTiddlyElement(place,"span",null,null, config.macros.reminders["noReminderFound"].replace("TITLE", dateHash["title"]).replace("LEADTIMEUPPER", leadTime[1]).replace("LEADTIMELOWER", leadTime[0]).replace("TIDDLERNAME", title).replace("TIDDLER", "[[" + title + "]]") );
   }
};

config.macros.newReminder.handler = function newReminder(place,macroName,params)
{
  var today=new Date().getMidnight();
  var formstring = '<html><form>Year: <select name="year"><option value="">Every year</option>';
  for (var i = 0; i < 5; i++)
  {
    formstring += '<option' + ((i == 0) ? ' selected' : '') + ' value="' + (today.getFullYear() +i) + '">' + (today.getFullYear() + i) + '</option>';
  }
  formstring += '</select>&nbsp;&nbsp;Month:<select name="month"><option value="">Every month</option>';
  for (i = 0; i < 12; i++)
  {
    formstring += '<option' + ((i == today.getMonth()) ? ' selected' : '') + ' value="' + (i+1) + '">' + config.messages.dates.months[i] + '</option>';
  }
  formstring += '</select>&nbsp;&nbsp;Day:<select name="day"><option value="">Every day</option>';
  for (i = 1; i < 32; i++)
  {
    formstring += '<option' + ((i == (today.getDate() )) ? ' selected' : '') + ' value="' + i + '">' + i + '</option>';
  }

formstring += '</select>&nbsp;&nbsp;Reminder Title:<input type="text" size="40" name="title" value="please enter a title" onfocus="this.select();"><input type="button" value="ok" onclick="addReminderToTiddler(this.form)"></form></html>';

  var panel = config.macros.slider.createSlider(place,null,"New Reminder","Open a form to add a new reminder to this tiddler");
  wikify(formstring ,panel,null,store.getTiddler(params[1]));
};

// onclick: process input and insert reminder at 'marker'
window.addReminderToTiddler = function(form) {
   if (!store.getTiddler) 
   {
      store.getTiddler=function(title) {return this.tiddlers[title];};
   }
   var title = window.story.findContainingTiddler(form).id.substr(7);
   var tiddler=store.getTiddler(title);
  var txt='\n<<reminder ';
  if (form.year.value != "")
    txt += 'year:'+form.year.value + ' ';
  if (form.month.value != "")
    txt += 'month:'+form.month.value + ' ';
  if (form.day.value != "")
    txt += 'day:'+form.day.value + ' ';
  txt += 'title:"'+form.title.value+'" ';
  txt +='>>';
   tiddler.set(null,tiddler.text + txt);
   window.story.refreshTiddler(title,1,true);
   store.setDirty(true);
};

function hasTag(tiddlerTags, tagFilters)
{
  //Make sure we respond well to empty tiddlerTaglists or tagFilterlists
  if (tagFilters.length==0 || tiddlerTags.length==0)
  {
    return true;
  }

  var bHasTag = false;
  
  /*bNoPos says: "'till now there has been no check using a positive filter"
     Imagine a filterlist consisting of 1 negative filter:
         If the filter isn't matched, we want hasTag to be true.
         Yet bHasTag is still false ('cause only positive filters cause bHasTag to change)
         
     If no positive filters are present bNoPos is true, and no negative filters are matched so we have not returned false
         Thus: hasTag returns true.
      
      If at any time a positive filter is encountered, we want at least one of the tags to match it, so we turn bNoPos to false, which
      means bHasTag must be true for hasTag to return true*/
  var bNoPos=true;
  
for (var t3 = 0; t3 < tagFilters.length; t3++)
  {
      for(var t2=0; t2<tiddlerTags.length; t2++)
      {
           if (tagFilters[t3].length > 1 && tagFilters[t3].charAt(0) == '!') 
           {
              if (tiddlerTags[t2] == tagFilters[t3].substring(1))
              {
                 //If at any time a negative filter is matched, we return false
                  return false;
              }
           }
           else 
           {
              if (bNoPos)
              {
                 //We encountered the first positive filter
                 bNoPos=false;
              }
              if (tiddlerTags[t2] == tagFilters[t3])
              {
                  //A positive filter is matched. As long as no negative filter is matched, hasTag will return true
                  bHasTag=true;
              }
           }
        }
    }
    return (bNoPos || bHasTag);
};

//This function searches all tiddlers for the reminder  //macro.  It is intended that other plugins (like //calendar) will use this function to query for 
//upcoming reminders.
//The arguments to this function filter out reminders //based on when they will fire.
//
//ARGUMENTS:
//baseDate is the date that is used as "now".  
//leadtime is a two element int array, with leadtime[0] 
//         as the lower bound and leadtime[1] as the
//         upper bound.  A reasonable default is [0,14]
//tags is a space-separated list of tags to use to filter 
//         tiddlers.  If a tag name begins with an !, then 
//         only tiddlers which do not have that tag will 
//         be considered.  For example "examples holidays"  
//         will search for reminders in any tiddlers that  
//         are tagged with examples or holidays and 
//         "!examples !holidays" will search for reminders 
//         in any tiddlers that are not tagged with 
//         examples or holidays.  Pass in null to search 
//         all tiddlers.
//limit.  If limit is null, individual reminders can 
//        override the leadtime specified earlier.  
//        Pass in 1 in order to override that behavior.

window.findTiddlersWithReminders = function findTiddlersWithReminders(baseDate, leadtime, tags, limit)
{
//function(searchRegExp,sortField,excludeTag)
//   var macroPattern = "<<([^>\\]+)(?:\\*)([^>]*)>>";
   var macroPattern = "<<(reminder)(.*)>>";
   var macroRegExp = new RegExp(macroPattern,"mg");
   var matches = store.search(macroRegExp,"title","");
   var arr = [];
   var tagsArray = null;
   if (tags != null)
   {
      // tagsArray = tags.split(" ");
      tagsArray = tags.readBracketedList(); // allows tags with spaces. thanks Robin Summerhill, 4-Oct-06.
   }
   for(var t=matches.length-1; t>=0; t--)
   {
      if (tagsArray != null)
      {
         //If they specified tags to filter on, and this tiddler doesn't 
	 //match, skip it entirely.
         if ( ! hasTag(matches[t].tags, tagsArray))
         {
            continue;
         }
      }

      var targetText = matches[t].text;
      do {
         // Get the next formatting match
         var formatMatch = macroRegExp.exec(targetText);
         if(formatMatch && formatMatch[1] != null && formatMatch[1].toLowerCase() == "reminder")
         {
            //Find the matching date.
            
            var params = formatMatch[2] != null ? formatMatch[2].readMacroParams() : {};
            var dateHash = getParamsForReminder(params);
            if (limit != null || dateHash["leadtime"] == null)
            {
               if (leadtime == null)
                   dateHash["leadtime"] = leadtime;
               else
               {
                  dateHash["leadtime"] = [];
                  dateHash["leadtime"][0] = leadtime[0];
                  dateHash["leadtime"][1] = leadtime[1];
               }
            }
	    if (dateHash["leadtime"] == null)
               dateHash["leadtime"] = config.macros.reminders["defaultLeadTime"]; 
            var leadTimeLowerBound = baseDate.addDays(dateHash["leadtime"][0]);
            var leadTimeUpperBound = baseDate.addDays(dateHash["leadtime"][1]);
            var matchedDate = findDateForReminder(dateHash, baseDate, leadTimeLowerBound, leadTimeUpperBound);
            while (matchedDate != null)
            {
               var hash = {};
               hash["diff"] = matchedDate.getDifferenceInDays(baseDate);
               hash["matchedDate"] = new Date(matchedDate.getFullYear(), matchedDate.getMonth(), matchedDate.getDate(), 0, 0);
               hash["params"] = cloneParams(dateHash);
               hash["tiddler"] = matches[t].title;
               hash["tags"] = matches[t].tags;
               arr.pushUnique(hash);
	       if (dateHash["recurdays"] != null || (dateHash["year"] == null))
	       {
	         leadTimeLowerBound = leadTimeLowerBound.addDays(matchedDate.getDifferenceInDays(leadTimeLowerBound)+ 1);
                 matchedDate = findDateForReminder(dateHash, baseDate, leadTimeLowerBound, leadTimeUpperBound);
	       }
	       else matchedDate = null;
            }
         }
      }while(formatMatch);
   }
   if(arr.length > 1)  //Sort the array by number of days remaining.
   {
      arr.sort(function (a,b) {if(a["diff"] == b["diff"]) {return(0);} else {return (a["diff"] < b["diff"]) ? -1 : +1; } });
   }
   return arr;
};

//This function takes the reminder macro parameters and
//generates the string that is used for display.
//This function is not intended to be called by 
//other plugins.
 window.getReminderMessageForDisplay= function getReminderMessageForDisplay(diff, params, matchedDate, tiddlerTitle)
{
   var anniversaryString = "";
   var reminderTitle = params["title"];
   if (reminderTitle == null)
   {
      reminderTitle = config.macros.reminders["untitledReminder"];
   }
   if (params["firstyear"] != null)
   {
      anniversaryString = config.macros.reminders["defaultAnniversaryMessage"].replace("DIFF", (matchedDate.getFullYear() - params["firstyear"]));
   }
   var mess = "";
   var diffString = "";
   if (diff == 0)
   {
      diffString = config.macros.reminders["todayString"];
   }
   else if (diff == 1)
   {
      diffString = config.macros.reminders["tomorrowString"];
   }
   else
   {
      diffString = config.macros.reminders["ndaysString"].replace("DIFF", diff);
   }
   var format = config.macros.reminders["defaultReminderMessage"];
   if (params["format"] != null)
   {
      format = params["format"];
   }
   mess = format;
//HACK!  -- Avoid replacing DD in TIDDLER with the date
   mess = mess.replace(/TIDDLER/g, "TIDELER");
   mess = matchedDate.formatStringDateOnly(mess);
   mess = mess.replace(/TIDELER/g, "TIDDLER");
   if (tiddlerTitle != null)
   {
      mess = mess.replace(/TIDDLERNAME/g, tiddlerTitle);
      mess = mess.replace(/TIDDLER/g, "[[" + tiddlerTitle + "]]");
   }
   
   mess = mess.replace("DIFF", diffString).replace("TITLE", reminderTitle).replace("DATE", matchedDate.formatString("DDD MMM DD, YYYY")).replace("ANNIVERSARY", anniversaryString);
   return mess;
};

// Parse out the macro parameters into a hashtable.  This
// handles the arguments for reminder, showReminders and 
// displayTiddlersWithReminders.
window.getParamsForReminder = function getParamsForReminder(params)
{
   var dateHash = {};
   var type = "";
   var num = 0;
   var title = "";
   for(var t=0; t<params.length; t++)
   {
      var split = params[t].split(":");
      type = split[0].toLowerCase();
      var value = split[1];
      for (var i=2; i < split.length; i++)
      {
         value += ":" + split[i];
      }
      if (type == "nolinks" || type == "limit" || type == "hidden")
      {
         num = 1;
      }
      else if (type == "leadtime")
      {
         var leads = value.split("...");
         if (leads.length == 1)
         {
            leads[1]= leads[0];
            leads[0] = 0;
         }
         leads[0] = parseInt(leads[0], 10);
         leads[1] = parseInt(leads[1], 10);
         num = leads;
      }
      else if (type == "offsetdayofweek")
      {
          if (value.substr(0,1) == "-")
          {
             dateHash["negativeOffsetDayOfWeek"] = 1;
	     value = value.substr(1);
          }
          num = parseInt(value, 10);
      }
      else if (type != "title" && type != "tag" && type != "format")
      {
         num = parseInt(value, 10);
      }
      else
      {
         title = value;
         t++;
         while (title.substr(0,1) == '"' && title.substr(title.length - 1,1) != '"' && params[t] != undefined)
         {
            title += " " + params[t++];
         }
         //Trim off the leading and trailing quotes
         if (title.substr(0,1) == "\"" && title.substr(title.length - 1,1)== "\"")
         {
            title = title.substr(1, title.length - 2);
            t--;
         }
         num = title;
      }
      dateHash[type] = num;
   }
   //date is synonymous with day
   if (dateHash["day"] == null)
   {
      dateHash["day"] = dateHash["date"];
   }
   return dateHash;
};

//This function finds the date specified in the reminder 
//parameters.  It will return null if no match can be
//found.  This function is not intended to be used by
//other plugins.
window.findDateForReminder= function findDateForReminder( dateHash, baseDate, leadTimeLowerBound, leadTimeUpperBound)
{
   if (baseDate == null)
   {
     baseDate = new Date().getMidnight();
   }
   var hashKey = baseDate.convertToYYYYMMDDHHMM();
   for (var k in dateHash)
   {
      hashKey += "," + k + "|" + dateHash[k];
   }
   hashKey += "," + leadTimeLowerBound.convertToYYYYMMDDHHMM();
   hashKey += "," + leadTimeUpperBound.convertToYYYYMMDDHHMM();
   if (reminderCache[hashKey] == null)
   {
      //If we don't find a match in this run, then we will
      //cache that the reminder can't be matched.
      reminderCache[hashKey] = false;
   }
   else if (reminderCache[hashKey] == false)
   {
      //We've already tried this date and failed
      return null;
   }
   else
   {
      return reminderCache[hashKey];
   }
   
   var bOffsetSpecified = dateHash["offsetyear"] != null || 
				dateHash["offsetmonth"] != null || 
				dateHash["offsetday"] != null || 
				dateHash["offsetdayofweek"] != null || 
				dateHash["recurdays"] != null;
   
   // If we are matching the base date for a dayofweek offset, look for the base date a 
   //little further back.
   var tmp1leadTimeLowerBound = leadTimeLowerBound;  
   if ( dateHash["offsetdayofweek"] != null)
   {
      tmp1leadTimeLowerBound = leadTimeLowerBound.addDays(-6);  
   }
   var matchedDate = baseDate.findMatch(dateHash, tmp1leadTimeLowerBound, leadTimeUpperBound);
   if (matchedDate != null)
   {
      var newMatchedDate = matchedDate;
      if (dateHash["recurdays"] != null)
      {
         while (newMatchedDate.getTime() < leadTimeLowerBound.getTime())
         {
            newMatchedDate = newMatchedDate.addDays(dateHash["recurdays"]);
         }
      }
      else if (dateHash["offsetyear"] != null || 
		dateHash["offsetmonth"] != null || 
		dateHash["offsetday"] != null || 
		dateHash["offsetdayofweek"] != null)
      {
         var tmpdateHash = cloneParams(dateHash);
         tmpdateHash["year"] = dateHash["offsetyear"];
         tmpdateHash["month"] = dateHash["offsetmonth"];
         tmpdateHash["day"] = dateHash["offsetday"];
         tmpdateHash["dayofweek"] = dateHash["offsetdayofweek"];
	 var tmpleadTimeLowerBound = leadTimeLowerBound;
	 var tmpleadTimeUpperBound = leadTimeUpperBound;
	 if (tmpdateHash["offsetdayofweek"] != null)
	 {
	 	if (tmpdateHash["negativeOffsetDayOfWeek"] == 1)
		{
		   tmpleadTimeLowerBound = matchedDate.addDays(-6);
		   tmpleadTimeUpperBound = matchedDate;

		}
		else
		{
		   tmpleadTimeLowerBound = matchedDate;
		   tmpleadTimeUpperBound = matchedDate.addDays(6);
		}

	 }
	 newMatchedDate = matchedDate.findMatch(tmpdateHash, tmpleadTimeLowerBound, tmpleadTimeUpperBound);
         //The offset couldn't be matched.  return null.
         if (newMatchedDate == null)
         {
            return null;
         }
      }
      if (newMatchedDate.isBetween(leadTimeLowerBound, leadTimeUpperBound))
      {
         reminderCache[hashKey] = newMatchedDate;
         return newMatchedDate;
      }
   }
   return null;
};

//This does much the same job as findDateForReminder, but
//this one doesn't deal with offsets or recurring 
//reminders.
Date.prototype.findMatch = function findMatch(dateHash, leadTimeLowerBound, leadTimeUpperBound)
{

   var bSpecifiedYear =     (dateHash["year"] != null);
   var bSpecifiedMonth =     (dateHash["month"] != null);
   var bSpecifiedDay =     (dateHash["day"] != null);
   var bSpecifiedDayOfWeek =     (dateHash["dayofweek"] != null);
   if (bSpecifiedYear && bSpecifiedMonth && bSpecifiedDay)
   {
      return new Date(dateHash["year"], dateHash["month"]-1, dateHash["day"], 0, 0);
   }
   var bMatchedYear = !bSpecifiedYear;
   var bMatchedMonth = !bSpecifiedMonth;
   var bMatchedDay = !bSpecifiedDay;
   var bMatchedDayOfWeek = !bSpecifiedDayOfWeek;
   if (bSpecifiedDay && bSpecifiedMonth && !bSpecifiedYear && !bSpecifiedDayOfWeek)
   {

      //Shortcut -- First try this year.  If it's too small, try next year.
      var tmpMidnight = this.getMidnight();
      var tmpDate = new Date(this.getFullYear(), dateHash["month"]-1, dateHash["day"], 0,0);
      if (tmpDate.getTime() < leadTimeLowerBound.getTime())
      {
         tmpDate = new Date((this.getFullYear() + 1), dateHash["month"]-1, dateHash["day"], 0,0);
      }
      if ( tmpDate.isBetween(leadTimeLowerBound, leadTimeUpperBound))
      {
         return tmpDate;
      }
      else
      {
         return null;
      }
   }

   var newDate = leadTimeLowerBound; 
   while (newDate.isBetween(leadTimeLowerBound, leadTimeUpperBound))
   {
      var tmp = testDate(newDate, dateHash, bSpecifiedYear, bSpecifiedMonth, bSpecifiedDay, bSpecifiedDayOfWeek);
      if (tmp != null)
        return tmp;
      newDate = newDate.addDays(1);
   }
};

function testDate(testMe, dateHash, bSpecifiedYear, bSpecifiedMonth, bSpecifiedDay, bSpecifiedDayOfWeek)
{
   var bMatchedYear = !bSpecifiedYear;
   var bMatchedMonth = !bSpecifiedMonth;
   var bMatchedDay = !bSpecifiedDay;
   var bMatchedDayOfWeek = !bSpecifiedDayOfWeek;
   if (bSpecifiedYear)
   {
      bMatchedYear = (dateHash["year"] == testMe.getFullYear());
   }
   if (bSpecifiedMonth)
   {
      bMatchedMonth = ((dateHash["month"] - 1)  == testMe.getMonth() );
   }
   if (bSpecifiedDay)
   {
      bMatchedDay = (dateHash["day"] == testMe.getDate());
   }
   if (bSpecifiedDayOfWeek)
   {
      bMatchedDayOfWeek = (dateHash["dayofweek"] == testMe.getDay());
   }

   if (bMatchedYear && bMatchedMonth && bMatchedDay && bMatchedDayOfWeek)
   {
      return testMe;
   }
};

//Returns true if the date is in between two given dates
Date.prototype.isBetween = function isBetween(lowerBound, upperBound)
{
  return (this.getTime() >= lowerBound.getTime() && this.getTime() <= upperBound.getTime());
}
//Return a new date, with the time set to midnight (0000)
Date.prototype.getMidnight = function getMidnight()
{
   return new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0);
};
// Add the specified number of days to a date.
Date.prototype.addDays = function addDays(numberOfDays)
{
   return new Date(this.getFullYear(), this.getMonth(), this.getDate() + numberOfDays, 0, 0);
};
//Return the number of days between two dates.
Date.prototype.getDifferenceInDays = function getDifferenceInDays(otherDate)
{
//I have to do it this way, because this way ignores daylight savings
   var tmpDate = this.addDays(0);
   if (this.getTime() > otherDate.getTime())
   {
      var i = 0;
      for (i = 0; tmpDate.getTime() > otherDate.getTime(); i++)
      {
         tmpDate = tmpDate.addDays(-1);
      }
      return i;
   }
   else
   {
      var i = 0;
      for (i = 0; tmpDate.getTime() < otherDate.getTime(); i++)
      {
         tmpDate = tmpDate.addDays(1);
      }
      return i * -1;
   }
   return 0;
};
function cloneParams(what) {
    var tmp = {};
    for (var i in what) {
        tmp[i] = what[i];
    }
    return tmp;
}
// Substitute date components into a string
Date.prototype.formatStringDateOnly = function formatStringDateOnly(template)
{
	template = template.replace("YYYY",this.getFullYear());
	template = template.replace("YY",String.zeroPad(this.getFullYear()-2000,2));
	template = template.replace("MMM",config.messages.dates.months[this.getMonth()]);
	template = template.replace("0MM",String.zeroPad(this.getMonth()+1,2));
	template = template.replace("MM",this.getMonth()+1);
	template = template.replace("DDD",config.messages.dates.days[this.getDay()]);
	template = template.replace("0DD",String.zeroPad(this.getDate(),2));
	template = template.replace("DD",this.getDate());
	return template;
};

//}}}
/*{{{*/
merge(config.macros.search,{
	prompt: "Search MoH website"});
merge(config.macros.closeAll,{
	prompt: "Close all tiddlers"});
/*}}}*/
<<search>>
version.extensions.favicon = {major: 0, minor: 1, revision: 0, date: new Date("Jul 18, 2005")};
var n = document.createElement("link");	
n.rel = "shortcut icon"; 
n.href = "http://www.mechanicsofhearing.org/moh2014/images/cochlea16x16.jpg"; 
document.getElementsByTagName("head")[0].appendChild(n);
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options �' 'Change TiddlyWiki advanced options'>>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
/***
|''Name''|SimpleSearchPlugin|
|''Description''|displays search results as a simple list of matching tiddlers|
|''Authors''|FND|
|''Version''|0.4.0|
|''Status''|stable|
|''Source''|http://devpad.tiddlyspot.com/#SimpleSearchPlugin|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/SimpleSearchPlugin.js|
|''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''Keywords''|search|
!Revision History
!!v0.2.0 (2008-08-18)
* initial release
!!v0.3.0 (2008-08-19)
* added Open All button (renders Classic Search option obsolete)
* sorting by relevance (title matches before content matches)
!!v0.4.0 (2008-08-26)
* added tag matching
!To Do
* tag matching optional
* animations for container creation and removal
* when clicking on search results, do not scroll to the respective tiddler (optional)
* use template for search results
!Code
***/
//{{{
if(!version.extensions.SimpleSearchPlugin) { //# ensure that the plugin is only installed once
version.extensions.SimpleSearchPlugin = { installed: true };

if(!plugins) { var plugins = {}; }
plugins.SimpleSearchPlugin = {
	heading: "Search Results",
	containerId: "searchResults",
	btnCloseLabel: "close",
	btnCloseTooltip: "dismiss search results",
	btnCloseId: "search_close",
	btnOpenLabel: "Open all",
	btnOpenTooltip: "open all search results",
	btnOpenId: "search_open",
	
	displayResults: function(matches, query) {
		story.refreshAllTiddlers(true); // update highlighting within story tiddlers
		var el = document.getElementById(this.containerId);
		query = '"""' + query + '"""'; // prevent WikiLinks
		if(el) {
			removeChildren(el);
		} else { //# fallback: use displayArea as parent
			var container = document.getElementById("displayArea");
			el = document.createElement("div");
			el.setAttribute("id", this.containerId);
			el = container.insertBefore(el, container.firstChild);
		}
		var msg = "!" + this.heading + "\n";
		if(matches.length > 0) {
			msg += "''" + config.macros.search.successMsg.format([matches.length.toString(), query]) + ":''\n";
			this.results = [];
			for(var i = 0 ; i < matches.length; i++) {
				this.results.push(matches[i].title);
				msg += "* [[" + matches[i].title + "]]\n";
			}
		} else {
			msg += "''" + config.macros.search.failureMsg.format([query]) + "''"; // XXX: do not use bold here!?
		}
		createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, plugins.SimpleSearchPlugin.closeResults, "button", this.btnCloseId);
		wikify(msg, el);
		if(matches.length > 0) { // XXX: redundant!?
			createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, plugins.SimpleSearchPlugin.openAll, "button", this.btnOpenId);
		}
	},

	closeResults: function() {
		var el = document.getElementById(plugins.SimpleSearchPlugin.containerId);
		removeNode(el);
		plugins.SimpleSearchPlugin.results = null;
		highlightHack = null;
	},

	openAll: function(ev) {
		story.displayTiddlers(null, plugins.SimpleSearchPlugin.results);
		return false;
	}
};

config.shadowTiddlers.StyleSheetSimpleSearch = "/*{{{*/\n" +
	"#" + plugins.SimpleSearchPlugin.containerId + " {\n" +
	"\toverflow: auto;\n" +
	"\tpadding: 5px 1em 10px;\n" +
	"\tbackground-color: [[ColorPalette::TertiaryPale]];\n" +
	"}\n\n" +
	"#" + plugins.SimpleSearchPlugin.containerId + " h1 {\n" +
	"\tmargin-top: 0;\n" +
	"\tborder: none;\n" +
        "\tbackground-color: [[ColorPalette::TertiaryPale]];\n" +
	"}\n\n" +
	"#" + plugins.SimpleSearchPlugin.containerId + " ul {\n" +
	"\tmargin: 0.5em;\n" +
	"\tpadding-left: 1.5em;\n" +
	"}\n\n" +
	"#" + plugins.SimpleSearchPlugin.containerId + " .button {\n" +
	"\tdisplay: block;\n" +
	"\tborder-color: [[ColorPalette::TertiaryDark]];\n" +
	"\tpadding: 5px;\n" +
	"\tbackground-color: [[ColorPalette::TertiaryLight]];\n" +
	"}\n\n" +
	"#" + plugins.SimpleSearchPlugin.containerId + " .button:hover {\n" +
	"\tborder-color: [[ColorPalette::TertiaryDark]];\n" +
	"\tbackground-color: [[ColorPalette::TertiaryMid]];\n" +
	"}\n\n" +
	"#" + plugins.SimpleSearchPlugin.btnCloseId + " {\n" +
	"\tfloat: right;\n" +
	"\tmargin: -5px -1em 5px 5px;\n" +
	"}\n\n" +
	"#" + plugins.SimpleSearchPlugin.btnOpenId + " {\n" +
	"\tfloat: left;\n" +
	"\tmargin-top: 5px;\n" +
	"}\n" +
	"/*}}}*/";
store.addNotification("StyleSheetSimpleSearch", refreshStyles);

// override Story.search()
Story.prototype.search = function(text, useCaseSensitive, useRegExp) {
	highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(), useCaseSensitive ? "mg" : "img");
	var matches = store.search(highlightHack, null, "excludeSearch");
	var q = useRegExp ? "/" : "'";
	plugins.SimpleSearchPlugin.displayResults(matches, q + text + q);
};

// override TiddlyWiki.search() to sort by relevance
TiddlyWiki.prototype.search = function(searchRegExp, sortField, excludeTag, match) {
	var candidates = this.reverseLookup("tags", excludeTag, !!match);
	var primary = [];
	var secondary = [];
	var tertiary = [];
	for(var t = 0; t < candidates.length; t++) {
		if(candidates[t].title.search(searchRegExp) != -1) {
			primary.push(candidates[t]);
		} else if(candidates[t].tags.join(" ").search(searchRegExp) != -1) {
			secondary.push(candidates[t]);
		} else if(candidates[t].text.search(searchRegExp) != -1) {
			tertiary.push(candidates[t]);
		}
	}
	var results = primary.concat(secondary).concat(tertiary);
	if(sortField) {
		results.sort(function(a, b) {
			return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);
		});
	}
	return results;
};

} //# end of "install only once"
//}}}

[img[http://mechanicsofhearing.org/moh2014/images/MOH2014_webHeader.jpg]]@@color(white):Mechanics of Hearing 2014@@ 
http://mechanicsofhearing.org
The following organizations have graciously provided the financial and other support that makes this Workshop possible.

[img[http://mechanicsofhearing.org/moh2014/images/SPONSOR_LOGOS/NIDCD_resized.jpg][http://www.nidcd.nih.gov]]<br>
''National Institute on Deafness and Other Communication Disorders''<br><br>
----
[img[http://mechanicsofhearing.org/moh2014/images/SPONSOR_LOGOS/FB_resized.jpg][http://www.bertarelli-foundation.org/]]

----
[img[http://mechanicsofhearing.org/moh2014/images/SPONSOR_LOGOS/HMS_resized.jpg][http://hms.harvard.edu/]]

----
<br><br>[img[http://mechanicsofhearing.org/moh2014/images/SPONSOR_LOGOS/Otodynamics_resized.jpg][http://www.otodynamics.com/]]<br>

----
[img[http://mechanicsofhearing.org/moh2014/images/SPONSOR_LOGOS/AB_resized.jpg][http://www.advancedbionics.com/com/en/home.html/]]
/*{{{*/
#sidebarTabs {
	padding-top: 0.3em;
}

.viewer {
   text-align: justify;
}


body {
	font-size: 0.85em;
	font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
}

.externalLink {
        font-size:1.1em;
	text-decoration: underline;
}


.tiddlyLinkExisting {
        font-size:1.1em;
	font-weight: bold;
}
h1,h2,h3,h4,h5 {
	color: [[ColorPalette::SecondaryDark]];
	background: transparent;
}
h1,h2,h3,h4,h5 {
	font-weight: normal;
	text-decoration: none;
	padding-left: 0.0em;
}
.siteTitle {
	font-size: 4px;
        font-family: 'Trebuchet MS' sans-serif;
}
.siteSubtitle {
	font-size: 4px;
        color: #666;
        font-family: 'Trebuchet MS' sans-serif;
}

#tiddlerFrontPage .title {
color: white;
}

/*}}}*/
/*{{{*/
body {
	background: [[ColorPalette::Background]];
	color: [[ColorPalette::Foreground]];
}

a{
	color: [[ColorPalette::PrimaryDark]];
}

a:hover{
	background: [[ColorPalette::PrimaryMid]];
	color: [[ColorPalette::Background]];
}

a img{
	border: 0;
}


.zoomer {background:none; color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

h1,h2,h3,h4,h5 {
	color: [[ColorPalette::SecondaryDark]];
	background: [[ColorPalette::Background]];
}

.button {
	color: [[ColorPalette::PrimaryDark]];
	border: 1px solid [[ColorPalette::Background]];
}

.button:hover {
	color: [[ColorPalette::PrimaryDark]];
	background: [[ColorPalette::CASLightGray]];
	border-color: [[ColorPalette::CASMidGray]];
}

.button:active {
	color: [[ColorPalette::Background]];
	background: [[ColorPalette::CASDarkGray]];
	border: 1px solid [[ColorPalette::CASDarkerGray]];
}

.header {
	background: [[ColorPalette::PrimaryMid]];
}

.headerShadow {
	color: [[ColorPalette::Foreground]];
}

.headerShadow a {
	font-weight: normal;
	color: [[ColorPalette::Background]];
}

.headerForeground {
	color: [[ColorPalette::Foreground]];
}

.headerForeground a {
	font-weight: normal;
	color: [[ColorPalette::PrimaryPale]];
}

.tabSelected{
	color: [[ColorPalette::PrimaryDark]];
	background: [[ColorPalette::TertiaryPale]];
	border-left: 1px solid [[ColorPalette::TertiaryLight]];
	border-top: 1px solid [[ColorPalette::TertiaryLight]];
	border-right: 1px solid [[ColorPalette::TertiaryLight]];
}

.tabUnselected {
	color: [[ColorPalette::Background]];
	background: [[ColorPalette::TertiaryMid]];
}

.tabContents {
	color: [[ColorPalette::PrimaryDark]];
	background: [[ColorPalette::TertiaryPale]];
	border: 1px solid [[ColorPalette::TertiaryLight]];
}

.tabContents .button {
	 border: 0;}

#sidebar {
}

#sidebarOptions input {
	border: 1px solid [[ColorPalette::PrimaryMid]];
}

#sidebarOptions .sliderPanel {
	background: [[ColorPalette::PrimaryPale]];
}

#sidebarOptions .sliderPanel a {
	border: none;
	color: [[ColorPalette::PrimaryMid]];
}

#sidebarOptions .sliderPanel a:hover {
	color: [[ColorPalette::Background]];
	background: [[ColorPalette::PrimaryMid]];
}

#sidebarOptions .sliderPanel a:active {
	color: [[ColorPalette::PrimaryMid]];
	background: [[ColorPalette::Background]];
}

.wizard {
	background: [[ColorPalette::SecondaryLight]];
	border-top: 1px solid [[ColorPalette::SecondaryMid]];
	border-left: 1px solid [[ColorPalette::SecondaryMid]];
}

.wizard h1 {
	color: [[ColorPalette::SecondaryDark]];
}

.wizard h2 {
	color: [[ColorPalette::Foreground]];
}

.wizardStep {
	background: [[ColorPalette::Background]];
	border-top: 1px solid [[ColorPalette::SecondaryMid]];
	border-bottom: 1px solid [[ColorPalette::SecondaryMid]];
	border-left: 1px solid [[ColorPalette::SecondaryMid]];
}

.wizard .button {
	color: [[ColorPalette::Background]];
	background: [[ColorPalette::PrimaryMid]];
	border-top: 1px solid [[ColorPalette::PrimaryLight]];
	border-right: 1px solid [[ColorPalette::PrimaryDark]];
	border-bottom: 1px solid [[ColorPalette::PrimaryDark]];
	border-left: 1px solid [[ColorPalette::PrimaryLight]];
}

.wizard .button:hover {
	color: [[ColorPalette::PrimaryLight]];
	background: [[ColorPalette::PrimaryDark]];
	border-color: [[ColorPalette::PrimaryLight]];
}

.wizard .button:active {
	color: [[ColorPalette::Background]];
	background: [[ColorPalette::PrimaryMid]];
	border-top: 1px solid [[ColorPalette::PrimaryLight]];
	border-right: 1px solid [[ColorPalette::PrimaryDark]];
	border-bottom: 1px solid [[ColorPalette::PrimaryDark]];
	border-left: 1px solid [[ColorPalette::PrimaryLight]];
}

#messageArea {
	border: 1px solid [[ColorPalette::CASDarkGray]];
	background: [[ColorPalette::CASLightGray]];
	color: [[ColorPalette::PrimaryDark]];
}

#messageArea .button {
	padding: 0.2em 0.2em 0.2em 0.2em;
	color: [[ColorPalette::PrimaryDark]];
	background: [[ColorPalette::Background]];
}

.popup {
	background: [[ColorPalette::Background]];
	border: 1px solid [[ColorPalette::PrimaryMid]];
}

.popup hr {
	color: [[ColorPalette::PrimaryDark]];
	background: [[ColorPalette::PrimaryDark]];
	border-bottom: 1px;
}

.popup li.disabled {
	color: [[ColorPalette::PrimaryMid]];
}

.popup li a, .popup li a:visited {
	color: [[ColorPalette::DarkerGray]];
	border: none;
}

.popup li a:hover {
	background: [[ColorPalette::PrimaryDark]];
	color: [[ColorPalette::Background]];
	border: none;
}

.tiddler .defaultCommand {
 font-weight: bold;
}

.shadow .title {
	color: [[ColorPalette::TertiaryDark]];
}

.title {
	color: [[ColorPalette::SecondaryDark]];
}

.subtitle {
	color: [[ColorPalette::TertiaryDark]];
}

.toolbar {
	color: [[ColorPalette::PrimaryMid]];
}

.tagging, .tagged {
	border: 1px solid [[ColorPalette::TertiaryPale]];
	background-color: [[ColorPalette::TertiaryPale]];
}

.selected .tagging, .selected .tagged {
	background-color: [[ColorPalette::TertiaryLight]];
	border: 1px solid [[ColorPalette::TertiaryMid]];
}

.tagging .listTitle, .tagged .listTitle {
	color: [[ColorPalette::PrimaryDark]];
}

.tagging .button, .tagged .button {
		border: none;
}

.footer {
	color: [[ColorPalette::TertiaryLight]];
}

.selected .footer {
	color: [[ColorPalette::TertiaryMid]];
}

.sparkline {
	background: [[ColorPalette::PrimaryPale]];
	border: 0;
}

.sparktick {
	background: [[ColorPalette::PrimaryDark]];
}

.error, .errorButton {
	color: [[ColorPalette::Foreground]];
	background: [[ColorPalette::Error]];
}

.warning {
	color: [[ColorPalette::Foreground]];
	background: [[ColorPalette::SecondaryPale]];
}

.cascade {
	background: [[ColorPalette::TertiaryPale]];
	color: [[ColorPalette::TertiaryMid]];
	border: 1px solid [[ColorPalette::TertiaryMid]];
}

.imageLink, #displayArea .imageLink {
	background: transparent;
}

.viewer .listTitle {list-style-type: none; margin-left: -2em;}

.viewer .button {
	border: 1px solid [[ColorPalette::SecondaryMid]];
}

.viewer blockquote {
	border-left: 3px solid [[ColorPalette::TertiaryDark]];
}

.viewer table {
	border: 2px solid [[ColorPalette::TertiaryDark]];
}

.viewer th, thead td {
	background: [[ColorPalette::SecondaryMid]];
	border: 1px solid [[ColorPalette::TertiaryDark]];
	color: [[ColorPalette::Background]];
}

.viewer td, .viewer tr {
	border: 1px solid [[ColorPalette::TertiaryDark]];
}

.viewer pre {
	border: 1px solid [[ColorPalette::SecondaryLight]];
	background: [[ColorPalette::SecondaryPale]];
}

.viewer code {
	color: [[ColorPalette::SecondaryDark]];
}

.viewer hr {
	border: 0;
	border-top: dashed 1px [[ColorPalette::TertiaryDark]];
	color: [[ColorPalette::TertiaryDark]];
}

.highlight, .marked {
	background: [[ColorPalette::SecondaryLight]];
}

.editor input {
	border: 1px solid [[ColorPalette::PrimaryMid]];
}

.editor textarea {
	border: 1px solid [[ColorPalette::PrimaryMid]];
	width: 100%;
}

.editorFooter {
	color: [[ColorPalette::TertiaryMid]];
}

/*}}}*/
/*{{{*/
* html .tiddler {
    height: 1%;
}

.imgfloatleft{float:left;}
.imgfloatright{float:right;padding:5px}
.imgfloatcenter{float:center;}

body {
	font-size: 0.75em;
	font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
}

h1,h2,h3,h4,h5 {
	font-weight: bold;
	text-decoration: none;
	padding-left: 0.4em;
}

h1 {font-size: 1.35em;}
h2 {font-size: 1.25em;}
h3 {font-size: 1.1em;}
h4 {font-size: 1em;}
h5 {font-size: .9em;}

hr {
	height: 1px;
}

a{
	text-decoration: none;
}

dt {font-weight: bold;}

ol { list-style-type: decimal }
ol ol { list-style-type: lower-alpha }
ol ol ol { list-style-type: lower-roman }
ol ol ol ol { list-style-type: decimal }
ol ol ol ol ol { list-style-type: lower-alpha }
ol ol ol ol ol ol { list-style-type: lower-roman }
ol ol ol ol ol ol ol { list-style-type: decimal }

.txtOptionInput {
	width: 11em;
}

#contentWrapper .chkOptionInput {
	border: 0;
}

.externalLink {
	text-decoration: underline;
}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {
	font-weight: bold;
}

.tiddlyLinkNonExisting {
	font-style: italic;
}

/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */
a.tiddlyLinkNonExisting.shadow {
	font-weight: bold;
}

#mainMenu .tiddlyLinkExisting, 
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting{
 font-weight: normal;
 font-style: normal;
}

#sidebarTabs .tiddlyLinkExisting {
 font-weight: bold;
 font-style: normal;
}

.header {
		position: relative;
}

.header a:hover {
	background: transparent;
}

.headerShadow {
	position: relative;
	padding: 1.9em 0em 1em 1em;
	left: -0px;
	top: -0px;
}

.headerForeground {
	position: absolute;
	padding: 1.9em 0em 1em 1em;
	left: 0px;
	top: 0px;
}

.siteTitle {
	font-size: 4.1em;
        font-family: 'Trebuchet MS' sans-serif;
}
.siteSubtitle {
	font-size: 1.4em;
        color: #666;
        font-family: 'Trebuchet MS' sans-serif;
}

#mainMenu {
	position: absolute;
	left: 0.4em;
	width: 8em;
	text-align: right;
	line-height: 1.6em;
	padding: 1.5em 0.5em 0.5em 0.5em;
	font-size: 1.2em;
}

#sidebar {
	position: absolute;
	right: 3px;
	width: 16em;
	font-size: .9em;
}

#sidebarOptions {
	padding-top: 0.3em;
}

#sidebarOptions a {
	margin: 0em 0.2em;
	padding: 0.2em 0.3em;
	display: block;
}

#sidebarOptions input {
	margin: 0.4em 0.5em;
}

#sidebarOptions .sliderPanel {
	margin-left: 1em;
	padding: 0.5em;
	font-size: .85em;
}

#sidebarOptions .sliderPanel a {
	font-weight: bold;
	display: inline;
	padding: 0;
}

#sidebarOptions .sliderPanel input {
	margin: 0 0 .3em 0;
}

#sidebarTabs .tabContents {
	width: 15em;
	overflow: hidden;
}

.wizard {
	padding: 0.1em 0em 0em 2em;
}

.wizard h1 {
	font-size: 2em;
	font-weight: bold;
	background: none;
	padding: 0em 0em 0em 0em;
	margin: 0.4em 0em 0.2em 0em;
}

.wizard h2 {
	font-size: 1.2em;
	font-weight: bold;
	background: none;
	padding: 0em 0em 0em 0em;
	margin: 0.2em 0em 0.2em 0em;
}

.wizardStep {
	padding: 1em 1em 1em 1em;
}

.wizard .button {
	margin: 0.5em 0em 0em 0em;
	font-size: 1.2em;
}

#messageArea {
position:absolute; top:0; right:0; margin: 0.5em; padding: 0.5em;
}

*[id='messageArea'] {
position:fixed !important; z-index:99;}

.messageToolbar {
display: block;
text-align: right;
}

#messageArea a{
	text-decoration: underline;
}

.popup {
	font-size: .9em;
	padding: 0.2em;
	list-style: none;
	margin: 0;
}

.popup hr {
	display: block;
	height: 1px;
	width: auto;
	padding: 0;
	margin: 0.2em 0em;
}

.popup li.disabled {
	padding: 0.2em;
}

.popup li a{
	display: block;
	padding: 0.2em;
}

.tabset {
	padding: 1em 0em 0em 0.5em;
}

.tab {
	margin: 0em 0em 0em 0.25em;
	padding: 2px;
}

.tabContents {
	padding: 0.5em;
}

.tabContents ul, .tabContents ol {
	margin: 0;
	padding: 0;
}

.txtMainTab .tabContents li {
	list-style: none;
}

.tabContents li.listLink {
	 margin-left: .75em;
}

#displayArea {
	margin: 1em 17em 0em 14em;
}


.toolbar {
	text-align: right;
	font-size: .9em;
	visibility: hidden;
}

.selected .toolbar {
	visibility: visible;
}

.tiddler {
	padding: 1em 1em 0em 1em;
}

.missing .viewer,.missing .title {
	font-style: italic;
}

.title {
	font-size: 1.8em;
	font-weight: normal;
        font-family: 'Trebuchet MS' sans-serif;
}

.missing .subtitle {
 display: none;
}

.subtitle {
	font-size: 1.1em;
}

.tiddler .button {
	padding: 0.2em 0.4em;
}

.tagging {
margin: 0.5em 0.5em 0.5em 0;
float: left;
display: none;
}

.isTag .tagging {
display: block;
}

.tagged {
margin: 0.5em;
float: right;
}

.tagging, .tagged {
font-size: 0.9em;
padding: 0.25em;
}

.tagging ul, .tagged ul {
list-style: none;margin: 0.25em;
padding: 0;
}

.tagClear {
clear: both;
}

.footer {
	font-size: .9em;
}

.footer li {
display: inline;
}

* html .viewer pre {
	width: 99%;
	padding: 0 0 1em 0;
}

.viewer {
	line-height: 1.4em;
	padding-top: 0.5em;
}

.viewer .button {
	margin: 0em 0.25em;
	padding: 0em 0.25em;
}

.viewer blockquote {
	line-height: 1.5em;
	padding-left: 0.8em;
	margin-left: 2.5em;
}

.viewer ul, .viewer ol{
	margin-left: 0.5em;
	padding-left: 1.5em;
}

.viewer table {
	border-collapse: collapse;
	margin: 0.8em 1.0em;
}

.viewer th, .viewer td, .viewer tr,.viewer caption{
	padding: 3px;
}

.viewer table.listView {
	font-size: 0.85em;
	margin: 0.8em 1.0em;
}

.viewer table.listView th, .viewer table.listView td, .viewer table.listView tr {
	padding: 0px 3px 0px 3px;
}

.viewer pre {
	padding: 0.5em;
	margin-left: 0.5em;
	font-size: 1.2em;
	line-height: 1.4em;
	overflow: auto;
}

.viewer code {
	font-size: 1.2em;
	line-height: 1.4em;
}

.editor {
font-size: 1.1em;
}

.editor input, .editor textarea {
	display: block;
	width: 100%;
	font: inherit;
}

.editorFooter {
	padding: 0.25em 0em;
	font-size: .9em;
}

.editorFooter .button {
padding-top: 0px; padding-bottom: 0px;}

.fieldsetFix {border: 0;
padding: 0;
margin: 1px 0px 1px 0px;
}

.sparkline {
	line-height: 1em;
}

.sparktick {
	outline: 0;
}

.zoomer {
	font-size: 1.1em;
	position: absolute;
	padding: 1em;
}

.cascade {
	font-size: 1.1em;
	position: absolute;
	overflow: hidden;
}
.viewer table.listView {
	font-size: 0.85em;	margin: 0.8em 1.0em;
}

.viewer table.listView th, .viewer table.listView td, .viewer table.listView tr {
	padding: 0px 3px 0px 3px;

}

.wizard {
	background: [[ColorPalette::SecondaryLight]];
	padding: 0.1em 0em 0em 2em;
	border-top: 1px solid [[ColorPalette::SecondaryMid]];
	border-left: 1px solid [[ColorPalette::SecondaryMid]];
}

.wizard h1 {
	font-size: 2em;	font-weight: bold;
	background: none;
	color: [[ColorPalette::SecondaryDark]];
	padding: 0em 0em 0em 0em;
	margin: 0.4em 0em 0.2em 0em;
}

.wizard h2 {
	font-size: 1.2em;	font-weight: bold;
	background: none;
	color: [[ColorPalette::Foreground]];
	padding: 0em 0em 0em 0em;
	margin: 0.2em 0em 0.2em 0em;
}

.wizardStep {
	background: [[ColorPalette::Background]];	padding: 1em 1em 1em 1em;
	border-top: 1px solid [[ColorPalette::SecondaryMid]];
	border-bottom: 1px solid [[ColorPalette::SecondaryMid]];
	border-left: 1px solid [[ColorPalette::SecondaryMid]];
}

.wizard .button {
	text-align: right;
}
/*}}}*/
[img[http://www.mechanicsofhearing.org/moh2011/images/happy0064.gif][Submitting in MS Word]]
[img[http://www.mechanicsofhearing.org/moh2011/images/sick0020.gif][Submitting in LaTeX]]

<<list all>>
<<timeline modified 40>>
/***
|''Name:''|TiddlersBarPlugin|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.5|
|''Date:''|Jan 18,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust StyleSheetTiddlersBar
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options 
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed. 
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
<<option txtPreviousTabKey>> previous tab access key.
<<option txtNextTabKey>> next tab access key.
!Code
***/
//{{{
config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab  = config.options.chkHideTabsBarWhenSingleTab  ? config.options.chkHideTabsBarWhenSingleTab  : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "closeOthers";
config.options.txtPreviousTabKey = config.options.txtPreviousTabKey ? config.options.txtPreviousTabKey : "";
config.options.txtNextTabKey = config.options.txtNextTabKey ? config.options.txtNextTabKey : "";
config.macros.tiddlersBar = {
	tooltip : "see ",
	tooltipClose : "click here to close this tab",
	tooltipSave : "click here to save this tab",
	promptRename : "Enter tiddler new name",
	currentTiddler : "",
	previousState : false,
	previousKey : config.options.txtPreviousTabKey,
	nextKey : config.options.txtNextTabKey,	
	tabsAnimationSource : null, //use document.getElementById("tiddlerDisplay") if you need animation on tab switching.
	handler: function(place,macroName,params) {
		var previous = null;
		if (config.macros.tiddlersBar.isShown())
			story.forEachTiddler(function(title,e){
				if (title==config.macros.tiddlersBar.currentTiddler){
					var d = createTiddlyElement(null,"span",null,"tab tabSelected");
					config.macros.tiddlersBar.createActiveTabButton(d,title);
					if (previous && config.macros.tiddlersBar.previousKey) previous.setAttribute("accessKey",config.macros.tiddlersBar.nextKey);
					previous = "active";
				}
				else {
					var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
					var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
					btn.setAttribute("tiddler", title);
					if (previous=="active" && config.macros.tiddlersBar.nextKey) btn.setAttribute("accessKey",config.macros.tiddlersBar.previousKey);
					previous=btn;
				}
				var isDirty =story.isDirty(title);
				var c = createTiddlyButton(d,isDirty ?"!":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
				c.setAttribute("tiddler", title);
				if (place.childNodes) {
					place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
					place.insertBefore(d,place.firstChild); 
				}
				else place.appendChild(d);
			})
	}, 
	refresh: function(place,params){
		removeChildren(place);
		config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
		if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
			story.refreshAllTiddlers();
			if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
			config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
		}
	},
	isShown : function(){
		if (config.options.chkDisableTabsBar) return false;
		if (!config.options.chkHideTabsBarWhenSingleTab) return true;
		var cpt=0;
		story.forEachTiddler(function(){cpt++});
		return (cpt>1);
	},
	selectNextTab : function(){  //used when the current tab is closed (to select another tab)
		var previous="";
		story.forEachTiddler(function(title){
			if (!config.macros.tiddlersBar.currentTiddler) {
				story.displayTiddler(null,title);
				return;
			}
			if (title==config.macros.tiddlersBar.currentTiddler) {
				if (previous) {
					story.displayTiddler(null,previous);
					return;
				}
				else config.macros.tiddlersBar.currentTiddler=""; 	// so next tab will be selected
			}
			else previous=title;
			});		
	},
	onSelectTab : function(e){
		var t = this.getAttribute("tiddler");
		if (t) story.displayTiddler(null,t);
		return false;
	},
	onTabClose : function(e){
		var t = this.getAttribute("tiddler");
		if (t) {
			if(story.hasChanges(t) && !readOnly) {
				if(!confirm(config.commands.cancelTiddler.warning.format([t])))
				return false;
			}
			story.closeTiddler(t);
		}
		return false;
	},
	onTabSave : function(e) {
		var t = this.getAttribute("tiddler");
		if (!e) e=window.event;
		if (t) config.commands.saveTiddler.handler(e,null,t);
		return false;
	},
	onSelectedTabButtonClick : function(event,src,title) {
		var t = this.getAttribute("tiddler");
		if (!event) event=window.event;
		if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
			config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
		return false;
	},
	onTiddlersBarAction: function(event) {
		var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
		if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
	},
	createActiveTabButton : function(place,title) {
		if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
			var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
			btn.setAttribute("tiddler", title);
		}
		else
			createTiddlyText(place,title);
	}
}

story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;

story.closeTiddler = function(title,animate,unused) {
	if (title==config.macros.tiddlersBar.currentTiddler)
		config.macros.tiddlersBar.selectNextTab();
	story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
	story.coreDisplayTiddler(config.macros.tiddlersBar.tabsAnimationSource,tiddler,template,animate,unused,customFields,toggle);
	var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;  
	if (config.macros.tiddlersBar.isShown()) {
		story.forEachTiddler(function(t,e){
			if (t!=title) e.style.display="none";
			else e.style.display="";
		})
		config.macros.tiddlersBar.currentTiddler=title;
	}
	var e=document.getElementById("tiddlersBar");
	if (e) config.macros.tiddlersBar.refresh(e,null);
}

var coreRefreshPageTemplate = coreRefreshPageTemplate ? coreRefreshPageTemplate : refreshPageTemplate;
refreshPageTemplate = function(title) {
	coreRefreshPageTemplate(title);
	if (config.macros.tiddlersBar) config.macros.tiddlersBar.refresh(document.getElementById("tiddlersBar"));
}

ensureVisible=function (e) {return 0} //disable bottom scrolling (not useful now)

config.shadowTiddlers.StyleSheetTiddlersBar = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .button {border:0}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar .tab {white-space:nowrap}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += "#tiddlersBar {padding : 1em 0.5em 2px 0.5em}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar += ".tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;}\n";
config.shadowTiddlers.StyleSheetTiddlersBar +="/*}}}*/";
store.addNotification("StyleSheetTiddlersBar", refreshStyles);

config.refreshers.none = function(){return true;}
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='none' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>");

//}}}
This site was created using TiddlyWiki, whose author, Jeremy Ruston, writes:
<<<
TiddlyWiki is like a blog because it's divided up into neat little chunks, but it encourages you to read it by hyperlinking rather than sequentially: if you like, a non-linear blog analogue that binds the individual microcontent items into a cohesive whole. 
<<<
Thus, the nonlinear TiddlyWiki architecture of the site nicely mirrors the integrative mission of the Workshop.

To learn more about TiddlyWiki, explore the [[TiddlyWiki web page|http://www.tiddlywiki.com]] or the [[Wikipedia entry|http://en.wikipedia.org/wiki/TiddlyWiki]].
|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink references jump|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
The Workshop venue is the Cape Sounio Hotel, at the southernmost tip of mainland Greece.  It is a 45 minute drive from the Athens International Airport and about one hour  from the historical city of Athens. Transportation from the airport to the hotel is by taxi, bus (direct to hotel) or private car (ample free parking). To coordinate shared rides we will set up a hospitality desk at the Athens Airport manned by Workshop staff. The desk will be available on June 22 and June 23 (times TBD). Participants traveling with children can also use the hospitality desk as a rest point.

[img[http://mechanicsofhearing.org/moh2014/images/SounioMap.jpg]] 

In addition to convenient travel, the venue offers many other advantages:  It has outstanding facilities and support services and has hosted many conferences of comparable sizes; it is an ideal size to host all participants and their families and promote close scientific interactions; it overlooks the beautiful ancient temple of Poseidon, a world-renowned archaeological site; and it offers family activities and child-care services.
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers' ></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
Type the text for 'Welcome'
[img[http://mechanicsofhearing.org/moh2014/images/MOH2014_Welcome.jpg]] 

!!How to Navigate This Site:

Follow the internal links to navigate this TiddlyWiki interface, most of which starts out hidden. Each item (or tiddler) opens and closes separately.
!Tips for browsing:
* [[Bold links|A Little History]] reveal other tiddlers; [[plain links|http://www.whatsmyip.org/random_websites/random/]] whisk you away on the web.
* The search bar at the upper right probes all tiddlers, whether open or closed.
* The entire site is [[just one file|http://mechanicsofhearing.org/index.html]] (images excepted). Thus, using your browser's "Back" button will //not// return you to previously viewed tiddlers; //use the internal links instead.//
* Tiddlers can be closed using the @@bgcolor(#ddd):close@@ and @@bgcolor(#ddd):close others@@ buttons located atop every tiddler or the @@bgcolor(#ddd):close all@@ button below the search bar. /%[[plain links|http://www.randomwebsite.com/cgi-bin/../cgi-bin/random.pl]%/
!!~LaTeX is professional
For writing anything more complicated or important than an office memo, the numerous advantages of using [[LaTeX|Submitting in LaTeX]] rather than a conventional [[word processor|http://ricardo.ecn.wfu.edu/~cottrell/wp.html]] such as MS Word are [[clear|http://www.osnews.com/story/10766]] and [[well documented|http://www.dmoz.org/Computers/Software/Typesetting/TeX/LaTeX/Advocacy/]]. Unlike MS Word, [[LaTeX|http://scottmcpeak.com/latex/whatislatex.html]] was developed for scientists, not for secretaries, and was written by people who actually care about documents and typesetting. A complete no-brainer for those working in the physical or mathematical sciences, ~LaTeX is also  [[good for biologists|http://mildopinions.wordpress.com/2008/07/07/why-i-use-latex-in-biology]]. In a nutshell, we strongly encourage the use of [[LaTeX|http://en.wikipedia.org/wiki/LaTeX]] because it neatly separates form from content, produces [[vastly superior and more consistent copy|http://nitens.org/taraborelli/latex]], and does not suffer from the host of version-to-version and platform-to-platform incompatibilities that plague MS Word.
!!~LaTeX is free and convenient
In addition, ~LaTeX is free and open source.  Excellent ~LaTeX distributions with convenient user interfaces are freely available, both for Windows (e.g., [[TeXLive|http://www.tug.org/texlive/]] and  for [[MikTeX|http://miktex.org/]]) and Mac OS (e.g., [[MacTeX|http://www.tug.org/mactex]] or [[TeXShop|http://www.uoregon.edu/~koch/texshop/]]).  Although many excellent ~LaTeX tutorials and reference materials are available online (e.g., the [[LaTeX wikibook|http://en.wikibooks.org/wiki/LaTeX]]), the [[MoH template|http://www.mechanicsofhearing.org/moh2014/aip/MoH2014_TemplatesAndForms.zip]] is so easy to use that we doubt you'll have much need to consult them.
!!~LaTeX helps us immensely
The organizers are offering extra incentives to do the right thing and thereby spare the Editors from wasting even more of their lives&mdash;already entirely too solitary, poor, nasty, brutish, and short&mdash;mucking around in the bowels of MS Word:  Contributors who submit their manuscripts in ~LaTeX format will be entered to win fabulous prizes. In addition, you will receive our sincerest thanks.
||bgcolor(#eee): ''Start'' |bgcolor(#eee): ''End/Deadline'' |
|bgcolor(#eee):[[First announcement|Invitation to the Workshop]]| @@color(#000):18 March 2013@@ | |
|bgcolor(#eee):''Submission of abstracts''| /%@@color(#aaa):1 December 2013@@%/ | @@color(#000):1 March 2014@@ |
|bgcolor(#eee):''Notification of acceptance''| | @@color(#000):1 April 2014@@ |
|bgcolor(#eee):''Scholarship applications''|  | @@color(#000):1 March 2014@@ |
|bgcolor(#eee):''Registration''| @@color(#000):25 January 2014@@ | @@color(#000):1 April 2014@@ |
|bgcolor(#eee):''Submission of preliminary manuscripts''| | @@color(#000):27 April 2014@@ |
|bgcolor(#eee):''Late registration (space permitting)''|  | @@color(#000):15 May 2014@@ |
|bgcolor(#eee):''Distribution and peer-review of preliminary manuscripts''| @@color(#000):1 June 2014@@ | |
|bgcolor(#eee):''Arrival and opening reception'' | @@color(#000):23 June 2014@@ | |
|bgcolor(#eee):''Workshop'' | @@color(#000):23 June 2014@@ | @@color(#000):29 June 2014@@ |
|bgcolor(#eee):''Departure'' |  | @@color(#000):29 June 2014@@ |
|bgcolor(#eee):''Questions and comments on manuscripts'' |  | @@color(#000):23 June 2014@@ |
|bgcolor(#eee):''Answers and responses from authors'' |  | @@color(#000):1 August 2014@@ |
|bgcolor(#eee):''Final manuscripts'' |  | @@color(#000):1 August 2014@@ |
|bgcolor(#eee):''Proceedings available online''| @@color(#000): TBD@@ |  |
/%!Schedule of Events
Follow the link to access the [[Workshop program|Program]].
!Countdown to the Workshop
<<showReminders leadtime:1000>>%/
Participants should plan to attend the entire Workshop from June 23-29, 2014.

Workshop registration will begin on June 23 around 1pm.
There will be an opening reception on June 23 around 7pm. 
We will end the Workshop on June 29th, around 11 am at the latest. No lunch will be provided on that day. 

We have also planned two social excursions: one in Athens on June 25 (leaving the hotel at 2pm and returning at 11:30pm) where our visit will include the Parthenon, the temple of Athena Nike and the Erechtheion, with its Porch of Maidens, the Roman Temple of Olympic Zeus and the Panathinaikon Stadium (site of the first Olympic Games). We will end at the modern Acropolis Museum where we will have dinner overlooking the Acropolis. Another shorter evening excursion will be at the Temple of Poseidon on June 27 (leaving the hotel at 6:30 pm and returning around 10 pm) where we will also have dinner overlooking the Aegean Sea. 

!!Typical Daily Schedule
  7:00 – 	8:00 	Breakfast
  8:00 –    10:00 	Talks and moderated discussions
10:00 –    10:30 	Break
10:30 –    12:00 	Talks and moderated discussions
12:00 –      1:00 	Lunch
  1:00 –      2:30	Posters
  2:30 –      3:30	Talks and moderated discussions
  3:30 –      4:00	Break
  4:00 –      6:00	Talks and moderated discussions
  7:00 –    10:00	Dinner


More details to come.