Transport-Planning.eu is loading ...

Requires Javascript.
Transport-Planning.eu - Integrative approaches to land use and transport challenges
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
/*{{{*/
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]];}

#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]];}

.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]];}
.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]];}

#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 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.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: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 1em 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.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

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

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 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 0em;}
.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 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;}

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

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

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

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

.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: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, 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: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; 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 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 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 use a logographic writing system and 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;}

.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' 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' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></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>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></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'></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>>
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
<<tiddler ReplaceDoubleClick>>[img[NETPLAN scheme|http://www.transport-planning.eu/images/Netplan.jpg]]

[img[WorkingPaper|images/pdf.jpg][pdfs/NETPLANWorkingPaper.pdf]]
/***
|''Name:''|AnnotationsPlugin|
|''Description:''|Inline annotations for tiddler text.|
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#AnnotationsPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.0|
|''Date:''||
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|

!!Usage:
*{{{((text to annotate(annotation goes here)}}}
* To include the text being annotated, in the popup as a title, put {{{^}}} as the first letter of the annotation text.
** {{{((text to annotate(^annotation goes here)}}}

!!Examples:
Mouse over, the text below:
* ((banana(the best fruit in the world)))
* ((banana(^ the best fruit in the world)))

***/
// /%
config.formatters.unshift({name:"annotations",match:"\\(\\(",lookaheadRegExp:/\(\((.*?)\((\^?)((?:.|\n)*?)\)\)\)/g,handler:function(w){
this.lookaheadRegExp.lastIndex=w.matchStart;
var _2=this.lookaheadRegExp.exec(w.source);
if(_2&&_2.index==w.matchStart){
var _3=createTiddlyElement(w.output,"span",null,"annosub",_2[1]);
_3.anno=_2[3];
if(_2[2]){
_3.subject=_2[1];
}
_3.onmouseover=this.onmouseover;
_3.onmouseout=this.onmouseout;
_3.ondblclick=this.onmouseout;
w.nextMatch=_2.index+_2[0].length;
}
},onmouseover:function(e){
popup=createTiddlyElement(document.body,"div",null,"anno");
this.popup=popup;
if(this.subject){
wikify("!"+this.subject+"\n",popup);
}
wikify(this.anno,popup);
addClass(this,"annosubover");
Popup.place(this,popup,{x:25,y:7});
},onmouseout:function(e){
removeNode(this.popup);
this.popup=null;
removeClass(this,"annosubover");
}});
setStylesheet(".anno{position:absolute;border:2px solid #000;background-color:#DFDFFF; color:#000;padding:0.5em;max-width:15em;width:expression(document.body.clientWidth > (255/12) *parseInt(document.body.currentStyle.fontSize)?'15em':'auto' );}\n"+".anno h1, .anno h2{margin-top:0;color:#000;}\n"+".annosub{background:#ccc;}\n"+".annosubover{z-index:25; background-color:#DFDFFF;cursor:help;}\n","AnnotationStyles");


// %/
!Click the picture to see the movie!

<html>
<div align="center">
<div id="myYVideo2" style="display:none">
<div><object width="425" height="373"><param name="movie" value="http://www.youtube.com/v/BJHbx5OZDh0&rel=0&color1=0x5d1719&color2=0xcd311b&border=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/BJHbx5OZDh0&rel=0&color1=0x5d1719&color2=0xcd311b&border=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="373"></embed></object></div>
</div>
<a href="javascript:;" onclick="DC3.LightBox.showBox('myYVideo2')"><img src="http://www.transport-planning.eu/images/fietsmob.jpg" alt="fietsmob" height="40%" width="40%"/></a></div></html>
<<tiddler ReplaceDoubleClick>>
<html><div align="center">''Hartelijk bedankt voor het invullen van de survey (en voor het deelnemen aan de workshops)!''

Wij hebben veel geleerd en hopen dat jullie hetzelfde kunnen zeggen. Met een aantal van jullie gaan we nog eens bij elkaar zitten en de rest benader ik wellicht over een jaar nogmaals voor een terugblik. Voor overige vragen of opmerkingen kun je me [[e-mailen|mailto:marco@transport-planning.eu]].

Met groet
Marco


</div><div align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="400" height="300" id="tech" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="bredashow/MPSBreda.swf?xml_path=bredashow/MPSBreda.xml" /><param name="quality" value="high" /><embed src="bredashow/MPSBreda.swf?xml_path=bredashow/MPSBreda.xml" quality="high" width="400" height="300" name="tech" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</div></html>
<<tiddler ReplaceDoubleClick>>[<img[Marco|http://www.transport-planning.eu/images/marco.jpg]]







Reports about the Mediated Planning Support workshops in Amsterdam:

About the LUTR strategies (Dutch): [img[ROVV strategieen Amsterdam|images/pdf.jpg][pdfs/rovvamsterdam.pdf]]

About the approach and using models (Dutch): [img[GENMOD in MPS|images/pdf.jpg][pdfs/genmodmps.pdf]]
<html>
<div align="center">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="484" height="402" id="tech" align="middle">
		<param name="allowScriptAccess" value="sameDomain" />
		<param name="movie" value="images/MPSAmsterdam.swf?xml_path=images/MPSAmsterdam.xml" />
		<param name="quality" value="high" />
		<embed src="images/MPSAmsterdam.swf?xml_path=images/MPSAmsterdam.xml" quality="high" width="484" height="402" name="tech" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
	</object>
</div>
</html>
LUTR strategies in Breda-Oost (Dutch): [img[ROVV strategieen in Breda-Oost|images/pdf.jpg][pdfs/rovvbreda.pdf]]

<html>
<div align="center">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="800" height="600" id="tech" align="middle">
		<param name="allowScriptAccess" value="sameDomain" />
		<param name="movie" value="bredashow/MPSBreda.swf?xml_path=bredashow/MPSBreda.xml" />
		<param name="quality" value="high" />
		<embed src="bredashow/MPSBreda.swf?xml_path=bredashow/MPSBreda.xml" quality="high" width="800" height="600" name="tech" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
	</object>
</div>
</html>

<<tiddler ReplaceDoubleClick>><html><div id="myYVideo2" style="display:none">
<div><object width="720" height="538"><param name="movie" value="http://www.mijnalbum.nl/Diashow-FZ4KE8ML"></param><param name="wmode" value="#000000"></param><embed src="http://www.mijnalbum.nl/Diashow-FZ4KE8ML" type="application/x-shockwave-flash" wmode="#000000" width="720" height="538"></embed></object></div>
</div>
<a href="javascript:;" onclick="DC3.LightBox.showBox('myYVideo2')">Klik hier voor slideshow Chicago</a></html>
<<tiddler ReplaceDoubleClick>>Low quality on Google Video. 

<html><div id="myYVideo2" style="display:none">
<div><object width="400" height="326"><param name="movie" value="http://video.google.com/googleplayer.swf?docId=2390286883844064208&hl=nl"></param><param name="wmode" value="transparent"></param><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=2390286883844064208&hl=nl" flashvars=""> </embed></object></div>
</div>
<a href="javascript:;" onclick="DC3.LightBox.showBox('myYVideo2')">Chinese Megacities in low quality</a></html>



A short documentary about China and Chinese megacities and how they deal with strong urbanization and automobilization trends. Two cities (Wuhan&Nanjing) are introduced and their approaches towards these problems are addressed. While in Wuhan the focus lies on facilitating the growth of the car (due to an immature network), Nanjing focusses on mixing living and working places and the construction of dedicated bycicle lanes and a subwaynetwork to the new city fringes

The documentary received special honours on the 2007 Bessensap meeting in Nemo, Amsterdam and was chosen as movie of the week (week 33) by the [[Urban TV Guide|http://www.urbantvguide.nl]].
/***
| Name|CloseOnCancelPlugin|
| Description|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|
| Version|3.0 ($Rev: 1845 $)|
| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source|http://mptw.tiddlyspot.com/#CloseOnCancelPlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.commands.cancelTiddler,{

	handler_orig_closeUnsaved: config.commands.cancelTiddler.handler,

	handler: function(event,src,title) {
		this.handler_orig_closeUnsaved(event,src,title);
		if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))
			story.closeTiddler(title,true);
	 	return false;
	}

});

//}}}

Name: Red
Background: #fff
Foreground: #000
PrimaryPale: #fdd
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

//{{{
config.options.chkHttpReadOnly = false; // means web visitors can experiment with your site by clicking edit
config.options.chkInsertTabs = true;    // tab inserts a tab when editing a tiddler
config.views.wikified.defaultText = ""; // don't need message when a tiddler doesn't exist
config.views.editor.defaultText = "";   // don't need message when creating a new tiddler 
//}}}
/***
|''Name:''|~DC3.LightBox|
|''Description:''|LightBox support library|
|''Date:''|Dec 25, 2006|
|''Source:''|http://solo.dc3.com/tw/#LightBoxPlugin|
|''Author:''|Bob Denny ~DC-3 Dreams, SP|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''Version:''|1.0.1|
|''~CoreVersion:''|2.1.x|
|''Browser:''|Firefox 1.5/2.0; Internet Explorer 6.0/7.0; Safari|
|''Require:''|LightBoxCSS (see below), support HTML in MarkupPreHead (see below), access to icon images in subdir ''im'' (showAlert() only)|
!Description
This plugin implements a lightbox widget for ~TiddlyWiki. Via Javascript, you can display any HTML div in the lightbox, or use "canned" divs for displaying HTML message in a box or an alert with icon. The lightbox is closed by either clicking the X-icon or anywhere outside the lightbox. Only one lightbox can be active at a time. See the usage section below.
!!Usage
This plugin is a __library__, not a macro. Thus, it must be tagged {{{systemConfig}}}, but it does not support macro invocation. It is callable only from Javascript so the [[InlineJavascriptPlugin|http://www.tiddlytools.com/#InlineJavascriptPlugin]] is a virtual necessity!
|!Usage|!Sample Javascript|
|Display HTML message|{{{DC3.LightBox.showContent("Some <i>message</i>");}}}|
|Display alert|{{{DC3.LightBox.showAlert("ok", "All is well");}}}|
|Display any DIV in a lightbox|{{{DC3.LightBox.showBox("myLightBox");}}}|
|Close current lightbox|{{{DC3.LightBox.hideBox()}}}|
*The frame for the showContent() and showAlert() methods should expand to enclose text, but this happens only on IE and not FireFox. To be safe, just keep your messages short and use showBox() and your own HTML div for "big" messages etc.
*The first parameter to showAlert() is the icon name. This is simply translated to {{{im/icon.png}}}. The standard icon image files (below) are used with icon strings of "error, "info", "ok", "question", and "warning". 
*The generalized showBox() method can be used to display images, media players, whatever you want! Just make up the HTML div, give it an id, then pass that ID to showBox().
!!Advanced Usage - onClose
All three of the above methods support an optional parameter onClose, supplied as the last parameter in a call. It must evaluate to a function which is called (with no parameters) when the lightbox is about to close. If the onClose() function returns false, the lightbox will not be closed. For example 
{{{
DC3.LightBox.showAlert("warning", "Something <em>bad</em> is about to happen", soundBuzzer);
}}}
!Installation
#Paste this entire tiddler into a tiddler called DC3.LightBox and tag it {{{systemConfig}}}.
#Paste the Required CSS (below) into a tiddler called LightBoxCSS and tag it {{{systemContent}}}.
#Paste the content for MarkupPreHead (below) into MarkupPreHead.
#Put the image files (below) into a subfolder ''im'' relative to the location of the TiddlyWiki. 
!!!Required CSS
Paste into a tiddler called LightBoxCSS.
{{{
#lightBoxOverlay {
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;   
    background-color: #000;
    -moz-opacity: 0.6;
    opacity: .60;
    filter: alpha(opacity=60);
}
#lightBoxOverlay[id]{ 
    position: fixed;
}

div.lightBox {
    background: #2d2d2d;
    color: #fff;
    border: 2px solid #eee;
}

img.lightBoxClose {
    position: absolute;
    top: -5px;
    right: -5px;
    margin: 0px;
    cursor: pointer;
}

div.lightBoxAlert {
    width: 300px;
    height: 64px;
    background: #2d2d2d;
    color: #fff;
    padding: 10px;
    border: 2px solid #eee;
}

div.lightBoxAlertIcon {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 48px;
	height: 48px;
}

div.lightBoxAlertMessage {
	margin-left: 56px;
	margin-top: 16px;
}
}}}
!!!Content for MarkupPreHead
{{{
<!-- LightBox translucent overlay -->
<div id="lightBoxOverlay" onclick="DC3.LightBox.hideBox()" style="display:none"></div>
<!-- General use simple LightBox -->
<div class="lightBox" id="lightBox" style="display:none">
	<img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />
	<div id="lightBoxContent"></div>
</div>
<!-- General use Alert LightBox -->
<div class="lightBoxAlert" id="lightBoxAlert" style="display:none">
	<img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />
	<div class="lightBoxAlertIcon"><img id="lightBoxAlertIcon" src="runtime" alt="runtime" title="runtime"></div>
	<div class="lightBoxAlertMessage" id="lightBoxAlertMessage">runtime</div>
</div>
<!-- End of LightBox -->
}}}
!!!Images (close box and alert icons)
These must be in a subfolder ''im'' below the ~TiddlyWiki. You can get the images by right clicking on the links and //save target/link//, or right clicking on the images and //save image//. @@Note: The images below will display ugly in IE6, but they will display nice (with transparency) in the lightbox alerts, owing to the use of the DXFilters for transparency in the code.@@
|[[close.gif|im/close.gif]]|[img[im/close.gif]]|[[error.png|im/error.png]]|[img[im/error.png]]|
|[[info.png|im/info.png]]|[img[im/info.png]]|[[ok.png|im/ok.png]]|[img[im/ok.png]]|
|[[question.png|im/question.png]]|[img[im/question.png]]|[[warning.png|im/warning.png]]|[img[im/warning.png]]|
!!Credits
This TiddlyWiki library and CSS is an amalgamation of the techniques and code described in the following: 
* [[Original LightBox|http://www.huddletogether.com/projects/lightbox/]] by Lokesh Dhakar
* [[Lightweight LightBox|http://www.pjhyett.com/posts/190-the-lightbox-effect-without-lightbox]] that can show any DIV by PJ Hyett
* [[Better Modal Windows with LightBox|http://blog.feedmarker.com/2006/02/12/how-to-make-better-modal-windows-with-lightbox/]] by Bruno
Bruno's CSS for the overlay is much better than the first two, it is independent of any PNG image(s) and does not have CSS quirk-hacks for IE, nor does it use IE's DXFilters for PNG transparency. Of course for IE6, the DXFilters are used in the Javascript!
!!Revision History
<<<
''2006.12.02 [1.0.1]'' Initial creation
''2006.12.03 [1.0.1]'' hideBox() no longer takes //id// just closes currently open box. Needed for overlay click/close.
''2006.12.03 [1.0.1]'' Add support for special Alert type LightBox with switchable icon. Hack IE for alpha transparency. See inline comments. Add showContent(html), showAlert(icon, message)
''2006.12.04 [1.0.1]'' Ignore show calls if box is already displayed. Optional callback for hideBox(), can prevent hiding. Allows modal box to be set up by caller.
''2006.12.25 [1.0.1]'' Documentation and installation instructions
<<<
!!Code
***/
//{{{

// Initialize style sheet from tiddler
refreshStyles("LightBoxCSS");

if (!window.DC3) window.DC3 = {};
window.DC3.LightBox = 
{
	//
	//Internal proterties
	//
	_curBox: null,						// [sentinel]
	_onClose: null,						// [sentinel]
	_alertImgDiv: null,					// [sentinel]
	_alertImgHTML: null,				// [sentinel]
	
	//
	// Public interface
	//
	showContent: function(content, onClose) {							// Uses generic LightBox in MarkupPreBody
		if(this._curBox) return;										// Ignore if box already showing (typ.)
		document.getElementById("lightBoxContent").innerHTML = content;
		this.showBox("lightBox", onClose);
	},
	
	showAlert: function(icon, message, onClose) {						// Uses standard alert LightBox in MarkupPreBody
		if(this._curBox) return;
		var icoElem = document.getElementById("lightBoxAlertIcon");
		icoElem.src = "im/" + icon + ".png";							// Requires icon.png (48 x 48)
		icoElem.title = icon;
		icoElem.alt = icon;
		document.getElementById("lightBoxAlertMessage").innerHTML = message;
		DC3.LightBox.showBox("lightBoxAlert", onClose);
	},
	
	showBox: function(id, onClose) 
	{
		if(this._curBox) return;
		this._onClose = onClose;										// If valid, call this in hideBox. See comments there!
		//
		// Surprise! In IE, the height:100% in the #overlay CSS definition does
		// not honor the z-order, and calculates the height to be the top margin!
		// So, for IE, I have added this imperfect hack which ,forces the overlay
		// size to the scroll size. This causes funny scrollbar behavior, but the
		// alternatives I tried were really complex. 
		//
		// Surprise #2! IE6 doesn't support alpha transparency in PNG images, and 
		// I use same for the icons in the LightBox Alert. Another hack needed.
		// We can't just change the DIV from containing an IMG tag to using the
		// bloody MS AlphaImageLoader, we also have to save the original IMG tag
		// because the alert is multi-use: the image to be shown can be changed 
		// dynamically. When closing the Lightbox, we restore the original inner
		// IMG tag and clear the filter style. On showing the box, we grab the path
		// to the image file then zap the IMG tag, using the image file path in
		// the filter/AlphaImageLoader. Egad!!!
		//
		var ovly = document.getElementById('lightBoxOverlay');
		if(config.browser.isIE) {
			var h1 = document.documentElement.scrollHeight;
			var h2 = document.documentElement.offsetHeight;
			ovly.style.height = Math.max(h1, h2);
			ovly.style.width = document.documentElement.scrollWidth;
			// Change icon div for IE proprietary
			var alertDivs = document.getElementById(id).getElementsByTagName("div");
			this._alertImgDiv = null;
			for(var i in alertDivs) {
				if(alertDivs[i].className && alertDivs[i].className == "lightBoxAlertIcon") {
					this._alertImgDiv = alertDivs[i];
					break;
				}
			}
			if(this._alertImgDiv) {
				var imgFile = this._alertImgDiv.firstChild.src;
				this._alertImgHTML = this._alertImgDiv.innerHTML;		// Saved to allow dynamic change of image file
				this._alertImgDiv.innerHTML = "";
				this._alertImgDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + imgFile + "\", sizingMethod=\"scale\")";
			}
		}
	    ovly.style.display = 'block';
	    this._center(id);
	    this._curBox = id;
	    return false;
	},
	
	hideBox: function()
	{
		if(!this._curBox) return;
		if(this._onClose && this._onClose() === false)					// If onClose() returns false, refuse to close
			return false;
	    document.getElementById(this._curBox).style.display = 'none';
	    document.getElementById('lightBoxOverlay').style.display = 'none';
	    this._curBox = null;											// Allow show calls once again
		// Restore original non-IE image. Code may dynamically change image file!
		if(this._alertImgDiv) {
			this._alertImgDiv.innerHTML = this._alertImgHTML;
			this._alertImgDiv.style.filter = "";
		}
	    return false;
	},
	
	//
	// Internal methods
	//
	_getDimensions: function(elem)		// Lifted from Prototype and made independent
	{
		if(elem.style.display != 'none')
		  return { width: elem.offsetWidth, height: elem.offsetHeight};
		
		// All *Width and *Height properties give 0 on elements with display none,
		// so enable the elem temporarily
		var els = elem.style;
		var origVis = els.visibility;
		var origPos = els.position;
		els.visibility = 'hidden';
		els.position = 'absolute';
		els.display = '';
		var origW = elem.clientWidth;
		var origH = elem.clientHeight;
		els.display = 'none';
		els.position = origPos;
		els.visibility = origVis;
		return {width: origW, height: origH};
	},
	
	//
	// This is rather big. I'll have to look at more elegant way(s)
	// of doing this... some day! :-)
	//
	_center: function(elem)
	{
	    try{
	        elem = document.getElementById(elem);
	    }catch(e){
	        return;
	    }
	
	    var my_width  = 0;
	    var my_height = 0;
	
	    if ( typeof( window.innerWidth ) == 'number' ){
	        my_width  = window.innerWidth;
	        my_height = window.innerHeight;
	    } else if ( document.documentElement && 
	             ( document.documentElement.clientWidth ||
	               document.documentElement.clientHeight ) ){
	        my_width  = document.documentElement.clientWidth;
	        my_height = document.documentElement.clientHeight;
	    }
	    else if ( document.body &&
	            ( document.body.clientWidth || document.body.clientHeight ) ){
	        my_width  = document.body.clientWidth;
	        my_height = document.body.clientHeight;
	    }
	
	    elem.style.position = 'absolute';
	    elem.style.zIndex   = 99;
	
	    var scrollY = 0;
	
	    if ( document.documentElement && document.documentElement.scrollTop ){
	        scrollY = document.documentElement.scrollTop;
	    }else if ( document.body && document.body.scrollTop ){
	        scrollY = document.body.scrollTop;
	    }else if ( window.pageYOffset ){
	        scrollY = window.pageYOffset;
	    }else if ( window.scrollY ){
	        scrollY = window.scrollY;
	    }
	
	    var elementDimensions = this._getDimensions(elem);
	
	    var setX = ( my_width  - elementDimensions.width  ) / 2;
	    var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;
	
	    setX = ( setX < 0 ) ? 0 : setX;
	    setY = ( setY < 0 ) ? 0 : setY;
	
	    elem.style.left = setX + "px";
	    elem.style.top  = setY + "px";
	
	    elem.style.display  = 'block';
	}
};
//}}}
[[News]][[Welcome]][[PhDResearch]]
[[MptwEditTemplate]]
[img[Samenhangende markten|http://www.transport-planning.eu/images/Vervoermarkt.jpg]]
/***
| Name:|ExtentTagButtonPlugin|
| Description:|Adds a New tiddler button in the tag drop down|
| Version:|3.0.1 ($Rev: 2263 $)|
| Date:|$Date: 2007-06-13 04:22:32 +1000 (Wed, 13 Jun 2007) $|
| Source:|http://mptw.tiddlyspot.com/#ExtendTagButtonPlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{

// can't hijack a click handler. must redefine this entirely.
// would be good to refactor in the core...
// this version copied from 2.1.3 core

// Event handler for clicking on a tiddler tag
function onClickTag(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	var popup = Popup.create(this);
	var tag = this.getAttribute("tag");
	var title = this.getAttribute("tiddler");
	if(popup && tag)
		{
		var tagged = store.getTaggedTiddlers(tag);
		var titles = [];
		var li,r;
		for(r=0;r<tagged.length;r++)
			if(tagged[r].title != title)
				titles.push(tagged[r].title);
		var lingo = config.views.wikified.tag;

		wikify("<<newTiddler label:'New tiddler' tag:'"+tag+"'>>",createTiddlyElement(popup,"li")); // <---- the only modification

		if(titles.length > 0)
			{
			var openAll = createTiddlyButton(createTiddlyElement(popup,"li"),lingo.openAllText.format([tag]),lingo.openAllTooltip,onClickTagOpenAll);
			openAll.setAttribute("tag",tag);
			createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");
			for(r=0; r<titles.length; r++)
				{
				createTiddlyLink(createTiddlyElement(popup,"li"),titles[r],true);
				}
			}
		else
			createTiddlyText(createTiddlyElement(popup,"li",null,"disabled"),lingo.popupNone.format([tag]));
		createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");
		var h = createTiddlyLink(createTiddlyElement(popup,"li"),tag,false);
		createTiddlyText(h,lingo.openTag.format([tag]));
		}
	Popup.show(popup,false);
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return(false);
}

//}}}

Other (~PhD)researchers that link up with our research 
/***
|Name|FontSizePlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#FontSizePlugin|
|Version|1.0|
|Requires|~TW2.x|
!Description:
Resize tiddler text on the fly. The text size is remembered between sessions by use of a cookie.
You can customize the maximum and minimum allowed sizes.
(only affects tiddler content text, not any other text)

Also, you can load a TW file with a font-size specified in the url.
Eg: http://tw.lewcid.org/#font:110

!Demo:
Try using the font-size buttons in the sidebar, or in the MainMenu above.

!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Then put {{{<<fontSize "font-size:">>}}} in your SideBarOptions tiddler, or anywhere else that you might like.

!Usage
{{{<<fontSize>>}}} results in <<fontSize>>
{{{<<fontSize font-size: >>}}} results in <<fontSize font-size:>>

!Customizing:
The buttons and prefix text are wrapped in a span with class fontResizer, for easy css styling.
To change the default font-size, and the maximum and minimum font-size allowed, edit the config.fontSize.settings section of the code below.

!Notes:
This plugin assumes that the initial font-size is 100% and then increases or decreases the size by 10%. This stepsize of 10% can also be customized.

!History:
*27-07-06, version 1.0 : prevented double clicks from triggering editing of containing tiddler.
*25-07-06,  version 0.9

!Code
***/

//{{{
config.fontSize={};

//configuration settings
config.fontSize.settings =
{
            defaultSize : 110,  // all sizes in %
            maxSize : 200,
            minSize : 40,
            stepSize : 10
};

//startup code
var fontSettings = config.fontSize.settings;

if (!config.options.txtFontSize)
            {config.options.txtFontSize = fontSettings.defaultSize;
            saveOptionCookie("txtFontSize");}
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
setStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\n .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");

//macro
config.macros.fontSize={};
config.macros.fontSize.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{

               var sp = createTiddlyElement(place,"span",null,"fontResizer");
               sp.ondblclick=this.onDblClick;
               if (params[0])
                           createTiddlyText(sp,params[0]);
               createTiddlyButton(sp,"+","increase font-size",this.incFont);
               createTiddlyButton(sp,"=","reset font-size",this.resetFont);
               createTiddlyButton(sp,"–","decrease font-size",this.decFont);
}

config.macros.fontSize.onDblClick = function (e)
{
             if (!e) var e = window.event;
             e.cancelBubble = true;
             if (e.stopPropagation) e.stopPropagation();
             return false;
}

config.macros.fontSize.setFont = function ()
{
               saveOptionCookie("txtFontSize");
               setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
}

config.macros.fontSize.incFont=function()
{
               if (config.options.txtFontSize < fontSettings.maxSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;
               config.macros.fontSize.setFont();
}

config.macros.fontSize.decFont=function()
{

               if (config.options.txtFontSize > fontSettings.minSize)
                  config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;
               config.macros.fontSize.setFont();
}

config.macros.fontSize.resetFont=function()
{

               config.options.txtFontSize=fontSettings.defaultSize;
               config.macros.fontSize.setFont();
}

config.paramifiers.font =
{
               onstart: function(v)
                  {
                   config.options.txtFontSize = v;
                   config.macros.fontSize.setFont();
                  }
};
//}}}
/***
|Name|HTMLFormattingPlugin|
|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|
|Version|2.1.5|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|'HTML' formatter|
|Description|embed wiki syntax formatting inside of HTML content|

The shorthand Wiki-style formatting syntax of ~TiddlyWiki is very convenient and enables most content to be reasonably well presented. However, there are times when tried-and-true HTML formatting syntax allows more more precise control of the content display.

When HTML formatting syntax is embedded within a tiddler (in between {{{<}}}{{{html>}}} and {{{<}}}{{{/html>}}} markers) TiddlyWiki passes this content to the browser for processing as 'native' HTML.  However, TiddlyWiki does not also process the HTML source content for any embedded wiki-formatting syntax it may contain.  This means that while you can use HTML formatted content, you cannot mix wiki-formatted content within the HTML formatting.
!!!!!Usage
<<<
The ~HTMLFormatting plugin allows you to freely ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.

When a tiddler is about to be displayed, ~TiddlyWiki looks for tiddler content contained within ''<{{{html}}}>'' and ''<{{{/html}}}>'' HTML tags.  This content (if any) is passed directly to the browser's internal "rendering engine" to process as ~HTML-formatted content.  Once the HTML formatting has been processed, all the pieces of text occuring in between the HTML formatting are then processed by the ~TiddlyWiki rendering engine, one piece at a time, so that normal wiki-style formatting can be applied to the individual text pieces.
<<<
!!!!!Line breaks
<<<
One major difference between Wiki formatting and HTML formatting is how "line breaks" are processed. Wiki formatting treats all line breaks as literal content to be displayed //as-is//. However, because HTML normally ignores line breaks and actually processes them as simple "word separators" instead, many people who write HTML include extra line breaks in their documents, just to make the "source code" easier to read.

Even though you can use HTML tags within your tiddler content, the default treatment for line breaks still follows the Wiki-style rule (i.e., all new lines are displayed as-is). When adding HTML content to a tiddler (especially if you cut-and-paste it from another web page), you should take care to avoid adding extra line breaks to the text.

If removing all the extra line breaks from your HTML content would be a big hassle, you can quickly //override the default Wiki-style line break rule// so that the line breaks use the standard HTML rules instead.  Placing a ''<{{{hide linebreaks}}}>'' tag within the tiddler's HTML content changes all line breaks to spaces before rendering the content, so that the literal line breaks will be processed as simple word-breaks instead.

Note: this does //not// alter the actual tiddler content that is stored in the document, just the manner in which it is displayed. Any line breaks contained in the tiddler will still be there when you edit its content. Also, to include a literal line break when the ''<{{{hide linebreaks}}}>'' tag is present, you will need to use a ''<{{{br}}}>'' or ''<{{{p}}}>'' HTML tag instead of simply typing a line break.
<<<
!!!!!How it works
<<<
The TW core support for HTML does not let you put ANY wiki-style syntax (including TW macros) *inside* the {{{<html>...</html>}}} block.  Everything between {{{<html>}}} and {{{</html>}}} is handed to the browser for processing and that is it.  Fortunately, this plugin ADDS the ability to let you put wiki-syntax (including macros) inside the html.  It does this by first giving the tiddler source content to the browser to process the HTML, and then handling any wiki-based syntax that remains afterward.

However, not all wiki syntax can be safely passed through the browser's parser. Specifically, any TW macros inside the HTML will get 'eaten' by the browser since the macro brackets, {{{<<...>>}}} use the "<" and ">" that normally delimit the HTML/XML syntax recognized by the browser's parser.

Similarly, you can't use InlineJavascript within the HTML because the {{{<script>...</script>}}} syntax will also be consumed by the browser and there will be nothing left to process afterward.  Note: unfortunately, even though the browser removes the {{{<script>...</script>}}} sequence, it doesn't actually execute the embedded javascript code that it removes, so any scripts contained inside of <html> blocks in TW are currently being ignored. :-(

As a work-around to allow TW *macros* (but not inline scripts) to exist inside of <html> formatted blocks of content, the plugin first converts the {{{<<}}} and {{{>>}}} into "%%(" and ")%%", making them "indigestible" so they can pass unchanged through the belly of the beast (the browser's HTML parser).

After the browser has done its job, the wiki syntax sequences (including the "undigested" macros) are contained in #text nodes in the browser-generated DOM elements.  The plugin then recursively locates and processes each #text node, converts the %%( and )%% back into {{{<<}}} and {{{>>}}}, passes the result to wikify() for further rendering of the wiki-formatted syntax into a containing SPAN that replaces the previous #text node.  At the end of this process, none of the encoded %%( and )%% sequences remain in the rendered tiddler output.
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''HTMLFormattingPlugin'' (tagged with <<tag systemConfig>>)
^^documentation and javascript for HTMLFormatting handling^^
<<<
!!!!!Revision History
<<<
''2007.06.14 [2.1.5]'' in formatter, removed call to e.normalize().  Creates an INFINITE RECURSION error in Safari!!!!
''2006.09.10 [2.1.4]'' update formatter for 2.1 compatibility (use this.lookaheadRegExp instead of temp variable)
''2006.05.28 [2.1.3]'' in wikifyTextNodes(), decode the *value* of TEXTAREA nodes, but don't wikify() its children.  (thanks to "ayj" for bug report)
''2006.02.19 [2.1.2]'' in wikifyTextNodes(), put SPAN element into tiddler DOM (replacing text node), BEFORE wikifying the text content.  This ensures that the 'place' passed to any macros is correctly defined when the macro is evaluated, so that calls to story.findContainingTiddler(place) will work as expected. (Thanks for bug report from GeoffSlocock)
''2006.02.05 [2.1.1]'' wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals
''2005.12.01 [2.1.0]'' don't wikify #TEXT nodes inside SELECT and TEXTAREA elements
''2005.11.06 [2.0.1]'' code cleanup
''2005.10.31 [2.0.0]'' replaced hijack wikify() with hijack config.formatters["html"] and simplified recursive WikifyTextNodes() code
''2005.10.09 [1.0.2]'' combined documentation and code into a single tiddler
''2005.08.05 [1.0.1]'' moved HTML and CSS definitions into plugin code instead of using separate tiddlers
''2005.07.26 [1.0.1]'' Re-released as a plugin. Added <{{{html}}}>...</{{{nohtml}}}> and <{{{hide newlines}}}> handling
''2005.07.20 [1.0.0]'' Initial Release (as code adaptation)
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.HTMLFormatting = {major: 2, minor: 1, revision: 5, date: new Date(2007,6,14)};

// find the formatter for HTML and replace the handler
initHTMLFormatter();
function initHTMLFormatter()
{
	for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);
	if (i<config.formatters.length)	config.formatters[i].handler=function(w) {
		if (!this.lookaheadRegExp)  // fixup for TW2.0.x
			this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var html=lookaheadMatch[1];
			// optionally suppress wiki-style literal handling of newlines
			// strip any carriage returns added by Internet Explorer's textarea edit field
			// encode newlines as \n so Internet Explorer's HTML parser won't eat them
			// encode macro brackets (<< and >>) so HTML parser won't eat them
			if (html.indexOf('<hide linebreaks>')!=-1) html=html.replace(regexpNewLine,' ');
			html=html.replace(regexpCarriageReturn,'');
			html=html.replace(regexpNewLine,'\\n');
			html=html.replace(/<</g,'%%(').replace(/>>/g,')%%');
			// create span to hold HTML
			// parse HTML and normalize the results
			// walk node tree and call wikify() on each text node
			var e = createTiddlyElement(w.output,"span");
			e.innerHTML=html;
			// REMOVED: e.normalize();  // THIS CAUSED INFINITE RECURSION IN SAFARI
			wikifyTextNodes(e);
			// advance to next parse position
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
}

// wikify text nodes remaining after HTML content is processed (pre-order recursion)
function wikifyTextNodes(theNode)
{
	// textarea node doesn't get wikified, just decoded... 
	if (theNode.nodeName.toLowerCase()=='textarea')
		theNode.value=theNode.value.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(regexpBackSlashEn,'\n');
	else for (var i=0;i<theNode.childNodes.length;i++) {
		var theChild=theNode.childNodes.item(i);
		if (theChild.nodeName.toLowerCase()=='option') continue;
		if (theChild.nodeName.toLowerCase()=='select') continue;
		wikifyTextNodes(theChild);
		if (theChild.nodeName=='#text') {
			var txt=theChild.nodeValue;
			// decode macro brackets and newlines
			txt=txt.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(regexpBackSlashEn,'\n');
			// replace text node with wikified() span
			var newNode=createTiddlyElement(null,"span");
			theNode.replaceChild(newNode,theChild);
			wikify(txt,newNode);
		}
	}
}
//}}}
/***
| Name|HideWhenPlugin|
| Description|Allows conditional inclusion/exclusion in templates|
| Version|3.0 ($Rev: 1845 $)|
| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source|http://mptw.tiddlyspot.com/#HideWhenPlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{

window.removeElementWhen = function(test,place) {
	if (test) {
		removeChildren(place);
		place.parentNode.removeChild(place);
	}
};

merge(config.macros,{

	hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( eval(paramString), place);
	}},

	showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !eval(paramString), place);
	}},

	hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);
	}},

	showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);
	}},

	hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAny(params), place);
	}},

	showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAny(params), place);
	}},

	hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.tags.containsAll(params), place);
	}},

	showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !tiddler.tags.containsAll(params), place);
	}},

	hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
	}},

	showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
	}}

});

//}}}

<<top>>
<<toggleSideBar "" "Hide/Show Sidebar">>
<<jump j '' top>>
<<closeAll>><<renameButton c 'Close all tiddlers'>>
<<saveChanges>><<renameButton s 'Save TiddlyWiki'>>
<<newTiddler>><<renameButton n>>
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Version|1.6.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Insert Javascript executable code directly into your tiddler content.|

''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Usage
<<<
When installed, this plugin adds new wiki syntax for surrounding tiddler content with {{{<script>}}} and {{{</script>}}} markers, so that it can be treated as embedded javascript and executed each time the tiddler is rendered.

''Deferred execution from an 'onClick' link''
By including a {{{label="..."}}} parameter in the initial {{{<script>}}} marker, the plugin will create a link to an 'onclick' script that will only be executed when that specific link is clicked, rather than running the script each time the tiddler is rendered.  You may also include a {{{title="..."}}} parameter to specify the 'tooltip' text that will appear whenever the mouse is moved over the onClick link text

''External script source files:''
You can also load javascript from an external source URL, by including a src="..." parameter in the initial {{{<script>}}} marker (e.g., {{{<script src="demo.js"></script>}}}).  This is particularly useful when incorporating third-party javascript libraries for use in custom extensions and plugins.  The 'foreign' javascript code remains isolated in a separate file that can be easily replaced whenever an updated library file becomes available.

''Display script source in tiddler output''
By including the keyword parameter "show", in the initial {{{<script>}}} marker, the plugin will include the script source code in the output that it displays in the tiddler.

''Defining javascript functions and libraries:''
Although the external javascript file is loaded while the tiddler content is being rendered, any functions it defines will not be available for use until //after// the rendering has been completed.  Thus, you cannot load a library and //immediately// use it's functions within the same tiddler.  However, once that tiddler has been loaded, the library functions can be freely used in any tiddler (even the one in which it was initially loaded).

To ensure that your javascript functions are always available when needed, you should load the libraries from a tiddler that will be rendered as soon as your TiddlyWiki document is opened.  For example, you could put your {{{<script src="..."></script>}}} syntax into a tiddler called LoadScripts, and then add {{{<<tiddler LoadScripts>>}}} in your MainMenu tiddler.

Since the MainMenu is always rendered immediately upon opening your document, the library will always be loaded before any other tiddlers that rely upon the functions it defines.  Loading an external javascript library does not produce any direct output in the tiddler, so these definitions should have no impact on the appearance of your MainMenu.

''Creating dynamic tiddler content''
An important difference between this implementation of embedded scripting and conventional embedded javascript techniques for web pages is the method used to produce output that is dynamically inserted into the document:
* In a typical web document, you use the document.write() function to output text sequences (often containing HTML tags) that are then rendered when the entire document is first loaded into the browser window.
* However, in a ~TiddlyWiki document, tiddlers (and other DOM elements) are created, deleted, and rendered "on-the-fly", so writing directly to the global 'document' object does not produce the results you want (i.e., replacing the embedded script within the tiddler content), and completely replaces the entire ~TiddlyWiki document in your browser window.
* To allow these scripts to work unmodified, the plugin automatically converts all occurences of document.write() so that the output is inserted into the tiddler content instead of replacing the entire ~TiddlyWiki document.

If your script does not use document.write() to create dynamically embedded content within a tiddler, your javascript can, as an alternative, explicitly return a text value that the plugin can then pass through the wikify() rendering engine to insert into the tiddler display.  For example, using {{{return "thistext"}}} will produce the same output as {{{document.write("thistext")}}}.

//Note: your script code is automatically 'wrapped' inside a function, {{{_out()}}}, so that any return value you provide can be correctly handled by the plugin and inserted into the tiddler.  To avoid unpredictable results (and possibly fatal execution errors), this function should never be redefined or called from ''within'' your script code.//

''Accessing the ~TiddlyWiki DOM''
The plugin provides one pre-defined variable, 'place', that is passed in to your javascript code so that it can have direct access to the containing DOM element into which the tiddler output is currently being rendered.

Access to this DOM element allows you to create scripts that can:
* vary their actions based upon the specific location in which they are embedded
* access 'tiddler-relative' information (use findContainingTiddler(place))
* perform direct DOM manipulations (when returning wikified text is not enough)
<<<
!!!!!Examples
<<<
an "alert" message box:
><script show>
	alert('InlineJavascriptPlugin: this is a demonstration message');
</script>
dynamic output:
><script show>
	return (new Date()).toString();
</script>
wikified dynamic output:
><script show>
	return "link to current user: [["+config.options.txtUserName+"]]";
</script>
dynamic output using 'place' to get size information for current tiddler:
><script show>
   if (!window.story) window.story=window;
   var title=story.findContainingTiddler(place).id.substr(7);
   return title+" is using "+store.getTiddlerText(title).length+" bytes";
</script>
creating an 'onclick' button/link that runs a script:
><script label="click here" title="clicking this link will show an 'alert' box" show>
   if (!window.story) window.story=window;
   alert("Hello World!\nlinktext='"+place.firstChild.data+"'\ntiddler='"+story.findContainingTiddler(place).id.substr(7)+"'");
</script>
loading a script from a source url:
>http://www.TiddlyTools.com/demo.js contains:
>>{{{function demo() { alert('this output is from demo(), defined in demo.js') } }}}
>>{{{alert('InlineJavascriptPlugin: demo.js has been loaded'); }}}
><script src="demo.js" show>
	return "loading demo.js..."
</script>
><script label="click to execute demo() function" show>
	demo()
</script>
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''InlineJavascriptPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
''2007.02.19 [1.6.0]'' added support for title="..." to specify mouseover tooltip when using an onclick (label="...") script
''2006.10.16 [1.5.2]'' add newline before closing '}' in 'function out_' wrapper.  Fixes error caused when last line of script is a comment.
''2006.06.01 [1.5.1]'' when calling wikify() on script return value, pass hightlightRegExp and tiddler params so macros that rely on these values can render properly
''2006.04.19 [1.5.0]'' added 'show' parameter to force display of javascript source code in tiddler output
''2006.01.05 [1.4.0]'' added support 'onclick' scripts.  When label="..." param is present, a button/link is created using the indicated label text, and the script is only executed when the button/link is clicked.  'place' value is set to match the clicked button/link element.
''2005.12.13 [1.3.1]'' when catching eval error in IE, e.description contains the error text, instead of e.toString().  Fixed error reporting so IE shows the correct response text.  Based on a suggestion by UdoBorkowski
''2005.11.09 [1.3.0]'' for 'inline' scripts (i.e., not scripts loaded with src="..."), automatically replace calls to 'document.write()' with 'place.innerHTML+=' so script output is directed into tiddler content.  Based on a suggestion by BradleyMeck
''2005.11.08 [1.2.0]'' handle loading of javascript from an external URL via src="..." syntax
''2005.11.08 [1.1.0]'' pass 'place' param into scripts to provide direct DOM access 
''2005.11.08 [1.0.0]'' initial release
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.inlineJavascript= {major: 1, minor: 6, revision: 0, date: new Date(2007,2,19)};

config.formatters.push( {
	name: "inlineJavascript",
	match: "\\<script",
	lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",

	handler: function(w) {
		var lookaheadRegExp = new RegExp(this.lookahead,"mg");
		lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			if (lookaheadMatch[1]) { // load a script library
				// make script tag, set src, add to body to execute, then remove for cleanup
				var script = document.createElement("script"); script.src = lookaheadMatch[1];
				document.body.appendChild(script); document.body.removeChild(script);
			}
			if (lookaheadMatch[5]) { // there is script code
				if (lookaheadMatch[4]) // show inline script code in tiddler output
					wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
				if (lookaheadMatch[2]) { // create a link to an 'onclick' script
					// add a link, define click handler, save code in link (pass 'place'), set link attributes
					var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);
					link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}
					link.code="function _out(place){"+lookaheadMatch[5]+"\n};_out(this);"
					link.setAttribute("title",lookaheadMatch[3]?lookaheadMatch[3]:"");
					link.setAttribute("href","javascript:;");
					link.style.cursor="pointer";
				}
				else { // run inline script code
					var code="function _out(place){"+lookaheadMatch[5]+"\n};_out(w.output);"
					code=code.replace(/document.write\(/gi,'place.innerHTML+=(');
					try { var out = eval(code); } catch(e) { out = e.description?e.description:e.toString(); }
					if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
				}
			}
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
	}
} )
//}}}
Dessus: Designing sustainable accessibility

Accessibility

Sustainability
Click the images to see the enlarged version
<html>
<div align="center">''72 people in different traffic modes''
<div id="foto1" style="background:black;color:yellow;border:2px solid white;display:none">
  <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />
<div><img src="http://www.transport-planning.eu/images/traffic.jpg"><br><div align="center">Space consuming traffic (72 people)</div></div>
</div>
<a href="javascript:;" onclick="DC3.LightBox.showBox('foto1')"><img src="http://www.transport-planning.eu/images/trafficthumb.jpg"></a></div></html>

<<tiddler ReplaceDoubleClick>>
/***
| Name|LessBackupsPlugin|
| Description|Intelligently limit the number of backup files you create|
| Version|3.0 ($Rev: 2320 $)|
| Date|$Date: 2007-06-18 22:37:46 +1000 (Mon, 18 Jun 2007) $|
| Source|http://mptw.tiddlyspot.com/#LessBackupsPlugin|
| Author|Simon Baird|
| Email|simon.baird@gmail.com|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!!Description
You end up with just backup one per year, per month, per weekday, per hour, minute, and second.  So total number won't exceed about 200 or so. Can be reduced by commenting out the seconds/minutes/hours line from modes array

!!!Notes
Works in IE and Firefox only.  Algorithm by Daniel Baird. IE code by by Saq Imtiaz.
!!!Code
***/
//{{{
window.getSpecialBackupPath = function(backupPath) {

	var MINS  = 60 * 1000;
	var HOURS = 60 * MINS;
	var DAYS  = 24 * HOURS;

	// comment out the ones you don't want
	var modes = [
		["YYYY",  365*DAYS], // one per year for ever
		["MMM",   31*DAYS],  // one per month
		["ddd",   7*DAYS],   // one per weekday
		//["d0DD",  1*DAYS],   // one per day of month
		["h0hh",  24*HOURS], // one per hour
		["m0mm",  1*HOURS],  // one per minute
		["s0ss",  1*MINS],   // one per second
		["latest",0]         // always keep last version. (leave this).
	];

	var now = new Date();

	for (var i=0;i<modes.length;i++) {

		// the filename we will try
		var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,
						'$1'+now.formatString(modes[i][0]).toLowerCase()+'$3')

		// open the file

		try {
			if (config.browser.isIE) {
				var fsobject = new ActiveXObject("Scripting.FileSystemObject")
				var fileExists  = fsobject.FileExists(specialBackupPath);
				if (fileExists) {
					var fileObject = fsobject.GetFile(specialBackupPath);
					var modDate = new Date(fileObject.DateLastModified).valueOf();
				}
			}
			else {
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
				var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
				file.initWithPath(specialBackupPath);
				var fileExists = file.exists();
				if (fileExists) {
					var modDate = file.lastModifiedTime;
				}
			}
		}
		catch(e) {
			// give up
			return backupPath;
		}

		// expiry is used to tell if it's an 'old' one. Eg, if the month is June and there is a
		// June file on disk that's more than an month old then it must be stale so overwrite
		// note that "latest" should be always because the expiration period is zero (see above)
		var expiry = new Date(modDate + modes[i][1]);
		if (!fileExists || now > expiry)
			return specialBackupPath;
	}
}

// hijack the core function
window.getBackupPath_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
	return getSpecialBackupPath(getBackupPath_orig(localPath));
}

//}}}

/*{{{*/
#lightBoxOverlay {
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;   
    background-color: #000;
    -moz-opacity: 0.6;
    opacity: .60;
    filter: alpha(opacity=60);
}
#lightBoxOverlay[id]{ 
    position: fixed;
}

div.lightBox {
    background: #2d2d2d;
    color: #fff;
    border: 2px solid #eee;
}

img.lightBoxClose {
    position: absolute;
    top: -5px;
    right: -5px;
    margin: 0px;
    cursor: pointer;
}

div.lightBoxAlert {
    width: 300px;
    height: 64px;
    background: #2d2d2d;
    color: #fff;
    padding: 10px;
    border: 2px solid #eee;
}

div.lightBoxAlertIcon {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 48px;
	height: 48px;
}

div.lightBoxAlertMessage {
	margin-left: 56px;
	margin-top: 16px;
}
/*}}}*/
__''Knowledge networks''__

[[Transumo Innovation Network|http://www.transumo.nl]] - ''Trans''ition to ''Su''stainable ''Mo''bility

[[Synergin research program|http://www.transumo.nl]] - Between competition and complementarity: ''Synerg''y ''i''n ''n''etworks 

__''Annual Conferences''__

[[Colloquium Vervoersplanologisch Speurwerk|http://www.vervoersplanologischspeurwerk.nl]] - Annual conference of transport planners in practice and academia in the Netherlands and Flanders (Belgium)
Name: Blue
Background: #fff
Foreground: #000
PrimaryPale: #cdf
PrimaryLight: #57c
PrimaryMid: #114
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: Green
Background: #fff
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: Red
Background: #fff
Foreground: #000
PrimaryPale: #fdd
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: Smoke
Background: #fff
Foreground: #000
PrimaryPale: #aaa
PrimaryLight: #777
PrimaryMid: #111
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88

Name: Teal
Background: #fff
Foreground: #000
PrimaryPale: #B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
[[Welcome]][[PhDResearch]][[Movies]][[Publications]][[EducationalTasks]][[CV]]''<html><a href="http://seminar.transport-planning.eu" target="_blank">SEMINAR</a></html>'' ''<html><a href="http://aesop.transport-planning.eu" target="_blank">AESOP TP</a></html>''[[Links]]<<search>><<toggleSideBar "" "Hide/Show Sidebar" hide>><<fontSize "font-size:">>

<!--{{{-->
<!-- LightBox translucent overlay -->
<div id="lightBoxOverlay" onclick="DC3.LightBox.hideBox()" style="display:none"></div>
<!-- General use simple LightBox -->
<div class="lightBox" id="lightBox" style="display:none">
	<img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />
	<div id="lightBoxContent"></div>
</div>
<!-- General use Alert LightBox -->
<div class="lightBoxAlert" id="lightBoxAlert" style="display:none">
	<img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />
	<div class="lightBoxAlertIcon"><img id="lightBoxAlertIcon" src="runtime" alt="runtime" title="runtime"></div>
	<div class="lightBoxAlertMessage" id="lightBoxAlertMessage">runtime</div>
</div>
<!-- End of LightBox -->
<!--}}}-->

<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<!--}}}-->


<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>Transport-Planning.eu</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>
<HTML><HEAD><TITLE>ProgRESS WWW</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META http-equiv=PRAGMA content=NO-CACHE>
<META content="MSHTML 6.00.2800.1528" name=GENERATOR></HEAD>
<BODY style="BACKGROUND-REPEAT: no-repeat" bottomMargin=0 vLink=#000066 
aLink=#ffffff link=#000066 bgColor=#99ccff background=ProgRESS_files/achter.gif 
rightMargin=0 marginheight="15" marginwidth="10"><A name=bovenaan></A>
<TABLE cellSpacing=0 cellPadding=0 border=0 vspace="0" hspace="0" 
aclass="noborder">
  <TBODY>
  <TR>
    <TD class=noborder vAlign=top noWrap align=right height=0 awidth="15"><IMG 
      height=10 src="ProgRESS_files/leeg5_10.gif" width=15></TD>
    <TD class=noborder vAlign=top colSpan=3 height=0>

      <TABLE cellSpacing=0 cellPadding=0 border=0 vspace="0" hspace="0" 
      awidth="1005">
        <TBODY>
        <TR>
          <TD class=noborder vAlign=top noWrap awidth="430" acolspan="2"><IMG 
            height=15 src="ProgRESS_files/lijn5_15H.gif" width=45 align=top 
            border=0><A 
            href="https://progresswww.nl/rug/main/infostudent.asp?navi=6"><IMG 
            height=20 alt=Gebruikersinformatie 
            src="ProgRESS_files/info35_NA.jpg" width=35 align=top 
            border=0></A><IMG height=20 src="ProgRESS_files/lijnsch10.jpg" 
            width=10 align=top border=0><A 
            href="https://progresswww.nl/rug/resultaten/overzichten.asp?navi=37"><IMG 
            height=20 alt=Studieresultaten 
            src="ProgRESS_files/resultaten65_AC.jpg" width=65 align=top 
            border=0></A><IMG height=20 src="ProgRESS_files/lijnsch10.jpg" 
            width=10 align=top border=0><A 
            href="https://progresswww.nl/rug/intekenen/aanmelden.asp?navi=38"><IMG 
            height=20 alt="Intekenen voor studieonderdelen" 
            src="ProgRESS_files/intekenen65_NA.jpg" width=65 align=top 
            border=0></A><IMG height=20 src="ProgRESS_files/lijnsch10.jpg" 
            width=10 align=top border=0><A 
            href="https://progresswww.nl/rug/main/berichten.asp?navi=41"><IMG 
            height=20 alt="Lees berichten" 
            src="ProgRESS_files/berichten65_NA.jpg" width=65 align=top 
            border=0></A><IMG height=20 src="ProgRESS_files/lijnsch10.jpg" 
            width=10 align=top border=0><A 
            href="https://progresswww.nl/rug/main/help.asp?navi=81"><IMG 
            height=20 alt=Help src="ProgRESS_files/help35_NA.jpg" width=35 
            align=top border=0></A><IMG height=20 
            src="ProgRESS_files/lijnsch10.jpg" width=10 align=top border=0><A 
            href="https://progresswww.nl/rug/main/uitloggen.asp?navi=82"><IMG 
            height=20 alt="Uitloggen uit ProgRESS WWW" 
            src="ProgRESS_files/uitloggen60_NA.jpg" width=60 align=top 
            border=0></A><IMG height=20 src="ProgRESS_files/lijnsch10.jpg" 
            width=10 align=top border=0></TD>
          <TD class=noborder><IMG height=25 
            src="ProgRESS_files/lijn_10_25_RB.gif" width=10 align=top 
          border=0></TD>
          <TD class=noborder><IMG height=10 src="ProgRESS_files/leeg5_10.gif" 
            width=100 border=0></TD></TR>
        <TR>
          <TD class=noborder style="TEXT-ALIGN: right" vAlign=bottom align=right 
          acolspan="2"><FONT face=Arial,Helvetica color=#3366cc size=2 
            valign="bottom">&nbsp;Studieresultaten</FONT></TD>

          <TD class=noborder><IMG height=20 
            src="ProgRESS_files/bolletje15_20.gif" width=15 border=0></TD>
          <TD class=noborder vAlign=bottom 
      awidth="570">&nbsp;</TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD class=noborder colSpan=3><IMG height=5 
      src="ProgRESS_files/leeg5_10.gif" width=25></TD></TR>
  <TR>
    <TD class=noborder align=left awidth="15" balign="top">&nbsp;</TD>
    <TD class=noborder noWrap align=left awidth="35" balign="top"><IMG 
      height=10 src="ProgRESS_files/leeg5_10.gif" width=25></TD>
    <TD vAlign=top align=left awidth="1000"><FONT face=Arial,Helvetica 
      color=#000066 size=2><FONT face=Arial,Helvetica color=#000066 size=2><FONT 
      face=Arial,Helvetica color=#003399 size=4><B>Resultatenoverzicht van 
      M.C.G. te Brömmelstroet (1414607)</B></FONT><BR>&nbsp;<BR><FONT 
      face=Arial,Helvetica color=#003399 size=4><B>Ruimtelijke 
      Wetenschappen</B></FONT> <BR><FONT face=Arial,Helvetica color=#000066 
      size=2>(bijgewerkt tot 15-12-2005 )<A 
      href="https://progresswww.nl/rug/main/help.asp?navi=81#stud-resul"><IMG 
      alt="Context-gevoelige help" src="ProgRESS_files/help3.gif" align=bottom 
      border=0></A>

      <FORM name=resultaat action=overzicht.asp method=get><INPUT type=hidden 
      value=GE;1 name=ov> <INPUT type=hidden value=studondnr 
      name=sorteer>Studielast in<INPUT type=radio value=ects name=basis>ECTS (1 
      credit &#8801; 28 uur)<INPUT type=radio CHECKED value=punten name=basis>Punten 
      (1 punt &#8801; 40 uur)<INPUT type=radio value=uren name=basis>Uren 
      &nbsp;&nbsp;<A href="javascript:document.resultaat.submit();">Toon 
      opnieuw</A></FORM><BR>
      <P></P>
      <STYLE>TD {
	FONT-SIZE: x-small; COLOR: #000066; FONT-FAMILY: Arial,Helvetica; WHITE-SPACE: nowrap
}
</STYLE>

      <TABLE cellSpacing=1 cellPadding=0 border=0>
        <TBODY>
        <TR>
          <TD align=middle bgColor=#3366cc colSpan=3><FONT 
            face=Arial,Helvetica color=#99ccff 
            size=2><B>&nbsp;Studieonderdelen</B></FONT></TD>
          <TD></TD>
          <TD noWrap align=middle bgColor=#3366cc><FONT face=Arial,Helvetica 
            color=#99ccff size=2><B>&nbsp; Score&nbsp;</B></FONT></TD>
          <TD width=2 bgColor=#99ccff></TD>

          <TD noWrap align=middle bgColor=#3366cc><FONT face=Arial,Helvetica 
            color=#99ccff size=2><B>&nbsp; Datum&nbsp;</B></FONT></TD>
          <TD width=2 bgColor=#99ccff></TD>
          <TD noWrap align=middle bgColor=#3366cc><FONT face=Arial,Helvetica 
            color=#99ccff size=2><B>&nbsp; Percentage&nbsp;</B></FONT></TD>
          <TD width=2 bgColor=#99ccff></TD>
          <TD noWrap align=middle bgColor=#3366cc><FONT face=Arial,Helvetica 
            color=#99ccff size=2><B>&nbsp; Score&nbsp;</B></FONT></TD>
          <TD width=2 bgColor=#99ccff></TD>

          <TD noWrap align=middle bgColor=#3366cc><FONT face=Arial,Helvetica 
            color=#99ccff size=2><B>&nbsp; Punten&nbsp;</B></FONT></TD>
          <TD width=2 bgColor=#99ccff></TD></TR>
        <TR>
          <TD align=middle height=16><A 
            href="javascript:document.resultaat.sorteer.value='studondnr';document.resultaat.submit();"><IMG 
            height=6 alt="Sorteer op studiecode" 
            src="ProgRESS_files/sortbenedendicht.gif" width=11 border=0></A></TD>
          <TD></TD>
          <TD align=middle><A 
            href="javascript:document.resultaat.sorteer.value='studonderd';document.resultaat.submit();"><IMG 
            height=6 alt="Sorteer op vaknaam" 
            src="ProgRESS_files/sortbenedenopen.gif" width=11 border=0></A></TD>
          <TD></TD>
          <TD align=middle><A 
            href="javascript:document.resultaat.sorteer.value='beoordeli';document.resultaat.submit();"><IMG 
            height=6 alt="Sorteer op beoordeling" 
            src="ProgRESS_files/sortbenedenopen.gif" width=11 border=0></A></TD>

          <TD></TD>
          <TD align=middle><A 
            href="javascript:document.resultaat.sorteer.value='datbeoord';document.resultaat.submit();"><IMG 
            height=6 alt="Sorteer op datum" 
            src="ProgRESS_files/sortbenedenopen.gif" width=11 border=0></A></TD>
          <TD></TD>
          <TD align=right></TD>
          <TD></TD>
          <TD align=middle><A 
            href="javascript:document.resultaat.sorteer.value='beoord2';document.resultaat.submit();"><IMG 
            height=6 alt="Sorteer op beoordeling" 
            src="ProgRESS_files/sortbenedenopen.gif" width=11 border=0></A></TD>
          <TD></TD>
          <TD align=middle><A 
            href="javascript:document.resultaat.sorteer.value='studielast';document.resultaat.submit();"><IMG 
            height=6 alt="Sorteer op studielast" 
            src="ProgRESS_files/sortbenedenopen.gif" width=11 border=0></A></TD>
          <TD></TD></TR>

        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;EWM052A05&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Spat.&amp;Transp.Ec.</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;6.1</TD>
          <TD></TD>
          <TD>19-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6.1 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEBAPROJ&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Bachelorproject</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6.5</TD>
          <TD></TD>
          <TD>31-08-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;6.5 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;7.0&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEEIP&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Env. &amp; infr.sruct.pl</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8</TD>

          <TD></TD>
          <TD>08-11-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>
          <TD></TD>

          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEEIPADAP&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>E&amp;IP adapt. course</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;V</TD>
          <TD></TD>
          <TD>04-11-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;2.1&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEEIPINTR&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>E&amp;IP introduction</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7</TD>
          <TD></TD>
          <TD>01-11-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;1.4&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEGIM1&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Geo inf. man. 1</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7</TD>
          <TD></TD>

          <TD>31-08-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEINTRGIS&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Introductie GIS</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;8</TD>
          <TD></TD>
          <TD>26-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEINTRGISP&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Introductie GIS-p</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;10</TD>
          <TD></TD>
          <TD>26-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;10 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>

          <TD>&nbsp;&nbsp;GEINTRGIST&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Introductie GIS-tent</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.7</TD>
          <TD></TD>
          <TD>26-01-2004</TD>

          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>

          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMETH_WF&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Meth. Emp. &amp; Wet.fil</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7</TD>

          <TD></TD>
          <TD>22-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>

          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMILPLAN&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Milieuplanning</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;8</TD>
          <TD></TD>
          <TD>25-06-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMPLANTH2&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Planning theory 2</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;5 <BR>&nbsp;&nbsp;7</TD>
          <TD></TD>
          <TD>03-11-2004<BR>03-02-2005</TD>
          <TD></TD>

          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>

          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMPLRSCH&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Planning research</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V</TD>

          <TD></TD>
          <TD>14-11-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V &nbsp; </TD>
          <TD></TD>

          <TD align=right>&nbsp;&nbsp;1.4&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMPRPRMAN&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Process- &amp; proj.man</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;6</TD>
          <TD></TD>
          <TD>24-01-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMTHEIP&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Master thesis EIP</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.5</TD>
          <TD></TD>
          <TD>31-10-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;8.5 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;14.0&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEMWATMAN&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Watermanagement</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8</TD>
          <TD></TD>

          <TD>28-10-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLANTH1&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Planningtheorie 1</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;7</TD>
          <TD></TD>
          <TD>05-11-2003</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLPRACT&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Planning practice</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8</TD>
          <TD></TD>
          <TD>20-06-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;2.8&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLPRACTP&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Planning practice P</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.5</TD>
          <TD></TD>

          <TD>20-06-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.5 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLPRACTT&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Planning practice T</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;8.7</TD>
          <TD></TD>
          <TD>26-01-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.7 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLSKS&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Planning skills</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8</TD>
          <TD></TD>
          <TD>04-02-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLSKS-P&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Planning skills P</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V</TD>
          <TD></TD>

          <TD>04-02-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPLSKS-T&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Planning skills T</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;7.9</TD>
          <TD></TD>
          <TD>04-02-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.9 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPPE&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Plan- en proj.eval.</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7</TD>
          <TD></TD>
          <TD>27-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPPEO&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Plan-Projecteval. Op</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.5</TD>
          <TD></TD>

          <TD>27-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.5 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEPPET&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Plan- &amp;Projecteval.T</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;6.6</TD>
          <TD></TD>
          <TD>05-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6.6 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GERFO&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Ruimt. funct. ontw.</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7</TD>
          <TD></TD>
          <TD>22-12-2003</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;2.1&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GERFOT&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Ruimt.funct.ontw.-T</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.7</TD>
          <TD></TD>

          <TD>02-10-2003</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.7 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GERW28&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Infrastruct.planning</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;8</TD>
          <TD></TD>
          <TD>16-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;4.0&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GERW28T&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Infrastruct.pl-tent.</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.5</TD>
          <TD></TD>
          <TD>30-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;7.5 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>

          <TD>&nbsp;&nbsp;GESTAT1&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Statistiek 1</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;9</TD>
          <TD></TD>
          <TD>20-01-2004</TD>

          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;9 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>

        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GESTAT1CP&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Statistiek 1 Comp.pr</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V</TD>

          <TD></TD>
          <TD>20-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V &nbsp; </TD>
          <TD></TD>

          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GESTAT1T&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Statistiek 1 Tent.</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;8.7</TD>
          <TD></TD>
          <TD>20-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.7 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GESTAT2&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Statistiek 2</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;9</TD>
          <TD></TD>
          <TD>07-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;9 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>

        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GESTAT2CP&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Statistiek 2 Comp.pr</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V</TD>
          <TD></TD>

          <TD>02-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;V &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>

          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GESTAT2T&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Statistiek 2 Tent.</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;8.6</TD>
          <TD></TD>
          <TD>07-04-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.6 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEVIP&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Verk.-&amp; infr.str.pl.</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6</TD>
          <TD></TD>
          <TD>15-04-2004</TD>
          <TD></TD>

          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>

          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEVKMOD&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Verkeersmodellen</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7</TD>

          <TD></TD>
          <TD>29-10-2003</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>
          <TD></TD>

          <TD align=right>&nbsp;&nbsp;4.9&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEVKMOD-O&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Verkeersmodellen Opd</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;8.0</TD>
          <TD></TD>
          <TD>29-10-2003</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.0 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEVKMOD-T&nbsp;&nbsp;</TD>
          <TD></TD>

          <TD>Verkeersmodellen T</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.1</TD>
          <TD></TD>
          <TD>29-10-2003</TD>
          <TD></TD>
          <TD>&nbsp;</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;7.1 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>

          <TD>&nbsp;&nbsp;GEWATMAN-O&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Watermanagement Opdr</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.5</TD>
          <TD></TD>
          <TD>28-10-2005</TD>

          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7.5 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>

          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;GEWATMAN-T&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Watermanagement Tent</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.8</TD>

          <TD></TD>
          <TD>15-04-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;8.8 &nbsp; </TD>
          <TD></TD>

          <TD align=right>&nbsp;&nbsp;&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;KIB.ORKI03&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Orientatie KI</TD>

          <TD></TD>
          <TD>&nbsp;&nbsp;3.5 <BR>&nbsp;&nbsp;6.0</TD>
          <TD></TD>
          <TD>22-10-2003<BR>14-01-2004</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;6.0 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>

          <TD>&nbsp;&nbsp;LBA004B05&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>Kennism. Gronings</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6</TD>
          <TD></TD>
          <TD>01-07-2004</TD>

          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;6 &nbsp; </TD>
          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>

        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR>
        <TR vAlign=top>
          <TD>&nbsp;&nbsp;RGAPW70405&nbsp;&nbsp;</TD>
          <TD></TD>
          <TD>AAV-Intr EU &amp; Integr</TD>
          <TD></TD>

          <TD>&nbsp;&nbsp;7</TD>
          <TD></TD>
          <TD>29-03-2005</TD>
          <TD></TD>
          <TD>&nbsp;</TD>
          <TD></TD>
          <TD>&nbsp;&nbsp;7 &nbsp; </TD>

          <TD></TD>
          <TD align=right>&nbsp;&nbsp;3.5&nbsp;</TD>
          <TD></TD></TR>
        <TR>
          <TD bgColor=#3366cc colSpan=17 height=1><IMG height=1 
            src="ProgRESS_files/1x1.gif" border=0></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=1 cellPadding=1 border=0>
        <TBODY>
        <TR>

          <TD colSpan=3><FONT face=Arial,Helvetica color=#000066 size=2>Aan de 
            verstrekte gegevens kunnen geen rechten worden ontleend&nbsp; 
          </FONT></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 
            size=2><STRONG>&nbsp;</STRONG></FONT></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 
            size=2><STRONG>&nbsp;</STRONG></FONT></TD></TR>
        <TR></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 size=2>Totaal 
            gerealiseerde studielast&nbsp; </FONT></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 size=2><STRONG>102.7 
            punten&nbsp;</STRONG></FONT></TD>

          <TD><FONT face=Arial,Helvetica color=#000066 size=2><STRONG>( t/m 
            15-12-2005 ) &nbsp;</STRONG></FONT></TD></TR>
        <TR>
          <TD>&nbsp;</TD></TR></TD>
        <TR>
          <TD><FONT face=Arial,Helvetica color=#000066 size=2>Behaalde 
            studielast t.b.v. studiebeurs&nbsp; </FONT></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 size=2><STRONG>756 
            uren&nbsp;</STRONG></FONT></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 size=2><STRONG>( 
            01-09-2005 - 31-08-2006 ) &nbsp;</STRONG></FONT></TD></TR>

        <TR>
          <TD colSpan=3><FONT face=Arial,Helvetica color=#000066 
            size=2>Berekening studiebeurs is excl. studielast voor 
            vrijstellingen.&nbsp; </FONT></TD>&nbsp;</STRONG></TD>
          <TD><FONT face=Arial,Helvetica color=#000066 
            size=2><STRONG>&nbsp;</STRONG></FONT></TD></TR></TBODY></TABLE><A 
      href="https://progresswww.nl/rug/resultaten/overzicht.asp?rij=0&amp;ov=GE%3B1&amp;sorteer=studondnr&amp;fullscreen=ja&amp;basis=punten"><IMG 
      alt=Print src="ProgRESS_files/drukaf22_NA.jpg" border=0 
      name=plaatjesindex0></A> 
      <P>&nbsp;</P></FONT></FONT></FONT></TD>
    <TD><IMG height=10 src="ProgRESS_files/leeg5_10.gif" width=35 
  border=0></TD></TR></TBODY></TABLE><!--</ilayer>--><!--Computer Name = WEB3-->
<META http-equiv=PRAGMA content=NO-CACHE></BODY></HTML>
<<tiddler ReplaceDoubleClick>>The process model for Mediated Planning Support

[img[Mediated Planning Support|images/MPS.jpg]]


Working paper on the method:

[img[workingpaper|images/pdf.jpg][pdfs/MPSWorkingPaper.pdf]]
[[MonkeyPirateTiddlyWiki|http://mptw.tiddlyspot.com]] is a distribution of [[TiddlyWiki|http://www.tiddlywiki.com/]] created by Simon Baird. See [[the web site|http://mptw.tiddlyspot.com/]] for more information.
!!Upgrading ~MonkeyPirateTiddlyWiki
This "empty" ~MonkeyPirateTiddlyWiki file comes pre-installed with the core ~MonkeyPirateTiddlyWiki plugins. You can upgrade these core plugins to the latest version by doing the following:
* Click ImportTiddlers
* Click "Choose..." and select "~MptwUpgradeURL"
* Click "fetch"
* Click the checkbox in the first column heading to select all tiddlers
* Click "More actions..." and select "Import these tiddlers"
* Click "OK" to confirm you want to overwrite the tiddlers
* Save and reload
<<tiddler ReplaceDoubleClick>>
/***
| Name|MptwLayoutPlugin|
| Description|A package containing templates and css for the MonkeyPirateTiddlyWiki layout|
| Version|3.0 ($Rev: 1845 $)|
| Source|http://mptw.tiddlyspot.com/#MptwLayoutPlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
Presumes you have TagglyTaggingPlugin installed. To enable this you should have a PageTemplate containing {{{[[MptwPageTemplate]]}}} and similar for ViewTemplate and EditTemplate.
***/
//{{{
// used in MptwViewTemplate
config.mptwDateFormat = 'DD/MM/YY';
config.mptwJournalFormat = 'Journal DD/MM/YY';
//config.mptwDateFormat = 'MM/0DD/YY';
//config.mptwJournalFormat = 'Journal MM/0DD/YY';

config.shadowTiddlers.GettingStarted += "\n\nSee also MonkeyPirateTiddlyWiki.";

//}}}

//{{{
merge(config.shadowTiddlers,{

'MptwEditTemplate':[
 "<!--{{{-->",
 "<!--- http://mptw.tiddlyspot.com/#MptwEditTemplate ($Rev: 1829 $) --->",
 "<div class=\"toolbar\" macro=\"toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler\"></div>",
 "<div class=\"title\" macro=\"view title\"></div>",
 "<div class=\"editLabel\">Title</div><div class=\"editor\" macro=\"edit title\"></div>",
 "<div class=\"editLabel\">Tags</div><div class=\"editor\" macro=\"edit tags\"></div>",
 "<div class=\"editorFooter\"><span macro=\"message views.editor.tagPrompt\"></span><span macro=\"tagChooser\"></span></div>",
 "<div macro=\"showWhenExists EditPanelTemplate\">[[EditPanelTemplate]]</div>",
 "<div class=\"editor\" macro=\"edit text\"></div>",
 "<!--}}}-->"
].join("\n"),

'MptwPageTemplate':[
 "<!--{{{-->",
 "<!-- http://mptw.tiddlyspot.com/#MptwPageTemplate ($Rev: 1829 $) -->",
 "<div class='header' 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>",
 "<!-- horizontal MainMenu -->",
 "<div id='topMenu' refresh='content' tiddler='MainMenu'></div>",
 "<!-- original MainMenu menu -->",
 "<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div> -->",
 "<div id='sidebar'>",
 "	<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>",
 "	<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>",
 "</div>",
 "<div id='displayArea'>",
 "	<div id='messageArea'></div>",
 "	<div id='tiddlerDisplay'></div>",
 "</div>",
 "<!--}}}-->"
].join("\n"),

'MptwStyleSheet':[
 "/*{{{*/",
 "/* http://mptw.tiddlyspot.com/#MptwStyleSheet ($Rev: 2246 $) */",
 "",
 "/* a contrasting background so I can see where one tiddler ends and the other begins */",
 "body {",
 "	background: [[ColorPalette::TertiaryLight]];",
 "}",
 "",
 "/* sexy colours and font for the header */",
 ".headerForeground {",
 "	color: [[ColorPalette::PrimaryPale]];",
 "}",
 ".headerShadow, .headerShadow a {",
 "	color: [[ColorPalette::PrimaryMid]];",
 "}",
 "",
 "/* separate the top menu parts */",
 ".headerForeground, .headerShadow {",
 "	padding: 1em 1em 0;",
 "}",
 "",
 ".headerForeground, .headerShadow {",
 "	font-family: 'Trebuchet MS' sans-serif;",
 "	font-weight:bold;",
 "}",
 ".headerForeground .siteSubtitle {",
 "	color: [[ColorPalette::PrimaryLight]];",
 "}",
 ".headerShadow .siteSubtitle {",
 "	color: [[ColorPalette::PrimaryMid]];",
 "}",
 "",
 "/* make shadow go and down right instead of up and left */",
 ".headerShadow {",
 "	left: 1px;",
 "	top: 1px;",
 "}",
 "",
 "/* prefer monospace for editing */",
 ".editor textarea {",
 "	font-family: 'Consolas' monospace;",
 "}",
 "",
 "/* sexy tiddler titles */",
 ".title {",
 "	font-size: 250%;",
 "	color: [[ColorPalette::PrimaryLight]];",
 "	font-family: 'Trebuchet MS' sans-serif;",
 "}",
 "",
 "/* more subtle tiddler subtitle */",
 ".subtitle {",
 "	padding:0px;",
 "	margin:0px;",
 "	padding-left:0.5em;",
 "	font-size: 90%;",
 "	color: [[ColorPalette::TertiaryMid]];",
 "}",
 ".subtitle .tiddlyLink {",
 "	color: [[ColorPalette::TertiaryMid]];",
 "}",
 "",
 "/* a little bit of extra whitespace */",
 ".viewer {",
 "	padding-bottom:3px;",
 "}",
 "",
 "/* don't want any background color for headings */",
 "h1,h2,h3,h4,h5,h6 {",
 "	background: [[ColorPalette::Background]];",
 "	color: [[ColorPalette::Foreground]];",
 "}",
 "",
 "/* give tiddlers 3d style border and explicit background */",
 ".tiddler {",
 "	background: [[ColorPalette::Background]];",
 "	border-right: 2px [[ColorPalette::TertiaryMid]] solid;",
 "	border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;",
 "	margin-bottom: 1em;",
 "	padding-bottom: 1em;",
 "	padding-top: 0.75em;",
 "}",
 "",
 "/* make options slider look nicer */",
 "#sidebarOptions .sliderPanel {",
 "	border:solid 1px [[ColorPalette::PrimaryLight]];",
 "}",
 "",
 "/* the borders look wrong with the body background */",
 "#sidebar .button {",
 "	border-style: none;",
 "}",
 "",
 "/* this means you can put line breaks in SidebarOptions for readability */",
 "#sidebarOptions br {",
 "	display:none;",
 "}",
 "/* undo the above in OptionsPanel */",
 "#sidebarOptions .sliderPanel br {",
 "	display:inline;",
 "}",
 "",
 "/* horizontal main menu stuff */",
 "#displayArea {",
 "	margin: 1em 15.7em 0em 1em; /* use the freed up space */",
 "}",
 "#topMenu br {",
 "	display: none;",
 "}",
 "#topMenu {",
 "	background: [[ColorPalette::PrimaryMid]];",
 "	color:[[ColorPalette::PrimaryPale]];",
 "}",
 "#topMenu {",
 "	padding:2px;",
 "}",
 "#topMenu .button, #topMenu .tiddlyLink, #topMenu a {",
 "	margin-left: 0.5em;",
 "	margin-right: 0.5em;",
 "	padding-left: 3px;",
 "	padding-right: 3px;",
 "	color: [[ColorPalette::PrimaryPale]];",
 "	font-size: 115%;",
 "}",
 "#topMenu .button:hover, #topMenu .tiddlyLink:hover {",
 "	background: [[ColorPalette::PrimaryDark]];",
 "}",
 "",
 "/* make 2.2 act like 2.1 with the invisible buttons */",
 ".toolbar {",
 "	visibility:hidden;",
 "}",
 ".selected .toolbar {",
 "	visibility:visible;",
 "}",
 "",
 "/* experimental. this is a little borked in IE7 with the button ",
 " * borders but worth it I think for the extra screen realestate */",
 ".toolbar { float:right; }",
 "",
 "/* for Tagger Plugin, thanks sb56637 */",
 ".popup li a {",
 "   display:inline;",
 "}",
 "",
 "/* make it print a little cleaner */",
 "@media print {",
 "	#topMenu {",
 "		display: none ! important;",
 "	}",
 "	/* not sure if we need all the importants */",
 "	.tiddler {",
 "		border-style: none ! important;",
 "		margin:0px ! important;",
 "		padding:0px ! important;",
 "		padding-bottom:2em ! important;",
 "	}",
 "	.tagglyTagging .button, .tagglyTagging .hidebutton {",
 "		display: none ! important;",
 "	}",
 "	.headerShadow {",
 "		visibility: hidden ! important;",
 "	}",
 "	.tagglyTagged .quickopentag, .tagged .quickopentag {",
 "		border-style: none ! important;",
 "	}",
 "	.quickopentag a.button, .miniTag {",
 "		display: none ! important;",
 "	}",
 "}",
 "/*}}}*/"
].join("\n"),

'MptwViewTemplate':[
 "<!--{{{-->",
 "<!--- http://mptw.tiddlyspot.com/#MptwViewTemplate ($Rev: 2247 $) --->",
 "",
 "<div class='toolbar'>",
 "	<span macro=\"showWhenTagged systemConfig\">",
 "		<span macro=\"toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'\"></span>",
 "	</span>",
 "	<span macro=\"showWhenTagged palette\">",
 "		<span macro=\"setPalette\"></span>",
 "	</span>",
 "	<span style=\"padding:1em;\"></span>",
 "	<span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler > fields syncing permalink references jump'></span> <span macro='newHere label:\"new here\"'></span>",
 "	<span macro='newJournalHere {{config.mptwJournalFormat?config.mptwJournalFormat:\"MM/0DD/YY\"}}'></span>",
 "</div>",
 "",
 "<div class=\"tagglyTagged\" macro=\"tags\"></div>",
 "",
 "<div class='titleContainer'>",
 "	<span class='title' macro='view title'></span>",
 "	<span macro=\"miniTag\"></span>",
 "</div>",
 "",
 "<div class='subtitle'>",
 "	<span macro='view modifier link'></span>,",
 "	<span macro='view modified date {{config.mptwDateFormat?config.mptwDateFormat:\"MM/0DD/YY\"}}'></span>",
 "	(<span macro='message views.wikified.createdPrompt'></span>",
 "	<span macro='view created date {{config.mptwDateFormat?config.mptwDateFormat:\"MM/0DD/YY\"}}'></span>)",
 "</div>",
 "",
 "<div macro=\"showWhenExists ViewPanelTemplate\">[[ViewPanelTemplate]]</div>",
 "",
 "<div macro=\"hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')\">",
 "	<div class='viewer' macro='view text wikified'></div>",
 "</div>",
 "<div macro=\"showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')\">",
 "	<div class='viewer'><pre macro='view text'></pre></div>",
 "</div>",
 "",
 "<div macro=\"showWhenExists ViewDashboardTemplate\">[[ViewDashboardTemplate]]</div>",
 "",
 "<div class=\"tagglyTagging\" macro=\"tagglyTagging\"></div>",
 "",
 "<!--}}}-->"
].join("\n")

});
//}}}
For upgrading directly from tiddlyspot. See [[ImportTiddlers]].
URL: /proxy/mptw.tiddlyspot.com/upgrade.html
For upgrading. See [[ImportTiddlers]].
URL: http://mptw.tiddlyspot.com/upgrade.html
/***
|Name|NewHereCommand|
|Source|http://simonbaird.com/mptw/#NewHereCommand|
|Version|1.0|

Code originally by ArphenLin. Small tweak by SimonBaird
http://aiddlywiki.sourceforge.net/NewHere_demo.html#NewHereCommand
To use this you must edit your ViewTemplate and add newHere to the toolbar div, eg
{{{<div class='toolbar' macro='toolbar ... newHere'></div>}}}
***/

//{{{

config.commands.newHere = {
	text: 'new here',
	tooltip: 'Create a new tiddler tagged as this tiddler',
	handler: function(e,src,title) {
		if (!readOnly) {
			clearMessage();
			var t=document.getElementById('tiddler'+title);
			story.displayTiddler(t,config.macros.newTiddler.title,DEFAULT_EDIT_TEMPLATE);
			story.setTiddlerTag(config.macros.newTiddler.title, title, 0);
			story.focusTiddler(config.macros.newTiddler.title,"title");
			return false;
		}
	}
};

//}}}
/***
| Name:|NewHerePlugin|
| Description:|Creates the new here and new journal macros|
| Version:|3.0 ($Rev: 1845 $)|
| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.macros, {
	newHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
		}
	},
	newJournalHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
		}
	}
});

//}}}

/***
| Name:|NewMeansNewPlugin|
| Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
| Version:|1.0 ($Rev: 2263 $)|
| Date:|$Date: 2007-06-13 04:22:32 +1000 (Wed, 13 Jun 2007) $|
| Source:|http://mptw.tiddlyspot.com/empty.html#NewMeansNewPlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{

String.prototype.getNextFreeName = function() {
       var numberRegExp = / \(([0-9]+)\)$/;
       var match = numberRegExp.exec(this);
       if (match) {
               var num = parseInt(match[1]) + 1;
               return this.replace(numberRegExp," ("+num+")");
       }
       else {
               return this + " (1)";
       }
}

config.macros.newTiddler.getName = function(newName) {
       while (store.getTiddler(newName))
               newName = newName.getNextFreeName();
       return newName;
}


config.macros.newTiddler.onClickNewTiddler = function()
{
	var title = this.getAttribute("newTitle");
	if(this.getAttribute("isJournal") == "true") {
		var now = new Date();
		title = now.formatString(title.trim());
	}

	title = config.macros.newTiddler.getName(title); // <--- only changed bit

	var params = this.getAttribute("params");
	var tags = params ? params.split("|") : [];
	var focus = this.getAttribute("newFocus");
	var template = this.getAttribute("newTemplate");
	var customFields = this.getAttribute("customFields");
	story.displayTiddler(null,title,template,false,null,null);
	var tiddlerElem = document.getElementById(story.idPrefix + title);
	if(customFields)
		story.addCustomFields(tiddlerElem,customFields);
	var text = this.getAttribute("newText");
	if(typeof text == "string")
		story.getTiddlerField(title,"text").value = text.format([title]);
	for(var t=0;t<tags.length;t++)
		story.setTiddlerTag(title,tags[t],+1);
	story.focusTiddler(title,focus);
	return false;
};

//}}}

<<tiddler ReplaceDoubleClick>>
@@''An article about my work (co-authored by Luca Bertolini)'' has been accepted for publication in Transportation. Thanks to the Open Access agreement, this article can already be read [[here|http://www.springerlink.com/content/3685341667452303/fulltext.pdf]]@@

@@''Model Town: Using urban Simulation in New Town Planning'', a book edited together with [[Egbert Stolk|http://www.egbertstolk.nl]] is published and can be ordered [[here|http://www.sunarchitecture.nl/catalogue/categori/urbanism/model_town_9789085068044.html]]!@@

@@A special website about an international seminar about the (mis)use of transport models in urban planning practice (14-16th of October 2009) is now [[online|http://seminar.transport-planning.eu]]. For the Dutch invitation [[click here|pdfs/Uitnodiging.pdf]] @@

@@A part of my research has been submitted as Master thesis for the Msc. [[Geographical Information Management and Applications|http://www.msc-gima.nl]]. I was rewarded with a 8 for this work, which means I will receieve a degree with distinction@@



[[MptwPageTemplate]]
''Name'': Marco te Brommelstroet
''Working adress'': //Universiteit van Amsterdam//, Nieuwe Prinsengracht 130, 1018 VZ Amsterdam
''Telephone'': +31 (0)20 525 4149
''E-mail'': marcoATtransport-planningDOTeu
''Website'': www.transport-planning.eu

''EDUCATION''
''2004-2009'' Master Geographical Information Management and Application at the collective ''Universities of Utrecht'', ''Wageningen'', ''Delft'' and the ''ITC institute''

''2003-2005'' [[Master Environmental and Infrastructure Planning]] at the ''University of Groningen'', Groningen

''1999-2003'' Ruimtelijke Ordening and Planologie at the ''Saxion Hogeschool ~IJselland'', Deventer

''1993-1999'' Voorbereidend Wetenschappelijk Onderwijs at the ''Isala College'', Terborg
<<tiddler ReplaceDoubleClick>>“We should properly equip the warrior, instead of just manning the equipment”. With this statement as departing point, this research is aimed at the development of a planning methodology that supports the integration of land use and transport planning processes at a regional scale. It is especially on this scale that we can recognize a gap between the two planning domains resulting in suboptimal planmaking.  A content-oriented integration can be achieved through the focus on (sustainable) accessibility, which expresses both the state of the land use situation as the transport system. But how can this notion subsequently be translated into daily planning practice?

Although the importance of integrating land use and transport planning processes is widely recognized, there is still little evidence of such integration in day-to-day planning practice and if so, the overall impact on mobility and sustainability is often limited. A part of the explanation for this is sought in the persistence of institutional barriers and the different vocabularies of both planning professions. A planning support method that on the hand supports visioning and free-thinking and on the other hand delivers quantitative information can possibly (partly) help to bring down these barriers.

Yet, when considering the discrepancy between the number of developed planning support methods and the number of implemented ones (in general and in the field of land use and transport integration), we should be careful in developing another one. herefore the participation of planners is crucial in this research. Reasoning from there practical experience and problems, the characteristics of the necessary supportive information can be derived. These can then be used to see which planning support is useful in which stage of the process. Initially, a developer community is set-up within the departments of land use (dRO) and transport (dIVV) of the Amsterdam municipality.
/***
|Name|HoverMenuPlugin|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#HoverMenuPlugin|
|Version|1.11|
|Requires|~TW2.x|
!Description:
Provides a hovering menu on the edge of the screen for commonly used commands, that scrolls with the page.

!Demo:
Observe the hovering menu on the right edge of the screen.

!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
To customize your HoverMenu, edit the HoverMenu shadow tiddler.

To customize whether the menu sticks to the right or left edge of the screen, and its start position, edit the HoverMenu configuration settings part of the code below. It's well documented, so don't be scared!

The menu has an id of hoverMenu, in case you want to style the buttons in it using css.

!Notes:
Since the default HoverMenu contains buttons for toggling the side bar and jumping to the top of the screen and to open tiddlers, the ToggleSideBarMacro, JumpMacro and the JumpToTopMacro are included in this tiddler, so you dont need to install them separately. Having them installed separately as well could lead to complications.

If you dont intend to use these three macros at all, feel free to remove those sections of code in this tiddler.

!To Do:
* rework code to allow multiple hovering menus in different positions, horizontal etc.
* incorporate code for keyboard shortcuts that correspond to the buttons in the hovermenu

!History:
*03-08-06,  ver 1.11: fixed error with button tooltips
*27-07-06, ver 1.1 : added JumpMacro to hoverMenu
*23-07-06

!Code
***/

/***
start HoverMenu plugin code
***/
//{{{
config.hoverMenu={};
//}}}

/***
HoverMenu configuration settings
***/
//{{{
config.hoverMenu.settings={
               align: 'right',    //align menu to right or left side of screen, possible values are 'right' and 'left'               
               x: 1,              // horizontal distance of menu from side of screen, increase to your liking.
               y: 158            //vertical distance of menu from top of screen at start, increase or decrease to your liking
               };
//}}}

//{{{
//continue HoverMenu plugin code
config.hoverMenu.handler=function()
{
               var theMenu = createTiddlyElement(document.getElementById("contentWrapper"), "div","hoverMenu");
               theMenu.setAttribute("refresh","content");
               theMenu.setAttribute("tiddler","HoverMenu");
               var menuContent = store.getTiddlerText("HoverMenu");
               wikify(menuContent,theMenu);

	       var Xloc = this.settings.x;
	       Yloc =this.settings.y;
	       var ns = (navigator.appName.indexOf("Netscape") != -1);
	       function SetMenu(id)
                        {
		        var GetElements=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
		        if(document.layers)GetElements.style=GetElements;
		        GetElements.sP=function(x,y){this.style[config.hoverMenu.settings.align]=x +"px";this.style.top=y +"px";};
		        GetElements.x = Xloc;
		        GetElements.y = findScrollY();
		        GetElements.y += Yloc;
		        return GetElements;
	                }
               window.LoCate_XY=function()
                        {
		        var pY =  findScrollY();
                        ftlObj.y += (pY + Yloc - ftlObj.y)/15;
		        ftlObj.sP(ftlObj.x, ftlObj.y);
		        setTimeout("LoCate_XY()", 10);
	                }
               ftlObj = SetMenu("hoverMenu");
	       LoCate_XY();
};

window.old_lewcid_hovermenu_restart = restart;
restart = function()
{
               window.old_lewcid_hovermenu_restart();
               config.hoverMenu.handler();
};

setStylesheet(
"#hoverMenu  .button, #hoverMenu  .tiddlyLink {border:none; font-weight:bold; background:#990000; color:#ffcccc; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#ffcccc; background:#990000; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button {width:100%; text-align:center}"+
"#hoverMenu { position:absolute; width:7px;}\n"+
"\n","hoverMenuStyles");


config.macros.renameButton={};
config.macros.renameButton.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{

               if (place.lastChild.tagName!="BR")
                     {
                      place.lastChild.firstChild.data = params[0];
                      if (params[1]) {place.lastChild.title = params[1];}
                     }
};

config.shadowTiddlers["HoverMenu"]="<<top>>\n<<toggleSideBar>><<renameButton '>' >>\n<<jump j '' top>>\n<<saveChanges>><<renameButton s 'Save TiddlyWiki'>>\n<<newTiddler>><<renameButton n>>\n";
//}}}
//end HoverMenu plugin code


//start JumpToTopMacro code
//{{{
config.macros.top={};
config.macros.top.handler=function(place,macroName)
{
               createTiddlyButton(place,"^","jump to top",this.onclick);
}
config.macros.top.onclick=function()
{
               window.scrollTo(0,0);
};

config.commands.top =
{
               text:" ^ ",
               tooltip:"jump to top"
};

config.commands.top.handler = function(event,src,title)
{
               window.scrollTo(0,0);
}
//}}}
//end JumpToStartMacro code

//start JumpMacro code
//{{{
config.macros.jump= {};
config.macros.jump.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
        var label = (params[0] && params[0]!=".")? params[0]: 'jump';
        var tooltip = (params[1] && params[1]!=".")? params[1]: 'jump to an open tiddler';
        var top = (params[2] && params[2]=='top') ? true: false;        

        var btn =createTiddlyButton(place,label,tooltip,this.onclick);
        if (top==true)
              btn.setAttribute("top","true")
}

config.macros.jump.onclick = function(e)
{
        if (!e) var e = window.event;
        var theTarget = resolveTarget(e);
        var top = theTarget.getAttribute("top");
	var popup = Popup.create(this);
	if(popup)
		{
                 if(top=="true")
                                {createTiddlyButton(createTiddlyElement(popup,"li"),'Top ↑','Top of TW',config.macros.jump.top);
                                 createTiddlyElement(popup,"hr");}
		
		story.forEachTiddler(function(title,element) {
			createTiddlyLink(createTiddlyElement(popup,"li"),title,true);
			});
                }
	Popup.show(popup,false);
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
	return false;
}

config.macros.jump.top = function()
{
       window.scrollTo(0,0);
}
//}}}
//end JumpMacro code

//utility functions
//{{{
Popup.show = function(unused,slowly)
{
	var curr = Popup.stack[Popup.stack.length-1];
	var rootLeft = findPosX(curr.root);
	var rootTop = findPosY(curr.root);
	var rootHeight = curr.root.offsetHeight;
	var popupLeft = rootLeft;
	var popupTop = rootTop + rootHeight;
	var popupWidth = curr.popup.offsetWidth;
	var winWidth = findWindowWidth();
        if (isChild(curr.root,'hoverMenu'))
              var x = config.hoverMenu.settings.x;
        else
              var x = 0;
	if(popupLeft + popupWidth+x > winWidth)
		popupLeft = winWidth - popupWidth -x;
        if (isChild(curr.root,'hoverMenu'))
  	        {curr.popup.style.right = x + "px";}
        else
                curr.popup.style.left = popupLeft + "px";
	curr.popup.style.top = popupTop + "px";
	curr.popup.style.display = "block";
	addClass(curr.root,"highlight");
	if(config.options.chkAnimate)
		anim.startAnimating(new Scroller(curr.popup,slowly));
	else
		window.scrollTo(0,ensureVisible(curr.popup));
}

window.isChild = function(e,parentId) {
        while (e != null) {
                var parent = document.getElementById(parentId);
                if (parent == e) return true;
                e = e.parentNode;
                }
        return false;
};
//}}}
<<tiddler ReplaceDoubleClick>>@@color: darkred;__''~PhD RELATED ARTICLES''__@@
''Te Brömmelstroet, M.C.G. & L. Bertolini (2008)'', //Developing Land use and Transport PSS: Meaningful information through a dialogue between modelers and planners//, Transport Policy, volume 15, issue 4, pp. 251-259
[[Click here to go to article|http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6VGG-4T3KTBD-1&_user=1299377&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000024218&_version=1&_urlVersion=0&_userid=1299377&md5=c2799486924186204106b3ea2e4124a1]]


''Te Brömmelstroet, M.C.G. (2010)'',//Equip the warrior instead of manning the equipment: state of practice of land use and transport planning support in the Netherlands//,Journal of Transport and Land Use, ''forthcoming''

''Te Brömmelstroet, M.C.G. & P.M. Schrijnen (2008)'', //From Planning Support Systems to Mediated Planning Support: A structured dialogue to overcome the implementation gap//, accepted by Environment and Planning B: Planning and Design

''Straatemeier, T, L. Bertolini, Te Brömmelstroet, M.C.G. & P. Hoetjes (2008)'',//An experiential approach to research in planning//, submitted to Environment and Planning B: Planning and Design

''Te Brömmelstroet, M.C.G., T. Straatemeier & P. Hoetjes (2008)'',//Linking expert knowledge to strategy-making processes//, submitted to Planning Theory and Practice

''Te Brömmelstroet, M.C.G. & L. Bertolini (2008)'',//How integrated land use and transport strategies come about: Strategy making through knowledge generation//, Transportation
[[published here|http://www.springerlink.com/content/3685341667452303/fulltext.pdf]]

''Te Brömmelstroet, M.C.G. (2006)'', //Kenmerk Van Het Ware Is De Eenvoud//, Rooilijn, 39(6), 320-325.
[img[WorkingPaper|images/pdf.jpg][pdfs/Rooilijn2.pdf]]
''Te Brömmelstroet, M.C.G. (2007)'', //Integratie Van Ruimtelijke- En Verkeersplanning: Waar Een Wil Is, Is Een Weg//, VI Matrix, 15(7), 20-23

''Te Brömmelstroet, M.C.G. and P. Siderius (2007)'', //Modelleren op de tekentafel//, Verkeerskunde, 58(10), 44-49


@@color: darkred;__''~PhD RELATED BOOK SECTIONS''__@@
''Te Brömmelstroet, M.C.G. (2009)'', //Afstemming tussen wonen, werken en verkeer vraagt om een nieuwe gemeenschappelijke taal//, In: Grensverleggend vernieuwen: weerbarstige praktijken (Ed. Klopstra, A.), Transitienetwerk, Utrecht

''Te Brömmelstroet, M.C.G. (2009)'', //Hoe maak je modellen meer bruikbaar voor praktijken van planning? Een constructieve dialoog als brug tussen twee werelden//, In: Synergie in stedelijke netwerken: tussen competitie en complementariteit (Eds. Salet. W. & L. Janssen-Jansen), Sdu Uitgevers, Den Haag 

''Te Brömmelstroet, M., and Stolk, E. (2009)'', //New Town Simulation: An Introduction//, In: Model Town: Using Urban Simulation in New Town Planning, (E. Stolk and M. Te Brömmelstroet, eds.), SUN Publishers, Amsterdam, 8-15.

''Stolk, E., and Te Brömmelstroet, M. (2009)''. //Model Town: Using Urban Simulation in New Town Planning//, SUN Publishers, Amsterdam.


@@color: darkred;__''OTHER ARTICLES''__@@
''Te Brömmelstroet, M.C.G. (2006)'', //Europees transportbeleid in ontwikkeling//, Rooilijn, 39(3), 121-126.

''Te Brömmelstroet, M.C.G. (2008)'',//Book review "Engaging the Future: Forecasts, Scenarios, Plans, and Projects// by L.D. Hopkins and M.A. Zapata (2007), Planning theory and Practive, 9 () 

''Te Brömmelstroet, M.C.G. & E. Stolk (2008)'', //Stimulatie voor simulatie//, Rooilijn, 41(2), 106-123.

''Te Brömmelstroet, M.C.G. & T. Nowak (2008)'',//How a court, a commissioner and a lobby group brought European transport policy to life in 1985//, GeoJournal
[[Click here to go to article|http://www.springerlink.com/content/m58640k7830g2175/]]


@@color: darkred;__''~PhD REPORTS''__@@
''Te Brömmelstroet, M. C. G. (2007)'', //State of Practice of Existing Land Use and Transport Instruments: Assessing Existing Instruments for the Usefulness of Supporting Early Phases of Land Use and Transport Planning in the Netherlands.// Transumo, Amsterdam.
[img[corppdf|images/pdf.jpg][http://www.transport-planning.eu/pdfs/stateofpractice.pdf]]

''Te Brömmelstroet, M. C. G., Bertolini, L., Nip, M., Verschuuren, S., Kuik, F., and Buffing, T. (2007)'', //Integrale 'Ruimte - Verkeer & Vervoer' Strategieën Voor De Regio Amsterdam: Vingerwijzingen Vanuit Een Workshop Reeks Met Amsterdam En De Stadsregio Amsterdam.// Transumo, Amsterdam.
[img[corppdf|images/pdf.jpg][http://www.transport-planning.eu/pdfs/rovvamsterdam.pdf]]

''Te Brömmelstroet, M. C. G., Bertolini, L., Siderius, P., and Brohm, G. (2007)'', //Genmod Voor Het Ondersteunen Van De Integratie Van Ruimte En Verkeer & Vervoer Planning: Vingerwijzingen Om Bestaande Instrumenten Bruikbaar Te Maken Om Vroegtijdige Integratie Van Ruimtelijke En Verkeersplanning Te Ondersteunen.// Transumo, Amsterdam.
[img[corppdf|images/pdf.jpg][http://www.transport-planning.eu/pdfs/genmodmps.pdf]]

''Te Brömmelstroet, M. C. G., Bertolini, L., and van 't Geloof, E. (2007)'', //Integrale 'Ruimte - Verkeer & Vervoer' Strategieën Voor Breda-Oost: Verslag Van Een Reeks Workshops Met De Gemeente Breda En De Gemeente ~OosterHout.// Transumo, Amsterdam.
[img[corppdf|images/pdf.jpg][http://www.transport-planning.eu/pdfs/rovvbreda.pdf]]


@@color: darkred;__''~PhD CONFERENCE PAPERS''__@@
''Te Brömmelstroet, M.C.G. (2006)'', //A better integration of transport and land use planning by developing a participative method for helping find solutions//. Paper presented at the PhD workshop at the conference Transportation Planning; a Policy design Challenge, Amsterdam, 14-16 June 2006

''Te Brömmelstroet, M.C.G. (2006)'', //Properly equip the planner, instead of just manning the equipment; An assessment of Dutch regional land use and transport PSS//. Paper presented at the 8th International conference on Design & Decision Support Systems in Architecture and Urban Planning, Eindhoven, 4-7 July 2006

''Te Brömmelstroet, M.C.G. (2006)'', //Designing sustainable accessibility; background, goals and research questions//. Paper presented at the AESOP ~PhD conference in Bristol, 25-27 July 2006

''Te Brömmelstroet, M.C.G. (2006)'', //A user-orientation on PSS for land use and transport integration: exploring implementation bottlenecks//. Paper presented at the International Workshop Geo-spatial Information and Decision Support for Urban Planning in Wuhan, 30-31 October

''Te Brömmelstroet, M.C.G. , T. Straatemeier and P. Hoetjes (2006)'', //Linking information to strategic planning processes//. Paper presented at the International Workshop Geo-spatial Information and Decision Support for Urban Planning in Wuhan, 30-31 October
[img[WorkingPaper|images/pdf.jpg][pdfs/NETPLANWorkingPaper.pdf]]
@@''A revised version of this paper was sent to the [[Journal of Planning Education and Research (JPER)|http://jpe.sagepub.com/]]''@@ 

''Te Brömmelstroet, M.C.G. (2007)'', //Developing a meaningful PSS for land use and transport integration: theory and practice//. Paper presented at the second international Framing Land Use Dynamics conference in Utrecht, April 18-20

''Te Brömmelstroet, M.C.G. (2007)'', //Developing a meaningful PSS for land use and transport integration: first experiences from working with a community of practice//. Reviewed paper for the 12th International Conference on Urban Planning and Regional Development in the Information Society in Vienna, May 20-23
[img[corppdf|images/pdf.jpg][http://programm.corp.at/cdrom2007/archiv/papers2007/corp2007_TEBROEMMELSTROET.pdf]]
@@''This paper won the price for best [[Conference Paper|http://www.corp.at]]''@@ 

''Te Brömmelstroet, M.C.G. and P.M. Schrijnen (2007)'', //Developing a meaningful PSS for land use and transport integration: first experiences from working with a community of practice//. Reviewed paper for the 10th International Conference on Computers in Urban Planning and Urban Management in Foz de Iguazu, Brasil, July 11-13

''Te Brömmelstroet, M.C.G. and L. Bertolini (2007)'', //Using existing instruments to improve the planning support for integration of land use and transport planning//. Paper for the the 34th Colloquium Vervoersplanologisch Speurwerk in Antwerps, Belgium
@@''This paper was nominated for the Application Award''@@ 

''Te Brömmelstroet, M.C.G. (2007)'', //Desired characteristics of expert knowledge to support the integration of land use and transport planning//. Paper for the the 34th Colloquium Vervoersplanologisch Speurwerk in Antwerps, Belgium
[img[corppdf|images/pdf.jpg][pdfs/CVS2007_MteBrommelstroet.pdf]]

''Te Brömmelstroet, M.C.G. (2008)'',//Integrative land use and transport strategies: How to strengthen strategic capacity for land use and transport planners through Mediated Planning Support//. Paper presented at the international NECTAR workshop "Transition to sustainable mobility", Rotterdam, May 15-16  

''Te Brömmelstroet, M.C.G. (2008)'',//Integrative land use and transport strategies: knowledge generation as a framework to strengthen strategic capacity//. Paper for the 4th ACSP/AESOP joint congress, Chicago Illinois, July 6-11

''Straatemeier, T., Hoetjes, P., te Brömmelstroet, M.C.G. & Bertolini, L (2008)'', //Food For Thought And Thought For Food: An Experiential Approach Towards Research In Planning//. Paper for the 4th ACSP/AESOP joint congress, Chicago Illinois, July 6-11

''te Brömmelstroet, M.C.G. (2008)'',//Who controls the present now, controls the future: over de mismatch tussen wat verkeersmodellen kunnen en hun rol bij besluitvorming//. Paper for the 35th CVS conference, Santpoort, November 20-21
@@''This paper was granted the Application Award (1000 Euro)''@@
[img[CVSpdf|images/pdf.jpg][pdfs/CVSMTB.pdf]]

''te Brömmelstroet, M.C.G. & M. Dijst (2008)'',//De gemiddelde inwoner heeft niet de toekomst//. Paper for the 35th CVS conference, Santpoort, November 20-21
@@''This paper was nominated for the Scientific Award''@@
[img[CVSpdf|images/pdf.jpg][pdfs/CVSMTBMD.pdf]]


@@color: darkred;__''OTHER CONFERENCE PAPERS''__@@
''Avelino, F.R., M.C.G. te Brömmelstroet & G.Hulster (2006)'', //The politics of time table planning: Comparing the Dutch to the Swiss//. Paper presented at the 33rd Colloquium Vervoersplanologisch Speurwerk in Amsterdam, November 23-24 
 
''Te Brömmelstroet, M.C.G. and T. Nowak (2007)'', //European Transport in Motion//. Paper presented at the First International Conference on the Geography of Europe in Amsterdam, August 20-23
@@''This paper is submitted in a joint special issue on Multi-level Governance in ~GeoJournal''@@
/***
| Name|QuickOpenTagPlugin|
| Description|Changes tag links to make it easier to open tags as tiddlers|
| Version|3.0.1 ($Rev: 2342 $)|
| Date|$Date: 2007-07-05 10:57:49 +1000 (Thu, 05 Jul 2007) $|
| Source|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can to <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		}
		
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
		
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
                        config.views.wikified.tag.tooltip.format([tag]),onClickTag);
		theTag.setAttribute("tag",tag);
		if (excludeTiddler)
			theTag.setAttribute("tiddler",excludeTiddler);
    		return(theTag);
	},

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
                        	config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
			theTag.setAttribute("tag",tiddler.title);
			theTag.className = "miniTag";
		}
	},

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var ul = createTiddlyElement(place,"ul");
		if(tags.length == 0)
			createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				theLink.appendChild(document.createTextNode(theCount));
				var theDropDownBtn = createTiddlyButton(theListItem," " +
					config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
				theDropDownBtn.setAttribute("tag",tags[t][0]);
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
		store.addNotification("QuickOpenTagStyles",refreshStyles);
	}
}

config.quickOpenTag.init();

//}}}
*''Organiser and Chair''* of the international seminar on Transport Models and Urban Planning Practice (http://seminar.transport-planning.eu)

*''Key note speaker'' in course on European Transportation Planning for a Chinese Delegation, November 9-10 2009, ERA, Trier, Germany.

*''Chair'' of the session 'Urban Public Transport' on the CVS conference, November 19-20, Antwerps, Belgium.

*''Teacher'' in Bachelor course on Methods & techniques for scientific research, Bachelor Planologie & Social Geography, University of Amsterdam, 2008-2009.

*''Teacher'' in Bachelor atelier (Bachelor studio), Bachelor Planologie, University of Amsterdam, 2008-2009.

*''Coordinator'' in Bachelor course “Planning voor Ruimte en Mobiliteit”, Bachelor Planologie, University of Amsterdam, 2008-2009.

*''Assistant-teacher'' in Master Course “Verkeer, vervoer en infrastructuur ~AM9001”, Master Planologie, University of Amsterdam, 2006-2007.

*Developing and maintaining ''website'' for the international seminar "Transportation Planning; a Policy design Challenge?" held in Amsterdam, 14-16 june 2006 

*Developing and maintaining ''website'' for the Transport Planning group of the Association of European Schools of Planning (AESOP) 

*''Webclass “vervoersplanologie”'' for Atheneum students (final year) to introduce the field of transport planning. Finished in 2007. 

*''Guest lecture'' at the University of Wuhan University (Master students in Urban planning), Transportplanning in the Netherlands: History, present and future, Wuhan, October 24th 2006

*''Guest lecture'' at the ~SouthEast (Dong Nan) University in Nanjing (Master students in Transport planning), Transportplanning in the Netherlands: History, present and future, Nanjing, November 6th 2006

*''Guest lecture'' at Beijing University (Master students in Urban Design), Transportplanning in the Netherlands: History, present and future, Beijing, November 10th 2006

*''Video about transportplanning in Chinese megacities''(ChineseMegacitiesAndTransportLQ): A short documentary about Chinese megacities and how they deal with strong urbanization and automobilization trends. 5.47 minutes, 2007

*''Steward'' at the European Transport Conference, Strassbourg 2006

*''Chair'' of the session 'State of Practice in the Netherlands' on the international conference on Frontiers in transport: Social interaction, October 12-14 2007, Amsterdam

*''Workshop'' "Time table planning: a political process". A workshop with Dutch Railways (NS) and Prorail, 12-04-2007, Utrecht. 

*''Organiser'' "Bijlmer station revisited". A seminar for 40 professionals in the rail sector on the new station and its surroundings in Amsterdam ~SouthEast, 03-06-2008, Amsterdam.

*''Chair'' of the session "Learning with and about ~GEO-ICT and planning". Part of a seminar on the troubled relation between planning and ~GEO-ICT, University of Wageningen, 12-06-2008, Utrecht. 

*''Moderator/discussant'' of the session "Assessment and Participation in the Transportation Planning Process". Part of the fourth joint conference of the ACSP and AESOP, 10-07-2008, Chicago.

*''Chair'' of the session on Planning Support Systems in the Transport Planning track of the annual AESOP conference in Liverpool   
/***
| Name:|RenameTagsPlugin|
| Description:|Allows you to easily rename or delete tags across multiple tiddlers|
| Version:|3.0 ($Rev: 1845 $)|
| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
***/
//{{{
config.renameTags = {

	prompts: {
		rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
		remove: "Remove the tag '%0' from %1 tidder%2?"
	},

	removeTag: function(tag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,tag);
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	renameTag: function(oldTag,newTag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
			store.setTiddlerTag(tiddlers[i].title,true,newTag);  // add new
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	storeMethods: {

		saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

		saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields) {
			if (title != newTitle) {
				var tagged = this.getTaggedTiddlers(title);
				if (tagged.length > 0) {
					// then we are renaming a tag
					if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))
						config.renameTags.renameTag(title,newTitle,tagged);

					if (!this.tiddlerExists(title) && newBody == "")
						// dont create unwanted tiddler
						return null;
				}
			}
			return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields);
		},

		removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,

		removeTiddler: function(title) {
			var tagged = this.getTaggedTiddlers(title);
			if (tagged.length > 0)
				if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
					config.renameTags.removeTag(title,tagged);
			return this.removeTiddler_orig_renameTags(title);
		}

	},

	init: function() {
		merge(TiddlyWiki.prototype,this.storeMethods);
	}
}

config.renameTags.init();

//}}}

/%
|Name|ReplaceDoubleClick|
|Source|http://www.TiddlyTools.com/#ReplaceDoubleClick|
|Version|2.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin|
|Overrides|tiddler background click and doubleclick handlers|
|Description|disable doubleclick-to-edit-tiddler or replace doubleclick with shift/ctrl/alt+singleclick|

Usage:
	in tiddler content:
		<<tiddler ReplaceDoubleClick>> or
		<<tiddler ReplaceDoubleClick with: key trigger>>
	in ViewTemplate:
		<span macro="tiddler ReplaceDoubleClick"></span> or
		<span macro="tiddler ReplaceDoubleClick with: key trigger"></span>
where: 
	'key' (optional) is one of: none (default), ctrl, shift, or alt
	'trigger' (optional) is one of: click, doubleclick (default)

* if no key parameter (or "none") is specified, then the double-click action is **disabled** for that tiddler.
* if a key (other than none) is specified, the doubleclick action for the tiddler will only be invoked
	when the key+trigger combination is used.
* note: double-clicking will also trigger the single-click handler.  As a result, when 'click' option is specified,
	either click OR double-click (plus the specified key) will trigger the action.

Revision History:
2.0.0 renamed from ShiftClickToEdit and merged with DoubleClickDisable and added support specifiying alternative key+click combination

%/<script>
	var here=story.findContainingTiddler(place); if (!here) return;
	if (here.ondblclick) {
		here.setAttribute("editKey","none");
		if ("$1"=="shift" || "$1"=="ctrl" || "$1"=="alt")
			here.setAttribute("editKey","$1"+"Key");
		var trigger=("$2"=="click")?"onclick":"ondblclick";
		here.save_dblclick=here.ondblclick;
		here.ondblclick=null;
		if (here.getAttribute("editKey")!="none")
			here[trigger]=function(e) {
				var ev=e?e:window.event;
				if (ev[this.getAttribute("editKey")])
					this.save_dblclick.apply(this,arguments);
			}
	}
</script>
Very nice animation of global air traffic in one day
!Click the picture to see the movie!

<html>
<div align="center">
<div id="myYVideo1" style="display:none">
<div><object width="960" height="590"><param name="movie" value="http://www.youtube.com/v/1XBwjQsOEeg&hl=nl&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1XBwjQsOEeg&hl=nl&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="960" height="590"></embed></object></div>
</div>
<a href="javascript:;" onclick="DC3.LightBox.showBox('myYVideo1')"><img src="http://www.transport-planning.eu/images/airtraffic.jpg" alt="Flightdata" height="40%" width="40%"/></a></div></html>
<<tiddler ReplaceDoubleClick>>
<html>
<embed src="http://www.transport-planning.eu/images/portfolio.swf" quality="high" width="640" height="480" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></embed>
</html>
/***
| Name|SaveCloseTiddlerPlugin|
| Description|Provides two extra toolbar commands, saveCloseTiddler and cancelCloseTiddler|
| Version|3.0 ($Rev: 2134 $)|
| Date|$Date: 2007-04-30 16:11:12 +1000 (Mon, 30 Apr 2007) $|
| Source|http://mptw.tiddlyspot.com/#SaveCloseTiddlerPlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
To use these you must add them to the tool bar in your EditTemplate
***/
//{{{
merge(config.commands,{

	saveCloseTiddler: {
		text: 'done/close',
		tooltip: 'Save changes to this tiddler and close it',
		handler: function(e,src,title) {
			config.commands.saveTiddler.handler(e,src,title);
			config.commands.closeTiddler.handler(e,src,title);
			return false;
		}
	},

	cancelCloseTiddler: {
		text: 'cancel/close',
		tooltip: 'Undo changes to this tiddler and close it',
		handler: function(e,src,title) {
			config.commands.cancelTiddler.handler(e,src,title);
			config.commands.closeTiddler.handler(e,src,title);
			return false;
		}
	}

});

//}}}

/***
| Name|SelectPalettePlugin|
| Description|Lets you easily change colour palette|
| Version|3.0 ($Rev: 1845 $)|
| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source|http://mptw.tiddlyspot.com/#SelectPalettePlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
/***
!!Usage:
{{{<<<selectPalette>>}}}
<<selectPalette>>

!!WARNING
Will overwrite your ColorPalette tiddler.
***/

//{{{

merge(config.macros,{

	setPalette: {

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			var paletteName = params[0] ? params[0] : tiddler.title;
			createTiddlyButton(place,"apply","Apply this palette",function(e) {
				config.macros.selectPalette.updatePalette(tiddler.title);
				return false;
			});
		}
	},

	selectPalette: {

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			createTiddlyDropDown(place,this.onPaletteChange,this.getPalettes());
		},

		getPalettes: function() {
			var result = [
				{caption:"-palette-", name:""},
				{caption:"(Default)", name:"(default)"}
			];
			var tagged = store.getTaggedTiddlers("palette","title");
			for(var t=0; t<tagged.length; t++) {
				var caption = tagged[t].title;
				var sliceTitle = store.getTiddlerSlice(caption,"Name");
				if (sliceTitle)
					caption = sliceTitle;
				result.push({caption:sliceTitle, name:tagged[t].title});
			}
			return result;
		},

		onPaletteChange: function(e) {
			config.macros.selectPalette.updatePalette(this.value);
			return true;
		},

		updatePalette: function(title) {
			if (title != "") {
				store.deleteTiddler("ColorPalette");
				if (title != "(default)")
					store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(title),
								config.options.txtUserName,undefined,"");
				this.refreshPalette();
				if(config.options.chkAutoSave)
					saveChanges(true);
			}
		},

		refreshPalette: function() {
			config.macros.refreshDisplay.onClick();
		}
	}
});

config.shadowTiddlers.OptionsPanel = "<<selectPalette>>\n\n" + config.shadowTiddlers.OptionsPanel;

//}}}

Integrative approaches to land use and transport challenges
~Transport-Planning.eu
/***

''Inspired by [[TiddlyPom|http://www.warwick.ac.uk/~tuspam/tiddlypom.html]]''

|Name|SplashScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#SplashScreenPlugin|
|Version|0.21 |
|Requires|~TW2.08+|
!Description:
Provides a simple splash screen that is visible while the TW is loading.

!Installation
Copy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.

!Customizing
Once the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the MarkupPreHead tiddler. You can edit it and customize to your needs.

!History
* 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.
* 26-06-06 : version 0.2, first release

!Code
***/
//{{{
var old_lewcid_splash_restart=restart;

restart = function()
{   if (document.getElementById("SplashScreen"))
        document.getElementById("SplashScreen").style.display = "none";
      if (document.getElementById("contentWrapper"))
        document.getElementById("contentWrapper").style.display = "block";
    
    old_lewcid_splash_restart();
   
    if (splashScreenInstall)
       {if(config.options.chkAutoSave)
			{saveChanges();}
        displayMessage("TW SplashScreen has been installed, please save and refresh your TW.");
        }
}


var oldText = store.getTiddlerText("MarkupPreHead");
if (oldText.indexOf("SplashScreen")==-1)
   {var siteTitle = store.getTiddlerText("SiteTitle");
   var splasher='\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';
   if (! store.tiddlerExists("MarkupPreHead"))
       {var myTiddler = store.createTiddler("MarkupPreHead");}
   else
      {var myTiddler = store.getTiddler("MarkupPreHead");}
      myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);
      store.setDirty(true);
      var splashScreenInstall = true;
}
//}}}
<<tiddler ReplaceDoubleClick>>The final Transumo report on the state of practice of LUTR instruments in the Netherlands can be downloaded here [img[FinalReport|images/pdf.jpg][pdfs/stateofpractice.pdf]]

''Summary of research''
Recent research shows that planning support instruments have difficulties in finding their way into daily planning practice. Reasons for this ‘implementation gap’ are that planners see current PSS as far too: generic, complex, technology oriented (rather then problem oriented), narrowly focused on strict rationality and incompatible with the unpredictable/flexible nature of most planning tasks and information needs.

If we apply these findings on general PSS to the LUTR planning domain, we can see some additional opportunities and treats. First of all, the subject of planning encompasses more than average complexity. Not only two separate systems have to addressed both also their numerous interrelations which are not all well understood. Secondly, although there are generic LUTR problems, most of the challenges that have to be faced in integrated LUTR planning are unique for a specific geographical and temporal context, especially in dynamic urban regions. Finally, the information needed has to be meaningful for planners and stakeholders from two very different planning traditions with different educations, skills and planning paradigms.

In March 2007 a web based survey was constructed based on the insights from literature, experience and the interviews with the PSS  developers. A large number of people in the planning domain were asked if they had any experience in integrating
land use and transport planning and, if yes, if they wanted to participate in this survey. Via electronic mailing lists provided by relevant consultants and knowledge networks, approximately 450 people were approached. The call for participation was also placed on several appropriate websites and news letters. The survey was filled in by 124 respondents, equally divided over transport and land use planning domains. The main groups were project leaders, project members and consultants that had experience in land use and transport integrating at municipalities, provinces or consultancy firms.

The figure below shows the level of agreement with 12 general statements on how current transport models are perceived in planning practice. The outcomes of this part of the survey show that, overall, the respondents largely agree withthe fact that current LUTR instrument do not provide enough insight in the complex LUTR relations. Also the statement that outcomes of current instruments are used as justification for already chosen positions by politicians is supported by the respondents. Current LUTR instruments do not the planning process, they are too loosely linked to the political process of decision making and they provide insufficient support for the generation of new scenarios.
Models are implemented too late rather than too early in the planning process and the respondents disagree with the statement that it provides insufficient support for the evaluation of scenarios.

[img[LUTR propositions|images/LUTRPSSPropositions.jpg]]

In general, the results show that the respondents are dissatisfied with the current instruments and how they are used (and developed). This is supported with the response in the open questions. One land use respondent argued that he would rather see “provisional instrument that is simple in use and shows useful images than the current sophisticated black boxes”.

[[MptwStyleSheet]]

.justifyfull {
   text-align: justify;
}
<<allTags excludeLists>>
<<tabs txtMoreTab "Tags" "All Tags" TabAllTags "Miss" "Missing tiddlers" TabMoreMissing "Orph" "Orphaned tiddlers" TabMoreOrphans "Shad" "Shadowed tiddlers" TabMoreShadowed>>
<<allTags excludeLists [a-z]>>
/***
| Name|TagglyTaggingPlugin|
| Description|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
| Version|3.1 ($Rev: 2341 $)|
| Date|$Date: 2007-07-05 10:02:27 +1000 (Thu, 05 Jul 2007) $|
| Source|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{
config.taggly = {

	// for translations
	lingo: {
		labels: {
			asc:        "\u2191", // down arrow
			desc:       "\u2193", // up arrow
			title:      "title",
			modified:   "modified",
			created:    "created",
			show:       "+",
			hide:       "-",
			normal:     "normal",
			group:      "group",
			commas:     "commas",
			sitemap:    "sitemap",
			numCols:    "cols\u00b1", // plus minus sign
			label:      "Tagged as '%0':",
			excerpts:   "excerpts",
			contents:   "contents",
			sliders:    "sliders",
			noexcerpts: "title only"
		},

		tooltips: {
			title:    "Click to sort by title",
			modified: "Click to sort by modified date",
			created:  "Click to sort by created date",
			show:     "Click to show tagging list",
			hide:     "Click to hide tagging list",
			normal:   "Click to show a normal ungrouped list",
			group:    "Click to show list grouped by tag",
			sitemap:  "Click to show a sitemap style list",
			commas:   "Click to show a comma separated list",
			numCols:  "Click to change number of columns",
			excerpts: "Click to show excerpts",
			contents: "Click to show entire tiddler contents",
			sliders:  "Click to show tiddler contents in sliders",
			noexcerpts: "Click to show entire title only"
		}
	},

	config: {
		showTaggingCounts: true,
		listOpts: {
			// the first one will be the default
			sortBy:     ["title","modified","created"],
			sortOrder:  ["asc","desc"],
			hideState:  ["show","hide"],
			listMode:   ["normal","group","sitemap","commas"],
			numCols:    ["1","2","3","4","5","6"],
			excerpts:   ["noexcerpts","excerpts","contents","sliders"]
		},
		valuePrefix: "taggly.",
		excludeTags: ["excludeLists","excludeTagging"],
		excerptSize: 50,
		excerptMarker: "/%"+"%/"
	},

	getTagglyOpt: function(title,opt) {
		var val = store.getValue(title,this.config.valuePrefix+opt);
		return val ? val : this.config.listOpts[opt][0];
	},

	setTagglyOpt: function(title,opt,value) {
		if (!store.tiddlerExists(title))
			// create it silently
			store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),null);
		// if value is default then remove it to save space
		return store.setValue(title,
			this.config.valuePrefix+opt,
			value == this.config.listOpts[opt][0] ? null : value);
	},

	getNextValue: function(title,opt) {
		var current = this.getTagglyOpt(title,opt);
		var pos = this.config.listOpts[opt].indexOf(current);
		// a little usability enhancement. actually it doesn't work right for grouped or sitemap
		var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);
		var newPos = (pos + 1) % limit;
		return this.config.listOpts[opt][newPos];
	},

	toggleTagglyOpt: function(title,opt) {
		var newVal = this.getNextValue(title,opt);
		this.setTagglyOpt(title,opt,newVal);
	}, 

	createListControl: function(place,title,type) {
		var lingo = config.taggly.lingo;
		var label;
		var tooltip;
		var onclick;

		if ((type == "title" || type == "modified" || type == "created")) {
			// "special" controls. a little tricky. derived from sortOrder and sortBy
			label = lingo.labels[type];
			tooltip = lingo.tooltips[type];

			if (this.getTagglyOpt(title,"sortBy") == type) {
				label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
				onclick = function() {
					config.taggly.toggleTagglyOpt(title,"sortOrder");
					return false;
				}
			}
			else {
				onclick = function() {
					config.taggly.setTagglyOpt(title,"sortBy",type);
					config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
					return false;
				}
			}
		}
		else {
			// "regular" controls, nice and simple
			label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
			tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
			onclick = function() {
				config.taggly.toggleTagglyOpt(title,type);
				return false;
			}
		}

		// hide button because commas don't have columns
		if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
			createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
	},

	makeColumns: function(orig,numCols) {
		var listSize = orig.length;
		var colSize = listSize/numCols;
		var remainder = listSize % numCols;

		var upperColsize = colSize;
		var lowerColsize = colSize;

		if (colSize != Math.floor(colSize)) {
			// it's not an exact fit so..
			upperColsize = Math.floor(colSize) + 1;
			lowerColsize = Math.floor(colSize);
		}

		var output = [];
		var c = 0;
		for (var j=0;j<numCols;j++) {
			var singleCol = [];
			var thisSize = j < remainder ? upperColsize : lowerColsize;
			for (var i=0;i<thisSize;i++) 
				singleCol.push(orig[c++]);
			output.push(singleCol);
		}

		return output;
	},

	drawTable: function(place,columns,theClass) {
		var newTable = createTiddlyElement(place,"table",null,theClass);
		var newTbody = createTiddlyElement(newTable,"tbody");
		var newTr = createTiddlyElement(newTbody,"tr");
		for (var j=0;j<columns.length;j++) {
			var colOutput = "";
			for (var i=0;i<columns[j].length;i++) 
				colOutput += columns[j][i];
			var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
			wikify(colOutput,newTd);
		}
		return newTable;
	},

	createTagglyList: function(place,title) {
		switch(this.getTagglyOpt(title,"listMode")) {
			case "group":  return this.createTagglyListGrouped(place,title); break;
			case "normal": return this.createTagglyListNormal(place,title,false); break;
			case "commas": return this.createTagglyListNormal(place,title,true); break;
			case "sitemap":return this.createTagglyListSiteMap(place,title); break;
		}
	},

	getTaggingCount: function(title) {
		// thanks to Doug Edmunds
		if (this.config.showTaggingCounts) {
			var tagCount = store.getTaggedTiddlers(title).length;
			if (tagCount > 0)
				return " ("+tagCount+")";
		}
		return "";
	},

	getExcerpt: function(inTiddlerTitle,title,indent) {
    if (!indent)
			indent = 1;
		if (this.getTagglyOpt(inTiddlerTitle,"excerpts") == "excerpts") {
			var t = store.getTiddler(title);
			if (t) {
				var text = t.text.replace(/\n/," ");
				var marker = text.indexOf(this.config.excerptMarker);
				if (marker != -1) {
					return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
				}
				else if (text.length < this.config.excerptSize) {
					return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
				}
				else {
					return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
				}
			}
		}
		else if (this.getTagglyOpt(inTiddlerTitle,"excerpts") == "contents") {
			var t = store.getTiddler(title);
			if (t) {
				return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
			}
		}
		else if (this.getTagglyOpt(inTiddlerTitle,"excerpts") == "sliders") {
			var t = store.getTiddler(title);
			if (t) {
				return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
			}
		}
		return "";
	},

	notHidden: function(t,inTiddler) {
		if (typeof t == "string") 
			t = store.getTiddler(t);
		return (!t || !t.tags.containsAny(this.config.excludeTags) ||
				(inTiddler && this.config.excludeTags.contains(inTiddler)));
	},

	// this is for normal and commas mode
	createTagglyListNormal: function(place,title,useCommas) {

		var list = store.getTaggedTiddlers(title,this.getTagglyOpt(title,"sortBy"));

		if (this.getTagglyOpt(title,"sortOrder") == "desc")
			list = list.reverse();

		var output = [];
		var first = true;
		for (var i=0;i<list.length;i++) {
			if (this.notHidden(list[i],title)) {
				var countString = this.getTaggingCount(list[i].title);
				var excerpt = this.getExcerpt(title,list[i].title);
				if (useCommas)
					output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
				else
					output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");

				first = false;
			}
		}

		return this.drawTable(place,
			this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
			useCommas ? "commas" : "normal");
	},

	// this is for the "grouped" mode
	createTagglyListGrouped: function(place,title) {
		var sortBy = this.getTagglyOpt(title,"sortBy");
		var sortOrder = this.getTagglyOpt(title,"sortOrder");

		var list = store.getTaggedTiddlers(title,sortBy);

		if (sortOrder == "desc")
			list = list.reverse();

		var leftOvers = []
		for (var i=0;i<list.length;i++)
			leftOvers.push(list[i].title);

		var allTagsHolder = {};
		for (var i=0;i<list.length;i++) {
			for (var j=0;j<list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (this.notHidden(list[i].tags[j],title)) {

						if (!allTagsHolder[list[i].tags[j]])
							allTagsHolder[list[i].tags[j]] = "";

						if (this.notHidden(list[i],title)) {
							allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
										+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";

							leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers

						}
					}
				}
			}
		}

		var allTags = [];
		for (var t in allTagsHolder)
			allTags.push(t);

		var sortHelper = function(a,b) {
			if (a == b) return 0;
			if (a < b) return -1;
			return 1;
		};

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == "title") return sortHelper(a,b);
			else if (!tidA && !tidB) return 0;
			else if (!tidA) return -1;
			else if (!tidB) return +1;
			else return sortHelper(tidA[sortBy],tidB[sortBy]);
		});

		var leftOverOutput = "";
		for (var i=0;i<leftOvers.length;i++)
			if (this.notHidden(leftOvers[i],title))
				leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";

		var output = [];

		if (sortOrder == "desc")
			allTags.reverse();
		else if (leftOverOutput != "")
			// leftovers first...
			output.push(leftOverOutput);

		for (var i=0;i<allTags.length;i++)
			if (allTagsHolder[allTags[i]] != "")
				output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);

		if (sortOrder == "desc" && leftOverOutput != "")
			// leftovers last...
			output.push(leftOverOutput);

		return this.drawTable(place,
				this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
				"grouped");

	},

	// used to build site map
	treeTraverse: function(title,depth,sortBy,sortOrder) {

		var list = store.getTaggedTiddlers(title,sortBy);
		if (sortOrder == "desc")
			list.reverse();

		var indent = "";
		for (var j=0;j<depth;j++)
			indent += "*"

		var childOutput = "";
		for (var i=0;i<list.length;i++)
			if (list[i].title != title)
				if (this.notHidden(list[i].title,this.config.inTiddler))
					childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder);

		if (depth == 0)
			return childOutput;
		else
			return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
	},

	// this if for the site map mode
	createTagglyListSiteMap: function(place,title) {
		this.config.inTiddler = title; // nasty. should pass it in to traverse probably
		var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"));
		return this.drawTable(place,
				this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
				"sitemap"
				);
	},

	macros: {
		tagglyTagging: {
			handler: function (place,macroName,params,wikifier,paramString,tiddler) {
				var refreshContainer = createTiddlyElement(place,"div");
				// do some refresh magic to make it keep the list fresh - thanks Saq
				refreshContainer.setAttribute("refresh","macro");
				refreshContainer.setAttribute("macroName",macroName);
        			refreshContainer.setAttribute("title",tiddler.title);
				this.refresh(refreshContainer);
			},

			refresh: function(place) {
				var title = place.getAttribute("title");
				removeChildren(place);
				if (store.getTaggedTiddlers(title).length > 0) {
					var lingo = config.taggly.lingo;
					config.taggly.createListControl(place,title,"hideState");
					if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
						createTiddlyElement(place,"span",null,"tagglyLabel",lingo.labels.label.format([title]));
						config.taggly.createListControl(place,title,"title");
						config.taggly.createListControl(place,title,"modified");
						config.taggly.createListControl(place,title,"created");
						config.taggly.createListControl(place,title,"listMode");
						config.taggly.createListControl(place,title,"excerpts");
						config.taggly.createListControl(place,title,"numCols");
						config.taggly.createTagglyList(place,title);
					}
				}
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
"	margin-top:0px; padding-top:0.5em; padding-left:2em;",
"	margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
"	color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
"	border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active  {",
"	border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
"  margin-bottom:0.5em; }",
".tagglyTagging .indent1  { margin-left:3em;  }",
".tagglyTagging .indent2  { margin-left:4em;  }",
".tagglyTagging .indent3  { margin-left:5em;  }",
".tagglyTagging .indent4  { margin-left:6em;  }",
".tagglyTagging .indent5  { margin-left:7em;  }",
".tagglyTagging .indent6  { margin-left:8em;  }",
".tagglyTagging .indent7  { margin-left:9em;  }",
".tagglyTagging .indent8  { margin-left:10em; }",
".tagglyTagging .indent9  { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		merge(config.macros,this.macros);
		config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
		store.addNotification("TagglyTaggingStyles",refreshStyles);
	}
};

config.taggly.init();

//}}}

/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin

// syntax adjusted to not clash with NestedSlidersPlugin

***/
//{{{
config.formatters.unshift( {
	name: "inlinesliders",
	// match: "\\+\\+\\+\\+|\\<slider",
	match: "\\<slider",
	// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
	lookaheadRegExp: /(?:<slider) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
	handler: function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
			var btn = createTiddlyButton(w.output,lookaheadMatch[1] + " "+"\u00BB",lookaheadMatch[1],this.onClickSlider,"button sliderButton");
			var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
			panel.style.display = "none";
			wikify(lookaheadMatch[2],panel);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
   },
   onClickSlider : function(e) {
		if(!e) var e = window.event;
		var n = this.nextSibling;
		n.style.display = (n.style.display=="none") ? "block" : "none";
		return false;
	}
});

//}}}

/***

|Name|ToggleSideBarMacro|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#ToggleSideBarMacro|
|Version|1.0|
|Requires|~TW2.x|
!Description:
Provides a button for toggling visibility of the SideBar. You can choose whether the SideBar should initially be hidden or displayed.

!Demo
<<toggleSideBar "Toggle Sidebar" "Toggle Sidebar" hide>>

!Usage:
{{{<<toggleSideBar>>}}} <<toggleSideBar>>
additional options:
{{{<<toggleSideBar label tooltip show/hide>>}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)

You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideSideBarButton {float:right;} }}}

!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour. 
*20-07-06: version 0.11
*27-04-06: version 0.1: working.

!Code
***/
//{{{
config.macros.toggleSideBar={};

config.macros.toggleSideBar.settings={
         styleHide :  "#sidebar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 1em;}\n"+"",
         styleShow : " ",
         arrow1: "«",
         arrow2: "»"
};

config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
          var tooltip= params[1]||'toggle sidebar';
          var mode = (params[2] && params[2]=="hide")? "hide":"show";
          var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
          var label= (params[0]&&params[0]!='.')?params[0]+" "+arrow:arrow;
          var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");
          if (mode == "hide")
             { 
             (document.getElementById("sidebar")).setAttribute("toggle","hide");
              setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
             }
};

config.macros.toggleSideBar.onToggleSideBar = function(){
          var sidebar = document.getElementById("sidebar");
          var settings = config.macros.toggleSideBar.settings;
          if (sidebar.getAttribute("toggle")=='hide')
             {
              setStylesheet(settings.styleShow,"ToggleSideBarStyles");
              sidebar.setAttribute("toggle","show");
              this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
              }
          else
              {    
               setStylesheet(settings.styleHide,"ToggleSideBarStyles");
               sidebar.setAttribute("toggle","hide");
               this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
              }

     return false;
}

setStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleSideBarButtonStyles");

//}}}
/***
| Name|ToggleTagPlugin|
| Description|Makes a checkbox which toggles a tag in a tiddler|
| Version|3.0 ($Rev: 1845 $)|
| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|
| Source|http://tiddlyspot.com/mptw/#ToggleTagMacro|
| Author|Simon Baird <simon.baird@gmail.com>|
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Usage
{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}
* TagName - the tag to be toggled, default value "checked"
* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler
* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'
(If a parameter is '.' then the default will be used)

Examples:

|Code|Description|Example|h
|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|
|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|
|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|
|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|
|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|
Notes:
* If TiddlerName doesn't exist it will be silently created
* Set label to '-' to specify no label
* See also http://mgtd-alpha.tiddlyspot.com/#ToggleTag2

!Known issues
* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing

***/
//{{{

merge(config.macros,{

	toggleTag: {

		doRefreshAll: true,
		createIfRequired: true,
		shortLabel: "[[%0]]",
		longLabel: "[[%0]] [[%1]]",

		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			var tag = (params[0] && params[0] != '.') ? params[0] : "checked";
			var title = (params[1] && params[1] != '.') ? params[1] : tiddler.title;
			var defaultLabel = (title == tiddler.title ? this.shortLabel : this.longLabel);
			var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;
			label = (label == '-' ? '' : label);
			var theTiddler =  title == tiddler.title ? tiddler : store.getTiddler(title);
			var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {
				if (!store.tiddlerExists(title)) {
					if (config.macros.toggleTag.createIfRequired) {
						var content = store.getTiddlerText(title); // just in case it's a shadow
						store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);
					}
					else 
						return false;
				}
				store.setTiddlerTag(title,this.checked,tag);
				return true;
			});
		}
	}
});

//}}}

[[MptwViewTemplate]]
To gain more insights in the problems with current models and why they are not used to support early integration of land use and transport planning processes, a websurvey was initiated in the spring of 2007. A request to participate in this survey was sent to 400 land use and transport planners and transport modelers. Also, several transport and land use websites and news letters mentioned the websurvey. With 124 respondents, several interesting insights in problems and directions for improvement were found. These are reported in a CVS report (see [[Publications]]).


The first part of the websurvey (focussing on problems and bottlenecks) can be seen [[here|http://www.transport-planning.eu/websurvey2.html]].
The second, more qualitative part (focussing on solutions) can be seen [[here|http://www.transport-planning.eu/websurvey.html]].  


The design oriented way of doing research, including planners and modellers from practice, calls for a structured way of mapping their experiences. Only with insights in these experiences, we can find out if the intervention is (un)sucessful, what characteristics ensured this and what the role of the context is. Below, you will find several of these surveys that were held   around workshops, both in my research as in related projects.

__''For the [[Portfolio approach|http://www.transport-planning.eu/portfoliouitleg.html]] ([[Perry Hoetjes|mailto:pjhoetjes@uva.nl]]):''__
[[Web survey for Portfolio workshop in Amsterdam|http://www.transport-planning.eu/portfoliosurvey.html]]
[[Web survey for Portfolio workshop in Rotterdam|http://www.transport-planning.eu/portfoliorotterdam.html]]
[[Web survey for 2nd Portfolio workshop in Rotterdam|http://www.transport-planning.eu/portfoliorotterdam2.html]]
Transport planners (at least in the Netherlands) have faced a dramatic change in discourse in the last half century.
{{justifyfull{
Starting with the mass motorization, transport planners were mainly concerned with facilitating this societal trend. In the 1970s, this approach met with great resistance, based on a plethora of developments. First of all, constructing enough roads to facilitate the growth was an enormous financial burden for the government. Secondly, there was a growing resistance from citizens against road links in their 'backyard'. Thirdly, the negative impacts of traffic came on the agenda, after the famous Brundtland report. Fourthly, the predict part of this 'predict and provide' method wasn't that secure. Models based on gravition theory were used as it was the only available option. Another approach was called for.

After this, transportplanners became mainly concerned with influencing the demand for travel and relocating the remaining traffic to more sustainable modes (e.g. public transport). In retrospect, this idea was good in theory, but not very applicable in practice. Real results couldn't be seen in practice. Also, the importance of traffic for economic and social goals of the society became frontrunners on the political agenda.

Currently, we are in a transition towards a transportplanning domain that seeks a balance between the need for transport and the mitigation of the negative impacts. In our view, transportplanning has to integrate with other planning domains to solve this dilemma. 

This website reports on recent ~PhD research on this topic. The central theme of this research is to generate information and adapt models to support integrative land use and transport planning processes. This support is especially necessary, yet missing, at early phases of planning (eg. generating integral strategic options, visions, concepts and scenarios). 
A more detailed description of this research can be found under [[PhDResearch]]. Progress on this research (as well as other related research) is reported under [[Publications]]. More information about the researcher [[CV]] and on educational activities [[Education]] are also described. 

The website also includes other projects and research that is interrelated to this core issue. 

Hopefully, this will offer you a useful overview of the latest insights and the contacts that can help you further.

[[Marco te Brommelstroet|mailto:marco@transport-planning.eu]]
----

[>img[logo AMIDSt|images/Amidst_logo.jpg]] [<img[logo Transumo|images/Transumo_logo.jpg]]
}}}





Do you also want to make a reusable non-linear personal web notebook, go to [[Tiddlywiki|http://www.tiddlywiki.com]] for information!<<tiddler ReplaceDoubleClick>>