<!--{{{-->

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

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

/* TODO removed filter #backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';} */

#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6;}



/*}}}*/
/*{{{*/

* 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 need larger font sizes.

***/

/*{{{*/

body {font-size:0.8em;}

#sidebarOptions {font-size:1.05em;}

#sidebarOptions a {font-style:normal;}

#sidebarOptions .sliderPanel {font-size:0.95em;}

.subtitle {font-size:0.8em;}

.viewer table.listView {font-size:0.95em;}

/*}}}*/
/*{{{*/

@media print {

#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}

#displayArea {margin: 1em 1em 0em 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>

<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='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
<<importTiddlers>>
*Generalforsamling 2011 har været afholdt 30 marts 2011.
*Legetekskursus den 28 og 29 marts 2012 DSB kursus center i Nyborg.
*Programmet sendes ud i december.
* Legeteksbladet udgives 2 gange årligt inden sommerferien og i efteråret. Hvis I har noget til bladet skal det sendes til [[pipper.holler@soc.regionsyddanmark.dk|mailto:pipper.holler@soc.regionsyddanmark.dk]].
* Legeteksforeningen har fået ny Email adresse [[pipper.holler@soc.regionsyddanmark.dk|mailto:pipper.holler@soc.regionsyddanmark.dk]].
/***
|''Name:''|CryptoFunctionsPlugin|
|''Description:''|Support for cryptographic functions|
***/
//{{{
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};

//--
//-- Crypto functions and associated conversion routines
//--

// Crypto "namespace"
function Crypto() {}

// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
{
	var be = Array();
	var len = Math.floor(str.length/4);
	var i, j;
	for(i=0, j=0; i<len; i++, j+=4) {
		be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
	}
	while (j<str.length) {
		be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
		j++;
	}
	return be;
};

// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
{
	var str = "";
	for(var i=0;i<be.length*32;i+=8)
		str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
	return str;
};

// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
{
	var hex = "0123456789ABCDEF";
	var str = "";
	for(var i=0;i<be.length*4;i++)
		str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
	return str;
};

// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
{
	return Crypto.be32sToHex(Crypto.sha1Str(str));
};

// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
{
	return Crypto.sha1(Crypto.strToBe32s(str),str.length);
};

// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
{
	// Add 32-bit integers, wrapping at 32 bits
	add32 = function(a,b)
	{
		var lsw = (a&0xFFFF)+(b&0xFFFF);
		var msw = (a>>16)+(b>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	};
	// Add five 32-bit integers, wrapping at 32 bits
	add32x5 = function(a,b,c,d,e)
	{
		var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
		var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	};
	// Bitwise rotate left a 32-bit integer by 1 bit
	rol32 = function(n)
	{
		return (n>>>31)|(n<<1);
	};

	var len = blen*8;
	// Append padding so length in bits is 448 mod 512
	x[len>>5] |= 0x80 << (24-len%32);
	// Append length
	x[((len+64>>9)<<4)+15] = len;
	var w = Array(80);

	var k1 = 0x5A827999;
	var k2 = 0x6ED9EBA1;
	var k3 = 0x8F1BBCDC;
	var k4 = 0xCA62C1D6;

	var h0 = 0x67452301;
	var h1 = 0xEFCDAB89;
	var h2 = 0x98BADCFE;
	var h3 = 0x10325476;
	var h4 = 0xC3D2E1F0;

	for(var i=0;i<x.length;i+=16) {
		var j,t;
		var a = h0;
		var b = h1;
		var c = h2;
		var d = h3;
		var e = h4;
		for(j = 0;j<16;j++) {
			w[j] = x[i+j];
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=16;j<20;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=20;j<40;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=40;j<60;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}
		for(j=60;j<80;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		}

		h0 = add32(h0,a);
		h1 = add32(h1,b);
		h2 = add32(h2,c);
		h3 = add32(h3,d);
		h4 = add32(h4,e);
	}
	return Array(h0,h1,h2,h3,h4);
};


}
//}}}
[[Hvad er legetek]]
/***
|''Name:''|DeprecatedFunctionsPlugin|
|''Description:''|Support for deprecated functions removed from core|
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};

//--
//-- Deprecated code
//--

// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
	w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};

// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = 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) {
		var text = lookaheadMatch[1];
		if(config.browser.isIE)
			text = text.replace(/\n/g,"\r");
		createTiddlyElement(w.output,"pre",null,null,text);
		w.nextMatch = lookaheadRegExp.lastIndex;
	}
};

// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
	createTiddlyElement(place,"br");
};

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
	var i = this.indexOf(item);
	return i == -1 ? null : i;
};

// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
	return store.getLoader().internalizeTiddler(store,this,title,divRef);
};

// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
	return store.getSaver().externalizeTiddler(store,this);
};

// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
	return store.allTiddlersAsHtml();
}

// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
	refreshPageTemplate(title);
}

// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
	story.displayTiddlers(srcElement,titles,template,animate);
}

// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
	story.displayTiddler(srcElement,title,template,animate);
}

// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;

// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");

}
//}}}
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>>
Legeteket er et tilbud til børn med særlige behov – deres forældre og de fagfolk, som arbejder med dem.

Legeteket har en samling af udviklingsstimulerende materialer som pædagogisk legetøj, sprogmaterialer, førskole-materialer, motoriske og sansemæssige materialer osv. Nogle legeteker har desuden elektronisk- kontaktstyret legetøj.

I Legeteket kan forældre og fagfolk få rådgivning og vejledning i valget og brugen af materialer, som understøtter barnets niveau og udvikling.

Materialerne kan lånes i en aftalt periode både til hjemmet og til institutionen.

De fleste Legeteker er åbne for alle børn med særlige behov dog har nogle Legeteker specifikke målgruppe- eller alderskriterier.

<HTML>
<center>
<IMG src="pic/abenogmikadospillet.jpg" alt="Aben og Mikadospillet">
</center>
</HTML>  

!Legetekets mål
Børn med særlige behov har ofte en meget ujævn udvikling inden for forskellige områder. Det kan derfor være vanskeligt at vurdere den reelle udviklingsalder samt hvilke realistiske forventninger man kan have til barnet. At finde godt og egnet legetøj m.m. er derfor ikke altid en enkelt sag.

Ved at tage udgangspunkt i barnets interesse og nuværende mestringsniveau bliver legen lystbetonet, som er det bedste grundlag for dannelsen af erfaringer og tilegnelsen af læring.

Når barnets leger drager det erfaringer. At lege er således at lære og udvikle sig på alle niveauer.

På Legeteket kan forældre og fagfolk få inspiration til aktivering i leg samt rådgivning og vejleding omkring legen og læringsprocesserne med barnet.

Det er Legetekets mål at øge det enkelte barns kompetencer igennem vejledning til forældre og fagfolk samt udlån af udviklingsstimulerende materialer.
 
!Hvor findes legeteket 
Legeteket er normalt oprettet og drevet af kommuner. Dog har ikke alle kommuner endnu påtaget sig denne opgave.

Via Legeteks-oversigten på denne side eller via egen forvaltning i kommunen, kan man orientere sig om Legetekernes placering, åbningstider etc.

!Legetekets daglige virke
Legeteket har åbent bestemte dage i ugen. Det er en fordel, at kontakte legeteket for at aftale tid for besøget. I de fleste Legeteker vil man altid møde den samme legeteksmedarbejder.
*Forældre og fagfolk kan komme på eget initiativ
*Forældre og fagfolk kan være henvist til Legeteket af andre instanser
I fællesskab finder man frem til de udviklingsstimulerende materialer, der støtter barnet og tiltaler de voksne.

Vi viser og taler om hvordan materialerne bedst kan bruges.

Barnets motivation og lyst er afgørende for resultatet af legen, så derfor vil man ofte vælge materialer, som barnet føler sig tiltrukket af. Andre gange er det forløbet/rammerne for legen, der vil være det motiverende element.

Der kan ligge en vis træningseffekt i anvendelsen af materialerne, men den er ikke det vigtigste. Barnets glæde ved leg, er det der stimulerer bedst.

Vi aftaler en dato for næste besøg, hvor vi taler om, hvordan barnet har brugt materialerne – og om hvor barnet/familien og fagperson er nu, således at vi hele tiden kan finde materialer, som passer til barnets nuværende kompetenceniveau.

!Legetekets personale 
Som regel har Legeteket kun en enkelt ansat, en legeteksleder, der har en pædagogisk uddannelse med særlige forudsætninger for dette arbejde.

Legetekslederen vil indgå i en fortløbende videreuddannelse på de mange områder, som arbejdet kræver viden om.

!Mangler der et Legetek i din kommune?
Et af Legeteksforeningens mål er, at Legeteker overalt tilbydes familier og fagfolk, der har behov for det – og at de findes i alle kommuner. At der er nær adgang til Legeteket er af stor betydning for, om familierne og fagfolkene har mulighed for at benytte det.

Ofte har grupper af forældre eller af fagfolk med godt resultat tilskyndet en kommune til at oprette et Legetek. Legeteksforeningen hjælper gerne til i dette arbejde og kan kontaktes via mailadressen på denne side.
Center for Børnesprog, Syddansk Universitet og Professionshøjskolen UCC afholder konferencen BØRNS SPROGTILEGNELSE – ET FÆLLES ANSVAR med temaet SPROGINDSATSER I DANMARK I ET INTERNATIONALT PERSPEKTIV.

Programmet består af danske og udenlandske beslutningstagere, aktører og forskere med viden om og erfaring med sprogvurderinger på nationalt plan. Konferencens sigte er at gøre status over indførte og nye sprogindsatser i Danmark set i et internationalt perspektiv, samt at se frem mod fremtidige udfordringer. Indenrigs- og Socialminister Karen Ellemann deltager i konferencen.

Målgruppe for konferencen er beslutningstagere, praktikere, undervisere og forskere, som beskæftiger sig med børns sprogtilegnelse og andre med ansvar og interesse for børns sprog.

Konferencen afholdes tirsdag 19. januar 2010 på Syddansk Universitet, Odense.
Pris: 1200,- kroner (tilmeldingsfrist 18. december 2009). Studerende kan deltage til halv pris. Henvendelse hos Center for Børnesprog, Syddansk Universitet, Pia Veise på e-mail veise@sdu.dk eller telefon 6550 4079.

[[Klik her for program og tilmelding |http://www.humaniora.sdu.dk/boernesprog/DK/konference/10/index.php]]

Mere information kan findes [[her|http://www.humaniora.sdu.dk/boernesprog/DK/konference/10/]].

/***
|''Name:''|LegacyStrikeThroughPlugin|
|''Description:''|Support for legacy (pre 2.1) strike through formatting|
|''Version:''|1.0.2|
|''Date:''|Jul 21, 2006|
|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|
|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|
|''License:''|[[BSD open source license]]|
|''CoreVersion:''|2.1.0|
***/

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

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

} //# end of "install only once"
//}}}
!Legeteksforeningen
Legeteksforeningen stiftedes i 1983 og har til formål

*at varetage legeteksmedarbejderens pædagogiske interesser
*at medvirke til udviklingen af materialer
*at udbrede kendskabet til legeteker
*at fremme nordisk og internationalt samarbejde mellem legeteker.


!Hvad kan foreningen bruges til
Er du i tvivl om emner i relation til dit Legetek, er du altid velkommen til at kontakte medlemmerne
i bestyrelsen.

*skal du starte et Legetek op
*administrative systemer omkring driften og brugen af Legeteket
*din rolle som Legeteksmedarbejder
*indkøb af diverse materialer, forhandlere m.m.

*nedskæringer og besparelser som rammer dit Legetek
*lukningstrussel mod dit Legetek

Bestyrelsen vil være behjælpelig med råd - og vejledning.
Så er du i tvivl, så kontakt os hellere én gang for meget end én gang for lidt.

!Kurser
Formålene tilgodeses bl.a. ved afholdelse af kurser for medlemmerne.

!Udgivelser
Legetek-sådan! Hvordan man opretter et legetek. Udgivet af Legeteksforeningen, 1990.

DVD om legeteker : Legeteket – Udvikling gennem leg. 

Legeteksbladet. Udsendes 2-3 gange årligt på mail. Udgives af Legeteksbestyrelsen, alle har mulighed for at sende materiale til bladet.

!Medlemskab af Legeteksforeningen
Alle ansatte i legeteker.

Institutioner m. flere.

!Vedtægter
Vedtægterne kan downloades [[her|http://www.legeteksforeningen.dk/pdf/Vedtaegter.pdf]].

!Bestyrelse 2011 - 2012
|Formand/Redaktør af blad|Pipper Holler|[[Pipper.Holler@soc.regionsyddanmark.dk|mailto:Pipper.Holler@soc.regionsyddanmark.dk]]|
|Kasserer|Per Steen Hansen|[[pstha@gribskov.dk|mailto:pstha@gribskov.dk]]|
|Sekretær m.v.|Grethe Hyldekrog|[[gry@hvidovre.dk|mailto:gry@hvidovre.dk]]|
|Bestyrelsesmedlem|Else Stentoft|[[bugin@horsens.dk|mailto:bugin@horsens.dk]]|
|Hjemmeside/medlemsliste|Bente Henschel|[[beh@greve.dk|mailto:beh@greve.dk]]|

!Adresse
Legeteksforeningen i Danmark
v/Pipper Holler 
Heden 7
5000 Odense C.
[img[Legeteksfilmen|http://legeteksforeningen.dk/pic/film1.jpg]]
Legeteksfilmen handler om legetekerne i Danmark, hvor man kan få vejledning samt låne legetøj/og andre udviklingsstimulerende materialer til børn med et særlige behov for støtte og stimulering på grund af et handicap. Legetekets hovedopgave består primært i at give pædagogisk vejledning til låneren. Legetekerne findes idag over hele landet. I filmen møder vi tre familier med et eller flere handicappede børn. Vi møder tvillingsøstrene Ida og Laura på 4 år, som blev født 11 uger for tidligt, Thomas på tre år og hans lillebror Oscar på 10 måneder, som begge er multihandicappede, og så møder vi Jonas på 12 år. Jonas har Down-syndrom,som har bremset hans udvikling. Igennem familiernes og ikke mindst børnenes – historier får vi bl.a. at vide, hvorfor og hvordan de bruger Legeteket, og vi hører om hvad familierne og børnene får ud af at benytte Legeteket. Filmen henvender sig til alle, der har berøring med børn,som har behov forstøtte og hjælp til deres udvikling. Medvirkende er ligeledes flere af landets legeteker. 
Filmen er nu overspillet fra VHS til DVD. Der ligger to film på DVD’ en, hvor <html>THE TOY-LIBRARY</html> er med engelske undertekster. 
Filmen kan erhverves for 40 kr. inkl. cover og bestilles på: [[Legeteksforeningen|http://www.legeteksforeningen.dk]]
[img[Legeteksfilmen|http://legeteksforeningen.dk/pic/film2.jpg]]
[[Dansk Audiologopædi|http://www.alf.dk]]
[[Hjælpemiddelinstituttet|http://www.hmi.dk]]
[[ISAAC-DK - Supplerende og alternativ kommunikation|http://www.isaac.dk]]
[[VIKOM - Videnscenter om Kommunikation og Multiple Funktionsnedsættelser hos Børn og Unge uden et Talesprog|http://www.vikom.dk]]
[[Specialpædagogik|http://www.specialpaedagogik.dk]]
[[HandicapNet|http://www.handicap.dk]]
[[Døveskolernes Materialecenter|http://www.matcen.dk]]
[[Folkeskolen|http://www.folkeskolen.dk]]
[[Pindstrupcentret|http://www.pindstrupcentret.dk]]
[[Udvikling og Bevægelse|http://www.vfb.dk]]
[[Landsforeningen LEV|http://www.lev.dk]]
[[Specialpædagogisk Forlag|http://www.spf-herning.dk]]
[[Center for Tegnsprog og Tegnstøttet Kommunikation - KC|http://www.kc.dk]]
[[Hjælpemiddelcentralen for blinde og svagsynede|http://www.ibos.dk]]
[[Dansk Epilepsiforening|http://www.epilepsiforeningen.dk]]
[[Sjældne handicap|http://www.csh.dk]]
[[Boardmaker - Dal-Pres ApS|http://www.dal-pres.dk]]
[["Four essen" Legetøjs udvikler og producent|mailto:four-essen@four-essens.dk]]
[[Sprog og leg|http://www.sprogogleg.dk]]


[[Hvad er legetek]]
[[Legeteks foreningen i Danmark]]
[[Oversigt]]
[[Aktiviteter]]
[[Legeteksfilm udvikling gennem leg]]
[[Links]]
[[Download|http://www.legeteksforeningen.dk/pdf/OversigtLegeteker.pdf]] en oversigt over legeteker i Danmark. Oversigten indeholder informationer om adresse, åbningstid, telefon m.v.
/***
|Name|SinglePageModePlugin|
|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|
|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|
|Version|2.8.1|
|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|Story.prototype.displayTiddler(), Story.prototype.displayTiddlers()|
|Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|
This plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.
!!!!!Documentation
>see [[SinglePageModePluginInfo]]
!!!!!Configuration
<<<
<<option chkSinglePageMode>> Display one tiddler at a time
><<option chkSinglePageKeepFoldedTiddlers>> Don't auto-close folded tiddlers
><<option chkSinglePagePermalink>> Automatically permalink current tiddler
<<option chkTopOfPageMode>> Always open tiddlers at the top of the page
<<option chkBottomOfPageMode>> Always open tiddlers at the bottom of the page
<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)

Notes:
* The "display one tiddler at a time" option can also be //temporarily// set/reset by including a 'paramifier' in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}.
* If more than one display mode is selected, 'one at a time' display takes precedence over both 'top' and 'bottom' settings, and if 'one at a time' setting is not used, 'top of page' takes precedence over 'bottom of page'.
* When using Apple's Safari browser, automatically setting the permalink causes an error and is disabled.
<<<
!!!!!Revisions
<<<
2008.03.06 [2.8.1] in paramifier handler, start 'checkURL' timer if chkSinglePageMode is enabled
2008.03.06 [2.8.0] added option, {{{config.options.chkSinglePageKeepFoldedTiddlers}}}, so folded tiddlers won't be closed when using single-page mode.  Also, in checkURL(), if hash is a ''permaview'' (e.g., "#foo bar baz"), then display multiple tiddlers rather than attempting to display "foo bar baz" as a single tiddler
| Please see [[SinglePageModePluginInfo]] for previous revision details |
2005.08.15 [1.0.0] Initial Release.  Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.
<<<
!!!!!Code
***/
//{{{
version.extensions.SinglePageMode= {major: 2, minor: 8, revision: 1, date: new Date(2008,3,6)};
//}}}
//{{{
config.paramifiers.SPM = { onstart: function(v) {
	config.options.chkSinglePageMode=eval(v);
	if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) {
		config.lastURL = window.location.hash;
		if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
	}
} };
//}}}
//{{{
if (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=true;
if (config.options.chkSinglePageKeepFoldedTiddlers==undefined) config.options.chkSinglePageKeepFoldedTiddlers=false;
if (config.options.chkSinglePagePermalink==undefined) config.options.chkSinglePagePermalink=true;
if (config.options.chkTopOfPageMode==undefined) config.options.chkTopOfPageMode=true;
if (config.options.chkBottomOfPageMode==undefined) config.options.chkBottomOfPageMode=false;
if (config.options.chkSinglePageAutoScroll==undefined) config.options.chkSinglePageAutoScroll=true;

if (config.optionsDesc) {
	config.optionsDesc.chkSinglePageMode="Display one tiddler at a time";
	config.optionsDesc.chkSinglePageKeepFoldedTiddlers="Don't auto-close folded tiddlers";
	config.optionsDesc.chkSinglePagePermalink="Automatically permalink current tiddler";
	config.optionsDesc.chkSinglePageAutoScroll="Automatically scroll tiddler into view (if needed)";
	config.optionsDesc.chkTopOfPageMode="Always open tiddlers at the top of the page";
	config.optionsDesc.chkBottomOfPageMode="Always open tiddlers at the bottom of the page";
} else {
	config.shadowTiddlers.AdvancedOptions += "\
		\n<<option chkSinglePageMode>> Display one tiddler at a time \
		\n<<option chkSinglePageKeepFoldedTiddlers>> Don't auto-close folded tiddlers \
		\n<<option chkSinglePagePermalink>> Automatically permalink current tiddler \
		\n<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed) \
		\n<<option chkTopOfPageMode>> Always open tiddlers at the top of the page \
		\n<<option chkBottomOfPageMode>> Always open tiddlers at the bottom of the page";
}
//}}}
//{{{
config.SPMTimer = 0;
config.lastURL = window.location.hash;
function checkLastURL()
{
	if (!config.options.chkSinglePageMode)
		{ window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }
	if (config.lastURL == window.location.hash) return; // no change in hash
	var tids=convertUTF8ToUnicode(decodeURIComponent(window.location.hash.substr(1))).readBracketedList();
	if (tids.length==1) // permalink (single tiddler in URL)
		story.displayTiddler(null,tids[0]);
	else { // restore permaview or default view
		config.lastURL = window.location.hash;
		if (!tids.length) tids=store.getTiddlerText("DefaultTiddlers").readBracketedList();
		story.closeAllTiddlers();
		story.displayTiddlers(null,tids);
	}
}

if (Story.prototype.SPM_coreDisplayTiddler==undefined)
	Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)
{
	var opt=config.options;
	if (opt.chkSinglePageMode) {
		// close all tiddlers except current tiddler, tiddlers being edited, and tiddlers that are folded (optional)
		story.forEachTiddler(function(tid,elem) {
			if (	tid==title
				|| elem.getAttribute("dirty")=="true"
				|| (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")=="true"))
				return;
			story.closeTiddler(tid);
		});
	}
	else if (opt.chkTopOfPageMode)
		arguments[0]=null;
	else if (opt.chkBottomOfPageMode)
		arguments[0]="bottom";
	if (opt.chkSinglePageMode && opt.chkSinglePagePermalink && !config.browser.isSafari) {
		window.location.hash = encodeURIComponent(convertUnicodeToUTF8(String.encodeTiddlyLink(title)));
		config.lastURL = window.location.hash;
		document.title = wikifyPlain("SiteTitle") + " - " + title;
		if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
	}
	this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler
	var tiddlerElem=document.getElementById(story.idPrefix+title);
	if (tiddlerElem&&opt.chkSinglePageAutoScroll) {
		var yPos=ensureVisible(tiddlerElem); // scroll to top of tiddler
		var isTopTiddler=(tiddlerElem.previousSibling==null);
		if (opt.chkSinglePageMode||opt.chkTopOfPageMode||isTopTiddler)
			yPos=0; // scroll to top of page instead of top of tiddler
		if (opt.chkAnimate) // defer scroll until 200ms after animation completes
			setTimeout("window.scrollTo(0,"+yPos+")",config.animDuration+200); 
		else
			window.scrollTo(0,yPos); // scroll immediately
	}
}

if (Story.prototype.SPM_coreDisplayTiddlers==undefined)
	Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;

Story.prototype.displayTiddlers = function() {
	// suspend single-page mode (and/or top/bottom display options) when showing multiple tiddlers
	var opt=config.options;
	var saveSPM=opt.chkSinglePageMode; opt.chkSinglePageMode=false;
	var saveTPM=opt.chkTopOfPageMode; opt.chkTopOfPageMode=false;
	var saveBPM=opt.chkBottomOfPageMode; opt.chkBottomOfPageMode=false;
	this.SPM_coreDisplayTiddlers.apply(this,arguments);
	opt.chkBottomOfPageMode=saveBPM;
	opt.chkTopOfPageMode=saveTPM;
	opt.chkSinglePageMode=saveSPM;
}
//}}}
/***
|Name|SinglePageModePluginInfo|
|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|
|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|
|Version|2.8.1|
|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|documentation|
|Requires||
|Overrides||
|Description|Documentation for SinglePageModePlugin|
Normally, as you click on the links in TiddlyWiki, more and more tiddlers are displayed on the page. The order of this tiddler display depends upon when and where you have clicked. Some people like this non-linear method of reading the document, while others have reported that when many tiddlers have been opened, it can get somewhat confusing.  SinglePageModePlugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one item displayed at a time.
!!!!!Usage
<<<
When the plugin is enabled, only one tiddler will be displayed at a time and the browser window's titlebar is updated to include the current tiddler title.  The browser's location URL is also updated with a 'permalink' for the current tiddler so that it is easier to create a browser 'bookmark' for the current tiddler.  Alternatively, even when displaying multiple tiddlers //is// permitted, you can still reduce the potential for confusion by forcing  tiddlers to always open at the top (or bottom) of the page instead of being displayed following the tiddler containing the link that was clicked.
<<<
!!!!!Configuration
<<<
When installed, this plugin automatically adds checkboxes in the AdvancedOptions tiddler so you can enable/disable the plugin behavior.  However, if you have customized your AdvancedOptions, you may need to //manually add these checkboxes to your customized tiddler.//  For convenience, these checkboxes are also included here:

<<option chkSinglePageMode>> Display one tiddler at a time
><<option chkSinglePageKeepFoldedTiddlers>> Don't auto-close folded tiddlers
><<option chkSinglePagePermalink>> Automatically permalink current tiddler
<<option chkTopOfPageMode>> Always open tiddlers at the top of the page
<<option chkBottomOfPageMode>> Always open tiddlers at the bottom of the page
<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)

Notes:
* {{block{
The "display one tiddler at a time" option can also be //temporarily// set/reset by including a 'paramifier' in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}. You can also use {{{SPM:expression}}}, where 'expression' is any javascript statement that evaluates to true or false.  This allows you to create hard-coded links in other documents that can selectively enable/disable the use of this option based on various programmatic conditions, such as the current username. For example, using
&nbsp;&nbsp;&nbsp;{{{#SPM:config.options.txtUserName!="SomeName"}}}
enables 'one tiddler at a time' display for all users //other than// "~SomeName")}}}
* If more than one display mode is selected, 'one at a time' display takes precedence over both 'top' and 'bottom' settings, and if 'one at a time' setting is not used, 'top of page' takes precedence over 'bottom of page'.
* When using Apple's Safari browser, automatically setting the permalink causes an error and is disabled.
<<<
!!!!!Revisions
<<<
2008.03.06 [2.8.1] in paramifier handler, start 'checkURL' timer if chkSinglePageMode is enabled
2008.03.06 [2.8.0] added option, {{{config.options.chkSinglePageKeepFoldedTiddlers}}}, so folded tiddlers won't be closed when using single-page mode.  Also, in checkURL(), if hash is a ''permaview'' (e.g., "#foo bar baz"), then display multiple tiddlers rather than attempting to display "foo bar baz" as a single tiddler
2008.03.05 [2.7.0] added support for "SPM:" URL paramifier
2008.03.01 [2.6.0] in hijack of displayTiddler(), added 'title' argument to closeAllTiddlers() so that target tiddler isn't closed-and-reopened if it was already displayed.  Also, added config.options.chkSinglePageAutoScrolloption to bypass automatic 'scroll into view' logic (note: core still does it's own ensureVisible() handling)
2007.12.22 [2.5.3] in checkLastURL(), use decodeURIComponent() instead of decodeURI so that tiddler titles with commas (and/or other punctuation) are correctly handled.
2007.10.26 [2.5.2] documentation cleanup
2007.10.08 [2.5.1] in displayTiddler(), when using single-page or top-of-page mode, scrollTo(0,0) to ensure that page header is in view.
2007.09.13 [2.5.0] for TPM/BPM modes, don't force tiddler to redisplay if already shown.  Allows transition between view/edit or collapsed/view templates, without repositioning displayed tiddler.
2007.09.12 [2.4.0] added option to disable automatic permalink feature.  Also, Safari is now excluded from permalinking action to avoid bug where tiddlers don't display after hash is updated.
2007.03.03 [2.3.1] fix typo when adding BPM option to AdvancedOptions (prevented checkbox from appearing)
2007.03.03 [2.3.0] added support for BottomOfPageMode (BPM) based on request from DaveGarbutt
2007.02.06 [2.2.3] in Story.prototype.displayTiddler(), use convertUnicodeToUTF8() for correct I18N string handling when creating URL hash string from tiddler title (based on bug report from BidiX)
2007.01.08 [2.2.2] use apply() to invoke hijacked core functions
2006.07.04 [2.2.1] in hijack for displayTiddlers(), suspend TPM as well as SPM so that DefaultTiddlers displays in the correct order.
2006.06.01 [2.2.0] added chkTopOfPageMode (TPM) handling
2006.02.04 [2.1.1] moved global variable declarations to config.* to avoid FireFox 1.5.0.1 crash bug when assigning to globals
2005.12.27 [2.1.0] hijack displayTiddlers() so that SPM can be suspended during startup while displaying the DefaultTiddlers (or #hash list).  Also, corrected initialization for undefined SPM flag to "false", so default behavior is to display multiple tiddlers
2005.12.27 [2.0.0] Update for TW2.0
2005.11.24 [1.1.2] When the back and forward buttons are used, the page now changes to match the URL.  Based on code added by Clint Checketts
2005.10.14 [1.1.1] permalink creation now calls encodeTiddlyLink() to handle tiddler titles with spaces in them
2005.10.14 [1.1.0] added automatic setting of window title and location bar ('auto-permalink').  feature suggestion by David Dickens.
2005.10.09 [1.0.1] combined documentation and code in a single tiddler
2005.08.15 [1.0.0] Initial Release
<<<

Legeteks foreningen i Danmark.
<HTML>
<IMG src="pic/header.jpg" alt="Legetek logo">
</HTML>  
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

//--
//-- Sparklines
//--

config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
	var data = [];
	var min = 0;
	var max = 0;
	var v;
	for(var t=0; t<params.length; t++) {
		v = parseInt(params[t]);
		if(v < min)
			min = v;
		if(v > max)
			max = v;
		data.push(v);
	}
	if(data.length < 1)
		return;
	var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
	box.title = data.join(",");
	var w = box.offsetWidth;
	var h = box.offsetHeight;
	box.style.paddingRight = (data.length * 2 - w) + "px";
	box.style.position = "relative";
	for(var d=0; d<data.length; d++) {
		var tick = document.createElement("img");
		tick.border = 0;
		tick.className = "sparktick";
		tick.style.position = "absolute";
		tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
		tick.style.left = d*2 + "px";
		tick.style.width = "2px";
		v = Math.floor(((data[d] - min)/(max-min)) * h);
		tick.style.top = (h-v) + "px";
		tick.style.height = v + "px";
		box.appendChild(tick);
	}
};


}
//}}}
/%
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|1.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||
|Description|show/hide right sidebar (SideBarOptions)|

Usage: <<tiddler ToggleRightSidebar>>

Config settings:
	config.options.txtToggleRightSideBarLabelShow (◄)
	config.options.txtToggleRightSideBarLabelHide (►)
	config.options.txtToggleRightSideBarTipShow ("show right sidebar")
	config.options.txtToggleRightSideBarTipHide ("hide right sidebar")

%/<script label="show/hide right sidebar">
	var sb=document.getElementById('sidebar'); if (!sb) return;
	var show=sb.style.display=='none';
	if (!show) { sb.style.display='none'; var margin='1em'; }
	else { sb.style.display='block'; var margin=config.options.txtDisplayAreaRightMargin||''; }
	if (typeof(place)!='undefined') {
		place.innerHTML=show?
			config.options.txtToggleRightSideBarLabelHide:config.options.txtToggleRightSideBarLabelShow;
		place.title=show?
			config.options.txtToggleRightSideBarTipHide:config.options.txtToggleRightSideBarTipShow;
	}
	document.getElementById('displayArea').style.marginRight=margin;
	config.options.chkShowRightSidebar=show;
	saveOptionCookie('chkShowRightSidebar');
	var sm=document.getElementById('storyMenu'); if (sm) config.refreshers.content(sm);
	return false;
</script><script>
	if (config.options.chkShowRightSidebar==undefined)
		config.options.chkShowRightSidebar=true;
	if (!config.options.txtDisplayAreaRightMargin||!config.options.txtDisplayAreaRightMargin.length)
		config.options.txtDisplayAreaRightMargin="18em";
	if (config.options.txtToggleRightSideBarLabelShow==undefined)
		config.options.txtToggleRightSideBarLabelShow=config.browser.isSafari?"&#x25c0;":"&#x25c4;";
	if (config.options.txtToggleRightSideBarLabelHide==undefined)
		config.options.txtToggleRightSideBarLabelHide="&#x25ba;";
	if (config.options.txtToggleRightSideBarTipShow==undefined)
		config.options.txtToggleRightSideBarTipShow="show right sidebar";
	if (config.options.txtToggleRightSideBarTipHide==undefined)
		config.options.txtToggleRightSideBarTipHide="hide right sidebar";

	var show=config.options.chkShowRightSidebar;
	document.getElementById('sidebar').style.display=show?"block":"none";
	document.getElementById('displayArea').style.marginRight=show?
		config.options.txtDisplayAreaRightMargin:"1em";
	place.lastChild.innerHTML=show?
		config.options.txtToggleRightSideBarLabelHide:config.options.txtToggleRightSideBarLabelShow;
	place.lastChild.title=show?
		config.options.txtToggleRightSideBarTipHide:config.options.txtToggleRightSideBarTipShow;
	place.lastChild.style.fontWeight="normal";
</script>